tsit14 5 lat temu
rodzic
commit
37f51aba87

+ 49 - 42
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -17,6 +17,7 @@ import com.style24.core.biz.dao.TscOrderChangeDao;
 import com.style24.core.biz.dao.TscOrderDao;
 import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.message.TscMessageByLocale;
+import com.style24.core.support.util.CryptoUtils;
 import com.style24.persistence.domain.GiftCard;
 import com.style24.persistence.domain.Order;
 import com.style24.persistence.domain.OrderChange;
@@ -178,13 +179,7 @@ public class TscOrderChangeService {
 		orderChange.setRegNo(userNo);
 		orderChange.setUpdNo(userNo);
 		orderChangeDao.createOrderChangeDetailHstForAllCancel(orderChange);
-
-		// 2. 주문정보 이력 등록 (TB_ORDER_DETAIL_HST(등록))
-		//orderChangeDao.createOrderDtlHstCancel(order);
-
-		// TODO
-		// 3. PG 실행 (취소시 추가결제금액 취소처리)
-
+		
 		return mav;
 	}
 
@@ -616,8 +611,8 @@ public class TscOrderChangeService {
 	@Transactional("shopTxnManager")
 	public GagaMap partialCancelTemp(GagaMap map, Integer userNo) {
 		// 1. 취소요청목록 및 정보 설정
-		List<Order> cancelOrderRefundList 	= (List<Order>) map.get("cancelOrderRefundList");					// 취소환불금액 목록 (주문상세단품 단위)
-		List<Order> cancelDelvRefundList 	= (List<Order>) map.get("cancelDelvRefundList");					// 취소환불배송금액 목록 (DELV_FEE_CD 단위)
+		List<Order> cancelOrderRefundList 	= (List<Order>) map.get("cancelOrderRefundList");				// 취소환불금액 목록 (주문상세단품 단위)
+		List<Order> cancelDelvRefundList 	= (List<Order>) map.get("cancelDelvRefundList");				// 취소환불배송금액 목록 (DELV_FEE_CD 단위)
 		int ordNo 							= map.getInt("ordNo");											// 주문번호
 		int ordChgSq						= map.getInt("ordChgSq");										// 주문변경일련번호
 		String chgReason 					= map.getString("chgReason");									// 변경사유
@@ -633,10 +628,12 @@ public class TscOrderChangeService {
 		String accountNm					= map.getString("accountNm");									// 환불계좌주명
 		String bankCd						= map.getString("bankCd");										// 환불계좌은행코드
 		String reqGbn						= map.getString("reqGbn");										// 신청구분
-		String chgGb						= TscConstants.OrderChangeGb.CANCEL.value(); 						// 취소요청 (공톹코드:G680)
-		String ordDtlStat					= TscConstants.OrderDetailStat.PAYMENT_AFTER_CANCEL.value();		// 주문상세상태
-		String chgStat						= TscConstants.OrderChangeStat.PAYMENT_AFTER_CANCEL.value();		// 주문변경상태
+		String chgGb						= TscConstants.OrderChangeGb.CANCEL.value(); 					// 취소요청 (공톹코드:G680)
+		String ordDtlStat					= TscConstants.OrderDetailStat.PAYMENT_AFTER_CANCEL.value();	// 주문상세상태
+		String chgStat						= TscConstants.OrderChangeStat.PAYMENT_AFTER_CANCEL.value();	// 주문변경상태
+		
 		int payAmt							= map.getInt("spanPayAmt");										// 부분취소 전 결제금액
+		
 		String modType						= "";
 		String batchYn						= map.getString("batchYn");										// 배치여부
 
@@ -667,13 +664,13 @@ public class TscOrderChangeService {
 				orderChange.setUpdNo(userNo);
 
 				// 신청구분 처리
-				if ("cnclComplete".equals(reqGbn)) {
+				if ("cnclReqComplete".equals(reqGbn)) {
+					// 취소접수승인 시 ordChgSq 설정
+					orderChange.setOrdChgSq(ordChgSq);
+				} else {
 					// 취소 완료 시 생성
 					orderChangeDao.createOrderChange(orderChange);
 					ordChgSq = orderChange.getOrdChgSq();
-				} else {
-					// 취소접수승인 시 ordChgSq 설정
-					orderChange.setOrdChgSq(ordChgSq);
 				}
 				
 				// 주문변경일련번호 설정
@@ -777,8 +774,6 @@ public class TscOrderChangeService {
 							orderDetailItem.setRegNo(userNo);
 							orderDetailItem.setUpdNo(userNo);
 							orderDetailItem.setOrdDtlStat(ordDtlStat);
-							
-							log.info("ordDtlStat ::: {}", ordDtlStat);
 
 							orderChangeDao.updateOrderDetailItemTemp(orderDetailItem);
 							orderChangeDao.createOrderDetailItemHstTemp(orderDetailItem);
@@ -956,12 +951,10 @@ public class TscOrderChangeService {
 				pg.setPgTid(pgTid);
 				pg.setPayMeans(payMeans);
 				pg.setPartCancelAmt(spanRefundAmt);
-				// pg.setLeftAmt(orderChangeDao.getLeftAmt(ordNo));
 				pg.setLeftAmt(payAmt);
 				pg.setRegNo(userNo);
 				pg.setUpdNo(userNo);
-				log.info("cancelAmt >>> {}", pg.getPartCancelAmt());
-				log.info("leftAmt >>> {}", pg.getLeftAmt());
+				
 				if (spanRefundAmt > 0) {
 					pgList.add(pg);
 				}
@@ -984,7 +977,9 @@ public class TscOrderChangeService {
 				refundOrder.setRfCnclAmt(obj.getCnclRtnAmt());
 				refundOrder.setRfDeliveryFee(addDelvFee);
 				refundOrder.setRfRealCnclAmt(spanRefundAmt - addDelvFee);
-				refundOrder.setRaNo(accountNo);
+				// 2021.06.09 계좌번호 암호화
+				//refundOrder.setRaNo(accountNo);
+				refundOrder.setRaNo(CryptoUtils.encryptAES(accountNo));
 				refundOrder.setRaNm(accountNm);
 				refundOrder.setRaBank(bankCd);
 				refundOrder.setRegNo(userNo);
@@ -1012,6 +1007,7 @@ public class TscOrderChangeService {
 
 		// 4. 장바구니, 배송비 쿠폰 원복 및 사은품 전체 취소 처리 (마지막 취소 시)
 		if ("Y".equals(allLastCanYn)) {
+			
 			// 4-1. 장바구니, 배송비 쿠폰 원복처리
 			Order coupon = new Order();
 			coupon.setOrdNo(ordNo);
@@ -1056,6 +1052,7 @@ public class TscOrderChangeService {
 				pg.setAccountNo(accountNo);
 				pg.setBankCd(bankCd);
 				pg.setBatchYn(batchYn);
+				
 				kcpService.kcpCancel(pg);
 			} else if (TscConstants.PgGb.NAVER.value().equals(pgGb)) {
 				pg.setPayAmt(pg.getPartCancelAmt());
@@ -1065,6 +1062,7 @@ public class TscOrderChangeService {
 				naverPayService.cancelNaverPayment(pg);
 			} else if (TscConstants.PgGb.KAKAO.value().equals(pgGb)) {
 				pg.setPayAmt(pg.getPartCancelAmt());
+				
 				kakaoPayService.cancelKakaoPayment(pg);
 			}
 
@@ -1656,7 +1654,11 @@ public class TscOrderChangeService {
 				refundOrder.setRfCnclAmt(obj.getCnclRtnAmt());
 				refundOrder.setRfDeliveryFee(spanTotRtnDelvFee * -1);
 				refundOrder.setRfRealCnclAmt(spanRefundAmt + spanTotRtnDelvFee);
-				refundOrder.setRaNo(accountNo);
+				// 2021.06.09 계좌번호 암호화
+				//refundOrder.setRaNo(accountNo);
+				refundOrder.setRaNo(CryptoUtils.encryptAES(accountNo));
+				
+				
 				refundOrder.setRaNm(accountNm);
 				refundOrder.setRaBank(bankCd);
 				refundOrder.setRegNo(custNo);
@@ -2164,8 +2166,12 @@ public class TscOrderChangeService {
 			changeDetailPo.setChgStat(TscConstants.OrderChangeStat.CANCEL.value());
 			changeDetailPo.setRegNo(userNo);
 			changeDetailPo.setUpdNo(userNo);
-
+			
+			// 주문변경상세정보등록
 			orderChangeDao.createOrderChangeDetail(changeDetailPo);
+			
+			// 주문변경상세정보이력등록
+			orderChangeDao.createOrderChangeDetailHst(changeDetailPo);
 		}
 		
 		result.setInt("status", GagaResponseStatus.SUCCESS.getCode());
@@ -2220,21 +2226,21 @@ public class TscOrderChangeService {
 			result = orderRefundService.cnclRtnRefundAmt2(cnclReqList);
 
 			// 4. 부분취소 처리 정보 설정
-			result.setInt("ordNo", orderChange.getOrdNo());							// 주문번호
-			result.setString("chgReason", orderChange.getChgReason());				// 변경사유
-			result.setString("chgReasonNm", orderChange.getChgReasonNm());			// 변경사유명
-			result.setString("chgMemo", orderChange.getChgMemo());					// 변경메모
-			result.setString("accountNo", orderChange.getAccountNo());				// 환불계좌번호
-			result.setString("accountNm", orderChange.getAccountNm());				// 환불계좌예금주명
-			result.setString("bankCd", orderChange.getBankCd());					// 환불계좌은행코드
-			result.setString("allLastCanYn", allLastCanYn);							// 전체 마지막 취소 여부
-			result.setString("reqGbn", orderChange.getReqGbn());					// 신청구분
-			result.setString("ipAddress", orderChange.getIpAddress());				// IP주소
-			result.setInt("custNo", orderChange.getCustNo());						// 고객번호
-			result.setString("pgTid", refundPreInfo.getString("pgTid"));			// PG거래ID
-			result.setString("payMeans", refundPreInfo.getString("payMeans"));		// 결제수단
-			result.setString("pgGb", refundPreInfo.getString("pgGb"));				// PG구분
-			result.setString("cashAuthNo", refundPreInfo.getString("cashAuthNo"));	// 현금영수증 승인번호
+			result.setInt("ordNo"			, orderChange.getOrdNo());					// 주문번호
+			result.setString("chgReason"	, orderChange.getChgReason());				// 변경사유
+			result.setString("chgReasonNm"	, orderChange.getChgReasonNm());			// 변경사유명
+			result.setString("chgMemo"		, orderChange.getChgMemo());				// 변경메모
+			result.setString("accountNo"	, orderChange.getAccountNo());				// 환불계좌번호
+			result.setString("accountNm"	, orderChange.getAccountNm());				// 환불계좌예금주명
+			result.setString("bankCd"		, orderChange.getBankCd());					// 환불계좌은행코드
+			result.setString("allLastCanYn"	, allLastCanYn);							// 전체 마지막 취소 여부
+			result.setString("reqGbn"		, orderChange.getReqGbn());					// 신청구분
+			result.setString("ipAddress"	, orderChange.getIpAddress());				// IP주소
+			result.setInt("custNo"			, orderChange.getCustNo());					// 고객번호
+			result.setString("pgTid"		, refundPreInfo.getString("pgTid"));		// PG거래ID
+			result.setString("payMeans"		, refundPreInfo.getString("payMeans"));		// 결제수단
+			result.setString("pgGb"			, refundPreInfo.getString("pgGb"));			// PG구분
+			result.setString("cashAuthNo"	, refundPreInfo.getString("cashAuthNo"));	// 현금영수증 승인번호
 
 			// 부분취소 처리
 			partialCancelTemp(result, userNo);
@@ -2464,12 +2470,11 @@ public class TscOrderChangeService {
 	 * @since 2021. 01. 05.
 	 */
 	public int saveRefundAccount(Order order) {
-
 		// 환불계좌 유무 체크 후 등록
+		order.encryptData(); // 계좌번호 암호화
 		if (orderChangeDao.getRefundAccountCheck(order) < 1) {
 			orderChangeDao.saveRefundAccount(order);
 		}
-
 		return 1;
 	}
 
@@ -2650,7 +2655,9 @@ public class TscOrderChangeService {
 		refundOrder.setOrdChgSq(orderChangeDetail.getOrdChgSq());
 		refundOrder.setRefundAmt(refundAmt);
 		refundOrder.setRfRealCnclAmt(refundOrder.getRealOrdAmt() - refundOrder.getRfDeliveryFee());
-		refundOrder.setRaNo(accountNo);
+		// 2021.06.09 계좌번호 암호화
+		//refundOrder.setRaNo(accountNo);
+		refundOrder.setRaNo(CryptoUtils.encryptAES(accountNo));
 		refundOrder.setRaNm(accountNm);
 		refundOrder.setRaBank(bankCd);
 		refundOrder.setRegNo(regNo);

+ 11 - 0
src/main/java/com/style24/persistence/domain/Order.java

@@ -308,6 +308,7 @@ public class Order extends TscBaseDomain {
 	private String raBank;
 	private String raBankNm;
 	private String raNo;
+	private String encodedRaNo;
 	private String raNm;
 	private String defaultYn;
 
@@ -417,10 +418,20 @@ public class Order extends TscBaseDomain {
 	private String cashTradeNo;
 
 	private String accountNo;
+	private String encodedAccountNo;	// 계좌번호 암호화
 	private String accountNm;
 	private String bankCd;
 	private String bankNm;
 
+	public String getAccountNo() {
+		this.accountNo = CryptoUtils.decryptAES(this.accountNo);
+		return this.accountNo;
+	}
+
+	public void encryptData () {
+		this.encodedAccountNo = CryptoUtils.encryptAES(this.accountNo);
+	}
+
 	private int realDelvAmt;
 	private int delvCpnSq;
 	private int delvCpnDcAmt;

+ 11 - 0
src/main/java/com/style24/persistence/domain/OrderChange.java

@@ -3,6 +3,7 @@ package com.style24.persistence.domain;
 import java.util.ArrayList;
 import java.util.List;
 
+import com.style24.core.support.util.CryptoUtils;
 import com.style24.persistence.TscBaseDomain;
 import com.style24.persistence.TscPageRequest;
 
@@ -56,9 +57,19 @@ public class OrderChange extends TscBaseDomain {
 	private String whMemo;
 	
 	private String accountNo;
+	private String encodedAccountNo;
 	private String accountNm;
 	private String bankCd;
 	private String bankNm;
+	
+	public String getAccountNo() {
+		this.accountNo = CryptoUtils.decryptAES(this.accountNo);
+		return this.accountNo;
+	}
+
+	public void encryptData () {
+		this.encodedAccountNo = CryptoUtils.encryptAES(this.accountNo);
+	}
 
 	private String allCanYn;
 	private String lastCanYn;

+ 15 - 15
src/main/java/com/style24/persistence/mybatis/shop/TscOrderChange.xml

@@ -1407,23 +1407,23 @@
 		     , Z.DEFAULT_YN
 		     , Z.REG_DT
 		  FROM (
-			  SELECT CA.ACCOUNT_NO
-				   , CA.ACCOUNT_NM
-				   , CA.BANK_CD
-				   , CA.DEFAULT_YN
-				   , CA.REG_DT
-				FROM TB_ORDER O
-				LEFT OUTER JOIN TB_CUST_ACCOUNT CA
-				  ON O.CUST_NO = CA.CUST_NO
-			   WHERE 1 = 1
+		      SELECT CA.ACCOUNT_NO
+		           , CA.ACCOUNT_NM
+		           , CA.BANK_CD
+		           , CA.DEFAULT_YN
+		           , CA.REG_DT
+		        FROM TB_ORDER O
+		        LEFT OUTER JOIN TB_CUST_ACCOUNT CA
+		          ON O.CUST_NO = CA.CUST_NO
+		       WHERE 1 = 1
 		<if test="custNo > 0">
-				 AND O.CUST_NO = #{custNo}
+		         AND O.CUST_NO = #{custNo}
 		</if>
 		<if test="ordNo > 0">
-			AND O.ORD_NO = #{ordNo}
+		         AND O.ORD_NO = #{ordNo}
 		</if>
-			   GROUP BY CA.ACCOUNT_NO, CA.ACCOUNT_NM, CA.BANK_CD, CA.DEFAULT_YN, CA.REG_DT
-			   ORDER BY CA.DEFAULT_YN DESC, CA.REG_DT DESC
+		       GROUP BY CA.ACCOUNT_NO, CA.ACCOUNT_NM, CA.BANK_CD, CA.DEFAULT_YN, CA.REG_DT
+		       ORDER BY CA.DEFAULT_YN DESC, CA.REG_DT DESC
 		  ) Z
 	</select>
 	
@@ -1433,7 +1433,7 @@
 		SELECT COUNT(1)
 		  FROM TB_CUST_ACCOUNT CA
 		 WHERE 1 = 1
-		   AND CA.ACCOUNT_NO = ${accountNo}
+		   AND CA.ACCOUNT_NO = #{encodedAccountNo}
 		   AND CA.ACCOUNT_NM = #{accountNm}
 		   AND CA.BANK_CD = #{bankCd}
 		   AND CA.DEL_YN = 'N'
@@ -1456,7 +1456,7 @@
 		) VALUES (
 			#{custNo}
 			, #{bankCd}
-			, #{accountNo}
+			, #{encodedAccountNo}
 			, #{accountNm}
 			, 'N'
 			, 'N'