|
|
@@ -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);
|