Bladeren bron

이태영 - 20210423 KCP 상품권 현금영수증 취소 로직 개발 중

xodud1202 5 jaren geleden
bovenliggende
commit
12672006ff

+ 9 - 1
src/main/java/com/style24/core/biz/dao/TscOrderDao.java

@@ -767,5 +767,13 @@ public interface TscOrderDao {
 	 * @author xodud1202
 	 * @since 2021.04.23
 	 */
-	void updateGiftCardReceipt(GiftCard para);
+	void updateGiftCardReceipt(GiftCard param);
+
+	/**
+	 * 상품권 현금영수증 정보 조회
+	 * @param param
+	 * @author xodud1202
+	 * @since 2021.04.23
+	 */
+	GiftCard getGiftCardReceiptInfo(GiftCard param);
 }

+ 9 - 9
src/main/java/com/style24/core/biz/service/TscKcpService.java

@@ -418,14 +418,11 @@ public class TscKcpService {
 
 	/**
 	 * KCP 현금영수증 취소 신청 API
-	 * param.setModType("STSQ");				// 요청 구분 (STSQ : 조회, STSC : 전체취소, STPC : 부분취소) >> 조회는 사용 안함 > result 안받음. 사용시 result 추가활것.
-	 * param.setTradeNo("20210423066396");		// 현금영수증 거래번호 (TB_GIFTCARD_RECEIPT.TRADE_NO)
-	 * param.setTradeTime("20210422200347");	// 결제시각 : YYYYMMDDHH24MISS 형식
-	 * param.setOrdNo(100);						// 주문번호
+	 * param.setModType("STSQ");	// 요청 구분 (STSQ : 조회, STSC : 전체취소, STPC : 부분취소) >> 조회는 사용 안함 > result 안받음. 사용시 result 추가활것.
+	 * param.setOrdNo(100);			// 주문번호
 	 *
 	 * * 부분취소시 추가 금액
-	 * param.setRmGfcdAmt(10000);		// 잔여금액 (부분취소 이전에 남은 금액)
-	 * param.setUsGfcdAmt(3000);		// 부분취소 요청 금액
+	 * param.setUsGfcdAmt(3000);	// 부분취소 요청 금액
 	 *
 	 * @param GiftCard
 	 * @author xodud1202
@@ -439,6 +436,9 @@ public class TscKcpService {
 		String reqTx = "mod";		// 현금영수증 취소 or 조회 요청
 		String txCd = "07030000";	// 현금영수증 조회 요청
 
+		// 현금영수증 정보 조회
+		GiftCard receiptInfo = orderDao.getGiftCardReceiptInfo(param);
+
 		J_PP_CLI_N c_PayPlus = new J_PP_CLI_N();
 		c_PayPlus.mf_init( "", env.getProperty("pg.kcp.gw.url"), env.getProperty("pg.kcp.gw.port"), Integer.parseInt(env.getProperty("pg.kcp.tx.mode")), env.getProperty("pg.kcp.log.dir"));
 		c_PayPlus.mf_init_set();
@@ -457,13 +457,13 @@ public class TscKcpService {
 		// 부분 취소
 		if("STPC".equals(param.getModType())) {
 			c_PayPlus.mf_set_us( mod_data_set_no, "mod_mny"  , String.valueOf(param.getUsGfcdAmt()));	// 부분취소 요청 금액
-			c_PayPlus.mf_set_us( mod_data_set_no, "rem_mny"  , String.valueOf(param.getRmGfcdAmt()));	// 잔여금액 (부분취소 이전에 남은 금액)
+			c_PayPlus.mf_set_us( mod_data_set_no, "rem_mny"  , String.valueOf(receiptInfo.getAmt()));	// 잔여금액 (부분취소 이전에 남은 금액)
 		}
 
 		c_PayPlus.mf_set_us( mod_data_set_no, "mod_type"  , param.getModType()) ;
-		c_PayPlus.mf_set_us( mod_data_set_no, "mod_value" , param.getTradeNo()) ;
+		c_PayPlus.mf_set_us( mod_data_set_no, "mod_value" , receiptInfo.getTradeNo()) ;
 		c_PayPlus.mf_set_us( mod_data_set_no, "mod_gubn"  , "MG01"  ) ;
-		c_PayPlus.mf_set_us( mod_data_set_no, "trad_time" , param.getTradeTime()) ;
+		c_PayPlus.mf_set_us( mod_data_set_no, "trad_time" , receiptInfo.getTradeTime()) ;
 
 		// 실행
 		c_PayPlus.mf_do_tx(env.getProperty("pg.kcp.site.cd"), "", txCd, cust_ip, String.valueOf(param.getOrdNo()), env.getProperty("pg.kcp.log.level"), "0");

+ 1 - 0
src/main/java/com/style24/persistence/domain/GiftCard.java

@@ -51,6 +51,7 @@ public class GiftCard extends TscBaseDomain {
 	private String useYn;			// 사용가능여부
 
 	// KCP 현금영수증 신청
+	private int amt;				// 금액
 	private Integer gfcdRcpApiSq;	// 현금영수증 신청 번호
 	private String tradeNo;			// 거래번호
 	private String authNo;			// 승인번호

+ 14 - 0
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -3618,6 +3618,20 @@
 		     , UPD_DT = NOW()
 		WHERE  ORD_NO = #{ordNo}
 	</update>
+
+	<!-- 상품권 현금영수증 정보 조회 -->
+	<select id="getGiftCardReceiptInfo" parameterType="GiftCard" resultType="GiftCard">
+		/* TscOrder.getGiftCardReceiptInfo : 상품권 현금영수증 정보 조회 */
+		SELECT GR.ORD_NO
+		     , GR.TRADE_NO
+		     , GR.AUTH_NO
+		     , GR.AMT
+		     , DATE_FORMAT(O.ORD_DT,'%Y%m%d%H%i%S') AS TRADE_TIME
+		FROM   TB_GIFTCARD_RECEIPT GR
+		INNER  JOIN TB_ORDER O
+		ON     GR.ORD_NO = O.ORD_NO
+		WHERE  GR.ORD_NO = #{ordNo}
+	</select>
 </mapper>