diff --git a/common/build.gradle b/common/build.gradle deleted file mode 100644 index b595e66a..00000000 --- a/common/build.gradle +++ /dev/null @@ -1,49 +0,0 @@ -plugins { - id 'java-library' - id 'maven-publish' - id 'io.spring.dependency-management' version '1.1.7' -} - -group = 'com.github.ElevenHub' -version = '1.0.0' -description = 'Common utility module' - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } -} - -publishing { - publications { - mavenJava(MavenPublication) { - from components.java - } - } -} - -repositories { - mavenCentral() -} - -dependencies { - - implementation 'org.springframework:spring-context:6.1.2' - implementation 'org.springframework:spring-web:6.1.2' - implementation 'org.springframework:spring-webmvc:6.2.12' - implementation 'com.fasterxml.jackson.core:jackson-annotations:2.19.2' - - implementation 'org.springframework.data:spring-data-jpa:3.3.2' - implementation 'org.hibernate.orm:hibernate-core:6.6.33.Final' - implementation 'jakarta.persistence:jakarta.persistence-api:3.1.0' - - testImplementation 'org.springframework.boot:spring-boot-starter-test:3.5.7' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.10.2' - - compileOnly 'org.projectlombok:lombok:1.18.22' - annotationProcessor 'org.projectlombok:lombok:1.18.22' -} - -tasks.named('test') { - useJUnitPlatform() -} diff --git a/common/gradle/wrapper/gradle-wrapper.jar b/common/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 1b33c55b..00000000 Binary files a/common/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/common/gradle/wrapper/gradle-wrapper.properties b/common/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index d4081da4..00000000 --- a/common/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,7 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip -networkTimeout=10000 -validateDistributionUrl=true -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/common/src/main/java/com/hubEleven/common/annotation/SoftDeletable.java b/common/src/main/java/com/hubEleven/common/annotation/SoftDeletable.java deleted file mode 100644 index 4312188f..00000000 --- a/common/src/main/java/com/hubEleven/common/annotation/SoftDeletable.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.hubEleven.common.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import org.hibernate.annotations.SQLRestriction; - -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@SQLRestriction("deleted_at IS NULL") -public @interface SoftDeletable {} diff --git a/common/src/main/java/com/hubEleven/common/code/ErrorCode.java b/common/src/main/java/com/hubEleven/common/code/ErrorCode.java deleted file mode 100644 index 09c322d4..00000000 --- a/common/src/main/java/com/hubEleven/common/code/ErrorCode.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.hubEleven.common.code; - -import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; - -import lombok.Getter; -import lombok.RequiredArgsConstructor; -import org.springframework.http.HttpStatus; - -@RequiredArgsConstructor -@Getter -public enum ErrorCode implements StatusCode { - SERVER_ERROR(INTERNAL_SERVER_ERROR, "서버 에러가 발생하였습니다."), - VALIDATION_ERROR(HttpStatus.BAD_REQUEST, "요청 값이 유효하지 않습니다."), - ACCESS_DENIED(HttpStatus.FORBIDDEN, "권한이 없습니다."); - - private final HttpStatus httpStatus; - private final String message; - - @Override - public String getName() { - return this.name(); - } -} diff --git a/common/src/main/java/com/hubEleven/common/code/StatusCode.java b/common/src/main/java/com/hubEleven/common/code/StatusCode.java deleted file mode 100644 index e855a70b..00000000 --- a/common/src/main/java/com/hubEleven/common/code/StatusCode.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.hubEleven.common.code; - -import org.springframework.http.HttpStatus; - -public interface StatusCode { - - HttpStatus getHttpStatus(); - - String getMessage(); - - String getName(); -} diff --git a/common/src/main/java/com/hubEleven/common/code/SuccessCode.java b/common/src/main/java/com/hubEleven/common/code/SuccessCode.java deleted file mode 100644 index 6a7a054e..00000000 --- a/common/src/main/java/com/hubEleven/common/code/SuccessCode.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.hubEleven.common.code; - -import static org.springframework.http.HttpStatus.*; - -import lombok.Getter; -import lombok.RequiredArgsConstructor; -import org.springframework.http.HttpStatus; - -@Getter -@RequiredArgsConstructor -public enum SuccessCode { - SUCCESS(HttpStatus.OK, "성공했습니다."), - CREATED(HttpStatus.CREATED, "생성되었습니다."), - UPDATED(HttpStatus.OK, "수정되었습니다."), - DELETED(HttpStatus.OK, "삭제되었습니다."); - - private final HttpStatus status; - private final String message; -} diff --git a/common/src/main/java/com/hubEleven/common/exception/GlobalException.java b/common/src/main/java/com/hubEleven/common/exception/GlobalException.java deleted file mode 100644 index 561c3ee2..00000000 --- a/common/src/main/java/com/hubEleven/common/exception/GlobalException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.hubEleven.common.exception; - -import com.hubEleven.common.code.StatusCode; -import lombok.Getter; -import lombok.RequiredArgsConstructor; - -@Getter -@RequiredArgsConstructor -public class GlobalException extends RuntimeException { - - private final StatusCode errorCode; -} diff --git a/common/src/main/java/com/hubEleven/common/exception/GlobalExceptionHandler.java b/common/src/main/java/com/hubEleven/common/exception/GlobalExceptionHandler.java deleted file mode 100644 index a8ffb794..00000000 --- a/common/src/main/java/com/hubEleven/common/exception/GlobalExceptionHandler.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hubEleven.common.exception; - -import static com.hubEleven.common.code.ErrorCode.*; - -import com.hubEleven.common.response.ApiResponse; -import com.hubEleven.common.response.ApiResponseEntity; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.RestControllerAdvice; -import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; - -@RestControllerAdvice -public class GlobalExceptionHandler extends ResponseEntityExceptionHandler { - - @ExceptionHandler(GlobalException.class) - ResponseEntity globalExceptionHandler(GlobalException e) { - return ApiResponseEntity.onFailure(e.getErrorCode()); - } - - @ExceptionHandler(Exception.class) - public ResponseEntity> handleException(final Exception e) { - return ApiResponseEntity.onFailure(SERVER_ERROR); - } -} diff --git a/common/src/main/java/com/hubEleven/common/model/BaseEntity.java b/common/src/main/java/com/hubEleven/common/model/BaseEntity.java deleted file mode 100644 index ddd15468..00000000 --- a/common/src/main/java/com/hubEleven/common/model/BaseEntity.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.hubEleven.common.model; - -import jakarta.persistence.Column; -import jakarta.persistence.EntityListeners; -import jakarta.persistence.MappedSuperclass; -import java.time.LocalDateTime; -import lombok.Getter; -import org.springframework.data.annotation.CreatedBy; -import org.springframework.data.annotation.CreatedDate; -import org.springframework.data.annotation.LastModifiedBy; -import org.springframework.data.annotation.LastModifiedDate; -import org.springframework.data.jpa.domain.support.AuditingEntityListener; - -@Getter -@MappedSuperclass -@EntityListeners(AuditingEntityListener.class) -public abstract class BaseEntity { - - @CreatedDate - @Column(updatable = false, nullable = false) - private LocalDateTime createdAt; - - @CreatedBy - @Column(updatable = false) - private Long createdBy; - - @LastModifiedDate private LocalDateTime updatedAt; - - @LastModifiedBy private Long updatedBy; - - private LocalDateTime deletedAt; - - private Long deletedBy; - - public void delete(Long deletedBy) { - this.deletedAt = LocalDateTime.now(); - this.deletedBy = deletedBy; - } - - public boolean isDeleted() { - return this.deletedAt != null; - } -} diff --git a/common/src/main/java/com/hubEleven/common/request/CommonPageRequest.java b/common/src/main/java/com/hubEleven/common/request/CommonPageRequest.java deleted file mode 100644 index f79808ce..00000000 --- a/common/src/main/java/com/hubEleven/common/request/CommonPageRequest.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.hubEleven.common.request; - -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Pageable; -import org.springframework.data.domain.Sort; - -public record CommonPageRequest( - int page, int size, SortType sortType, Sort.Direction direction, String keyword) { - public CommonPageRequest { - if (page < 0) { - page = 0; - } - - if (size != 10 && size != 30 && size != 50) { - size = 10; - } - - if (sortType == null) { - sortType = SortType.CREATED_AT; - } - - if (direction == null) { - direction = Sort.Direction.DESC; - } - } - - public Pageable toPageable() { - return PageRequest.of(page, size, Sort.by(direction, sortType.getFieldName())); - } - - public enum SortType { - CREATED_AT("createdAt"), - UPDATED_AT("updatedAt"); - - private final String fieldName; - - SortType(String fieldName) { - this.fieldName = fieldName; - } - - public String getFieldName() { - return fieldName; - } - } -} diff --git a/common/src/main/java/com/hubEleven/common/response/ApiResponse.java b/common/src/main/java/com/hubEleven/common/response/ApiResponse.java deleted file mode 100644 index 95630ec2..00000000 --- a/common/src/main/java/com/hubEleven/common/response/ApiResponse.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.hubEleven.common.response; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; - -@JsonPropertyOrder({"code", "message", "result"}) -public record ApiResponse( - String code, String message, @JsonInclude(JsonInclude.Include.NON_NULL) T result) {} diff --git a/common/src/main/java/com/hubEleven/common/response/ApiResponseEntity.java b/common/src/main/java/com/hubEleven/common/response/ApiResponseEntity.java deleted file mode 100644 index ece09fd0..00000000 --- a/common/src/main/java/com/hubEleven/common/response/ApiResponseEntity.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.hubEleven.common.response; - -import com.hubEleven.common.code.StatusCode; -import com.hubEleven.common.code.SuccessCode; -import java.net.URI; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; - -public class ApiResponseEntity { - - public static ResponseEntity> success(T result) { - return ResponseEntity.ok() - .body( - new ApiResponse<>( - SuccessCode.SUCCESS.name(), SuccessCode.SUCCESS.getMessage(), result)); - } - - public static ResponseEntity> from(StatusCode code, T result) { - return ResponseEntity.status(code.getHttpStatus()) - .body(new ApiResponse<>(code.getName(), code.getMessage(), result)); - } - - public static ResponseEntity> create(StatusCode code, String url, T result) { - return ResponseEntity.created(URI.create(url)) - .body(new ApiResponse<>(code.getName(), code.getMessage(), result)); - } - - public static ResponseEntity> onFailure(StatusCode code) { - return ResponseEntity.status(code.getHttpStatus()) - .body(new ApiResponse<>(code.getName(), code.getMessage(), null)); - } - - public static ResponseEntity> badRequest(String message) { - return ResponseEntity.badRequest() - .body(new ApiResponse<>(HttpStatus.BAD_REQUEST.name(), message, null)); - } - - public static ResponseEntity> ok(String message) { - return ResponseEntity.ok().body(new ApiResponse<>(HttpStatus.OK.name(), message, null)); - } -} diff --git a/common/src/main/java/com/hubEleven/common/response/CommonPageResponse.java b/common/src/main/java/com/hubEleven/common/response/CommonPageResponse.java deleted file mode 100644 index b9d9d2f1..00000000 --- a/common/src/main/java/com/hubEleven/common/response/CommonPageResponse.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hubEleven.common.response; - -import java.util.List; -import org.springframework.data.domain.Page; - -public record CommonPageResponse( - List content, - int page, - int size, - long totalElements, - int totalPages, - boolean first, - boolean last) { - public static CommonPageResponse of(Page page) { - return new CommonPageResponse<>( - page.getContent(), - page.getNumber(), - page.getSize(), - page.getTotalElements(), - page.getTotalPages(), - page.isFirst(), - page.isLast()); - } -} diff --git a/common/src/main/java/com/hubEleven/common/utils/PagingUtils.java b/common/src/main/java/com/hubEleven/common/utils/PagingUtils.java deleted file mode 100644 index 5eb6b2db..00000000 --- a/common/src/main/java/com/hubEleven/common/utils/PagingUtils.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.hubEleven.common.utils; - -import com.hubEleven.common.response.CommonPageResponse; -import java.util.function.Function; -import org.springframework.data.domain.Page; - -public class PagingUtils { - - public static CommonPageResponse convert(Page page, Function mapper) { - return CommonPageResponse.of(page.map(mapper)); - } -} diff --git a/common/src/main/resources/application.yml b/common/src/main/resources/application.yml deleted file mode 100644 index ff103cc1..00000000 --- a/common/src/main/resources/application.yml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - application: - name: common diff --git a/common/src/test/java/com/hubEleven/common/CommonApplicationTests.java b/common/src/test/java/com/hubEleven/common/CommonApplicationTests.java deleted file mode 100644 index e9e17456..00000000 --- a/common/src/test/java/com/hubEleven/common/CommonApplicationTests.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.hubEleven.common; - -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class CommonApplicationTests {} diff --git a/delivery/build.gradle b/delivery/build.gradle index 12128bf8..353f3368 100644 --- a/delivery/build.gradle +++ b/delivery/build.gradle @@ -41,7 +41,7 @@ dependencies { implementation 'org.springframework.cloud:spring-cloud-starter-openfeign' //common - implementation 'com.github.Doritosch:commonLib:v1.0.5' + implementation 'com.github.ElevenHub:HubEleven-common:v0.0.1' // security implementation 'org.springframework.boot:spring-boot-starter-security' diff --git a/delivery/src/main/java/com/hubEleven/delivery/application/command/service/DeliveryCommandService.java b/delivery/src/main/java/com/hubEleven/delivery/application/command/service/DeliveryCommandService.java index b793cf5e..ad39aa8c 100644 --- a/delivery/src/main/java/com/hubEleven/delivery/application/command/service/DeliveryCommandService.java +++ b/delivery/src/main/java/com/hubEleven/delivery/application/command/service/DeliveryCommandService.java @@ -44,18 +44,18 @@ public DeliveryResponseDto createDelivery(UUID orderId) { // 주문 ID를 기준으로 주문 정보 가져오기 ApiResponse order = orderFeignService.getOrderInfo(orderId); - UUID fromCompanyId = order.result().requestorCompanyId(); // 요청업체 - UUID toCompanyId = order.result().recipientCompanyId(); // 수령 업체 + UUID fromCompanyId = order.data().requestorCompanyId(); // 요청업체 + UUID toCompanyId = order.data().recipientCompanyId(); // 수령 업체 // 요청업체의 관리 허브 ID는 업체 테이블에 있음 // 주문 정보에 있는 요청 업체 소속 허브를 출발 허브로 수령 업체 소속 허브를 도착 허브로 생각하고 // 허브 경로에서 출발 허브 부터 도착 허브의 경로를 받아와서 그 갯수 만큼 배송 경로 생성 - UUID fromHubId = companyFeignService.getCompanyInfo(fromCompanyId).result().hubId(); - UUID toHubId = companyFeignService.getCompanyInfo(fromCompanyId).result().hubId(); + UUID fromHubId = companyFeignService.getCompanyInfo(fromCompanyId).data().hubId(); + UUID toHubId = companyFeignService.getCompanyInfo(fromCompanyId).data().hubId(); // 유저정보에서 수령인, 수령인 슬랙ID 받아오기 - ApiResponse toUser = - userFeignService.getUserInfo(toCompanyId, Role.COMPANY_MANAGER); + UserFeignResponseDto toUser = + userFeignService.getUserInfo(toCompanyId, Role.COMPANY_MANAGER).data(); // 배송담당자에서 배송담당자 ID 받아오기 ApiResponse deliveryManager = @@ -68,21 +68,21 @@ public DeliveryResponseDto createDelivery(UUID orderId) { DeliveryStatus.HUB_WAITHING, fromCompanyId, toCompanyId, - toUser.result().name(), - toUser.result().slackId(), - deliveryManager.result().deliveryManagerId()); + toUser.name(), + toUser.slackId(), + deliveryManager.data().deliveryManagerId()); // 허브 경로에 출발허브ID 와 도착허브ID를 넘기고 경로를 받는다. ApiResponse hubRouteFeign = hubRouteFeignService.getRoute(fromHubId, toHubId); - List hubRoute = hubRouteFeign.result().segments().stream().toList(); + List hubRoute = hubRouteFeign.data().segments().stream().toList(); for (int seq = 0; seq < hubRoute.size(); seq++) { HubRouteSegmentResponseDto deliveryRoute = hubRoute.get(seq); // 배송 담당자 ID ApiResponse hubDeliveryManager = deliveryManagerFeignService.getDeliveryManagerInfo( orderId, deliveryRoute.toHubId(), DeliveryType.HUB); - Long deliveryManagerId = hubDeliveryManager.result().deliveryManagerId(); + Long deliveryManagerId = hubDeliveryManager.data().deliveryManagerId(); // 배송 경로 생성 요청 DeliveryRoute route = deliveryRouteService.creatRoute(deliveryRoute, seq, deliveryManagerId); diff --git a/delivery/src/main/java/com/hubEleven/delivery/domain/DeliveryErrorCode.java b/delivery/src/main/java/com/hubEleven/delivery/domain/DeliveryErrorCode.java index e107e917..fd0f7111 100644 --- a/delivery/src/main/java/com/hubEleven/delivery/domain/DeliveryErrorCode.java +++ b/delivery/src/main/java/com/hubEleven/delivery/domain/DeliveryErrorCode.java @@ -1,13 +1,13 @@ package com.hubEleven.delivery.domain; -import com.commonLib.common.code.StatusCode; +import com.commonLib.common.code.ErrorCode; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; @Getter @RequiredArgsConstructor -public enum DeliveryErrorCode implements StatusCode { +public enum DeliveryErrorCode implements ErrorCode { DELIVERY_NOT_FOUND(HttpStatus.NOT_FOUND, "유효하지 않은 배달 ID입니다."), DELIVERY_ROUTE_NOT_FOUND(HttpStatus.NOT_FOUND, "유효하지 않은 배달 경로입니다."), ORDER_NOT_FOUND(HttpStatus.NOT_FOUND, "주문 정보를 찾을 수 없습니다."), @@ -19,9 +19,4 @@ public enum DeliveryErrorCode implements StatusCode { private final HttpStatus httpStatus; private final String message; - - @Override - public String getName() { - return name(); - } } diff --git a/delivery/src/main/java/com/hubEleven/delivery/presentation/DeliveryController.java b/delivery/src/main/java/com/hubEleven/delivery/presentation/DeliveryController.java index cb375791..ae17aa7a 100644 --- a/delivery/src/main/java/com/hubEleven/delivery/presentation/DeliveryController.java +++ b/delivery/src/main/java/com/hubEleven/delivery/presentation/DeliveryController.java @@ -1,8 +1,6 @@ package com.hubEleven.delivery.presentation; -import com.commonLib.common.code.SuccessCode; import com.commonLib.common.response.ApiResponse; -import com.commonLib.common.response.ApiResponseEntity; import com.commonLib.common.response.CommonPageResponse; import com.hubEleven.delivery.application.command.service.DeliveryCommandService; import com.hubEleven.delivery.application.dto.DeliveryDetailResponseDto; @@ -18,6 +16,7 @@ import java.util.UUID; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -61,7 +60,7 @@ public ResponseEntity>> sear size, sort); CommonPageResponse response = CommonPageResponse.of(result); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } // 배송 전체 조회 @@ -74,7 +73,7 @@ public ResponseEntity>> getD ) { Page result = queryService.getDeliveryList(page, size, sort); CommonPageResponse response = CommonPageResponse.of(result); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } // 배송 상세 조회 @@ -84,7 +83,7 @@ public ResponseEntity> getDelivery( @PathVariable UUID deliveryId) { DeliveryDetailResponseDto result = queryService.getDelivery(deliveryId); - return ApiResponseEntity.create(SuccessCode.SUCCESS, "/delivery/" + deliveryId, result); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(result)); } // 배송 생성 @@ -95,7 +94,7 @@ public ResponseEntity> createDelivery( @RequestBody DeliveryRequestDto deliveryRequestDto) { UUID orderId = deliveryRequestDto.orderId(); DeliveryResponseDto result = commandService.createDelivery(orderId); - return ApiResponseEntity.create(SuccessCode.CREATED, "/delivery/" + orderId, result); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(result)); } // 배송 수정 @@ -105,7 +104,7 @@ public ResponseEntity> createDelivery( public ResponseEntity> updateDelivery( @PathVariable UUID deliveryId, @RequestBody DeliveryRequestDto deliveryRequestDto) { DeliveryResponseDto result = commandService.updateDelivery(deliveryId, deliveryRequestDto); - return ApiResponseEntity.create(SuccessCode.UPDATED, "/delivery/" + deliveryId, result); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(result)); } // 배송 삭제 @@ -116,7 +115,7 @@ public ResponseEntity> deleteDelivery( @PathVariable UUID deliveryId, Principal principal) { Long userId = Long.parseLong(principal.getName()); // getName으로 userId를 String 타입으로 받아온다 commandService.deleteDelivery(deliveryId, userId); - return ApiResponseEntity.create(SuccessCode.DELETED, "/delivery/" + deliveryId, null); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(null)); } // 배송 경로 수정 @@ -127,6 +126,6 @@ public ResponseEntity> updateRouteDelivery @PathVariable UUID deliveryId, @RequestBody DeliveryRouteRequestDto deliveryRouteRequestDto) { DeliveryRouteResponseDto result = commandService.updateDeliveryRoute(deliveryId, deliveryRouteRequestDto); - return ApiResponseEntity.create(SuccessCode.UPDATED, "/delivery/{deliveryId}/route", result); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(result)); } } diff --git a/delivery/src/main/java/com/hubEleven/delivery/presentation/GlobalExceptionHandler.java b/delivery/src/main/java/com/hubEleven/delivery/presentation/GlobalExceptionHandler.java deleted file mode 100644 index 1978b704..00000000 --- a/delivery/src/main/java/com/hubEleven/delivery/presentation/GlobalExceptionHandler.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.hubEleven.delivery.presentation; - -import static com.commonLib.common.code.ErrorCode.SERVER_ERROR; - -import com.commonLib.common.exception.GlobalException; -import com.commonLib.common.response.ApiResponse; -import com.commonLib.common.response.ApiResponseEntity; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.RestControllerAdvice; -import org.springframework.web.server.ServerWebExchange; -import reactor.core.publisher.Mono; - -@RestControllerAdvice -public class GlobalExceptionHandler { - @ExceptionHandler(GlobalException.class) - public Mono>> handleGlobalException( - GlobalException e, ServerWebExchange exchange) { // 💡 ServerWebExchange 추가 - - // GlobalException 내부의 ErrorCode에서 HttpStatus를 가져옵니다. - HttpStatus status = e.getErrorCode().getHttpStatus(); // DeliveryErrorCode는 HttpStatus를 가집니다. - - // HTTP 상태 코드 설정 - exchange.getResponse().setStatusCode(status); - - // Mono로 감싸서 반환 (WebFlux 환경에 적합) - // ApiResponseEntity.onFailure가 ErrorResponse를 반환한다고 가정 - return Mono.just(ApiResponseEntity.onFailure(e.getErrorCode())); - } - - @ExceptionHandler(Exception.class) - public ResponseEntity> handleException(final Exception e) { - return ApiResponseEntity.onFailure(SERVER_ERROR); - } -} diff --git a/delivery/src/main/java/com/hubEleven/deliveryManager/application/service/HubService.java b/delivery/src/main/java/com/hubEleven/deliveryManager/application/service/HubService.java index 72b1d9c3..d2c5e3c1 100644 --- a/delivery/src/main/java/com/hubEleven/deliveryManager/application/service/HubService.java +++ b/delivery/src/main/java/com/hubEleven/deliveryManager/application/service/HubService.java @@ -28,7 +28,7 @@ public HubResponseDto getHub(UUID hubId) { throw new GlobalException(DeliveryManagerErrorCode.HUB_NOT_FOUND); } - return response.getBody().result(); + return response.getBody().data(); } catch (Exception e) { // 로깅, 예외 변환 등 diff --git a/delivery/src/main/java/com/hubEleven/deliveryManager/application/service/OrderService.java b/delivery/src/main/java/com/hubEleven/deliveryManager/application/service/OrderService.java index 50c0203b..dc5afd78 100644 --- a/delivery/src/main/java/com/hubEleven/deliveryManager/application/service/OrderService.java +++ b/delivery/src/main/java/com/hubEleven/deliveryManager/application/service/OrderService.java @@ -27,6 +27,6 @@ public OrderResponse getOrder(UUID orderId) { throw new GlobalException(DeliveryManagerErrorCode.ORDER_NOT_FOUND); } log.info("order 정보 받아옴"); - return response.getBody().result(); + return response.getBody().data(); } } diff --git a/delivery/src/main/java/com/hubEleven/deliveryManager/application/service/UserService.java b/delivery/src/main/java/com/hubEleven/deliveryManager/application/service/UserService.java index aeffb2fb..3d0f6379 100644 --- a/delivery/src/main/java/com/hubEleven/deliveryManager/application/service/UserService.java +++ b/delivery/src/main/java/com/hubEleven/deliveryManager/application/service/UserService.java @@ -28,7 +28,7 @@ public UserInfoResponse getUser(Long id, Long requestUserId, String requestUserR log.warn("유저 조회 실패: 응답이 비어 있음 (id: {})", id); throw new GlobalException(DeliveryManagerErrorCode.USER_NOT_FOUND); } - return response.getBody().result(); + return response.getBody().data(); } catch (Exception e) { log.error("유저 조회 중 예외 발생 (id: {}): {}", id, e.getMessage()); throw new GlobalException(DeliveryManagerErrorCode.USER_NOT_FOUND); diff --git a/delivery/src/main/java/com/hubEleven/deliveryManager/domain/exception/DeliveryManagerErrorCode.java b/delivery/src/main/java/com/hubEleven/deliveryManager/domain/exception/DeliveryManagerErrorCode.java index adb989a7..78aa8d9c 100644 --- a/delivery/src/main/java/com/hubEleven/deliveryManager/domain/exception/DeliveryManagerErrorCode.java +++ b/delivery/src/main/java/com/hubEleven/deliveryManager/domain/exception/DeliveryManagerErrorCode.java @@ -1,11 +1,11 @@ package com.hubEleven.deliveryManager.domain.exception; -import com.commonLib.common.code.StatusCode; +import com.commonLib.common.code.ErrorCode; import lombok.Getter; import org.springframework.http.HttpStatus; @Getter -public enum DeliveryManagerErrorCode implements StatusCode { +public enum DeliveryManagerErrorCode implements ErrorCode { DELIVERY_MANAGER_NOT_FOUND(HttpStatus.NOT_FOUND, "배송 담당자를 찾을 수 없습니다."), HUB_DELIVERY_MANAGER_NOT_FOUND(HttpStatus.NOT_FOUND, "허브 배송 담당자가 존재하지 않습니다."), COMPANY_DELIVERY_MANAGER_NOT_FOUND(HttpStatus.NOT_FOUND, "업체 배송 담당자가 존재하지 않습니다."), @@ -28,9 +28,4 @@ public enum DeliveryManagerErrorCode implements StatusCode { this.httpStatus = httpStatus; this.message = message; } - - @Override - public String getName() { - return name(); - } } diff --git a/delivery/src/main/java/com/hubEleven/deliveryManager/presentation/DeliveryManagerController.java b/delivery/src/main/java/com/hubEleven/deliveryManager/presentation/DeliveryManagerController.java index de0b4c32..9db99191 100644 --- a/delivery/src/main/java/com/hubEleven/deliveryManager/presentation/DeliveryManagerController.java +++ b/delivery/src/main/java/com/hubEleven/deliveryManager/presentation/DeliveryManagerController.java @@ -2,7 +2,6 @@ import com.commonLib.common.request.CommonPageRequest; import com.commonLib.common.response.ApiResponse; -import com.commonLib.common.response.ApiResponseEntity; import com.commonLib.common.response.CommonPageResponse; import com.hubEleven.deliveryManager.application.DeliveryManagerService; import com.hubEleven.deliveryManager.domain.DeliveryType; @@ -17,6 +16,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; import org.springframework.data.domain.Sort; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -56,7 +56,7 @@ public ResponseEntity> createDeliveryMan deliveryManagerService.createDeliveryManager( createRequestDto /* , requestUserId, requestUserRole */); - return ApiResponseEntity.success(responseDto); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(responseDto)); } // @PreAuthorize("hasAnyRole('MASTER','HUB_MANAGER')") @@ -78,7 +78,7 @@ public ResponseEntity> createDeliveryMan CommonPageResponse responseDtoList = CommonPageResponse.of(deliveryManagerList); - return ApiResponseEntity.success(responseDtoList); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(responseDtoList)); } // @PreAuthorize("hasAnyRole('MASTER','HUB_MANAGER', 'DELIVERY_MANAGER')") @@ -88,7 +88,7 @@ public ResponseEntity> getDeliveryManage @PathVariable Long managerId) { log.info("[DeliveryManager Controller] 배달 담당자 단일 조회 요청"); DeliveryManagerResponseDto responseDto = deliveryManagerService.getDeliveryManager(managerId); - return ApiResponseEntity.success(responseDto); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(responseDto)); } // @PreAuthorize("hasAnyRole('MASTER','HUB_MANAGER')") @@ -96,18 +96,18 @@ public ResponseEntity> getDeliveryManage @DeleteMapping("/{managerId}") public ResponseEntity> deleteDeliveryManager(@PathVariable Long managerId) { deliveryManagerService.deleteDeliveryManager(managerId); - return ApiResponseEntity.ok("삭제가 완료되었습니다."); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success("삭제가 완료되었습니다.")); } // @PreAuthorize("hasAnyRole('MASTER')") @Operation(summary = "배송 담당자 배정 API", description = "특정 배송경로에 대한 배송 담당자를 배정한다.") @PatchMapping("/assign") - public ResponseEntity assignDeliveryManager( + public ResponseEntity> assignDeliveryManager( @RequestBody @Valid DeliveryManagerAssignRequestDto assignRequestDto) { DeliveryManagerAssignResponseDto assignResponseDtoList = deliveryManagerService.assignDeliveryManagers(assignRequestDto); - return ResponseEntity.ok(assignResponseDtoList); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(assignResponseDtoList)); } // MSA 서버 내부용 메서드 @@ -147,6 +147,6 @@ public boolean hasDeliveryManagerInHub(UUID hubId, Long managerId) { CommonPageResponse responseDtoList = CommonPageResponse.of(response); - return ApiResponseEntity.success(responseDtoList); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(responseDtoList)); } } diff --git a/delivery/src/main/java/com/hubEleven/deliveryRoute/domain/DeliveryRoute.java b/delivery/src/main/java/com/hubEleven/deliveryRoute/domain/DeliveryRoute.java index c402b249..8882abe7 100644 --- a/delivery/src/main/java/com/hubEleven/deliveryRoute/domain/DeliveryRoute.java +++ b/delivery/src/main/java/com/hubEleven/deliveryRoute/domain/DeliveryRoute.java @@ -1,6 +1,5 @@ package com.hubEleven.deliveryRoute.domain; -import com.commonLib.common.annotation.SoftDeletable; import com.commonLib.common.model.BaseEntity; import com.hubEleven.delivery.domain.Delivery; import com.hubEleven.delivery.domain.DeliveryStatus; @@ -15,7 +14,6 @@ @Builder @NoArgsConstructor @AllArgsConstructor -@SoftDeletable @Table(name = "p_delivery_route") public class DeliveryRoute extends BaseEntity { @Id diff --git a/delivery/src/test/java/com/hubEleven/delivery/deliveryManager/DeliveryManagerFeignClientTest.java b/delivery/src/test/java/com/hubEleven/delivery/deliveryManager/DeliveryManagerFeignClientTest.java index eae01612..f74534be 100644 --- a/delivery/src/test/java/com/hubEleven/delivery/deliveryManager/DeliveryManagerFeignClientTest.java +++ b/delivery/src/test/java/com/hubEleven/delivery/deliveryManager/DeliveryManagerFeignClientTest.java @@ -34,10 +34,10 @@ void testUserFeignClient() { assertNotNull(response.getBody(), "응답 body가 null이 아니어야 합니다"); assertTrue(response.getStatusCode().is2xxSuccessful(), "HTTP 상태 코드가 2xx여야 합니다"); - ApiResponse apiResponse = response.getBody(); - assertNotNull(apiResponse.result(), "result가 null이 아니어야 합니다"); + UserInfoResponse apiResponse = response.getBody().data(); + assertNotNull(apiResponse, "result가 null이 아니어야 합니다"); - UserInfoResponse userDto = apiResponse.result(); + UserInfoResponse userDto = apiResponse; assertThat(userDto.userId()).isEqualTo(userId); // 로그 출력 diff --git a/delivery/src/test/resources/application-test.yml b/delivery/src/test/resources/application-test.yml new file mode 100644 index 00000000..d98c58d3 --- /dev/null +++ b/delivery/src/test/resources/application-test.yml @@ -0,0 +1,32 @@ +spring: + datasource: + driver-class-name: org.h2.Driver + url: jdbc:h2:mem:testdb + username: sa + password: + + jpa: + hibernate: + ddl-auto: create-drop + properties: + hibernate: + dialect: org.hibernate.dialect.H2Dialect + format_sql: true + show-sql: true + + h2: + console: + enabled: true + +# Feign 로깅 설정 +logging: + level: + com.hubEleven.deliveryManager.infrastructure.client: DEBUG + feign: DEBUG + feign.Logger: DEBUG + +feign: + client: + config: + default: + loggerLevel: FULL \ No newline at end of file diff --git a/hub/build.gradle b/hub/build.gradle index e5dba790..ec1617df 100644 --- a/hub/build.gradle +++ b/hub/build.gradle @@ -35,7 +35,7 @@ dependencies { implementation 'org.springframework.cloud:spring-cloud-starter-config' // External Libraries - implementation 'com.github.Doritosch:commonLib:1.0.5' + implementation 'com.github.ElevenHub:HubEleven-common:v0.0.1' // API Documentation implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:${springdocVersion}" diff --git a/hub/src/main/java/com/hubEleven/hub/common/exception/HubErrorCode.java b/hub/src/main/java/com/hubEleven/hub/common/exception/HubErrorCode.java index 4eb4fcbf..87b39f19 100644 --- a/hub/src/main/java/com/hubEleven/hub/common/exception/HubErrorCode.java +++ b/hub/src/main/java/com/hubEleven/hub/common/exception/HubErrorCode.java @@ -1,13 +1,13 @@ package com.hubEleven.hub.common.exception; -import com.commonLib.common.code.StatusCode; +import com.commonLib.common.code.ErrorCode; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; @Getter @RequiredArgsConstructor -public enum HubErrorCode implements StatusCode { +public enum HubErrorCode implements ErrorCode { DUPLICATE_HUB_NAME(HttpStatus.BAD_REQUEST, "이미 동일한 이름의 허브가 존재합니다."), HUB_NOT_FOUND(HttpStatus.NOT_FOUND, "허브를 찾을 수 없습니다."), GEOCODING_FAILED(HttpStatus.BAD_REQUEST, "주소로부터 좌표를 찾을 수 없습니다."), @@ -17,9 +17,4 @@ public enum HubErrorCode implements StatusCode { private final HttpStatus httpStatus; private final String message; - - @Override - public String getName() { - return this.name(); - } } diff --git a/hub/src/main/java/com/hubEleven/hub/presentation/HubController.java b/hub/src/main/java/com/hubEleven/hub/presentation/HubController.java index 4e6bd04c..981de7fb 100644 --- a/hub/src/main/java/com/hubEleven/hub/presentation/HubController.java +++ b/hub/src/main/java/com/hubEleven/hub/presentation/HubController.java @@ -2,7 +2,6 @@ import com.commonLib.common.exception.GlobalException; import com.commonLib.common.response.ApiResponse; -import com.commonLib.common.response.ApiResponseEntity; import com.hubEleven.hub.application.command.CreateHubCommand; import com.hubEleven.hub.application.command.DeleteHubCommand; import com.hubEleven.hub.application.command.UpdateHubCommand; @@ -19,6 +18,7 @@ import java.util.List; import java.util.UUID; import lombok.RequiredArgsConstructor; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -49,7 +49,7 @@ public ResponseEntity> createHub( CreateHubCommand command = request.toCommand(userId); HubResult result = hubService.createHub(command); HubResponseDto response = HubResponseDto.from(result); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.CREATED).body(ApiResponse.success(response)); } @PatchMapping("/{hubId}") @@ -65,7 +65,7 @@ public ResponseEntity> updateHub( UpdateHubCommand command = request.toCommand(hubId, userId); HubResult result = hubService.updateHub(command); HubResponseDto response = HubResponseDto.from(result); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } @DeleteMapping("/{hubId}") @@ -79,14 +79,14 @@ public ResponseEntity> deleteHub( } hubService.deleteHub(new DeleteHubCommand(hubId, userId)); HubDeleteResponseDto response = new HubDeleteResponseDto(hubId, true); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } @GetMapping("/{hubId}") public ResponseEntity> getHub(@PathVariable UUID hubId) { HubResult result = hubService.getHub(hubId); HubResponseDto response = HubResponseDto.from(result); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } @GetMapping @@ -94,6 +94,6 @@ public ResponseEntity> getHubs() { HubListResult result = hubService.getHubs(); List responses = HubResponseDto.fromList(result.hubs()); HubListResponseDto response = new HubListResponseDto(responses); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } } diff --git a/hub/src/main/java/com/hubEleven/hub/presentation/HubRouteController.java b/hub/src/main/java/com/hubEleven/hub/presentation/HubRouteController.java index 82d6c1c9..050fb59f 100644 --- a/hub/src/main/java/com/hubEleven/hub/presentation/HubRouteController.java +++ b/hub/src/main/java/com/hubEleven/hub/presentation/HubRouteController.java @@ -2,7 +2,6 @@ import com.commonLib.common.exception.GlobalException; import com.commonLib.common.response.ApiResponse; -import com.commonLib.common.response.ApiResponseEntity; import com.hubEleven.hub.application.dto.RouteResult; import com.hubEleven.hub.application.service.HubRouteService; import com.hubEleven.hub.common.exception.HubErrorCode; @@ -10,6 +9,7 @@ import java.util.List; import java.util.UUID; import lombok.RequiredArgsConstructor; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -34,14 +34,14 @@ public ResponseEntity> generateAllRoutes( throw new GlobalException(HubErrorCode.MASTER_ONLY); } hubRouteService.generateAllRoutes(userId); - return ApiResponseEntity.success("모든 경로 생성이 완료되었습니다."); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success("모든 경로 생성이 완료되었습니다.")); } @GetMapping public ResponseEntity>> getAllRoutes() { List results = hubRouteService.getAllRoutes(); List response = HubRouteResponseDto.fromList(results); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } @GetMapping("/search") @@ -49,6 +49,6 @@ public ResponseEntity> searchRoute( @RequestParam UUID fromHubId, @RequestParam UUID toHubId) { RouteResult result = hubRouteService.findRoute(fromHubId, toHubId); HubRouteResponseDto response = HubRouteResponseDto.from(result); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } } diff --git a/hub/src/main/java/com/hubEleven/hub/presentation/internal/InternalHubRouteController.java b/hub/src/main/java/com/hubEleven/hub/presentation/internal/InternalHubRouteController.java index 4dc2e384..425dc8d1 100644 --- a/hub/src/main/java/com/hubEleven/hub/presentation/internal/InternalHubRouteController.java +++ b/hub/src/main/java/com/hubEleven/hub/presentation/internal/InternalHubRouteController.java @@ -1,13 +1,13 @@ package com.hubEleven.hub.presentation.internal; import com.commonLib.common.response.ApiResponse; -import com.commonLib.common.response.ApiResponseEntity; import com.hubEleven.hub.application.dto.RouteResult; import com.hubEleven.hub.application.service.HubRouteService; import com.hubEleven.hub.presentation.dto.response.HubRouteResponseDto; import java.util.List; import java.util.UUID; import lombok.RequiredArgsConstructor; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -25,7 +25,7 @@ public class InternalHubRouteController { public ResponseEntity>> getAllRoutes() { List results = hubRouteService.getAllRoutes(); List response = HubRouteResponseDto.fromList(results); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } @GetMapping("/search") @@ -33,6 +33,6 @@ public ResponseEntity> searchRoute( @RequestParam UUID fromHubId, @RequestParam UUID toHubId) { RouteResult result = hubRouteService.findRoute(fromHubId, toHubId); HubRouteResponseDto response = HubRouteResponseDto.from(result); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } } diff --git a/order/build.gradle b/order/build.gradle index f1864352..95446001 100644 --- a/order/build.gradle +++ b/order/build.gradle @@ -32,7 +32,7 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.cloud:spring-cloud-starter-openfeign' - implementation 'com.github.Doritosch:commonLib:1.0.5' + implementation 'com.github.ElevenHub:HubEleven-common:v0.0.1' implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:${springdocVersion}" compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.mysql:mysql-connector-j' diff --git a/order/src/main/java/com/hubEleven/order/domain/exception/OrderErrorCode.java b/order/src/main/java/com/hubEleven/order/domain/exception/OrderErrorCode.java index b22accc4..d5c16e04 100644 --- a/order/src/main/java/com/hubEleven/order/domain/exception/OrderErrorCode.java +++ b/order/src/main/java/com/hubEleven/order/domain/exception/OrderErrorCode.java @@ -1,13 +1,13 @@ package com.hubEleven.order.domain.exception; -import com.commonLib.common.code.StatusCode; +import com.commonLib.common.code.ErrorCode; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; @Getter @RequiredArgsConstructor -public enum OrderErrorCode implements StatusCode { +public enum OrderErrorCode implements ErrorCode { // Company REQUESTOR_COMPANY_NOT_FOUND(HttpStatus.NOT_FOUND, "업체를 찾을 수 없습니다."), RECIPIENT_COMPANY_NOT_FOUND(HttpStatus.NOT_FOUND, "업체를 찾을 수 없습니다."), @@ -24,9 +24,4 @@ public enum OrderErrorCode implements StatusCode { private final HttpStatus httpStatus; private final String message; - - @Override - public String getName() { - return name(); - } } diff --git a/order/src/main/java/com/hubEleven/order/presentation/controller/OrderController.java b/order/src/main/java/com/hubEleven/order/presentation/controller/OrderController.java index dc823e94..a1e5f7fd 100644 --- a/order/src/main/java/com/hubEleven/order/presentation/controller/OrderController.java +++ b/order/src/main/java/com/hubEleven/order/presentation/controller/OrderController.java @@ -2,7 +2,6 @@ import com.commonLib.common.request.CommonPageRequest; import com.commonLib.common.response.ApiResponse; -import com.commonLib.common.response.ApiResponseEntity; import com.commonLib.common.response.CommonPageResponse; import com.commonLib.common.utils.PagingUtils; import com.hubEleven.order.application.dto.OrderResult; @@ -15,6 +14,7 @@ import java.util.UUID; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -41,7 +41,8 @@ public ResponseEntity> create( OrderResult result = orderService.create(request); - return ApiResponseEntity.success(OrderResponse.from(result)); + return ResponseEntity.status(HttpStatus.CREATED) + .body(ApiResponse.success(OrderResponse.from(result))); } @Operation(summary = "주문 전체 조회 API", description = "주문 전체 목록을 조회한다.") @@ -55,7 +56,7 @@ public ResponseEntity>> getOrders( // Application 계층의 OrderResult를 Presentation 계층의 OrderResponse로 변환 CommonPageResponse response = PagingUtils.convert(orders, OrderResponse::from); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } @Operation(summary = "주문 단건 조회 API", description = "주문 ID로 상품을 조회한다.") @@ -64,7 +65,8 @@ public ResponseEntity> getOrderDetail(@PathVariable U OrderResult result = orderService.getOrderDetail(orderId); - return ApiResponseEntity.success(OrderResponse.from(result)); + return ResponseEntity.status(HttpStatus.OK) + .body(ApiResponse.success(OrderResponse.from(result))); } @Operation(summary = "주문 수정 API", description = "주문 정보를 수정한다.") @@ -74,7 +76,8 @@ public ResponseEntity> updateOrder( OrderResult result = orderService.updateOrder(orderId, request); - return ApiResponseEntity.success(OrderResponse.from(result)); + return ResponseEntity.status(HttpStatus.OK) + .body(ApiResponse.success(OrderResponse.from(result))); } @Operation(summary = "주문 삭제 API", description = "주문을 삭제한다.") @@ -83,7 +86,7 @@ public ResponseEntity> deleteOrder(@PathVariable UUID orderId, orderService.deleteOrder(orderId, userId); - return ApiResponseEntity.success(null); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(null)); } @Operation(summary = "주문 검색 API", description = "키워드 기반으로 주문을 검색한다.") @@ -95,7 +98,7 @@ public ResponseEntity>> searchOrde CommonPageResponse response = PagingUtils.convert(orders, OrderResponse::from); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } @Operation(summary = "주문 취소 API", description = "주문을 취소한다.") @@ -104,6 +107,6 @@ public ResponseEntity> cancelOrder(@PathVariable UUID orderId, orderService.cancelOrder(orderId, userId); - return ApiResponseEntity.success(null); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(null)); } } diff --git a/product/build.gradle b/product/build.gradle index f34970d3..716931db 100644 --- a/product/build.gradle +++ b/product/build.gradle @@ -37,7 +37,7 @@ dependencies { implementation 'org.springframework.cloud:spring-cloud-starter-openfeign' // External Libraries - implementation 'com.github.Doritosch:commonLib:1.0.5' + implementation 'com.github.ElevenHub:HubEleven-common:v0.0.1' // API Documentation implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:${springdocVersion}" diff --git a/product/src/main/java/com/hubEleven/product/domain/exception/ProductErrorCode.java b/product/src/main/java/com/hubEleven/product/domain/exception/ProductErrorCode.java index d3b0e493..baf2048b 100644 --- a/product/src/main/java/com/hubEleven/product/domain/exception/ProductErrorCode.java +++ b/product/src/main/java/com/hubEleven/product/domain/exception/ProductErrorCode.java @@ -1,13 +1,13 @@ package com.hubEleven.product.domain.exception; -import com.commonLib.common.code.StatusCode; +import com.commonLib.common.code.ErrorCode; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; @Getter @RequiredArgsConstructor -public enum ProductErrorCode implements StatusCode { +public enum ProductErrorCode implements ErrorCode { PRODUCT_DUPLICATED(HttpStatus.BAD_REQUEST, "이미 존재하는 상품입니다."), PRODUCT_NOT_FOUND(HttpStatus.NOT_FOUND, "상품을 찾을 수 없습니다."), COMPANY_NOT_FOUND(HttpStatus.NOT_FOUND, "업체를 찾을 수 없습니다."), @@ -15,9 +15,4 @@ public enum ProductErrorCode implements StatusCode { private final HttpStatus httpStatus; private final String message; - - @Override - public String getName() { - return name(); - } } diff --git a/product/src/main/java/com/hubEleven/product/presentation/controller/ProductController.java b/product/src/main/java/com/hubEleven/product/presentation/controller/ProductController.java index bbda944f..2d4ab9dc 100644 --- a/product/src/main/java/com/hubEleven/product/presentation/controller/ProductController.java +++ b/product/src/main/java/com/hubEleven/product/presentation/controller/ProductController.java @@ -2,7 +2,6 @@ import com.commonLib.common.request.CommonPageRequest; import com.commonLib.common.response.ApiResponse; -import com.commonLib.common.response.ApiResponseEntity; import com.commonLib.common.response.CommonPageResponse; import com.commonLib.common.utils.PagingUtils; import com.hubEleven.product.application.dto.ProductResult; @@ -15,6 +14,7 @@ import java.util.UUID; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -41,7 +41,8 @@ public ResponseEntity> create( ProductResult result = productService.create(request); - return ApiResponseEntity.success(ProductResponse.from(result)); + return ResponseEntity.status(HttpStatus.OK) + .body(ApiResponse.success(ProductResponse.from(result))); } @Operation(summary = "상품 전체 조회 API", description = "상품 전체 목록을 조회한다.") @@ -59,7 +60,7 @@ public ResponseEntity>> getProdu CommonPageResponse response = PagingUtils.convert(products, ProductResponse::from); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } @Operation(summary = "상품 단건 조회 API", description = "상품 ID로 상품을 조회한다.") @@ -69,7 +70,8 @@ public ResponseEntity> getProductDetail( ProductResult result = productService.getProduct(productId); - return ApiResponseEntity.success(ProductResponse.from(result)); + return ResponseEntity.status(HttpStatus.OK) + .body(ApiResponse.success(ProductResponse.from(result))); } @Operation(summary = "상품 수정 API", description = "상품 정보를 수정한다.") @@ -79,7 +81,8 @@ public ResponseEntity> updateProduct( ProductResult result = productService.updateProduct(productId, request); - return ApiResponseEntity.success(ProductResponse.from(result)); + return ResponseEntity.status(HttpStatus.OK) + .body(ApiResponse.success(ProductResponse.from(result))); } @Operation(summary = "상품 삭제 API", description = "상품을 삭제한다.") @@ -89,7 +92,7 @@ public ResponseEntity> deleteProduct( productService.deleteProduct(productId, userId); - return ApiResponseEntity.success(null); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(null)); } @Operation(summary = "상품 검색 API", description = "키워드 기반으로 상품을 검색한다.") @@ -103,6 +106,6 @@ public ResponseEntity>> searchPr CommonPageResponse response = PagingUtils.convert(products, ProductResponse::from); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } } diff --git a/product/src/main/java/com/hubEleven/stock/domain/exception/StockErrorCode.java b/product/src/main/java/com/hubEleven/stock/domain/exception/StockErrorCode.java index f6bc70b4..69a3b3bd 100644 --- a/product/src/main/java/com/hubEleven/stock/domain/exception/StockErrorCode.java +++ b/product/src/main/java/com/hubEleven/stock/domain/exception/StockErrorCode.java @@ -1,13 +1,13 @@ package com.hubEleven.stock.domain.exception; -import com.commonLib.common.code.StatusCode; +import com.commonLib.common.code.ErrorCode; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; @Getter @RequiredArgsConstructor -public enum StockErrorCode implements StatusCode { +public enum StockErrorCode implements ErrorCode { STOCK_NOT_FOUND(HttpStatus.NOT_FOUND, "재고를 찾을 수 없습니다."), DECREASE_QUANTITY_INVALID(HttpStatus.BAD_REQUEST, "재고 감소 수량은 1 이상이어야 합니다."), RESTORE_QUANTITY_INVALID(HttpStatus.BAD_REQUEST, "재고 복원 수량은 1 이상이어야 합니다."), @@ -16,9 +16,4 @@ public enum StockErrorCode implements StatusCode { private final HttpStatus httpStatus; private final String message; - - @Override - public String getName() { - return name(); - } } diff --git a/product/src/main/java/com/hubEleven/stock/presentation/controller/StockController.java b/product/src/main/java/com/hubEleven/stock/presentation/controller/StockController.java index df04e354..7f9ff6dd 100644 --- a/product/src/main/java/com/hubEleven/stock/presentation/controller/StockController.java +++ b/product/src/main/java/com/hubEleven/stock/presentation/controller/StockController.java @@ -1,7 +1,6 @@ package com.hubEleven.stock.presentation.controller; import com.commonLib.common.response.ApiResponse; -import com.commonLib.common.response.ApiResponseEntity; import com.hubEleven.stock.application.dto.StockResult; import com.hubEleven.stock.application.service.StockService; import com.hubEleven.stock.presentation.dto.request.StockRequests; @@ -11,6 +10,7 @@ import jakarta.validation.Valid; import java.util.UUID; import lombok.RequiredArgsConstructor; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -36,7 +36,8 @@ public ResponseEntity> create( StockResult result = stockService.create(request); - return ApiResponseEntity.success(StockResponse.from(result)); + return ResponseEntity.status(HttpStatus.CREATED) + .body(ApiResponse.success(StockResponse.from(result))); } @Operation(summary = "재고 단건 조회 API", description = "상품 ID로 재고 상세 정보를 조회한다.") @@ -45,7 +46,8 @@ public ResponseEntity> getStock(@PathVariable UUID pr StockResult result = stockService.getStockByProductId(productId); - return ApiResponseEntity.success(StockResponse.from(result)); + return ResponseEntity.status(HttpStatus.OK) + .body(ApiResponse.success(StockResponse.from(result))); } @Operation(summary = "재고 감소 API", description = "상품 주문시 재고가 감소한다.") @@ -56,7 +58,8 @@ public ResponseEntity> decreaseStock( // 재고 감소 로직 호출 StockResult result = stockService.decreaseStock(request); - return ApiResponseEntity.success(StockResponse.from(result)); + return ResponseEntity.status(HttpStatus.OK) + .body(ApiResponse.success(StockResponse.from(result))); } @Operation(summary = "재고 복원 API", description = "상품 취소시 재고가 복원된다.") @@ -67,6 +70,7 @@ public ResponseEntity> restoreStock( // 재고 복원 로직 호출 StockResult result = stockService.restoreStock(request); - return ApiResponseEntity.success(StockResponse.from(result)); + return ResponseEntity.status(HttpStatus.OK) + .body(ApiResponse.success(StockResponse.from(result))); } } diff --git a/user/build.gradle b/user/build.gradle index 7a41d551..3ce607de 100644 --- a/user/build.gradle +++ b/user/build.gradle @@ -33,7 +33,7 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.cloud:spring-cloud-starter-config' implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client' - implementation 'com.github.Doritosch:commonLib:v1.0.5' + implementation 'com.github.ElevenHub:HubEleven-common:v0.0.1' implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:${springdocVersion}" compileOnly 'org.projectlombok:lombok' diff --git a/user/src/main/java/com/hubEleven/user/application/AuthService.java b/user/src/main/java/com/hubEleven/user/application/AuthService.java index 9a24459c..eabc2241 100644 --- a/user/src/main/java/com/hubEleven/user/application/AuthService.java +++ b/user/src/main/java/com/hubEleven/user/application/AuthService.java @@ -1,7 +1,7 @@ package com.hubEleven.user.application; -import static com.hubEleven.user.domain.exception.ErrorCode.FAILED_LOGIN; -import static com.hubEleven.user.domain.exception.ErrorCode.NOT_APPROVED_USER; +import static com.hubEleven.user.domain.exception.UserErrorCode.FAILED_LOGIN; +import static com.hubEleven.user.domain.exception.UserErrorCode.NOT_APPROVED_USER; import com.commonLib.common.exception.GlobalException; import com.hubEleven.user.application.command.LoginCommand; diff --git a/user/src/main/java/com/hubEleven/user/application/UserService.java b/user/src/main/java/com/hubEleven/user/application/UserService.java index e8c223c7..feedd1a9 100644 --- a/user/src/main/java/com/hubEleven/user/application/UserService.java +++ b/user/src/main/java/com/hubEleven/user/application/UserService.java @@ -1,6 +1,6 @@ package com.hubEleven.user.application; -import static com.hubEleven.user.domain.exception.ErrorCode.*; +import static com.hubEleven.user.domain.exception.UserErrorCode.*; import com.commonLib.common.exception.GlobalException; import com.commonLib.common.request.CommonPageRequest; @@ -10,7 +10,7 @@ import com.hubEleven.user.application.command.UserStatusUpdateCommand; import com.hubEleven.user.application.command.UserUpdateCommand; import com.hubEleven.user.application.dto.UserCreateResult; -import com.hubEleven.user.application.dto.UserInfo; +import com.hubEleven.user.application.dto.UserInfoResult; import com.hubEleven.user.domain.model.User; import com.hubEleven.user.domain.repository.UserRepository; import com.hubEleven.user.domain.vo.Role; @@ -47,7 +47,7 @@ public UserCreateResult createUser(UserCreateCommand command) { return UserCreateResult.from(user); } - public UserInfo findUserById(Long id, Long requestUserId, Role requestUserRole) { + public UserInfoResult findUserById(Long id, Long requestUserId, Role requestUserRole) { if (!Role.isMaster(requestUserRole) && !id.equals(requestUserId)) { throw new GlobalException(UNAUTHORIZED_ACCESS); } @@ -57,7 +57,7 @@ public UserInfo findUserById(Long id, Long requestUserId, Role requestUserRole) .findByIdAndNotDeleted(id) .orElseThrow(() -> new GlobalException(NOT_FOUND_USER)); - return UserInfo.from(user); + return UserInfoResult.from(user); } @Transactional @@ -71,18 +71,18 @@ public void updateUserStatus(UserStatusUpdateCommand command) { userRepository.save(user); } - public CommonPageResponse getAllUsers(CommonPageRequest pageRequest) { + public CommonPageResponse getAllUsers(CommonPageRequest pageRequest) { Page users = userRepository.searchUsers(null, pageRequest.toPageable()); - return PagingUtils.convert(users, UserInfo::from); + return PagingUtils.convert(users, UserInfoResult::from); } - public CommonPageResponse searchUsers(CommonPageRequest pageRequest) { + public CommonPageResponse searchUsers(CommonPageRequest pageRequest) { Page users = userRepository.searchUsers(pageRequest.keyword(), pageRequest.toPageable()); - return PagingUtils.convert(users, UserInfo::from); + return PagingUtils.convert(users, UserInfoResult::from); } @Transactional - public UserInfo updateUser(UserUpdateCommand command) { + public UserInfoResult updateUser(UserUpdateCommand command) { User user = userRepository .findByIdAndNotDeleted(command.userId()) @@ -95,7 +95,7 @@ public UserInfo updateUser(UserUpdateCommand command) { command.role(), command.companyId()); userRepository.save(user); - return UserInfo.from(user); + return UserInfoResult.from(user); } @Transactional diff --git a/user/src/main/java/com/hubEleven/user/application/dto/UserInfo.java b/user/src/main/java/com/hubEleven/user/application/dto/UserInfoResult.java similarity index 84% rename from user/src/main/java/com/hubEleven/user/application/dto/UserInfo.java rename to user/src/main/java/com/hubEleven/user/application/dto/UserInfoResult.java index 6822bf0a..c2eed5d0 100644 --- a/user/src/main/java/com/hubEleven/user/application/dto/UserInfo.java +++ b/user/src/main/java/com/hubEleven/user/application/dto/UserInfoResult.java @@ -5,7 +5,7 @@ import com.hubEleven.user.domain.vo.SignStatus; import java.util.UUID; -public record UserInfo( +public record UserInfoResult( Long userId, String username, String password, @@ -15,8 +15,8 @@ public record UserInfo( Role role, SignStatus status, UUID companyId) { - public static UserInfo from(User user) { - return new UserInfo( + public static UserInfoResult from(User user) { + return new UserInfoResult( user.getId(), user.getUsername(), user.getPassword(), diff --git a/user/src/main/java/com/hubEleven/user/domain/exception/CustomExceptionHandler.java b/user/src/main/java/com/hubEleven/user/domain/exception/CustomExceptionHandler.java deleted file mode 100644 index 81a62d8d..00000000 --- a/user/src/main/java/com/hubEleven/user/domain/exception/CustomExceptionHandler.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.hubEleven.user.domain.exception; - -import com.commonLib.common.exception.GlobalExceptionHandler; -import org.springframework.web.bind.annotation.RestControllerAdvice; - -@RestControllerAdvice -public class CustomExceptionHandler extends GlobalExceptionHandler {} diff --git a/user/src/main/java/com/hubEleven/user/domain/exception/GlobalExceptionHandlerTest.java b/user/src/main/java/com/hubEleven/user/domain/exception/GlobalExceptionHandlerTest.java deleted file mode 100644 index aae2e1cf..00000000 --- a/user/src/main/java/com/hubEleven/user/domain/exception/GlobalExceptionHandlerTest.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.hubEleven.user.domain.exception; - -import com.commonLib.common.exception.GlobalExceptionHandler; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class GlobalExceptionHandlerTest extends GlobalExceptionHandler {} diff --git a/user/src/main/java/com/hubEleven/user/domain/exception/ErrorCode.java b/user/src/main/java/com/hubEleven/user/domain/exception/UserErrorCode.java similarity index 88% rename from user/src/main/java/com/hubEleven/user/domain/exception/ErrorCode.java rename to user/src/main/java/com/hubEleven/user/domain/exception/UserErrorCode.java index a9e9a4e3..e4213f5d 100644 --- a/user/src/main/java/com/hubEleven/user/domain/exception/ErrorCode.java +++ b/user/src/main/java/com/hubEleven/user/domain/exception/UserErrorCode.java @@ -1,13 +1,13 @@ package com.hubEleven.user.domain.exception; -import com.commonLib.common.code.StatusCode; +import com.commonLib.common.code.ErrorCode; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; @Getter @RequiredArgsConstructor -public enum ErrorCode implements StatusCode { +public enum UserErrorCode implements ErrorCode { INVALID_PASSWORD(HttpStatus.BAD_REQUEST, "비밀번호는 8~15자이며, 대소문자/숫자/특수문자를 포함해야 합니다."), INVALID_USERNAME(HttpStatus.BAD_REQUEST, "아이디는 4~10자이며, 소문자/숫자로 구성되어야 합니다."), DUPLICATED_USERNAME(HttpStatus.BAD_REQUEST, "이미 사용하고 있는 아이디입니다."), @@ -29,9 +29,4 @@ public HttpStatus getHttpStatus() { public String getMessage() { return description; } - - @Override - public String getName() { - return this.name(); - } } diff --git a/user/src/main/java/com/hubEleven/user/infrastructure/security/CustomUserDetailsService.java b/user/src/main/java/com/hubEleven/user/infrastructure/security/CustomUserDetailsService.java index 28f29f79..f8626465 100644 --- a/user/src/main/java/com/hubEleven/user/infrastructure/security/CustomUserDetailsService.java +++ b/user/src/main/java/com/hubEleven/user/infrastructure/security/CustomUserDetailsService.java @@ -1,6 +1,6 @@ package com.hubEleven.user.infrastructure.security; -import static com.hubEleven.user.domain.exception.ErrorCode.FORBIDDEN_USER; +import static com.hubEleven.user.domain.exception.UserErrorCode.FORBIDDEN_USER; import com.commonLib.common.exception.GlobalException; import com.hubEleven.user.domain.model.User; diff --git a/user/src/main/java/com/hubEleven/user/presentation/controller/UserController.java b/user/src/main/java/com/hubEleven/user/presentation/controller/UserController.java index 4d731c16..3b427a40 100644 --- a/user/src/main/java/com/hubEleven/user/presentation/controller/UserController.java +++ b/user/src/main/java/com/hubEleven/user/presentation/controller/UserController.java @@ -1,9 +1,7 @@ package com.hubEleven.user.presentation.controller; -import com.commonLib.common.code.SuccessCode; import com.commonLib.common.request.CommonPageRequest; import com.commonLib.common.response.ApiResponse; -import com.commonLib.common.response.ApiResponseEntity; import com.commonLib.common.response.CommonPageResponse; import com.hubEleven.user.application.AuthService; import com.hubEleven.user.application.UserService; @@ -12,7 +10,7 @@ import com.hubEleven.user.application.command.UserStatusUpdateCommand; import com.hubEleven.user.application.command.UserUpdateCommand; import com.hubEleven.user.application.dto.UserCreateResult; -import com.hubEleven.user.application.dto.UserInfo; +import com.hubEleven.user.application.dto.UserInfoResult; import com.hubEleven.user.domain.vo.Role; import com.hubEleven.user.presentation.dto.request.LoginRequest; import com.hubEleven.user.presentation.dto.request.SignupRequest; @@ -24,6 +22,7 @@ import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -59,7 +58,7 @@ public ResponseEntity> signup( user.slackId(), user.role(), user.companyId()); - return ApiResponseEntity.create(SuccessCode.CREATED, "/v1/user/" + user.userId(), response); + return ResponseEntity.status(HttpStatus.CREATED).body(ApiResponse.success(response)); } @PostMapping("/login") @@ -70,16 +69,16 @@ public ResponseEntity> login( String token = authService.login(command); LoginResponse response = new LoginResponse(token); - return ResponseEntity.ok() + return ResponseEntity.status(HttpStatus.OK) .header(HttpHeaders.AUTHORIZATION, "Bearer " + token) - .body(ApiResponseEntity.success(response).getBody()); + .body(ApiResponse.success(response)); } @GetMapping public ResponseEntity>> getAllUsers( @Valid CommonPageRequest pageRequest) { - CommonPageResponse result = userService.getAllUsers(pageRequest); + CommonPageResponse result = userService.getAllUsers(pageRequest); CommonPageResponse response = new CommonPageResponse<>( @@ -91,7 +90,7 @@ public ResponseEntity>> getAllU result.first(), result.last()); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } @GetMapping("/{id}") @@ -112,7 +111,7 @@ public ResponseEntity> getUser( userInfo.status(), userInfo.companyId()); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } @PatchMapping("/{id}/status") @@ -121,13 +120,13 @@ public ResponseEntity> updateUserStatus( UserStatusUpdateCommand command = new UserStatusUpdateCommand(id, request.status()); userService.updateUserStatus(command); - return ApiResponseEntity.success(null); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(null)); } @GetMapping("/search") public ResponseEntity>> searchUsers( @Valid CommonPageRequest pageRequest) { - CommonPageResponse result = userService.searchUsers(pageRequest); + CommonPageResponse result = userService.searchUsers(pageRequest); CommonPageResponse response = new CommonPageResponse<>( @@ -139,7 +138,7 @@ public ResponseEntity>> searchU result.first(), result.last()); - return ApiResponseEntity.success(response); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } @PutMapping("/{id}") @@ -153,10 +152,10 @@ public ResponseEntity> updateUser( request.phoneNumber(), request.role(), request.companyId()); - UserInfo userInfo = userService.updateUser(command); + UserInfoResult userInfoResult = userService.updateUser(command); - UserInfoResponse response = UserInfoResponse.from(userInfo); - return ApiResponseEntity.success(response); + UserInfoResponse response = UserInfoResponse.from(userInfoResult); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(response)); } @DeleteMapping("/{id}") @@ -164,6 +163,6 @@ public ResponseEntity> deleteUser( @PathVariable("id") Long id, @RequestHeader("X-User-Id") Long requestUserId) { userService.deleteUser(id, requestUserId); - return ApiResponseEntity.success(null); + return ResponseEntity.status(HttpStatus.OK).body(ApiResponse.success(null)); } } diff --git a/user/src/main/java/com/hubEleven/user/presentation/dto/response/UserInfoResponse.java b/user/src/main/java/com/hubEleven/user/presentation/dto/response/UserInfoResponse.java index 5d3e247c..ce41b07a 100644 --- a/user/src/main/java/com/hubEleven/user/presentation/dto/response/UserInfoResponse.java +++ b/user/src/main/java/com/hubEleven/user/presentation/dto/response/UserInfoResponse.java @@ -1,6 +1,6 @@ package com.hubEleven.user.presentation.dto.response; -import com.hubEleven.user.application.dto.UserInfo; +import com.hubEleven.user.application.dto.UserInfoResult; import com.hubEleven.user.domain.vo.Role; import com.hubEleven.user.domain.vo.SignStatus; import java.util.UUID; @@ -14,15 +14,15 @@ public record UserInfoResponse( Role role, SignStatus status, UUID companyId) { - public static UserInfoResponse from(UserInfo userInfo) { + public static UserInfoResponse from(UserInfoResult userInfoResult) { return new UserInfoResponse( - userInfo.userId(), - userInfo.username(), - userInfo.name(), - userInfo.slackId(), - userInfo.phoneNumber(), - userInfo.role(), - userInfo.status(), - userInfo.companyId()); + userInfoResult.userId(), + userInfoResult.username(), + userInfoResult.name(), + userInfoResult.slackId(), + userInfoResult.phoneNumber(), + userInfoResult.role(), + userInfoResult.status(), + userInfoResult.companyId()); } }