Przeglądaj źródła

이지페이 결제 요청 - 멀티 처리

marseyes 2 lat temu
rodzic
commit
9f1b197828

+ 3 - 1
src/main/java/com/oqpo/api/mapper/loanmng/UnpaidMngMapper.java

@@ -30,8 +30,10 @@ public interface UnpaidMngMapper {
30 30
 
31 31
     int insertPgKiccPayPtcl(@Param("userId") String userId, PgKiccPayPtclEntity entity) throws Exception;
32 32
 
33
-    int updateStlMgntBaseInfo4Rcpt(@Param("userId") String userId, EasypayPaymentRequest easypayPaymentRequest) throws Exception;
33
+    int updateStlMgntBaseInfo4Rcpt(@Param("userId") String userId, StlMgntBaseInfoEntity entity) throws Exception;
34 34
 
35 35
     int updateLoanMgntBaseInfo4UnpaidPay(@Param("userId") String userId, LoanMgntBaseInfoEntity entity) throws Exception;
36 36
 
37
+    int selectTotalUnpaidAmt(EasypayPaymentRequest easypayPaymentRequest) throws Exception;
38
+
37 39
 }

+ 12 - 2
src/main/java/com/oqpo/api/service/loanmng/EasypayPaymentService.java

@@ -8,6 +8,7 @@ import com.oqpo.api.entity.loanmng.LoanMgntDtlHstEntity;
8 8
 import com.oqpo.api.entity.oper.UserMngEntity;
9 9
 import com.oqpo.api.entity.settmng.PgKiccBaseInfoEntity;
10 10
 import com.oqpo.api.entity.settmng.PgKiccPayPtclEntity;
11
+import com.oqpo.api.entity.settmng.StlMgntBaseInfoEntity;
11 12
 import com.oqpo.api.entity.stinfo.BrandEntity;
12 13
 import com.oqpo.api.enums.*;
13 14
 import com.oqpo.api.exception.GlobalException;
@@ -19,6 +20,7 @@ import com.oqpo.api.service.CommonService;
19 20
 import com.oqpo.api.util.DateUtil;
20 21
 import com.oqpo.api.util.StringUtil;
21 22
 import com.oqpo.api.web.dto.request.loanmng.EasypayPaymentCreateRequest;
23
+import com.oqpo.api.web.dto.request.loanmng.EasypayPaymentReqData;
22 24
 import com.oqpo.api.web.dto.request.loanmng.EasypayPaymentRequest;
23 25
 import com.oqpo.api.web.dto.response.loanmng.EasypayPaymentCreateResponse;
24 26
 import com.oqpo.api.web.dto.response.loanmng.EasypayPaymentResponse;
@@ -29,6 +31,7 @@ import org.springframework.stereotype.Service;
29 31
 import org.springframework.transaction.annotation.Transactional;
30 32
 
31 33
 import javax.servlet.http.HttpServletRequest;
34
+import java.util.List;
32 35
 
33 36
 @Service
34 37
 @Slf4j
