diff --git a/domain/src/main/java/com/kbe5/domain/company/entity/Company.java b/domain/src/main/java/com/kbe5/domain/company/entity/Company.java index 65c64fa6..bf8bcf16 100644 --- a/domain/src/main/java/com/kbe5/domain/company/entity/Company.java +++ b/domain/src/main/java/com/kbe5/domain/company/entity/Company.java @@ -25,8 +25,8 @@ public class Company extends BaseEntity { @Column(length = 30) private String companyCode; - @Builder - private Company(int bizNumber, String name) { + + public Company(int bizNumber, String name) { this.bizNumber = bizNumber; this.name = name; } @@ -36,7 +36,7 @@ public void update(int bizNumber, String name) { this.name = name; } - public void assignCompanyCode(String code) { - this.companyCode = code; + public void assignCompanyCode() { + this.companyCode = String.format("C%s", this.getId()); } } diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/controller/CompanyController.java b/rento-api/src/main/java/com/kbe5/api/domain/company/controller/CompanyController.java index 3488ec69..92f662eb 100644 --- a/rento-api/src/main/java/com/kbe5/api/domain/company/controller/CompanyController.java +++ b/rento-api/src/main/java/com/kbe5/api/domain/company/controller/CompanyController.java @@ -1,12 +1,12 @@ package com.kbe5.api.domain.company.controller; -import com.kbe5.api.domain.company.dto.request.CompanyBiznumberRequest; -import com.kbe5.api.domain.company.dto.request.CompanyRegisterRequest; -import com.kbe5.api.domain.company.dto.request.CompanyUpdateRequest; -import com.kbe5.api.domain.company.dto.response.CompanyDeleteResponse; -import com.kbe5.api.domain.company.dto.response.CompanyRegisterResponse; -import com.kbe5.api.domain.company.dto.response.CompanyResponse; -import com.kbe5.api.domain.company.dto.response.CompanyUpdateResponse; +import com.kbe5.api.domain.company.service.dto.request.CompanyBiznumberRequest; +import com.kbe5.api.domain.company.service.dto.request.CompanyRegisterRequest; +import com.kbe5.api.domain.company.service.dto.request.CompanyUpdateRequest; +import com.kbe5.api.domain.company.service.dto.response.CompanyDeleteResponse; +import com.kbe5.api.domain.company.service.dto.response.CompanyRegisterResponse; +import com.kbe5.api.domain.company.service.dto.response.CompanyResponse; +import com.kbe5.api.domain.company.service.dto.response.CompanyUpdateResponse; import com.kbe5.common.response.api.ApiResponse; import org.springframework.http.ResponseEntity; diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/controller/CompanyControllerImpl.java b/rento-api/src/main/java/com/kbe5/api/domain/company/controller/CompanyControllerImpl.java index 7bce4390..f80ff316 100644 --- a/rento-api/src/main/java/com/kbe5/api/domain/company/controller/CompanyControllerImpl.java +++ b/rento-api/src/main/java/com/kbe5/api/domain/company/controller/CompanyControllerImpl.java @@ -1,13 +1,13 @@ package com.kbe5.api.domain.company.controller; -import com.kbe5.api.domain.company.dto.request.CompanyBiznumberRequest; -import com.kbe5.api.domain.company.dto.request.CompanyRegisterRequest; -import com.kbe5.api.domain.company.dto.request.CompanyUpdateRequest; -import com.kbe5.api.domain.company.dto.response.CompanyDeleteResponse; -import com.kbe5.api.domain.company.dto.response.CompanyRegisterResponse; -import com.kbe5.api.domain.company.dto.response.CompanyResponse; -import com.kbe5.api.domain.company.dto.response.CompanyUpdateResponse; +import com.kbe5.api.domain.company.service.dto.request.CompanyBiznumberRequest; +import com.kbe5.api.domain.company.service.dto.request.CompanyRegisterRequest; +import com.kbe5.api.domain.company.service.dto.request.CompanyUpdateRequest; +import com.kbe5.api.domain.company.service.dto.response.CompanyDeleteResponse; +import com.kbe5.api.domain.company.service.dto.response.CompanyRegisterResponse; +import com.kbe5.api.domain.company.service.dto.response.CompanyResponse; +import com.kbe5.api.domain.company.service.dto.response.CompanyUpdateResponse; import com.kbe5.api.domain.company.service.CompanyService; import com.kbe5.common.apiresponse.ResEntityFactory; import com.kbe5.common.response.api.ApiResponse; @@ -32,10 +32,9 @@ public class CompanyControllerImpl implements CompanyController { @PostMapping("/register") public ResponseEntity> register(@RequestBody @Valid CompanyRegisterRequest request) { - Company company = CompanyRegisterRequest.toEntity(request); return ResEntityFactory.toResponse(ApiResultCode.SUCCESS, - CompanyRegisterResponse.fromEntity(companyService.register(company))); + CompanyRegisterResponse.fromEntity(companyService.register(request))); } @GetMapping("/{id}") diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/request/CompanyRegisterRequest.java b/rento-api/src/main/java/com/kbe5/api/domain/company/dto/request/CompanyRegisterRequest.java deleted file mode 100644 index ecb84a2b..00000000 --- a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/request/CompanyRegisterRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.kbe5.api.domain.company.dto.request; - -import com.kbe5.domain.company.entity.Company; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; - -public record CompanyRegisterRequest( - - @NotNull - int bizNumber, - - @NotBlank - String name -) { - public static Company toEntity(CompanyRegisterRequest request) { - return Company.builder() - .bizNumber(request.bizNumber()) - .name(request.name()) - .build(); - } -} diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/service/CompanyService.java b/rento-api/src/main/java/com/kbe5/api/domain/company/service/CompanyService.java index 6fc3b8dc..6603be9a 100644 --- a/rento-api/src/main/java/com/kbe5/api/domain/company/service/CompanyService.java +++ b/rento-api/src/main/java/com/kbe5/api/domain/company/service/CompanyService.java @@ -1,7 +1,9 @@ package com.kbe5.api.domain.company.service; -import com.kbe5.api.domain.company.dto.request.CompanyUpdateRequest; -import com.kbe5.api.domain.company.dto.response.CompanyDeleteResponse; +import com.kbe5.api.domain.company.service.dto.request.CompanyRegisterRequest; +import com.kbe5.api.domain.company.service.dto.request.CompanyUpdateRequest; +import com.kbe5.api.domain.company.service.dto.response.CompanyDeleteResponse; +import com.kbe5.api.domain.company.service.mapper.CompanyMapper; import com.kbe5.api.domain.company.vo.CompanyUpdateVO; import com.kbe5.common.exception.DomainException; import com.kbe5.common.exception.ErrorType; @@ -20,10 +22,10 @@ public class CompanyService { private final CompanyRepository companyRepository; - public Company register(Company company) { - company = companyRepository.save(company); - - makeCompanyCode(company); + public Company register(CompanyRegisterRequest request) { + Company company = CompanyMapper.toEntity(request); + companyRepository.save(company); + company.assignCompanyCode(); return company; } @@ -40,10 +42,6 @@ public Company findByCompanyCode(String code) { .orElseThrow(() -> new DomainException(ErrorType.COMPANY_NOT_FOUND)); } - private void makeCompanyCode(Company company) { - company.assignCompanyCode("C" + company.getId()); - companyRepository.save(company); - } public Company update(Long id, CompanyUpdateRequest request) { Company company = companyRepository diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/request/CompanyBiznumberRequest.java b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/request/CompanyBiznumberRequest.java similarity index 54% rename from rento-api/src/main/java/com/kbe5/api/domain/company/dto/request/CompanyBiznumberRequest.java rename to rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/request/CompanyBiznumberRequest.java index af92a60b..f1abeedc 100644 --- a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/request/CompanyBiznumberRequest.java +++ b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/request/CompanyBiznumberRequest.java @@ -1,4 +1,4 @@ -package com.kbe5.api.domain.company.dto.request; +package com.kbe5.api.domain.company.service.dto.request; public record CompanyBiznumberRequest( int biznumber diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/request/CompanyRegisterRequest.java b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/request/CompanyRegisterRequest.java new file mode 100644 index 00000000..4e58def1 --- /dev/null +++ b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/request/CompanyRegisterRequest.java @@ -0,0 +1,13 @@ +package com.kbe5.api.domain.company.service.dto.request; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; + +public record CompanyRegisterRequest( + + @NotNull + int bizNumber, + + @NotBlank + String name +) {} diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/request/CompanyUpdateRequest.java b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/request/CompanyUpdateRequest.java similarity index 79% rename from rento-api/src/main/java/com/kbe5/api/domain/company/dto/request/CompanyUpdateRequest.java rename to rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/request/CompanyUpdateRequest.java index 0654bf3e..8decd662 100644 --- a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/request/CompanyUpdateRequest.java +++ b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/request/CompanyUpdateRequest.java @@ -1,4 +1,4 @@ -package com.kbe5.api.domain.company.dto.request; +package com.kbe5.api.domain.company.service.dto.request; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyDeleteResponse.java b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyDeleteResponse.java similarity index 79% rename from rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyDeleteResponse.java rename to rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyDeleteResponse.java index d135a519..cdbdca7d 100644 --- a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyDeleteResponse.java +++ b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyDeleteResponse.java @@ -1,4 +1,4 @@ -package com.kbe5.api.domain.company.dto.response; +package com.kbe5.api.domain.company.service.dto.response; public record CompanyDeleteResponse( Long id, diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyDetailResponse.java b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyDetailResponse.java similarity index 87% rename from rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyDetailResponse.java rename to rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyDetailResponse.java index 34f365fc..7178e7d8 100644 --- a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyDetailResponse.java +++ b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyDetailResponse.java @@ -1,4 +1,4 @@ -package com.kbe5.api.domain.company.dto.response; +package com.kbe5.api.domain.company.service.dto.response; import com.kbe5.domain.company.entity.Company; diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyRegisterResponse.java b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyRegisterResponse.java similarity index 83% rename from rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyRegisterResponse.java rename to rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyRegisterResponse.java index 0d4da23a..bcab8153 100644 --- a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyRegisterResponse.java +++ b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyRegisterResponse.java @@ -1,4 +1,4 @@ -package com.kbe5.api.domain.company.dto.response; +package com.kbe5.api.domain.company.service.dto.response; import com.kbe5.domain.company.entity.Company; diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyResponse.java b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyResponse.java similarity index 91% rename from rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyResponse.java rename to rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyResponse.java index 3ae7f1c2..ea325705 100644 --- a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyResponse.java +++ b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyResponse.java @@ -1,4 +1,4 @@ -package com.kbe5.api.domain.company.dto.response; +package com.kbe5.api.domain.company.service.dto.response; import com.kbe5.domain.company.entity.Company; diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyUpdateResponse.java b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyUpdateResponse.java similarity index 83% rename from rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyUpdateResponse.java rename to rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyUpdateResponse.java index 9076dd95..37894cad 100644 --- a/rento-api/src/main/java/com/kbe5/api/domain/company/dto/response/CompanyUpdateResponse.java +++ b/rento-api/src/main/java/com/kbe5/api/domain/company/service/dto/response/CompanyUpdateResponse.java @@ -1,4 +1,4 @@ -package com.kbe5.api.domain.company.dto.response; +package com.kbe5.api.domain.company.service.dto.response; import com.kbe5.domain.company.entity.Company; diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/service/mapper/CompanyMapper.java b/rento-api/src/main/java/com/kbe5/api/domain/company/service/mapper/CompanyMapper.java new file mode 100644 index 00000000..aaf9f994 --- /dev/null +++ b/rento-api/src/main/java/com/kbe5/api/domain/company/service/mapper/CompanyMapper.java @@ -0,0 +1,11 @@ +package com.kbe5.api.domain.company.service.mapper; + +import com.kbe5.api.domain.company.service.dto.request.CompanyRegisterRequest; +import com.kbe5.domain.company.entity.Company; + +public class CompanyMapper { + + public static Company toEntity(CompanyRegisterRequest request) { + return new Company(request.bizNumber(), request.name()); + } +} diff --git a/rento-api/src/main/java/com/kbe5/api/domain/company/vo/CompanyUpdateVO.java b/rento-api/src/main/java/com/kbe5/api/domain/company/vo/CompanyUpdateVO.java index e30ecc01..eb0e5314 100644 --- a/rento-api/src/main/java/com/kbe5/api/domain/company/vo/CompanyUpdateVO.java +++ b/rento-api/src/main/java/com/kbe5/api/domain/company/vo/CompanyUpdateVO.java @@ -1,6 +1,6 @@ package com.kbe5.api.domain.company.vo; -import com.kbe5.api.domain.company.dto.request.CompanyUpdateRequest; +import com.kbe5.api.domain.company.service.dto.request.CompanyUpdateRequest; import com.kbe5.domain.company.entity.Company; import lombok.Getter;