Browse Source

이지페이 결제 승인 개발중

marseyes 2 years ago
parent
commit
449869e99f

+ 36 - 0
src/main/java/com/oqpo/api/enums/PayTpCd.java

@@ -0,0 +1,36 @@
1
+package com.oqpo.api.enums;
2
+
3
+import lombok.Getter;
4
+import lombok.Setter;
5
+
6
+public enum PayTpCd {
7
+
8
+	PRE_PAY_CHARGE("10", "선불(충전)"), //
9
+    AFTER_PAYMENT("20", "후불(결제)"), //
10
+    AFTER_PRE_PAYMENT("30", "후불(선결제)"), //
11
+    ;
12
+
13
+    PayTpCd(String cd, String nm) {
14
+        this.cd = cd;
15
+        this.name = nm;
16
+    }
17
+
18
+    @Getter
19
+    @Setter
20
+    private String cd;
21
+
22
+    @Getter
23
+    @Setter
24
+    private String name;
25
+
26
+    public static String getName(String ccd) {
27
+        PayTpCd[] values = PayTpCd.values();
28
+        for (PayTpCd icd : values) {
29
+            if (icd.cd.equals(ccd)) {
30
+                return icd.name;
31
+            }
32
+        }
33
+        return ccd;
34
+    }
35
+
36
+}

+ 2 - 0
src/main/java/com/oqpo/api/mapper/loanmng/UnpaidMngMapper.java

@@ -28,4 +28,6 @@ public interface UnpaidMngMapper {
28 28
 
29 29
     int insertPgKiccPayPtcl(@Param("userId") String userId, PgKiccPayPtclEntity entity) throws Exception;
30 30
 
31
+    int updateStlMgntBaseInfo4Rcpt(@Param("userId") String userId, PgKiccPayPtclEntity entity) throws Exception;
32
+
31 33
 }

+ 73 - 3
src/main/java/com/oqpo/api/service/loanmng/EasypayPaymentService.java

@@ -4,7 +4,9 @@ package com.oqpo.api.service.loanmng;
4 4
 import com.kicc.EasyPayClient;
5 5
 import com.oqpo.api.entity.oper.UserMngEntity;
6 6
 import com.oqpo.api.entity.settmng.PgKiccBaseInfoEntity;
7
+import com.oqpo.api.entity.settmng.PgKiccPayPtclEntity;
7 8
 import com.oqpo.api.entity.stinfo.BrandEntity;
9
+import com.oqpo.api.enums.PayTpCd;
8 10
 import com.oqpo.api.exception.GlobalException;
9 11
 import com.oqpo.api.mapper.loanmng.UnpaidMngMapper;
10 12
 import com.oqpo.api.mapper.oper.UserMngMapper;
