Skip to content

Commit edd6acc

Browse files
authored
Merge pull request #283 from TEAM-MODDY/develop
1.3.0
2 parents 924e5c0 + 6f4c675 commit edd6acc

21 files changed

+283
-35
lines changed

src/main/java/com/moddy/server/common/exception/enums/SuccessCode.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ public enum SuccessCode {
2929
GET_PRE_SIGNED_URL_SUCCESS(HttpStatus.OK, "제안서 다운로드 url 생성 성공"),
3030
GET_APPLICATION_IMG_URL_SUCCESS(HttpStatus.OK, "지원서 이미지 url 가져오기 성공"),
3131
CHECK_VALID_APPLICATION_SUCCESS(HttpStatus.OK, "유효한 지원서 입니다."),
32-
APPLICATION_DELETE_SUCCESS(HttpStatus.OK, "지원서 삭제하기 성공");
32+
APPLICATION_DELETE_SUCCESS(HttpStatus.OK, "지원서 삭제하기 성공"),
33+
FIND_DESIGNER_INFO_SUCCESS(HttpStatus.OK, "디자이너 정보 조회 성공"),
34+
FIND_MODEL_INFO_SUCCESS(HttpStatus.OK, "모델 정보 조회 성공"),
35+
MODEL_UPDATE_SUCCESS(HttpStatus.OK,"모델 정보 수정 성공"),
36+
DESIGNER_UPDATE_SUCCESS(HttpStatus.OK,"디자이너 정보 수정 성공");
3337

3438
private final HttpStatus httpStatus;
3539
private final String message;

src/main/java/com/moddy/server/controller/designer/DesignerRegisterController.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package com.moddy.server.controller.designer;
22

33
import com.moddy.server.common.dto.ErrorResponse;
4+
import com.moddy.server.common.dto.SuccessNonDataResponse;
45
import com.moddy.server.common.dto.SuccessResponse;
56
import com.moddy.server.common.exception.enums.SuccessCode;
67
import com.moddy.server.config.resolver.user.UserId;
78
import com.moddy.server.controller.designer.dto.request.DesignerCreateRequest;
9+
import com.moddy.server.controller.designer.dto.request.DesignerUpdateRequest;
810
import com.moddy.server.controller.designer.dto.response.UserCreateResponse;
911
import com.moddy.server.service.designer.DesignerRegisterService;
1012
import io.swagger.v3.oas.annotations.Operation;
@@ -19,6 +21,7 @@
1921
import lombok.RequiredArgsConstructor;
2022
import org.springframework.http.MediaType;
2123
import org.springframework.web.bind.annotation.PostMapping;
24+
import org.springframework.web.bind.annotation.PutMapping;
2225
import org.springframework.web.bind.annotation.RequestMapping;
2326
import org.springframework.web.bind.annotation.RequestPart;
2427
import org.springframework.web.bind.annotation.RestController;
@@ -44,4 +47,21 @@ SuccessResponse<UserCreateResponse> createDesigner(
4447
@Valid @RequestPart("designerInfo") DesignerCreateRequest designerInfo) {
4548
return SuccessResponse.success(SuccessCode.DESIGNER_CREATE_SUCCESS, designerRegisterService.createDesigner(designerId, designerInfo, profileImg));
4649
}
50+
51+
@Operation(summary = "[JWT] 디자이너 마이페이지 수정 API", description = "디자이너 마이페이지 수정 API입니다.")
52+
@ApiResponses(value = {
53+
@ApiResponse(responseCode = "200", description = "디자이너 마이페이지 수정 성공"),
54+
@ApiResponse(responseCode = "401", description = "인증오류 입니다.", content = @Content(schema = @Schema(implementation = ErrorResponse.class))),
55+
@ApiResponse(responseCode = "404", description = "유효하지 않은 값을 입력했습니다.", content = @Content(schema = @Schema(implementation = ErrorResponse.class))),
56+
@ApiResponse(responseCode = "500", description = "서버 내부 오류", content = @Content(schema = @Schema(implementation = ErrorResponse.class)))
57+
})
58+
@PutMapping(consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.MULTIPART_FORM_DATA_VALUE})
59+
@SecurityRequirement(name = "JWT Auth")
60+
public SuccessNonDataResponse updateModel(
61+
@Parameter(hidden = true) @UserId Long designerId,
62+
@RequestPart(value = "profileImg", required = false) MultipartFile profileImg,
63+
@RequestPart(value = "designerUpdateInfo") @Valid DesignerUpdateRequest designerUpdateInfo){
64+
designerRegisterService.updateDesigner(designerId, profileImg, designerUpdateInfo);
65+
return SuccessNonDataResponse.success(SuccessCode.DESIGNER_UPDATE_SUCCESS);
66+
}
4767
}

