From 84d88b7f44328402a3c79cd5d64b2a96d0978fc9 Mon Sep 17 00:00:00 2001 From: f1v3-dev Date: Fri, 22 Mar 2024 22:19:06 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[FIX]=20=EA=B2=B0=EC=A0=9C=20-=20=EC=9A=94?= =?UTF-8?q?=EC=B2=AD,=20=EC=8A=B9=EC=9D=B8=20=EC=8B=9C=EA=B0=84=20UTC+9=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ckin/api/payment/service/impl/PaymentServiceImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/store/ckin/api/payment/service/impl/PaymentServiceImpl.java b/src/main/java/store/ckin/api/payment/service/impl/PaymentServiceImpl.java index 3b5a6eef..d22dd28f 100644 --- a/src/main/java/store/ckin/api/payment/service/impl/PaymentServiceImpl.java +++ b/src/main/java/store/ckin/api/payment/service/impl/PaymentServiceImpl.java @@ -1,5 +1,6 @@ package store.ckin.api.payment.service.impl; +import java.util.Objects; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -41,8 +42,8 @@ public void createPayment(Long saleId, PaymentRequestDto requestDto) { .sale(sale) .paymentKey(requestDto.getPaymentKey()) .paymentStatus(requestDto.getPaymentStatus()) - .requestedAt(requestDto.getRequestedAt()) - .approvedAt(requestDto.getApprovedAt()) + .requestedAt(requestDto.getRequestedAt().plusHours(9)) + .approvedAt(Objects.nonNull(requestDto.getApprovedAt()) ? requestDto.getApprovedAt().plusHours(9) : null) .receipt(requestDto.getReceiptUrl()) .build(); From 7c481477690b6b77541ef655e7c860937282aeec Mon Sep 17 00:00:00 2001 From: gaeun Date: Sat, 23 Mar 2024 00:46:20 +0900 Subject: [PATCH 2/3] =?UTF-8?q?[FEAT]=20=EC=8B=A0=EA=B0=84,=20=EC=9D=B8?= =?UTF-8?q?=EA=B8=B0,=20=EC=B6=94=EC=B2=9C=20=EB=8F=84=EC=84=9C=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=EB=A5=BC=20=EC=9C=84=ED=95=9C=20=EB=A9=94?= =?UTF-8?q?=EC=86=8C=EB=93=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/book/controller/BookController.java | 13 +++ .../book/repository/BookRepositoryCustom.java | 9 ++ .../repository/impl/BookRepositoryImpl.java | 100 +++++++++++++----- .../ckin/api/book/service/BookService.java | 9 ++ .../book/service/impl/BookServiceImpl.java | 5 + 5 files changed, 111 insertions(+), 25 deletions(-) diff --git a/src/main/java/store/ckin/api/book/controller/BookController.java b/src/main/java/store/ckin/api/book/controller/BookController.java index e9cf80ee..b12a5695 100644 --- a/src/main/java/store/ckin/api/book/controller/BookController.java +++ b/src/main/java/store/ckin/api/book/controller/BookController.java @@ -26,6 +26,7 @@ import store.ckin.api.book.dto.response.BookListResponseDto; import store.ckin.api.book.dto.response.BookMainPageResponseDto; import store.ckin.api.book.dto.response.BookResponseDto; +import store.ckin.api.book.entity.Book; import store.ckin.api.book.service.BookService; import store.ckin.api.objectstorage.service.ObjectStorageService; @@ -208,5 +209,17 @@ public ResponseEntity> getRecentPublishedBook(@PageableDef return ResponseEntity.ok().body(recentBookPage); } + /** + * 인기도서, 추천도서 등을 태그 이름을 통해 가져옵니다. + * + * @param pageable 페이지 정보 + * @return 도서 페이지 목록 + */ + @GetMapping("/tag/{tagName}") + public ResponseEntity> getBookPageByTagName(@PageableDefault(size = 8) Pageable pageable, + @PathVariable("tagName") String tagName) { + Page bookPageByTagName = bookService.getBookPageByTagName(pageable, tagName); + return ResponseEntity.ok().body(bookPageByTagName); + } } diff --git a/src/main/java/store/ckin/api/book/repository/BookRepositoryCustom.java b/src/main/java/store/ckin/api/book/repository/BookRepositoryCustom.java index b079f805..c857a911 100644 --- a/src/main/java/store/ckin/api/book/repository/BookRepositoryCustom.java +++ b/src/main/java/store/ckin/api/book/repository/BookRepositoryCustom.java @@ -91,4 +91,13 @@ public interface BookRepositoryCustom { * @return 신간 도서 페이지 목록 */ Page getRecentPublished(Pageable pageable); + + + /** + * 인기도서, 추천도서 등을 태그 이름을 통해 가져옵니다. + * + * @param pageable 페이지 정보 + * @return 도서 페이지 목록 + */ + Page getBookPageByTagName(Pageable pageable, String tagName); } diff --git a/src/main/java/store/ckin/api/book/repository/impl/BookRepositoryImpl.java b/src/main/java/store/ckin/api/book/repository/impl/BookRepositoryImpl.java index 5e1f12cb..abb8b308 100644 --- a/src/main/java/store/ckin/api/book/repository/impl/BookRepositoryImpl.java +++ b/src/main/java/store/ckin/api/book/repository/impl/BookRepositoryImpl.java @@ -2,7 +2,6 @@ import com.querydsl.core.types.Projections; import com.querydsl.jpa.impl.JPAQueryFactory; -import java.util.Calendar; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -362,24 +361,6 @@ public List getMainPageBooksByTagName(Integer limit, St @Override public Page getRecentPublished(Pageable pageable) { - List authorNames = from(book) - .leftJoin(bookAuthor) - .on(book.bookId.eq(bookAuthor.book.bookId)) - .select(author.authorName) - .fetch(); - - List categoryNames = from(book) - .leftJoin(bookCategory) - .on(book.bookId.eq(bookCategory.book.bookId)) - .select(category.categoryName) - .fetch(); - - List tagNames = from(book) - .leftJoin(bookTag) - .on(book.bookId.eq(bookTag.book.bookId)) - .select(tag.tagName) - .fetch(); - List results = from(book) .leftJoin(book.authors, bookAuthor) .leftJoin(bookAuthor.author, author) @@ -408,11 +389,39 @@ public Page getRecentPublished(Pageable pageable) { .orderBy(book.bookPublicationDate.desc()) .offset(pageable.getOffset()) .limit(pageable.getPageSize()) + .distinct() .fetch(); - results.forEach(bookResponseDto -> bookResponseDto.updateList(authorNames, categoryNames, tagNames)); + List resultList = results.stream().map(book -> { + List tagNames = from(tag) + .leftJoin(bookTag) + .on(tag.tagId.eq(bookTag.tag.tagId)) + .where(bookTag.book.bookId.eq(book.getBookId())) + .select(tag.tagName) + .fetch(); + List authorNames = from(author) + .leftJoin(bookAuthor) + .on(author.authorId.eq(bookAuthor.author.authorId)) + .where(bookAuthor.book.bookId.eq(book.getBookId())) + .select(author.authorName) + .fetch(); + List categoryNames = from(category) + .leftJoin(bookCategory) + .on(category.categoryId.eq(bookCategory.category.categoryId)) + .where(bookCategory.book.bookId.eq(book.getBookId())) + .select(category.categoryName) + .fetch(); + book.updateList(authorNames, categoryNames, tagNames); + return book; + }).collect(Collectors.toList()); + + + return new PageImpl<>(resultList, pageable, resultList.size()); + } - long count = from(book) + @Override + public Page getBookPageByTagName(Pageable pageable, String tagName) { + List results = from(book) .leftJoin(book.authors, bookAuthor) .leftJoin(bookAuthor.author, author) .leftJoin(book.categories, bookCategory) @@ -420,13 +429,54 @@ public Page getRecentPublished(Pageable pageable) { .leftJoin(book.tags, bookTag) .leftJoin(bookTag.tag, tag) .leftJoin(book.thumbnail, file) - .select(book.count()) - .orderBy(book.bookPublicationDate.desc()) + .select(new QBookResponseDto( + book.bookId, + book.bookIsbn, + book.bookTitle, + book.bookDescription, + book.bookPublisher, + book.bookPublicationDate, + book.bookIndex, + book.bookPackaging, + book.bookStock, + book.bookRegularPrice, + book.bookDiscountRate, + book.bookState, + book.bookSalePrice, + book.bookReviewRate, + file.fileUrl + )) + .where(tag.tagName.eq(tagName)) .offset(pageable.getOffset()) .limit(pageable.getPageSize()) - .fetchOne(); + .distinct() + .fetch(); - return new PageImpl<>(results, pageable, count); + List resultList = results.stream().map(book -> { + List tagNames = from(tag) + .leftJoin(bookTag) + .on(tag.tagId.eq(bookTag.tag.tagId)) + .where(bookTag.book.bookId.eq(book.getBookId())) + .select(tag.tagName) + .fetch(); + List authorNames = from(author) + .leftJoin(bookAuthor) + .on(author.authorId.eq(bookAuthor.author.authorId)) + .where(bookAuthor.book.bookId.eq(book.getBookId())) + .select(author.authorName) + .fetch(); + List categoryNames = from(category) + .leftJoin(bookCategory) + .on(category.categoryId.eq(bookCategory.category.categoryId)) + .where(bookCategory.book.bookId.eq(book.getBookId())) + .select(category.categoryName) + .fetch(); + book.updateList(authorNames, categoryNames, tagNames); + return book; + }).collect(Collectors.toList()); + + + return new PageImpl<>(resultList, pageable, resultList.size()); } diff --git a/src/main/java/store/ckin/api/book/service/BookService.java b/src/main/java/store/ckin/api/book/service/BookService.java index 450acb29..478a753a 100644 --- a/src/main/java/store/ckin/api/book/service/BookService.java +++ b/src/main/java/store/ckin/api/book/service/BookService.java @@ -126,6 +126,15 @@ public interface BookService { * @return 신간 도서 페이지 목록 */ Page getRecentPublished(Pageable pageable); + + + /** + * 인기도서, 추천도서 등을 태그 이름을 통해 가져옵니다. + * + * @param pageable 페이지 정보 + * @return 도서 페이지 목록 + */ + Page getBookPageByTagName(Pageable pageable, String tagName); } diff --git a/src/main/java/store/ckin/api/book/service/impl/BookServiceImpl.java b/src/main/java/store/ckin/api/book/service/impl/BookServiceImpl.java index 8041e331..5dd2c891 100644 --- a/src/main/java/store/ckin/api/book/service/impl/BookServiceImpl.java +++ b/src/main/java/store/ckin/api/book/service/impl/BookServiceImpl.java @@ -248,6 +248,11 @@ public Page getRecentPublished(Pageable pageable) { return bookRepository.getRecentPublished(pageable); } + @Override + public Page getBookPageByTagName(Pageable pageable, String tagName) { + return bookRepository.getBookPageByTagName(pageable, tagName); + } + /** * {@inheritDoc} From 4acd17c0061ef1965deb75c003bff49be9909d29 Mon Sep 17 00:00:00 2001 From: gaeun Date: Sat, 23 Mar 2024 00:46:52 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[REMOVE]=20=ED=95=84=EC=9A=94=EC=97=86?= =?UTF-8?q?=EB=8A=94=20import=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../address/controller/AddressController.java | 4 +- .../impl/AddressRepositoryImpl.java | 2 +- .../service/impl/AuthorServiceImpl.java | 2 +- .../api/book/controller/BookController.java | 1 - .../book/repository/BookRepositoryCustom.java | 2 +- .../book/service/impl/BookServiceImpl.java | 5 +- .../api/member/service/MemberService.java | 4 +- .../review/controller/ReviewController.java | 4 +- .../sale/dto/response/SaleResponseDto.java | 2 +- .../controller/WishListController.java | 10 ++-- .../resources/application-prod1.properties | 8 +-- .../resources/application-prod2.properties | 8 +-- src/main/resources/application.properties | 8 +-- src/main/resources/logback-spring.xml | 53 +++++++++++++++++++ 14 files changed, 76 insertions(+), 37 deletions(-) create mode 100644 src/main/resources/logback-spring.xml diff --git a/src/main/java/store/ckin/api/address/controller/AddressController.java b/src/main/java/store/ckin/api/address/controller/AddressController.java index b1c97737..3ddfb23a 100644 --- a/src/main/java/store/ckin/api/address/controller/AddressController.java +++ b/src/main/java/store/ckin/api/address/controller/AddressController.java @@ -60,7 +60,7 @@ ResponseEntity updateAddress(@PathVariable("memberId") Long memberId, @PutMapping("/addresses/{addressId}/default") ResponseEntity setDefaultAddress(@PathVariable("memberId") Long memberId, - @PathVariable("addressId") Long addressId) { + @PathVariable("addressId") Long addressId) { addressService.setDefaultAddress(memberId, addressId); return ResponseEntity.status(HttpStatus.OK).build(); @@ -74,7 +74,7 @@ ResponseEntity deleteAddress(@PathVariable("memberId") Long memberId, return ResponseEntity.status(HttpStatus.OK).build(); } - @ExceptionHandler({ MemberNotFoundException.class, AddressNotFoundException.class }) + @ExceptionHandler({MemberNotFoundException.class, AddressNotFoundException.class}) public ResponseEntity handleNotFoundException() { return ResponseEntity.status(HttpStatus.NOT_FOUND).build(); } diff --git a/src/main/java/store/ckin/api/address/repository/impl/AddressRepositoryImpl.java b/src/main/java/store/ckin/api/address/repository/impl/AddressRepositoryImpl.java index ae116979..99d695ba 100644 --- a/src/main/java/store/ckin/api/address/repository/impl/AddressRepositoryImpl.java +++ b/src/main/java/store/ckin/api/address/repository/impl/AddressRepositoryImpl.java @@ -32,7 +32,7 @@ public List getMemberAddressList(Long memberId) { address.detail, address.alias, address.isDefault - )) + )) .where(address.member.id.eq(memberId)) .fetch(); } diff --git a/src/main/java/store/ckin/api/author/service/impl/AuthorServiceImpl.java b/src/main/java/store/ckin/api/author/service/impl/AuthorServiceImpl.java index a123df7d..3bf2d118 100644 --- a/src/main/java/store/ckin/api/author/service/impl/AuthorServiceImpl.java +++ b/src/main/java/store/ckin/api/author/service/impl/AuthorServiceImpl.java @@ -91,7 +91,7 @@ public AuthorResponseDto updateAuthor(Long authorId, AuthorModifyRequestDto auth Author existingAuthor = authorRepository.findById(authorId) .orElseThrow(() -> new AuthorNotFoundException(authorId)); - existingAuthor.updateAuthor(authorModifyRequestDto.getAuthorName()); + existingAuthor.updateAuthor(authorModifyRequestDto.getAuthorName()); return AuthorResponseDto.builder() .authorId(existingAuthor.getAuthorId()) diff --git a/src/main/java/store/ckin/api/book/controller/BookController.java b/src/main/java/store/ckin/api/book/controller/BookController.java index b12a5695..f466b0a7 100644 --- a/src/main/java/store/ckin/api/book/controller/BookController.java +++ b/src/main/java/store/ckin/api/book/controller/BookController.java @@ -26,7 +26,6 @@ import store.ckin.api.book.dto.response.BookListResponseDto; import store.ckin.api.book.dto.response.BookMainPageResponseDto; import store.ckin.api.book.dto.response.BookResponseDto; -import store.ckin.api.book.entity.Book; import store.ckin.api.book.service.BookService; import store.ckin.api.objectstorage.service.ObjectStorageService; diff --git a/src/main/java/store/ckin/api/book/repository/BookRepositoryCustom.java b/src/main/java/store/ckin/api/book/repository/BookRepositoryCustom.java index c857a911..09bfa7aa 100644 --- a/src/main/java/store/ckin/api/book/repository/BookRepositoryCustom.java +++ b/src/main/java/store/ckin/api/book/repository/BookRepositoryCustom.java @@ -78,7 +78,7 @@ public interface BookRepositoryCustom { /** * 태그 이름을 가진 도서 목록을 가져옵니다. * - * @param limit 최대로 가져올 도서의 개수 + * @param limit 최대로 가져올 도서의 개수 * @param tagName 태그 이름 * @return 도서 목록 */ diff --git a/src/main/java/store/ckin/api/book/service/impl/BookServiceImpl.java b/src/main/java/store/ckin/api/book/service/impl/BookServiceImpl.java index 5dd2c891..76a1257a 100644 --- a/src/main/java/store/ckin/api/book/service/impl/BookServiceImpl.java +++ b/src/main/java/store/ckin/api/book/service/impl/BookServiceImpl.java @@ -231,10 +231,11 @@ public List getExtractBookListByBookIds(List bo @Override public List getMainPageBookListByCategoryId(Long categoryId, Integer limit) { - return bookRepository.getMainPageResponseDtoByCategoryId(categoryId,limit); + return bookRepository.getMainPageResponseDtoByCategoryId(categoryId, limit); } + @Override - public List getMainPageBookListOrderByBookPublicationDate( Integer limit) { + public List getMainPageBookListOrderByBookPublicationDate(Integer limit) { return bookRepository.getMainPageResponseDtoOrderByBookPublicationDate(limit); } diff --git a/src/main/java/store/ckin/api/member/service/MemberService.java b/src/main/java/store/ckin/api/member/service/MemberService.java index 30d04429..635bc836 100644 --- a/src/main/java/store/ckin/api/member/service/MemberService.java +++ b/src/main/java/store/ckin/api/member/service/MemberService.java @@ -61,8 +61,8 @@ public interface MemberService { /** * 취소된 주문의 포인트를 업데이트하는 메서드입니다. * - * @param saleId 주문 ID - * @param memberEmail 회원 이메일 + * @param saleId 주문 ID + * @param memberEmail 회원 이메일 */ void updateCancelSalePoint(Long saleId, String memberEmail); diff --git a/src/main/java/store/ckin/api/review/controller/ReviewController.java b/src/main/java/store/ckin/api/review/controller/ReviewController.java index 788cfd96..a8b686f1 100644 --- a/src/main/java/store/ckin/api/review/controller/ReviewController.java +++ b/src/main/java/store/ckin/api/review/controller/ReviewController.java @@ -42,7 +42,7 @@ public class ReviewController { * 리뷰 업로드를 구현하는 메소드 입니다. * * @param createRequestDto 도서 아이디, 리뷰 점수, 리뷰 코멘트를 담고 있는 DTO 입니다. - * @param imageList 리뷰의 이미지 리스트를 담고 있는 MultipartFile 리스트 입니다. + * @param imageList 리뷰의 이미지 리스트를 담고 있는 MultipartFile 리스트 입니다. */ @PostMapping("/review") public ResponseEntity postReview(@RequestPart ReviewCreateRequestDto createRequestDto, @@ -90,7 +90,7 @@ public ResponseEntity> getReviewPageListByMemberId public ResponseEntity updateReview(@RequestBody ReviewUpdateRequestDto updateRequestDto, @PathVariable Long memberId) { - reviewFacade.updateReview(updateRequestDto,memberId); + reviewFacade.updateReview(updateRequestDto, memberId); return ResponseEntity.status(HttpStatus.OK).build(); } diff --git a/src/main/java/store/ckin/api/sale/dto/response/SaleResponseDto.java b/src/main/java/store/ckin/api/sale/dto/response/SaleResponseDto.java index 4fc9c885..88cc1b62 100644 --- a/src/main/java/store/ckin/api/sale/dto/response/SaleResponseDto.java +++ b/src/main/java/store/ckin/api/sale/dto/response/SaleResponseDto.java @@ -6,8 +6,8 @@ import lombok.AllArgsConstructor; import lombok.Getter; import store.ckin.api.sale.entity.DeliveryStatus; -import store.ckin.api.sale.entity.SalePaymentStatus; import store.ckin.api.sale.entity.Sale; +import store.ckin.api.sale.entity.SalePaymentStatus; /** * 주문 조회 응답 DTO. diff --git a/src/main/java/store/ckin/api/wishlist/controller/WishListController.java b/src/main/java/store/ckin/api/wishlist/controller/WishListController.java index bac70ab3..d0f73b29 100644 --- a/src/main/java/store/ckin/api/wishlist/controller/WishListController.java +++ b/src/main/java/store/ckin/api/wishlist/controller/WishListController.java @@ -3,9 +3,13 @@ import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import store.ckin.api.book.exception.BookNotFoundException; -import store.ckin.api.member.exception.MemberAlreadyExistsException; import store.ckin.api.member.exception.MemberNotFoundException; import store.ckin.api.wishlist.exception.WishListAlreadyExistsException; import store.ckin.api.wishlist.service.WishListService; @@ -38,7 +42,7 @@ public ResponseEntity addWishList(@PathVariable("memberId") Long memberId, */ @DeleteMapping("/members/{memberId}/wish-list/{bookId}") public ResponseEntity deleteWishList(@PathVariable("memberId") Long memberId, - @PathVariable("bookId") Long bookId) { + @PathVariable("bookId") Long bookId) { wishListService.deleteWishList(memberId, bookId); return ResponseEntity.status(HttpStatus.OK).build(); diff --git a/src/main/resources/application-prod1.properties b/src/main/resources/application-prod1.properties index 41c517ab..624afac4 100644 --- a/src/main/resources/application-prod1.properties +++ b/src/main/resources/application-prod1.properties @@ -1,20 +1,16 @@ # DBCP2 - Connection Pool ckin.mysql.url=8086208c84d048bd951118257c4b0faf - eureka.instance.instance-id=api-1 eureka.instance.hostname=api1 eureka.instance.ip-address=133.186.247.149 - # Eureka config server.shutdown=graceful spring.lifecycle.timeout-per-shutdown-phase=30s - spring.application.name=ckin-api-service eureka.client.fetch-registry=true eureka.client.register-with-eureka=true -eureka.instance.prefer-ip-address =true +eureka.instance.prefer-ip-address=true eureka.client.service-url.defaultZone=http://admin:bZSEZcaOVjdIOLU@133.186.213.88:8761/eureka - management.endpoint.health.status.order=DOWN, UP management.endpoint.jolokia.enabled=true management.endpoint.metrics.enabled=true @@ -24,12 +20,10 @@ management.endpoint.restart.enabled=true management.endpoint.shutdown.enabled=true management.endpoints.web.exposure.include=* management.info.env.enabled=true - ckin.mysql.initial-size=20 ckin.mysql.max-total=20 ckin.mysql.max-idle=20 ckin.mysql.min-idle=20 ckin.mysql.max-wait=20 - # profile ckin.profile=api1 \ No newline at end of file diff --git a/src/main/resources/application-prod2.properties b/src/main/resources/application-prod2.properties index 166a2356..273129ae 100644 --- a/src/main/resources/application-prod2.properties +++ b/src/main/resources/application-prod2.properties @@ -1,20 +1,16 @@ # DBCP2 - Connection Pool ckin.mysql.url=8086208c84d048bd951118257c4b0faf - eureka.instance.instance-id=api-2 eureka.instance.hostname=api2 eureka.instance.ip-address=133.186.216.77 - # Eureka config server.shutdown=graceful spring.lifecycle.timeout-per-shutdown-phase=30s - spring.application.name=ckin-api-service eureka.client.fetch-registry=true eureka.client.register-with-eureka=true -eureka.instance.prefer-ip-address =true +eureka.instance.prefer-ip-address=true eureka.client.service-url.defaultZone=http://admin:bZSEZcaOVjdIOLU@133.186.213.88:8761/eureka - management.endpoint.health.status.order=DOWN, UP management.endpoint.jolokia.enabled=true management.endpoint.metrics.enabled=true @@ -24,12 +20,10 @@ management.endpoint.restart.enabled=true management.endpoint.shutdown.enabled=true management.endpoints.web.exposure.include=* management.info.env.enabled=true - ckin.mysql.initial-size=20 ckin.mysql.max-total=20 ckin.mysql.max-idle=20 ckin.mysql.min-idle=20 ckin.mysql.max-wait=20 - # profile ckin.profile=api2 \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 9c30a20c..fcc8b93e 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,30 +1,24 @@ # API server port - 7030 server.port=7030 - # JPA Naming Strategy spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl - # DBCP2 - Connection Pool ckin.mysql.driver=9245a18a777743c5bb1ae645ca954acf ckin.mysql.url=5b1267ee2d944adca454ec90c1aa297d ckin.mysql.username=3fd1bf069d6845a68a9477d440e0a7af ckin.mysql.password=e343f48d751945bbafbcfd5c60eaf31c - ckin.mysql.initial-size=3 ckin.mysql.max-total=3 ckin.mysql.max-idle=3 ckin.mysql.min-idle=3 ckin.mysql.max-wait=3 - # profile ckin.profile=api - # KeyStore ckin.keymanager.app-key=CuKPvJQR7enquqrZ ckin.keymanager.password=Z*9eaw9Va&M8Be ckin.keymanager.url=https://api-keymanager.nhncloudservice.com ckin.keymanager.path=/keymanager/v1.0/appkey/{appkey}/secrets/{keyid} - # object storage storage.url=bf71a71516e647f1a02ec8c236f873e8 storage.username=95d4dbe7842f447bbb43ab4c48a760a6 @@ -36,4 +30,4 @@ storage.identity=258ec250904445ff97d196ca34a86fdc spring.servlet.multipart.max-file-size=500MB spring.servlet.multipart.max-request-size=500MB # Open Session In View -spring.jpa.open-in-view= false +spring.jpa.open-in-view=false diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml new file mode 100644 index 00000000..cad11828 --- /dev/null +++ b/src/main/resources/logback-spring.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %clr(%5level) %cyan(%logger) - %msg%n + + + + + + ./${LOGS_ABSOLUTE_PATH}/coupon.log + + utf8 + %d{yyyy-MM-dd HH:mm:ss.SSS} %thread [%X{traceId}] %-5level %logger - %m%n + + + + ./${LOGS_ABSOLUTE_PATH}/coupon.%d{yyyy-MM-dd}.%i.gz + + 100MB + + 180 + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file