@@ -384,9 +386,77 @@ public class EasypayPaymentService extends CommonService {
384 386
             if (res_cd.equals("0000")) {
385 387
                 bDBProc = "true"; // DB처리 성공 시 "true", 실패 시 "false"
386 388
                 try {
387
-                    // TbSaleHeaderModel saleHeader = (TbSaleHeaderModel) SessionUtil.getAttribute(SessionUtil.PAYMENT_CART);
388
-                    // saveEasypayResult(easyResult);
389
-                    // TODO 결과를 저장한다.
389
+                    // TODO 결과에 대해 처리한다.
390
+                    // 1. KICCPG거래내역 등록
391
+                    PgKiccPayPtclEntity payInfo = new PgKiccPayPtclEntity();
392
+                    payInfo.setPoOrdNo(easypayPaymentRequest.getPoOrdNo());
393
+
394
+                    /*
395
+
396
+
397
+    @ApiModelProperty(value = "브랜드아이디")
398
+    private String brandId;
399
+    @ApiModelProperty(value = "매장아이디")
400
+    private String storeId;
401
+    @ApiModelProperty(value = "몰아이디")
402
+    private String mallId;
403
+    @ApiModelProperty(value = "결제번호")
404
+    private String paymentNo;
405
+    @ApiModelProperty(value = "거래타입(O:주문,C:취소)")
406
+    private String tranType;
407
+    @ApiModelProperty(value = "응답코드")
408
+    private String resCd;
409
+    @ApiModelProperty(value = "응답메시지")
410
+    private String resMsg;
411
+    @ApiModelProperty(value = "PG거래번호")
412
+    private String cno;
413
+    @ApiModelProperty(value = "총 결제금액")
414
+    private Integer amount;
415
+    @ApiModelProperty(value = "승인번호")
416
+    private String authNo;
417
+    @ApiModelProperty(value = "거래일시")
418
+    private String tranDate;
419
+    @ApiModelProperty(value = "상태코드")
420
+    private String statCd;
421
+    @ApiModelProperty(value = "상태메시지")
422
+    private String statMsg;
423
+    @ApiModelProperty(value = "결제수단")
424
+    private String payType;
425
+    @ApiModelProperty(value = "카드번호")
426
+    private String cardNo;
427
+    @ApiModelProperty(value = "발급사코드")
428
+    private String issuerCd;
429
+    @ApiModelProperty(value = "발급사명")
430
+    private String issuerNm;
431
+    @ApiModelProperty(value = "매입사코드")
432
+    private String acquirerCd;
433
+    @ApiModelProperty(value = "매입사명")
434
+    private String acquirerNm;
435
+    @ApiModelProperty(value = "할부개월")
436
+    private String installPeriod;
437
+    @ApiModelProperty(value = "무이자여부")
438
+    private String noint;
439
+    @ApiModelProperty(value = "취소여부")
440
+    private String cancelYn;
441
+    @ApiModelProperty(value = "취소일시")
442
+    private String cancelDate;
443
+                    *
444
+                    * */
445
+
446
+
447
+                    unpaidMngMapper.insertPgKiccPayPtcl(userId, payInfo);
448
+
449
+                    if (PayTpCd.AFTER_PAYMENT.getCd().equals(easypayPaymentRequest.getPayTpCd())) { // 후불(결제)
450
+                        // 2. 여신관리기본정보
451
+
452
+                        // 3. 여신관리상세이력
453
+
454
+                        // 4. 여신관리입금처리
455
+
456
+                        // 5. 정산관리기본정보 업데이트
457
+                        unpaidMngMapper.updateStlMgntBaseInfo4Rcpt(userId, payInfo);
458
+                    }
459
+
390 460
                 } catch (Exception e) {
391 461
                     e.printStackTrace();
392 462
                     bDBProc = "false";

+ 13 - 0
src/main/java/com/oqpo/api/web/dto/request/loanmng/EasypayPaymentRequest.java

@@ -6,6 +6,19 @@ import lombok.Data;
6 6
 @Data
7 7
 public class EasypayPaymentRequest {
8 8
 
9
+    @ApiModelProperty(value = "주문번호")
10
+    private String poOrdNo;
11
+    @ApiModelProperty(value = "결제유형(10:선불(충전), 20:후불(결제), 30:후불(선결제))", required = true)
12
+    private String payTpCd;
13
+    @ApiModelProperty(value = "정산관리고유번호 - 후불(결제)인 경우 필수", required = true)
14
+    private String sttlMgntUnqNo;
15
+    @ApiModelProperty(value = "브랜드아이디")
16
+    private String brandId;
17
+    @ApiModelProperty(value = "매장아이디")
18
+    private String storeId;
19
+    @ApiModelProperty(value = "몰아이디")
20
+    private String mallId;
21
+
9 22
     @ApiModelProperty(value = "결제창 요청구분", required = true)
10 23
     private String EP_tr_cd;
11 24
     @ApiModelProperty(value = "추적번호", required = true)

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

@@ -188,4 +188,14 @@
188 188
              NOW(), #{userId}, NOW(), #{userId})
189 189
     </insert>
190 190
 
191
+    <update id="updateStlMgntBaseInfo4Rcpt" >
192
+        /* UnpaidMngMapper.updateStlMgntBaseInfo4Rcpt */
193
+        UPDATE stl_mgnt_base_info SET
194
+            rcpt_yn = 'Y',
195
+            rcpt_dt = DATE_FORMAT(NOW(),'%Y%m%d'),
196
+            sys_chg_dttm = NOW(),
197
+            sys_chg_id = #{userId}
198
+        WHERE sttl_mgnt_unq_no = #{entity.sttlMgntUnqNo}
199
+    </update>
200
+
191 201
 </mapper>