src/main/java/com/moddy/server/controller/designer/DesignerRetrieveController.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.moddy.server.common.dto.SuccessResponse;
55
import com.moddy.server.common.exception.enums.SuccessCode;
66
import com.moddy.server.config.resolver.user.UserId;
7+
import com.moddy.server.controller.designer.dto.response.DesignerMyPageResponse;
78
import com.moddy.server.controller.model.dto.DesignerInfoOpenChatDto;
89
import com.moddy.server.service.designer.DesignerRetrieveService;
910
import io.swagger.v3.oas.annotations.Operation;
@@ -41,4 +42,19 @@ public SuccessResponse<DesignerInfoOpenChatDto> getDesignerOpenChatInfo(
4142
@Parameter(name = "designerId", description = "디자이너아이디") @PathVariable(value = "designerId") Long designerId) {
4243
return SuccessResponse.success(SuccessCode.OPEN_CHAT_GET_SUCCESS, designerRetrieveService.getDesignerOpenChatInfo(designerId));
4344
}
45+
46+
@Operation(summary = "[JWT] 마이페이지 디자이너 정보 조회", description = "마이페이지 수정시 디자이너 정보 조회입니다")
47+
@ApiResponses({
48+
@ApiResponse(responseCode = "200", description = "디자이너 정보 조회 성공", content = @Content(schema = @Schema(implementation = DesignerMyPageResponse.class))),
49+
@ApiResponse(responseCode = "401", description = "인증 오류 입니다.", content = @Content(schema = @Schema(implementation = ErrorResponse.class))),
50+
@ApiResponse(responseCode = "500", description = "서버 내부 오류 입니다.", content = @Content(schema = @Schema(implementation = ErrorResponse.class))),
51+
})
52+
@GetMapping()
53+
@SecurityRequirement(name = "JWT Auth")
54+
public SuccessResponse<DesignerMyPageResponse> getDesignerInfo(
55+
@Parameter(hidden = true) @UserId Long designerId){
56+
return SuccessResponse.success(SuccessCode.FIND_DESIGNER_INFO_SUCCESS, designerRetrieveService.getDesignerInfo(designerId));
57+
}
58+
59+
4460
}

src/main/java/com/moddy/server/controller/designer/dto/HairShopDto.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package com.moddy.server.controller.designer.dto;
22

