diff --git a/module-admin/src/main/java/com/kernel360/product/dto/ProductDto.java b/module-admin/src/main/java/com/kernel360/product/dto/ProductDto.java index 3ae97ccc..31ad43d7 100644 --- a/module-admin/src/main/java/com/kernel360/product/dto/ProductDto.java +++ b/module-admin/src/main/java/com/kernel360/product/dto/ProductDto.java @@ -1,7 +1,7 @@ package com.kernel360.product.dto; import com.kernel360.product.entity.Product; -import com.kernel360.product.entity.SafetyStatus; +import com.kernel360.product.enumset.SafetyStatus; import java.time.LocalDate; diff --git a/module-admin/src/main/java/com/kernel360/product/service/ProductService.java b/module-admin/src/main/java/com/kernel360/product/service/ProductService.java index 85128a2f..85c214d2 100644 --- a/module-admin/src/main/java/com/kernel360/product/service/ProductService.java +++ b/module-admin/src/main/java/com/kernel360/product/service/ProductService.java @@ -8,7 +8,7 @@ import com.kernel360.product.dto.ProductUpdateRequest; import com.kernel360.product.dto.RecommendProductsDto; import com.kernel360.product.entity.Product; -import com.kernel360.product.entity.SafetyStatus; +import com.kernel360.product.enumset.SafetyStatus; import com.kernel360.product.repository.ProductRepositoryJpa; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; diff --git a/module-admin/src/main/resources/application-local.yml b/module-admin/src/main/resources/application-local.yml index cd2835bb..209d802a 100644 --- a/module-admin/src/main/resources/application-local.yml +++ b/module-admin/src/main/resources/application-local.yml @@ -12,6 +12,8 @@ spring: format_sql: true dialect: org.hibernate.dialect.PostgreSQLDialect ddl-auto: validate + naming: + physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl jasypt: encryptor: diff --git a/module-admin/src/main/resources/application.yml b/module-admin/src/main/resources/application.yml index 5dae5ae8..c31422aa 100644 --- a/module-admin/src/main/resources/application.yml +++ b/module-admin/src/main/resources/application.yml @@ -5,6 +5,10 @@ spring: multipart: max-file-size: 50MB max-request-size: 500MB + jpa: + hibernate: + naming: + physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl server: port: 8082 diff --git a/module-api/src/main/java/com/kernel360/likes/controller/LikeController.java b/module-api/src/main/java/com/kernel360/likes/controller/LikeController.java index fc29687a..893fb215 100644 --- a/module-api/src/main/java/com/kernel360/likes/controller/LikeController.java +++ b/module-api/src/main/java/com/kernel360/likes/controller/LikeController.java @@ -5,7 +5,7 @@ import com.kernel360.likes.dto.LikeSearchDto; import com.kernel360.likes.entity.Like; import com.kernel360.likes.service.LikeService; -import com.kernel360.main.controller.Sort; +import com.kernel360.main.enumset.Sort; import com.kernel360.product.dto.ProductResponse; import com.kernel360.product.service.ProductService; import com.kernel360.response.ApiResponse; diff --git a/module-api/src/main/java/com/kernel360/likes/dto/LikeSearchDto.java b/module-api/src/main/java/com/kernel360/likes/dto/LikeSearchDto.java index 877bdf59..bfdb036a 100644 --- a/module-api/src/main/java/com/kernel360/likes/dto/LikeSearchDto.java +++ b/module-api/src/main/java/com/kernel360/likes/dto/LikeSearchDto.java @@ -1,6 +1,6 @@ package com.kernel360.likes.dto; -import com.kernel360.main.controller.Sort; +import com.kernel360.main.enumset.Sort; public record LikeSearchDto( String token, diff --git a/module-api/src/main/java/com/kernel360/main/controller/MainController.java b/module-api/src/main/java/com/kernel360/main/controller/MainController.java index ab55c173..9767c89e 100644 --- a/module-api/src/main/java/com/kernel360/main/controller/MainController.java +++ b/module-api/src/main/java/com/kernel360/main/controller/MainController.java @@ -3,6 +3,7 @@ import com.kernel360.main.code.BannerBusinessCode; import com.kernel360.main.dto.BannerDto; import com.kernel360.main.dto.RecommendProductsDto; +import com.kernel360.main.enumset.Sort; import com.kernel360.main.service.MainService; import com.kernel360.product.code.ProductsBusinessCode; import com.kernel360.product.dto.ProductResponse; diff --git a/module-api/src/main/java/com/kernel360/main/conveter/StringToSortConverter.java b/module-api/src/main/java/com/kernel360/main/conveter/StringToSortConverter.java index 956cb688..747ab2c2 100644 --- a/module-api/src/main/java/com/kernel360/main/conveter/StringToSortConverter.java +++ b/module-api/src/main/java/com/kernel360/main/conveter/StringToSortConverter.java @@ -2,7 +2,7 @@ import com.kernel360.exception.BusinessException; import com.kernel360.main.code.ConverterErrorCode; -import com.kernel360.main.controller.Sort; +import com.kernel360.main.enumset.Sort; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; diff --git a/module-api/src/main/java/com/kernel360/main/controller/Sort.java b/module-api/src/main/java/com/kernel360/main/enumset/Sort.java similarity index 82% rename from module-api/src/main/java/com/kernel360/main/controller/Sort.java rename to module-api/src/main/java/com/kernel360/main/enumset/Sort.java index 7d6808e6..a2a8e56a 100644 --- a/module-api/src/main/java/com/kernel360/main/controller/Sort.java +++ b/module-api/src/main/java/com/kernel360/main/enumset/Sort.java @@ -1,4 +1,4 @@ -package com.kernel360.main.controller; +package com.kernel360.main.enumset; import com.kernel360.product.dto.ProductResponse; import com.kernel360.product.dto.ProductSearchDto; @@ -10,7 +10,7 @@ public enum Sort { VIEW_COUNT_PRODUCT_ORDER("viewCnt-order") { @Override - Page sort(ProductService productService, Pageable pageable) { + public Page sort(ProductService productService, Pageable pageable) { return productService.getProductListOrderByViewCount(pageable); } @@ -25,7 +25,7 @@ public Page withKeywordSort(ProductService productService, Stri VIOLATION_PRODUCT_LIST("violation-products") { @Override - Page sort(ProductService productService, Pageable pageable) { + public Page sort(ProductService productService, Pageable pageable) { return productService.getViolationProducts(pageable); } @@ -39,7 +39,7 @@ public Page withKeywordSort(ProductService productService, Stri RECOMMENDATION_PRODUCT_ORDER("recommend-order") { @Override - Page sort(ProductService productService, Pageable pageable) { + public Page sort(ProductService productService, Pageable pageable) { return productService.getFavoriteProducts(pageable); } @@ -53,7 +53,7 @@ public Page withKeywordSort(ProductService productService, Stri RECENT_PRODUCT_ORDER("recent-order") { @Override - Page sort(ProductService productService, Pageable pageable) { + public Page sort(ProductService productService, Pageable pageable) { return productService.getRecentProducts(pageable); } @@ -75,7 +75,7 @@ public String getOrderType() { return orderType; } - abstract Page sort(ProductService productService, Pageable pageable); + public abstract Page sort(ProductService productService, Pageable pageable); public abstract Page withKeywordSort(ProductService productService, String keyword, Pageable pageable); diff --git a/module-api/src/main/java/com/kernel360/member/dto/PasswordDto.java b/module-api/src/main/java/com/kernel360/member/dto/PasswordDto.java index 5c40f7bf..ec09a031 100644 --- a/module-api/src/main/java/com/kernel360/member/dto/PasswordDto.java +++ b/module-api/src/main/java/com/kernel360/member/dto/PasswordDto.java @@ -1,6 +1,13 @@ package com.kernel360.member.dto; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; + public record PasswordDto( + @NotBlank(message = "비밀번호는 비어 있을수 없습니다.") + @Size(min = 8, max = 16, message = "비밀번호는 8~16글자입니다.") + @Pattern(regexp = "^(?=.*\\d)(?=.*[a-zA-Z])(?=.*\\W).{8,16}$", message = "8~16자의 영문자(대/소문자 구분 없음), 숫자, 특수문자를 사용해 주세요.") String password ) { } diff --git a/module-api/src/main/java/com/kernel360/member/service/MemberService.java b/module-api/src/main/java/com/kernel360/member/service/MemberService.java index d523cc7e..d833f3e8 100644 --- a/module-api/src/main/java/com/kernel360/member/service/MemberService.java +++ b/module-api/src/main/java/com/kernel360/member/service/MemberService.java @@ -101,7 +101,7 @@ public boolean idDuplicationCheck(String id) { public boolean emailDuplicationCheck(String email) { Member member = memberRepository.findOneByEmailForAccountTypeByPlatform(email); - return member != null; + return Objects.nonNull(member); } public MemberDto findMemberByToken(String token) { diff --git a/module-api/src/main/java/com/kernel360/product/controller/ProductController.java b/module-api/src/main/java/com/kernel360/product/controller/ProductController.java index b84d8c55..885fdf17 100644 --- a/module-api/src/main/java/com/kernel360/product/controller/ProductController.java +++ b/module-api/src/main/java/com/kernel360/product/controller/ProductController.java @@ -1,6 +1,6 @@ package com.kernel360.product.controller; -import com.kernel360.main.controller.Sort; +import com.kernel360.main.enumset.Sort; import com.kernel360.product.code.ProductsBusinessCode; import com.kernel360.product.dto.ProductDetailDto; import com.kernel360.product.dto.ProductDto; diff --git a/module-api/src/main/java/com/kernel360/product/dto/ProductDto.java b/module-api/src/main/java/com/kernel360/product/dto/ProductDto.java index 3ae97ccc..31ad43d7 100644 --- a/module-api/src/main/java/com/kernel360/product/dto/ProductDto.java +++ b/module-api/src/main/java/com/kernel360/product/dto/ProductDto.java @@ -1,7 +1,7 @@ package com.kernel360.product.dto; import com.kernel360.product.entity.Product; -import com.kernel360.product.entity.SafetyStatus; +import com.kernel360.product.enumset.SafetyStatus; import java.time.LocalDate; diff --git a/module-api/src/main/java/com/kernel360/product/dto/ProductSearchDto.java b/module-api/src/main/java/com/kernel360/product/dto/ProductSearchDto.java index 9bd4f627..47ca77ca 100644 --- a/module-api/src/main/java/com/kernel360/product/dto/ProductSearchDto.java +++ b/module-api/src/main/java/com/kernel360/product/dto/ProductSearchDto.java @@ -1,6 +1,6 @@ package com.kernel360.product.dto; -import com.kernel360.main.controller.Sort; +import com.kernel360.main.enumset.Sort; public record ProductSearchDto( String token, diff --git a/module-api/src/main/java/com/kernel360/product/service/ProductService.java b/module-api/src/main/java/com/kernel360/product/service/ProductService.java index a20e8880..e7404b02 100644 --- a/module-api/src/main/java/com/kernel360/product/service/ProductService.java +++ b/module-api/src/main/java/com/kernel360/product/service/ProductService.java @@ -9,7 +9,7 @@ import com.kernel360.product.dto.ProductResponse; import com.kernel360.product.dto.ProductSearchDto; import com.kernel360.product.entity.Product; -import com.kernel360.product.entity.SafetyStatus; +import com.kernel360.product.enumset.SafetyStatus; import com.kernel360.product.repository.ProductRepository; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; diff --git a/module-api/src/main/resources/application-dev.yml b/module-api/src/main/resources/application-dev.yml index 87fd4b0d..1427981c 100644 --- a/module-api/src/main/resources/application-dev.yml +++ b/module-api/src/main/resources/application-dev.yml @@ -11,6 +11,8 @@ spring: format_sql: true dialect: org.hibernate.dialect.PostgreSQLDialect ddl-auto: validate + naming: + physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl flyway: enabled: true baseline-on-migrate: true diff --git a/module-api/src/main/resources/application-local.yml b/module-api/src/main/resources/application-local.yml index 174d58f5..38d6f693 100644 --- a/module-api/src/main/resources/application-local.yml +++ b/module-api/src/main/resources/application-local.yml @@ -12,6 +12,8 @@ spring: format_sql: true dialect: org.hibernate.dialect.PostgreSQLDialect ddl-auto: validate + naming: + physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl flyway: enabled: true baseline-on-migrate: true diff --git a/module-api/src/main/resources/application-prod.yml b/module-api/src/main/resources/application-prod.yml index 55eb3f00..839f34c0 100644 --- a/module-api/src/main/resources/application-prod.yml +++ b/module-api/src/main/resources/application-prod.yml @@ -11,6 +11,8 @@ spring: format_sql: true dialect: org.hibernate.dialect.PostgreSQLDialect ddl-auto: validate + naming: + physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl flyway: enabled: true baseline-on-migrate: true diff --git a/module-api/src/test/java/com/kernel360/main/controller/MainControllerTest.java b/module-api/src/test/java/com/kernel360/main/controller/MainControllerTest.java index 5354df07..a492eafc 100644 --- a/module-api/src/test/java/com/kernel360/main/controller/MainControllerTest.java +++ b/module-api/src/test/java/com/kernel360/main/controller/MainControllerTest.java @@ -4,7 +4,7 @@ //import com.kernel360.main.dto.BannerDto; //import com.kernel360.main.dto.RecommendProductsDto; //import com.kernel360.product.dto.ProductDto; -//import com.kernel360.product.entity.SafetyStatus; +//import com.kernel360.product.enumset.SafetyStatus; //import com.navercorp.fixturemonkey.FixtureMonkey; //import com.navercorp.fixturemonkey.api.introspector.*; //import org.junit.jupiter.api.BeforeEach; diff --git a/module-api/src/test/java/com/kernel360/product/controller/ProductControllerTest.java b/module-api/src/test/java/com/kernel360/product/controller/ProductControllerTest.java index fc485618..af9d5874 100644 --- a/module-api/src/test/java/com/kernel360/product/controller/ProductControllerTest.java +++ b/module-api/src/test/java/com/kernel360/product/controller/ProductControllerTest.java @@ -4,19 +4,13 @@ import com.kernel360.product.dto.ProductDetailDto; import com.kernel360.product.dto.ProductDto; import com.kernel360.product.entity.Product; -import com.kernel360.product.entity.SafetyStatus; import com.navercorp.fixturemonkey.FixtureMonkey; import com.navercorp.fixturemonkey.api.introspector.*; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureWebMvc; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageImpl; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Pageable; import org.springframework.http.MediaType; -import static org.mockito.ArgumentMatchers.any; import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get; import static org.hamcrest.Matchers.*; @@ -24,7 +18,6 @@ import static org.springframework.restdocs.request.RequestDocumentation.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/module-batch/src/main/java/com/kernel360/modulebatch/product/dto/ProductDto.java b/module-batch/src/main/java/com/kernel360/modulebatch/product/dto/ProductDto.java index 4971c243..b729072c 100644 --- a/module-batch/src/main/java/com/kernel360/modulebatch/product/dto/ProductDto.java +++ b/module-batch/src/main/java/com/kernel360/modulebatch/product/dto/ProductDto.java @@ -1,7 +1,7 @@ package com.kernel360.modulebatch.product.dto; import com.kernel360.product.entity.Product; -import com.kernel360.product.entity.SafetyStatus; +import com.kernel360.product.enumset.SafetyStatus; import java.time.LocalDate; public record ProductDto(String productName, String barcode, String imageSource, diff --git a/module-batch/src/main/java/com/kernel360/modulebatch/product/job/infra/ConcernedProductToProductListItemProcessor.java b/module-batch/src/main/java/com/kernel360/modulebatch/product/job/infra/ConcernedProductToProductListItemProcessor.java index bc511a00..984cac1b 100644 --- a/module-batch/src/main/java/com/kernel360/modulebatch/product/job/infra/ConcernedProductToProductListItemProcessor.java +++ b/module-batch/src/main/java/com/kernel360/modulebatch/product/job/infra/ConcernedProductToProductListItemProcessor.java @@ -6,7 +6,7 @@ import com.kernel360.ecolife.repository.ConcernedProductRepository; import com.kernel360.modulebatch.product.dto.ProductDto; import com.kernel360.product.entity.Product; -import com.kernel360.product.entity.SafetyStatus; +import com.kernel360.product.enumset.SafetyStatus; import java.time.LocalDate; import java.util.ArrayList; diff --git a/module-batch/src/main/java/com/kernel360/modulebatch/product/job/infra/ReportedProductToProductItemProcessor.java b/module-batch/src/main/java/com/kernel360/modulebatch/product/job/infra/ReportedProductToProductItemProcessor.java index 21dc2569..d2cec392 100644 --- a/module-batch/src/main/java/com/kernel360/modulebatch/product/job/infra/ReportedProductToProductItemProcessor.java +++ b/module-batch/src/main/java/com/kernel360/modulebatch/product/job/infra/ReportedProductToProductItemProcessor.java @@ -5,7 +5,7 @@ import com.kernel360.ecolife.entity.ReportedProduct; import com.kernel360.modulebatch.product.dto.ProductDto; import com.kernel360.product.entity.Product; -import com.kernel360.product.entity.SafetyStatus; +import com.kernel360.product.enumset.SafetyStatus; import java.time.LocalDate; import java.util.List; diff --git a/module-domain/src/main/java/com/kernel360/carinfo/entity/CarInfo.java b/module-domain/src/main/java/com/kernel360/carinfo/entity/CarInfo.java index c20d8852..48a27ede 100644 --- a/module-domain/src/main/java/com/kernel360/carinfo/entity/CarInfo.java +++ b/module-domain/src/main/java/com/kernel360/carinfo/entity/CarInfo.java @@ -23,26 +23,17 @@ public class CarInfo extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "car_info_id_gen") @SequenceGenerator(name = "car_info_id_gen", sequenceName = "car_info_car_no_seq") - @Column(name = "car_no", nullable = false) + @Column(nullable = false) private Long carNo; @OneToOne @JoinColumn(name = "member_no") private Member member; - @Column(name = "car_type") private Integer carType; - - @Column(name = "car_size") private Integer carSize; - - @Column(name = "car_color") private Integer carColor; - - @Column(name = "driving_env") private Integer drivingEnv; - - @Column(name = "parking_env") private Integer parkingEnv; public CarInfo(Integer carType, Integer carSize, Integer carColor, Integer drivingEnv, Integer parkingEnv) { diff --git a/module-domain/src/main/java/com/kernel360/product/entity/Product.java b/module-domain/src/main/java/com/kernel360/product/entity/Product.java index 730a0973..50986ba9 100644 --- a/module-domain/src/main/java/com/kernel360/product/entity/Product.java +++ b/module-domain/src/main/java/com/kernel360/product/entity/Product.java @@ -1,6 +1,7 @@ package com.kernel360.product.entity; import com.kernel360.base.BaseEntity; +import com.kernel360.product.enumset.SafetyStatus; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; diff --git a/module-domain/src/main/java/com/kernel360/product/entity/SafetyStatusConverter.java b/module-domain/src/main/java/com/kernel360/product/entity/SafetyStatusConverter.java index 7712e96d..61b91c3e 100644 --- a/module-domain/src/main/java/com/kernel360/product/entity/SafetyStatusConverter.java +++ b/module-domain/src/main/java/com/kernel360/product/entity/SafetyStatusConverter.java @@ -1,5 +1,6 @@ package com.kernel360.product.entity; +import com.kernel360.product.enumset.SafetyStatus; import jakarta.persistence.AttributeConverter; import jakarta.persistence.Converter; import java.util.stream.Stream; diff --git a/module-domain/src/main/java/com/kernel360/product/entity/SafetyStatus.java b/module-domain/src/main/java/com/kernel360/product/enumset/SafetyStatus.java similarity index 83% rename from module-domain/src/main/java/com/kernel360/product/entity/SafetyStatus.java rename to module-domain/src/main/java/com/kernel360/product/enumset/SafetyStatus.java index 9d4846ae..1fa6d3bb 100644 --- a/module-domain/src/main/java/com/kernel360/product/entity/SafetyStatus.java +++ b/module-domain/src/main/java/com/kernel360/product/enumset/SafetyStatus.java @@ -1,4 +1,4 @@ -package com.kernel360.product.entity; +package com.kernel360.product.enumset; import lombok.Getter; diff --git a/module-domain/src/main/java/com/kernel360/product/repository/ProductRepositoryJpa.java b/module-domain/src/main/java/com/kernel360/product/repository/ProductRepositoryJpa.java index b6f742c7..d5094ab3 100644 --- a/module-domain/src/main/java/com/kernel360/product/repository/ProductRepositoryJpa.java +++ b/module-domain/src/main/java/com/kernel360/product/repository/ProductRepositoryJpa.java @@ -1,7 +1,7 @@ package com.kernel360.product.repository; import com.kernel360.product.entity.Product; -import com.kernel360.product.entity.SafetyStatus; +import com.kernel360.product.enumset.SafetyStatus; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; @@ -12,7 +12,7 @@ import java.util.List; import java.util.Optional; -public interface ProductRepositoryJpa extends JpaRepository { +public interface ProductRepositoryJpa extends JpaRepository { Page findAllByOrderByViewCountDesc(Pageable pageable); @@ -75,6 +75,6 @@ Page findByProductWithKeywordAndSafetyStatus(@Param("keyword") String k @Param("safetyStatus") SafetyStatus safetyStatus, Pageable pageable); - Page findByProductNameContaining(String keyword, Pageable pageable); + Page findByProductNameContaining(String keyword, Pageable pageable); } diff --git a/module-domain/src/main/java/com/kernel360/washinfo/entity/WashInfo.java b/module-domain/src/main/java/com/kernel360/washinfo/entity/WashInfo.java index 730534a3..a3ff4503 100644 --- a/module-domain/src/main/java/com/kernel360/washinfo/entity/WashInfo.java +++ b/module-domain/src/main/java/com/kernel360/washinfo/entity/WashInfo.java @@ -24,20 +24,15 @@ public class WashInfo extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "wash_info_id_gen") @SequenceGenerator(name = "wash_info_id_gen", sequenceName = "wash_info_wash_no_seq", allocationSize = 50) - @Column(name = "wash_no", nullable = false) + @Column(nullable = false) private Integer washNo; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_no", nullable = false) private Member member; - @Column(name = "wash_count") private Integer washCount; - - @Column(name = "monthly_expense") private Integer monthlyExpense; - - @Column(name = "interest") private Integer interest; private WashInfo(Integer washCount, Integer monthlyExpense, Integer interest) {