From 65822bd3206fac0a42f5dbd870105a6016ecf4ef Mon Sep 17 00:00:00 2001 From: binarywoo27 Date: Mon, 18 Dec 2023 11:25:16 +0900 Subject: [PATCH 1/6] =?UTF-8?q?:memo:=20OrderType=EC=9D=84=20=EB=84=98?= =?UTF-8?q?=EA=B2=A8=EC=A3=BC=EA=B8=B0=20=EC=9C=84=ED=95=9C=20ApproveUrl?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/bb/payment/service/KakaopayReadyService.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/kr/bb/payment/service/KakaopayReadyService.java b/src/main/java/kr/bb/payment/service/KakaopayReadyService.java index 7dfe140..0ab3c8b 100644 --- a/src/main/java/kr/bb/payment/service/KakaopayReadyService.java +++ b/src/main/java/kr/bb/payment/service/KakaopayReadyService.java @@ -38,9 +38,19 @@ public KakaopayReadyResponseDto kakaoPayReady(KakaopayReadyRequestDto requestDto parameters.add( "approval_url", +<<<<<<< Updated upstream:src/main/java/kr/bb/payment/service/KakaopayReadyService.java FRONT_URL + "/payments/approve/" + requestDto.getOrderId() + "/" + requestDto.getUserId()); parameters.add("cancel_url", FRONT_URL + "/payments/cancel"); parameters.add("fail_url", FRONT_URL + "/payments/fail"); +======= + APIGATEWAY_SERVICE_URL + + "/api/orders/approve/" + + requestDto.getOrderId() + + "/" + + requestDto.getOrderType()); + parameters.add("cancel_url", APIGATEWAY_SERVICE_URL + "/api/orders/cancel"); + parameters.add("fail_url", APIGATEWAY_SERVICE_URL + "/api/orders/fail"); +>>>>>>> Stashed changes:src/main/java/kr/bb/payment/service/KakaopayService.java HttpEntity> requestEntity = new HttpEntity<>(parameters, this.getHeaders()); From 6543ac14335985bfbdac504ec2473297dedf2546 Mon Sep 17 00:00:00 2001 From: binarywoo27 Date: Wed, 20 Dec 2023 10:05:50 +0900 Subject: [PATCH 2/6] =?UTF-8?q?:bug:=20=EC=9E=90=EC=9E=98=ED=95=9C=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clientcontroller/OrderClientController.java | 3 ++- .../java/kr/bb/payment/entity/Subscription.java | 12 ++++++------ .../kr/bb/payment/service/KakaopayService.java | 3 +-- src/main/resources/application.yml | 15 +++++++++++++++ 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/main/java/kr/bb/payment/controller/clientcontroller/OrderClientController.java b/src/main/java/kr/bb/payment/controller/clientcontroller/OrderClientController.java index a83c773..0f364f2 100644 --- a/src/main/java/kr/bb/payment/controller/clientcontroller/OrderClientController.java +++ b/src/main/java/kr/bb/payment/controller/clientcontroller/OrderClientController.java @@ -11,14 +11,15 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; @RestController +@RequestMapping("/client") @RequiredArgsConstructor public class OrderClientController { - private final PaymentService paymentService; private final KakaopayService kakaopayService; @PostMapping("/ready") diff --git a/src/main/java/kr/bb/payment/entity/Subscription.java b/src/main/java/kr/bb/payment/entity/Subscription.java index b0ab0be..5ebd17b 100644 --- a/src/main/java/kr/bb/payment/entity/Subscription.java +++ b/src/main/java/kr/bb/payment/entity/Subscription.java @@ -24,7 +24,7 @@ public class Subscription extends BaseEntity { private Long subscriptionId; @Column(name = "order_subscription_id", unique = true, nullable = false) - private Long orderSubscriptionId; + private String orderSubscriptionId; @Column(name = "subscription_cid", nullable = false) private String subscriptionCid; @@ -35,18 +35,18 @@ public class Subscription extends BaseEntity { @Column(name = "subscription_sid", unique = true, nullable = false) private String subscriptionSid; - @Column(name = "subscription_quantity", unique = true, nullable = false) + @Column(name = "subscription_quantity", nullable = false) private Long subscriptionQuantity; - @Column(name = "subscription_total_amount", unique = true, nullable = false) + @Column(name = "subscription_total_amount", nullable = false) private Long subscriptionTotalAmount; - @Column(name = "payment_day", unique = true, nullable = false) + @Column(name = "payment_day", nullable = false) private String paymentDay; - @Column(name = "start_date", unique = true, nullable = false) + @Column(name = "start_date", nullable = false) private Date startDate; - @Column(name = "end_date", unique = true, nullable = true) + @Column(name = "end_date") private Date endDate; } diff --git a/src/main/java/kr/bb/payment/service/KakaopayService.java b/src/main/java/kr/bb/payment/service/KakaopayService.java index 9e0e595..3294efb 100644 --- a/src/main/java/kr/bb/payment/service/KakaopayService.java +++ b/src/main/java/kr/bb/payment/service/KakaopayService.java @@ -4,7 +4,6 @@ import kr.bb.payment.dto.request.KakaopayReadyRequestDto; import kr.bb.payment.dto.response.KakaoPayApproveResponseDto; import kr.bb.payment.dto.response.KakaopayReadyResponseDto; -import kr.bb.payment.entity.Payment; import lombok.RequiredArgsConstructor; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Value; @@ -28,7 +27,7 @@ public class KakaopayService { private String APIGATEWAY_SERVICE_URL; public KakaopayReadyResponseDto kakaoPayReady(KakaopayReadyRequestDto requestDto) { - String cid = requestDto.isSubscriptionPay() ? "TC0ONETIME" : "TCSUBSCRIP"; + String cid = requestDto.isSubscriptionPay() ? "TCSUBSCRIP" : "TC0ONETIME"; MultiValueMap parameters = new LinkedMultiValueMap<>(); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ca50795..a73e5bd 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -7,6 +7,21 @@ spring: activate: on-profile: local, dev, local import: optional:configserver:http://localhost:8888 + h2: + console: + enabled: true + path: /h2-console + datasource: + driver-class-name: org.h2.Driver + url: jdbc:h2:mem:payment-service;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL + jpa: + hibernate: + ddl-auto: create + generate-ddl: true + defer-datasource-initialization: true + properties: + hibernate: + format_sql: true management: endpoints: web: From a49be01cbbc14257d3d0cbf417014f9df4b43ba8 Mon Sep 17 00:00:00 2001 From: binarywoo27 Date: Wed, 20 Dec 2023 10:59:41 +0900 Subject: [PATCH 3/6] =?UTF-8?q?:green=5Fheart:=20Yml=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-dev.yml | 19 ++++++++++++ src/main/resources/application-local.yml | 39 +++++++++++------------- src/main/resources/application-prod.yml | 19 ++++++++++++ src/main/resources/application.yml | 31 ------------------- 4 files changed, 56 insertions(+), 52 deletions(-) create mode 100644 src/main/resources/application-dev.yml create mode 100644 src/main/resources/application-prod.yml delete mode 100644 src/main/resources/application.yml diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml new file mode 100644 index 0000000..47b1724 --- /dev/null +++ b/src/main/resources/application-dev.yml @@ -0,0 +1,19 @@ +server: + port: 8100 +spring: + mvc: + pathmatch: + matching-strategy: ant_path_matcher + application: + name: product-service + config: + activate: + on-profile: dev + import: optional:configserver:http://config-service:8888 +management: + endpoints: + web: + exposure: + include: + - "refresh" + - "bus-refresh" \ No newline at end of file diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 0b33e3b..840ba6c 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -1,22 +1,19 @@ +server: + port: 8100 spring: - h2: - console: - enabled: true - path: /h2-console - datasource: - driver-class-name: org.h2.Driver - url: jdbc:h2:mem:payment-service;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL - jpa: - hibernate: - ddl-auto: create - generate-ddl: true - defer-datasource-initialization: true - properties: - hibernate: - format_sql: true - - -kakao: - admin: e217481aeaeb6c14f8f10912b441f961 -endpoint: - apigateway-service: http://localhost:3000 \ No newline at end of file + mvc: + pathmatch: + matching-strategy: ant_path_matcher + application: + name: product-service + config: + activate: + on-profile: local + import: optional:configserver:http://localhost:8888 +management: + endpoints: + web: + exposure: + include: + - "refresh" + - "bus-refresh" \ No newline at end of file diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml new file mode 100644 index 0000000..a1b3140 --- /dev/null +++ b/src/main/resources/application-prod.yml @@ -0,0 +1,19 @@ +server: + port: 8100 +spring: + mvc: + pathmatch: + matching-strategy: ant_path_matcher + application: + name: product-service + config: + activate: + on-profile: prod + import: optional:configserver:http://config-service:8888 +management: + endpoints: + web: + exposure: + include: + - "refresh" + - "bus-refresh" \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml deleted file mode 100644 index a73e5bd..0000000 --- a/src/main/resources/application.yml +++ /dev/null @@ -1,31 +0,0 @@ -server: - port: 8100 -spring: - application: - name: payment-service - config: - activate: - on-profile: local, dev, local - import: optional:configserver:http://localhost:8888 - h2: - console: - enabled: true - path: /h2-console - datasource: - driver-class-name: org.h2.Driver - url: jdbc:h2:mem:payment-service;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL - jpa: - hibernate: - ddl-auto: create - generate-ddl: true - defer-datasource-initialization: true - properties: - hibernate: - format_sql: true -management: - endpoints: - web: - exposure: - include: - - "refresh" - - "bus-refresh" \ No newline at end of file From c1184ad8e1c29563224628c132f68e82e6222722 Mon Sep 17 00:00:00 2001 From: sangwon Date: Tue, 26 Dec 2023 19:59:14 +0900 Subject: [PATCH 4/6] Update application-prod.yml --- src/main/resources/application-prod.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index a1b3140..ae1ab3a 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -16,4 +16,5 @@ management: exposure: include: - "refresh" - - "bus-refresh" \ No newline at end of file + - "bus-refresh" + - "health" From 084cbe90dd52229e4dfc03d02d0d2131cd7778ac Mon Sep 17 00:00:00 2001 From: binarywoo27 Date: Tue, 26 Dec 2023 20:15:16 +0900 Subject: [PATCH 5/6] yml file update --- src/main/resources/application-dev.yml | 3 ++- src/main/resources/application-local.yml | 3 ++- src/main/resources/application-prod.yml | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 47b1724..a2622a4 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -16,4 +16,5 @@ management: exposure: include: - "refresh" - - "bus-refresh" \ No newline at end of file + - "bus-refresh" + - "health" \ No newline at end of file diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 840ba6c..e394665 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -16,4 +16,5 @@ management: exposure: include: - "refresh" - - "bus-refresh" \ No newline at end of file + - "bus-refresh" + - "health" \ No newline at end of file diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index a1b3140..733ace7 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -16,4 +16,5 @@ management: exposure: include: - "refresh" - - "bus-refresh" \ No newline at end of file + - "bus-refresh" + - "health" \ No newline at end of file From 937b72a490097b4f08d3d757d206518a3ba4965c Mon Sep 17 00:00:00 2001 From: binarywoo27 Date: Tue, 26 Dec 2023 20:16:56 +0900 Subject: [PATCH 6/6] =?UTF-8?q?=EB=B6=88=ED=95=84=EC=9A=94=ED=95=9C=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EC=82=AD=EC=A0=9C=20=EB=B0=8F=20CommonRes?= =?UTF-8?q?ponse=EB=A1=9C=20=EB=B0=94=EA=BE=B8=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OrderClientController.java | 30 ++++++++----------- .../kr/bb/payment/entity/Subscription.java | 9 +++--- .../bb/payment/entity/common/BaseEntity.java | 2 ++ .../payment/feign/ProductServiceClient.java | 4 --- .../bb/payment/service/KakaopayService.java | 5 ++-- .../kr/bb/payment/service/PaymentService.java | 4 ++- 6 files changed, 26 insertions(+), 28 deletions(-) diff --git a/src/main/java/kr/bb/payment/controller/clientcontroller/OrderClientController.java b/src/main/java/kr/bb/payment/controller/clientcontroller/OrderClientController.java index 0f364f2..a6d1bee 100644 --- a/src/main/java/kr/bb/payment/controller/clientcontroller/OrderClientController.java +++ b/src/main/java/kr/bb/payment/controller/clientcontroller/OrderClientController.java @@ -1,19 +1,17 @@ package kr.bb.payment.controller.clientcontroller; import bloomingblooms.response.SuccessResponse; +import java.time.LocalDateTime; import kr.bb.payment.dto.request.KakaopayApproveRequestDto; import kr.bb.payment.dto.request.KakaopayReadyRequestDto; import kr.bb.payment.dto.response.KakaopayReadyResponseDto; import kr.bb.payment.service.KakaopayService; -import kr.bb.payment.service.PaymentService; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.client.RestTemplate; @RestController @RequestMapping("/client") @@ -23,28 +21,26 @@ public class OrderClientController { private final KakaopayService kakaopayService; @PostMapping("/ready") - public ResponseEntity> payReady( + public SuccessResponse payReady( @RequestBody KakaopayReadyRequestDto readyRequestDto) { KakaopayReadyResponseDto responseDto = kakaopayService.kakaoPayReady(readyRequestDto); - return ResponseEntity.ok() - .body( - SuccessResponse.builder() - .code(String.valueOf(HttpStatus.OK.value())) - .message(HttpStatus.OK.name()) - .data(responseDto) - .build()); + return SuccessResponse.builder() + .data(responseDto) + .message(HttpStatus.OK.name()) + .build(); } @PostMapping("/approve") - public ResponseEntity> payApprove(@RequestBody KakaopayApproveRequestDto approveRequestDto){ + public SuccessResponse payApprove( + @RequestBody KakaopayApproveRequestDto approveRequestDto) { - kakaopayService.kakaoPayApprove(approveRequestDto); + LocalDateTime paymentDateTime = kakaopayService.kakaoPayApprove(approveRequestDto); - return ResponseEntity.ok().body(SuccessResponse.builder() - .code(String.valueOf(HttpStatus.OK.value())) - .message(HttpStatus.OK.name()) - .build()); + return SuccessResponse.builder() + .data(paymentDateTime) + .message(HttpStatus.OK.name()) + .build(); } } diff --git a/src/main/java/kr/bb/payment/entity/Subscription.java b/src/main/java/kr/bb/payment/entity/Subscription.java index 5ebd17b..727fe55 100644 --- a/src/main/java/kr/bb/payment/entity/Subscription.java +++ b/src/main/java/kr/bb/payment/entity/Subscription.java @@ -1,5 +1,6 @@ package kr.bb.payment.entity; +import java.time.LocalDate; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; @@ -41,12 +42,12 @@ public class Subscription extends BaseEntity { @Column(name = "subscription_total_amount", nullable = false) private Long subscriptionTotalAmount; - @Column(name = "payment_day", nullable = false) - private String paymentDay; + @Column(name = "payment_date", nullable = false) + private LocalDate paymentDate; @Column(name = "start_date", nullable = false) - private Date startDate; + private LocalDate startDate; @Column(name = "end_date") - private Date endDate; + private LocalDate endDate; } diff --git a/src/main/java/kr/bb/payment/entity/common/BaseEntity.java b/src/main/java/kr/bb/payment/entity/common/BaseEntity.java index 406c2d4..19e49f7 100644 --- a/src/main/java/kr/bb/payment/entity/common/BaseEntity.java +++ b/src/main/java/kr/bb/payment/entity/common/BaseEntity.java @@ -4,10 +4,12 @@ import javax.persistence.Column; import javax.persistence.EntityListeners; import javax.persistence.MappedSuperclass; +import lombok.Getter; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; +@Getter @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public class BaseEntity { diff --git a/src/main/java/kr/bb/payment/feign/ProductServiceClient.java b/src/main/java/kr/bb/payment/feign/ProductServiceClient.java index 6ce1684..3868aed 100644 --- a/src/main/java/kr/bb/payment/feign/ProductServiceClient.java +++ b/src/main/java/kr/bb/payment/feign/ProductServiceClient.java @@ -10,8 +10,4 @@ @FeignClient(name = "productServiceClient", url = "${endpoint.product-service") public interface ProductServiceClient { - // 유효한지 - @PostMapping("/api/products/prices") - SuccessResponse> getPricesByProductIds( - @RequestParam("productIds") List productIds); } diff --git a/src/main/java/kr/bb/payment/service/KakaopayService.java b/src/main/java/kr/bb/payment/service/KakaopayService.java index 3294efb..4f478da 100644 --- a/src/main/java/kr/bb/payment/service/KakaopayService.java +++ b/src/main/java/kr/bb/payment/service/KakaopayService.java @@ -1,5 +1,6 @@ package kr.bb.payment.service; +import java.time.LocalDateTime; import kr.bb.payment.dto.request.KakaopayApproveRequestDto; import kr.bb.payment.dto.request.KakaopayReadyRequestDto; import kr.bb.payment.dto.response.KakaoPayApproveResponseDto; @@ -59,7 +60,7 @@ public KakaopayReadyResponseDto kakaoPayReady(KakaopayReadyRequestDto requestDto return responseDto; } - public void kakaoPayApprove(KakaopayApproveRequestDto requestDto) { + public LocalDateTime kakaoPayApprove(KakaopayApproveRequestDto requestDto) { MultiValueMap parameters = new LinkedMultiValueMap<>(); parameters.add("cid", requestDto.getCid()); @@ -75,7 +76,7 @@ public void kakaoPayApprove(KakaopayApproveRequestDto requestDto) { restTemplate.postForObject(url, requestEntity, KakaoPayApproveResponseDto.class); - paymentService.savePaymentInfo(requestDto); + return paymentService.savePaymentInfo(requestDto); } @NotNull diff --git a/src/main/java/kr/bb/payment/service/PaymentService.java b/src/main/java/kr/bb/payment/service/PaymentService.java index 13aca4f..9c022fc 100644 --- a/src/main/java/kr/bb/payment/service/PaymentService.java +++ b/src/main/java/kr/bb/payment/service/PaymentService.java @@ -1,5 +1,6 @@ package kr.bb.payment.service; +import java.time.LocalDateTime; import kr.bb.payment.dto.request.KakaopayApproveRequestDto; import kr.bb.payment.dto.request.KakaopayReadyRequestDto; import kr.bb.payment.dto.response.KakaoPayApproveResponseDto; @@ -24,7 +25,7 @@ public class PaymentService { * @return void */ @Transactional - public void savePaymentInfo( + public LocalDateTime savePaymentInfo( KakaopayApproveRequestDto requestDto) { OrderType type = @@ -35,5 +36,6 @@ public void savePaymentInfo( // Payment 객체를 DB에 저장 Payment payment = Payment.toEntity(requestDto, type); paymentRepository.save(payment); + return payment.getCreatedAt(); } }