33
import io.swagger.v3.oas.annotations.media.Schema;
4-
import jakarta.validation.constraints.NotBlank;
54
import jakarta.validation.constraints.NotNull;
6-
import jakarta.validation.constraints.Pattern;
75
import jakarta.validation.constraints.Size;
86
import lombok.*;
97

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.moddy.server.controller.designer.dto.request;
2+
3+
import com.moddy.server.common.validation.unique_dayofweek.UniqueDayOfWeek;
4+
import com.moddy.server.controller.designer.dto.HairShopDto;
5+
import com.moddy.server.controller.designer.dto.PortfolioDto;
6+
import com.moddy.server.domain.day_off.DayOfWeek;
7+
import com.moddy.server.domain.designer.HairShop;
8+
import com.moddy.server.domain.designer.Portfolio;
9+
import com.moddy.server.domain.user.Gender;
10+
import io.swagger.v3.oas.annotations.media.Schema;
11+
import jakarta.persistence.EnumType;
12+
import jakarta.persistence.Enumerated;
13+
import jakarta.validation.Valid;
14+
import jakarta.validation.constraints.NotNull;
15+
import jakarta.validation.constraints.Size;
16+
17+
import java.util.List;
18+
19+
@NotNull
20+
public record DesignerUpdateRequest(
21+
@Schema(example = "introduction")
22+
@NotNull
23+
@Size(min = 0, max = 200, message = "introduction은 1~200 글자수 사이의 글자입니다.")
24+
String introduction,
25+
@Schema(example = "안현주")
26+
@NotNull
27+
@Size(min = 0, max = 5, message = "name은 1~5 글자수 사이의 글자입니다.")
28+
String name,
29+
@Schema(example = "MALE")
30+
@NotNull
31+
@Enumerated(EnumType.STRING)
32+
Gender gender,
33+
@Valid
34+
HairShopDto hairShop,
35+
@UniqueDayOfWeek
36+
List<DayOfWeek> dayOffs,
37+
@Valid
38+
PortfolioDto portfolio,
39+
@Schema(example = "http://.kakao")
40+
@NotNull
41+
String kakaoOpenChatUrl
42+
) {
43+
}

src/main/java/com/moddy/server/controller/designer/dto/request/OfferImageUrlRequestDto.java

Lines changed: 0 additions & 4 deletions
This file was deleted.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.moddy.server.controller.designer.dto.response;
2+
3+
import com.moddy.server.domain.designer.HairShop;
4+
import com.moddy.server.domain.designer.Portfolio;
5+
6+
import java.util.List;
7+
8+
public record DesignerMyPageResponse(
9+
String profileImgUrl,
10+
String introduction,
11+
String name,
12+
String gender,
13+
String phoneNumber,
14+
HairShop hairShop,
15+
List<String> dayOffs,
16+
Portfolio portfolio,
17+
String kakaoOpenChatUrl
18+
) {
19+
}

src/main/java/com/moddy/server/controller/model/ModelRegisterController.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package com.moddy.server.controller.model;
22

33
import com.moddy.server.common.dto.ErrorResponse;
4+
import com.moddy.server.common.dto.SuccessNonDataResponse;
45
import com.moddy.server.common.dto.SuccessResponse;
56
import com.moddy.server.common.exception.enums.SuccessCode;
67
import com.moddy.server.config.resolver.user.UserId;
78
import com.moddy.server.controller.designer.dto.response.UserCreateResponse;
89
import com.moddy.server.controller.model.dto.request.ModelCreateRequest;
10+
import com.moddy.server.controller.model.dto.request.ModelUpdateRequest;
911
import com.moddy.server.service.model.ModelRegisterService;
1012
import io.swagger.v3.oas.annotations.Operation;
1113
import io.swagger.v3.oas.annotations.Parameter;
@@ -18,6 +20,7 @@
1820
import jakarta.validation.Valid;
1921
import lombok.RequiredArgsConstructor;
2022
import org.springframework.web.bind.annotation.PostMapping;
23+
import org.springframework.web.bind.annotation.PutMapping;
2124
import org.springframework.web.bind.annotation.RequestBody;
2225
import org.springframework.web.bind.annotation.RequestMapping;
2326
import org.springframework.web.bind.annotation.RestController;
@@ -44,4 +47,21 @@ public SuccessResponse<UserCreateResponse> createModel(
4447
@Valid @RequestBody ModelCreateRequest modelCreateRequest) {
4548
return SuccessResponse.success(SuccessCode.MODEL_CREATE_SUCCESS, modelRegisterService.createModel(userId, modelCreateRequest));
4649
}
50+
51+
@Operation(summary = "[JWT] 모델 마이페이지 수정 API", description = "모델 마이페이지 수정 API입니다.")
52+
@ApiResponses(value = {
53+
@ApiResponse(responseCode = "200", description = "모델 마이페이지 수정 성공"),
54+
@ApiResponse(responseCode = "401", description = "인증오류 입니다.", content = @Content(schema = @Schema(implementation = ErrorResponse.class))),
55+
@ApiResponse(responseCode = "404", description = "유효하지 않은 값을 입력했습니다.", content = @Content(schema = @Schema(implementation = ErrorResponse.class))),
56+
@ApiResponse(responseCode = "500", description = "서버 내부 오류", content = @Content(schema = @Schema(implementation = ErrorResponse.class)))
57+
})
58+
@PutMapping
59+
@SecurityRequirement(name = "JWT Auth")
60+
public SuccessNonDataResponse updateModel(
61+
@Parameter(hidden = true) @UserId Long modelId,
62+
@Valid @RequestBody ModelUpdateRequest modelUpdateRequest) {
63+
modelRegisterService.updateModel(modelId, modelUpdateRequest);
64+
return SuccessNonDataResponse.success(SuccessCode.MODEL_UPDATE_SUCCESS);
65+
}
66+
4767
}

