Skip to content

Commit 7873b1a

Browse files
committed
fix: 공인중개사 유저 정보 추가
1 parent 5b578fe commit 7873b1a

File tree

3 files changed

+69
-6
lines changed

3 files changed

+69
-6
lines changed

src/main/kotlin/com/example/jhouse_server/domain/user/dto/UserDto.kt

+58-6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import com.example.jhouse_server.domain.user.entity.Age
55
import com.example.jhouse_server.domain.user.entity.Authority
66
import com.example.jhouse_server.domain.user.entity.User
77
import com.example.jhouse_server.domain.user.entity.UserType
8+
import com.example.jhouse_server.domain.user.entity.agent.Agent
89
import com.fasterxml.jackson.annotation.JsonProperty
910
import java.time.LocalDateTime
1011
import javax.validation.constraints.Email
@@ -125,8 +126,62 @@ data class UserResDto(
125126
val userType: UserType,
126127
val email : String?,
127128
val suspenseReason : String?,
128-
val reportedAt : LocalDateTime?
129-
)
129+
val reportedAt : LocalDateTime?,
130+
val agentCode: String?,
131+
val companyName: String?,
132+
val companyAddress: String?,
133+
val companyPhoneNum: String?,
134+
val agentName: String?,
135+
val assistantName: String?,
136+
) {
137+
companion object {
138+
fun toDto(user: User, report: Report?) : UserResDto {
139+
val suspenseReason = if(report == null) null else user.reports.last().reportType.value
140+
return UserResDto(
141+
user.id,
142+
user.userName,
143+
user.nickName,
144+
user.phoneNum,
145+
user.authority,
146+
user.age,
147+
user.profileImageUrl,
148+
user.userType,
149+
user.email,
150+
suspenseReason,
151+
report?.createdAt,
152+
null,
153+
null,
154+
null,
155+
null,
156+
null,
157+
null
158+
)
159+
}
160+
161+
fun toDto(user: Agent, report: Report?) : UserResDto {
162+
val suspenseReason = if(report == null) null else user.reports.last().reportType.value
163+
return UserResDto(
164+
user.id,
165+
user.userName,
166+
user.nickName,
167+
user.phoneNum,
168+
user.authority,
169+
user.age,
170+
user.profileImageUrl,
171+
user.userType,
172+
user.email,
173+
suspenseReason,
174+
report?.createdAt,
175+
user.agentCode,
176+
user.companyName,
177+
user.companyAddress,
178+
user.companyPhoneNum,
179+
user.agentName,
180+
user.assistantName
181+
)
182+
}
183+
}
184+
}
130185

131186
data class WithdrawalUserReqDto(
132187
@NotNull
@@ -142,7 +197,4 @@ data class DefaultUser (
142197
val profileImageUrl: String = "https://duaily-content.s3.ap-northeast-2.amazonaws.com/default_profile_image.png"
143198
)
144199

145-
fun toDto(user: User, report: Report?) : UserResDto {
146-
val suspenseReason = if(report == null) null else user.reports.last().reportType.value
147-
return UserResDto(user.id, user.userName, user.nickName, user.phoneNum, user.authority, user.age, user.profileImageUrl, user.userType, user.email, suspenseReason, report?.createdAt)
148-
}
200+

src/main/kotlin/com/example/jhouse_server/domain/user/service/UserServiceImpl.kt

+5
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ package com.example.jhouse_server.domain.user.service
22

33
import com.example.jhouse_server.domain.house.repository.ReportRepository
44
import com.example.jhouse_server.domain.user.dto.*
5+
import com.example.jhouse_server.domain.user.dto.UserResDto.Companion.toDto
56
import com.example.jhouse_server.domain.user.entity.*
67
import com.example.jhouse_server.domain.user.entity.WithdrawalStatus.WAIT
8+
import com.example.jhouse_server.domain.user.entity.agent.Agent
79
import com.example.jhouse_server.domain.user.repository.UserRepository
810
import com.example.jhouse_server.domain.user.repository.WithdrawalRepository
911
import com.example.jhouse_server.domain.user.service.common.UserServiceCommonMethod
@@ -37,6 +39,9 @@ class UserServiceImpl (
3739
// 신고 유저이면, 신고 정보 반환
3840
val findUser = userRepository.findById(userId).orElseThrow{ApplicationException(NOT_FOUND_EXCEPTION)}
3941
val reported = reportRepository.findByOwner(findUser).lastOrNull()
42+
if (findUser is Agent) {
43+
return toDto(findUser, reported)
44+
}
4045
return toDto(findUser, reported)
4146
}
4247

src/test/kotlin/com/example/jhouse_server/domain/user/controller/UserControllerTest.kt

+6
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,12 @@ internal class UserControllerTest @Autowired constructor(
7676
fieldWithPath("data.email").description("사용자 이메일 계정"),
7777
fieldWithPath("data.suspenseReason").description("최근 신고 사유"),
7878
fieldWithPath("data.reportedAt").description("신고일시"),
79+
fieldWithPath("data.agentCode").description("공인중개사 코드").optional(),
80+
fieldWithPath("data.companyName").description("회사명").optional(),
81+
fieldWithPath("data.companyAddress").description("회사 주소").optional(),
82+
fieldWithPath("data.companyPhoneNum").description("회사 전화번호").optional(),
83+
fieldWithPath("data.agentName").description("공인중개사 이름").optional(),
84+
fieldWithPath("data.assistantName").description("보조공인중개사 이름").optional(),
7985
)
8086
)
8187
)

0 commit comments

Comments
 (0)