@@ -93,6 +96,8 @@ public class EasypayPaymentService extends CommonService {
93 96
         try {
94 97
             log.info("[REQUEST_PAYMENT] REQ : " + easypayPaymentRequest.toString());
95 98
 
99
+            // TODO 결제금액과 미납금 비교
100
+
96 101
             /* -------------------------------------------------------------------------- */
97 102
             /* ::: 처리구분 설정                                                          */
98 103
             /* -------------------------------------------------------------------------- */
@@ -534,8 +539,13 @@ public class EasypayPaymentService extends CommonService {
534 539
         dsptMngMapper.insertLoanMgntDsptProcInfo(userId, entity);
535 540
 
536 541
         // 5. 정산관리기본정보 업데이트
537
-        easypayPaymentRequest.setR_amount(Long.parseLong(r_amount));
538
-        unpaidMngMapper.updateStlMgntBaseInfo4Rcpt(userId, easypayPaymentRequest);
542
+        // easypayPaymentRequest.setR_amount(Long.parseLong(r_amount));
543
+        List<EasypayPaymentReqData> reqDataList = easypayPaymentRequest.getReqDataList();
544
+        for (EasypayPaymentReqData reqData : reqDataList) {
545
+            StlMgntBaseInfoEntity stlEntity = new StlMgntBaseInfoEntity();
546
+            stlEntity.setSttlMgntUnqNo(reqData.getSttlMgntUnqNo()); // 정산관리고유번호
547
+            unpaidMngMapper.updateStlMgntBaseInfo4Rcpt(userId, stlEntity);
548
+        }
539 549
     }
540 550
 
541 551
 }

+ 12 - 0
src/main/java/com/oqpo/api/web/dto/request/loanmng/EasypayPaymentReqData.java

@@ -0,0 +1,12 @@
1
+package com.oqpo.api.web.dto.request.loanmng;
2
+
3
+import io.swagger.annotations.ApiModelProperty;
4
+import lombok.Data;
5
+
6
+@Data
7
+public class EasypayPaymentReqData {
8
+
9
+    @ApiModelProperty(value = "정산관리고유번호 - 후불(결제)인 경우 필수", required = true)
10
+    private String sttlMgntUnqNo;
11
+
12
+}

+ 8 - 2
src/main/java/com/oqpo/api/web/dto/request/loanmng/EasypayPaymentRequest.java

@@ -5,6 +5,8 @@ import com.fasterxml.jackson.annotation.JsonProperty;
5 5
 import io.swagger.annotations.ApiModelProperty;
6 6
 import lombok.Data;
7 7
 
8
+import java.util.List;
9
+
8 10
 @Data
9 11
 public class EasypayPaymentRequest {
10 12
 
@@ -12,8 +14,12 @@ public class EasypayPaymentRequest {
12 14
     private String poOrdNo;
13 15
     @ApiModelProperty(value = "결제유형(10:선불(충전), 20:후불(결제), 30:후불(선결제))", required = true)
14 16
     private String payTpCd;
15
-    @ApiModelProperty(value = "정산관리고유번호 - 후불(결제)인 경우 필수", required = true)
16
-    private String sttlMgntUnqNo;
17
+
18
+    // @ApiModelProperty(value = "정산관리고유번호 - 후불(결제)인 경우 필수", required = true)
19
+    // private String sttlMgntUnqNo;
20
+    @ApiModelProperty(value = "결제 요청데이터 리스트", required = true)
21
+    private List<EasypayPaymentReqData> reqDataList;
22
+
17 23
     @ApiModelProperty(value = "브랜드아이디")
18 24
     private String brandId;
19 25
     @ApiModelProperty(value = "매장아이디")

+ 2 - 2
src/main/resources/mybatis/sqlmaps/loanmng/UnpaidMng.xml

@@ -201,10 +201,10 @@
201 201
         UPDATE stl_mgnt_base_info SET
202 202
             rcpt_yn = 'Y',                                                          /* 수납여부 */
203 203
             rcpt_dt = DATE_FORMAT(NOW(),'%Y%m%d'),                                  /* 수납일자 */
204
-            rcpt_amt = IFNULL(rcpt_amt, 0) + #{easypayPaymentRequest.r_amount},     /* 수납금액 : 결제금액을 더한다. */
204
+            rcpt_amt = sttl_req_amt,                                                /* 수납금액 : 정산요청금액을 지정한다. */
205 205
             sys_chg_dttm = NOW(),
206 206
             sys_chg_id = #{userId}
207
-        WHERE sttl_mgnt_unq_no = #{easypayPaymentRequest.sttlMgntUnqNo}
207
+        WHERE sttl_mgnt_unq_no = #{entity.sttlMgntUnqNo}
208 208
     </update>
209 209
 
210 210
     <update id="updateLoanMgntBaseInfo4UnpaidPay" >