src/main/java/com/moddy/server/controller/model/ModelRetrieveController.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.moddy.server.config.resolver.user.UserId;
77
import com.moddy.server.controller.auth.dto.response.RegionResponse;
88
import com.moddy.server.controller.model.dto.response.ApplicationUserDetailResponse;
9+
import com.moddy.server.controller.model.dto.response.ModelMyPageResponse;
910
import com.moddy.server.service.model.ModelRetrieveService;
1011
import io.swagger.v3.oas.annotations.Operation;
1112
import io.swagger.v3.oas.annotations.Parameter;
@@ -52,4 +53,17 @@ public SuccessResponse<List<RegionResponse>> getRegionList() {
5253
public SuccessResponse<ApplicationUserDetailResponse> getUserDetailInApplication(@Parameter(hidden = true) @UserId final Long modelId) {
5354
return SuccessResponse.success(SuccessCode.CREATE_MODEL_APPLICATION_SUCCESS, modelRetrieveService.getModelDetailInApplication(modelId));
5455
}
56+
57+
@Operation(summary = "[JWT] 마이페이지 모델 정보 조회", description = "마이페이지 수정시 모델 정보 조회입니다")
58+
@ApiResponses({
59+
@ApiResponse(responseCode = "200", description = "모델 정보 조회 성공", content = @Content(schema = @Schema(implementation = ModelMyPageResponse.class))),
60+
@ApiResponse(responseCode = "401", description = "인증 오류 입니다.", content = @Content(schema = @Schema(implementation = ErrorResponse.class))),
61+
@ApiResponse(responseCode = "500", description = "서버 내부 오류 입니다.", content = @Content(schema = @Schema(implementation = ErrorResponse.class))),
62+
})
63+
@GetMapping()
64+
@SecurityRequirement(name = "JWT Auth")
65+
public SuccessResponse<ModelMyPageResponse> getDesignerInfo(
66+
@Parameter(hidden = true) @UserId Long modelId) {
67+
return SuccessResponse.success(SuccessCode.FIND_MODEL_INFO_SUCCESS, modelRetrieveService.getModelInfo(modelId));
68+
}
5569
}

src/main/java/com/moddy/server/controller/model/dto/request/ModelCreateRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
@NotNull
1818
public record ModelCreateRequest(
1919
@Schema(description = "모델 회원가입 유저 이름 예시입니다.", example ="안현주")
20-
@Size(min = 0, max = 10, message = "name은 1~10 글자수 사이의 글자입니다.")
20+
@Size(min = 0, max = 10, message = "name은 1~5 글자수 사이의 글자입니다.")
2121
String name,
2222
@Schema(description = "모델 회원가입 유저 나이 예시입니다.", example ="2000")
2323
@NotBlank

0 commit comments

Comments
 (0)