|
|
@@ -36,7 +36,7 @@ public class TscOrderChangeService {
|
|
|
private TscOrderDao orderDao;
|
|
|
|
|
|
/**
|
|
|
- * 주문변경정보 (상세번호배열, 취소수량배열) 취소 목록으로 변환
|
|
|
+ * 주문변경정보 (상세번호배열, 취소수량배열) 취소 목록으로 변환 (사용안함)
|
|
|
* @param Order
|
|
|
* @return Order
|
|
|
* @author jsh77b
|
|
|
@@ -92,7 +92,7 @@ public class TscOrderChangeService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 주문변경 대상목록 조회
|
|
|
+ * 주문변경 대상목록 조회 (취소, 반품, 교환)
|
|
|
* @param Order
|
|
|
* @return Order
|
|
|
* @author jsh77b
|
|
|
@@ -103,166 +103,16 @@ public class TscOrderChangeService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 취소신청 (batch(napy), batch(extmall))
|
|
|
+ * 주문변경신청목록 조회 (취소, 반품, 교환)
|
|
|
* @param Order
|
|
|
* @return Order
|
|
|
* @author jsh77b
|
|
|
- * @since 2021. 01. 19
|
|
|
+ * @since 2021. 01. 27
|
|
|
*/
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
- @Transactional("shopTxnManager")
|
|
|
- public GagaMap cnclReq(GagaMap mav, int userNo) {
|
|
|
-
|
|
|
- // 1. 세션회원조회
|
|
|
- //userNo = userNo;
|
|
|
-
|
|
|
- // 2. 변경요정정보목록
|
|
|
- List<Order> cancelReqList = (List<Order>) mav.get("cnclRtnList"); // 변경요청 목록
|
|
|
- List<Order> cancelOrderRefundList = (List<Order>) mav.get("cancelOrderRefundList"); // 변경환불금액 목록 (주문상세단품 단위)
|
|
|
- List<Order> cancelDelvRefundList = (List<Order>) mav.get("cancelDelvRefundList"); // 변경환불배송금액 목록 (DELV_FEE_CD 단위)
|
|
|
-
|
|
|
- // 3. 변경신청정보
|
|
|
- int ordNo = Integer.parseInt(mav.getString("ordNo").toString()); // 주문번호
|
|
|
- String chgReason = mav.getString("chgReason").toString(); // 변경사유
|
|
|
- String chgMemo = mav.getString("chgMemo").toString(); // 변경메모
|
|
|
- String allCanYn = mav.getString("allCanYn").toString(); // 무통장입금전 전체취소 여부
|
|
|
- String isCustomer = mav.getString("isCustomer").toString(); // 귀책사유 (고객, 회사)
|
|
|
- String chgGb = TscConstants.OrderChangeGb.CANCEL.value(); // 취소요청
|
|
|
- String reqGbn = mav.get("reqGbn").toString(); // 신청구분
|
|
|
-
|
|
|
- // 4. 주문상세단품정보등록,변경 (단품단위)
|
|
|
- List<Order> cancelOrderDetailList = new ArrayList<Order>();
|
|
|
-
|
|
|
- for (int i=0 ; i<cancelOrderRefundList.size() ; i++) {
|
|
|
- Order cancelOrderRefundPo = cancelOrderRefundList.get(i);
|
|
|
- cancelOrderRefundPo.setRegNo(userNo);
|
|
|
- cancelOrderRefundPo.setUpdNo(userNo);
|
|
|
-
|
|
|
- // 4.1 취소수량이 존재하면 주문상세단품정보 수정 및 주문상세단품이력정보 등록
|
|
|
- if (cancelOrderRefundPo.getOrdCanChgQty() > 0) {
|
|
|
- // 4.4 주문변경 상세 단위로 데이타 등록 (ORD_DTL_NO)
|
|
|
- Boolean temp = false;
|
|
|
- if (cancelOrderDetailList.size() > 0) {
|
|
|
- for (int j=0 ; j<cancelOrderDetailList.size() ; j++) {
|
|
|
- if (cancelOrderRefundPo.getOrdDtlNo() == cancelOrderDetailList.get(j).getOrdDtlNo()) {
|
|
|
- temp = true;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 4.5 주문상세단위 데이타 저장(주문상세 단위)
|
|
|
- if (!temp) {
|
|
|
- cancelOrderDetailList.add(cancelOrderRefundPo);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 2021.01.21 DELV_FEE 배송번호 단위로 TB_ORDER_CHANGE 생성
|
|
|
- // 4. 주문변경정보, 주문정보, 환불정보 (업체코드 & 배송정책코드)
|
|
|
- for (int i=0 ; i<cancelDelvRefundList.size() ; i++) {
|
|
|
-
|
|
|
- Order obj = cancelDelvRefundList.get(i);
|
|
|
-
|
|
|
- // 취소금액이 있을때 처리
|
|
|
- if (obj.getCnclRtnAmt() > 0) {
|
|
|
-
|
|
|
- // 5.1 주문변경 기본정보 등록
|
|
|
- OrderChange orderChange = new OrderChange();
|
|
|
- orderChange.setOrdNo(ordNo);
|
|
|
- orderChange.setChgGb(chgGb);
|
|
|
- orderChange.setChgReason(chgReason);
|
|
|
- orderChange.setChgMemo(chgMemo);
|
|
|
- orderChange.setAddPayCost(0);
|
|
|
- orderChange.setAddPayAmt(0);
|
|
|
- orderChange.setRegNo(userNo);
|
|
|
- orderChange.setUpdNo(userNo);
|
|
|
-
|
|
|
- // 5.2 주문변경 추가정보 등록
|
|
|
- String chgerNm = mav.getString("chgerNm").toString(); // 변경자
|
|
|
- String chgerPhnno = mav.getString("chgerPhnno").toString(); // 변경핸드폰번호
|
|
|
- String chgerTelno = mav.getString("chgerTelno").toString(); // 변경전화번호
|
|
|
- String chgerEmail = mav.getString("chgerEmail").toString(); // 변경이메일
|
|
|
-
|
|
|
- orderChange.setChgerNm(chgerNm);
|
|
|
- orderChange.setChgerPhnno(chgerPhnno);
|
|
|
- orderChange.setChgerTelno(chgerTelno);
|
|
|
- orderChange.setChgerEmail(chgerEmail);
|
|
|
- orderChange.setChgerRtnMemo("");
|
|
|
-
|
|
|
- orderChangeDao.createOrderChange(orderChange);
|
|
|
-
|
|
|
- // 5.3 주문상세단위 취소정보
|
|
|
- for (int j=0 ; j<cancelOrderDetailList.size() ; j++) {
|
|
|
- Order vo = cancelOrderRefundList.get(j);
|
|
|
- vo.setRegNo(userNo);
|
|
|
- vo.setUpdNo(userNo);
|
|
|
- vo.setOrdDtlStat(TscConstants.OrderChangeStat.CANCEL.value()); // 취소신청
|
|
|
-
|
|
|
- // 5.3.0 DEVL_FEE_CD 단위로 주문상세 정보 처리
|
|
|
- if (obj.getDelvFeeCd().equals(vo.getDelvFeeCd())) {
|
|
|
-
|
|
|
- // 5.3.1 주문변경상세정보 이력등록
|
|
|
- orderChangeDao.createOrderDetailHstCnclRtn(vo);
|
|
|
-
|
|
|
- // * 주문상세단위가 아닌 주문상세단품단위로 데이타가 처리되고 있었음 주문상세단위로 수정
|
|
|
- // 5.3 주문변경상세정보 등록
|
|
|
- OrderChange changeDetailPo = new OrderChange();
|
|
|
- changeDetailPo.setOrdChgSq(orderChange.getOrdChgSq());
|
|
|
- changeDetailPo.setOrdDtlNo(vo.getOrdDtlNo());
|
|
|
- changeDetailPo.setChgQty(vo.getOrdCanChgQty());
|
|
|
- changeDetailPo.setChgStat(TscConstants.OrderChangeStat.CANCEL.value()); // 취소신청
|
|
|
- changeDetailPo.setRegNo(userNo);
|
|
|
- changeDetailPo.setUpdNo(userNo);
|
|
|
-
|
|
|
- orderChangeDao.createOrderChangeDetail(changeDetailPo);
|
|
|
- }
|
|
|
- }
|
|
|
- // 5.4 환불결제정보 등록 (업체별 & 배송정책별) 단위
|
|
|
- // 취소, 반품 사유에 따른 추가배송비, 반품배송비를 환불금액에서 추가, 제외 할 수 있다.
|
|
|
- int spanRealCnclRtnAmt = obj.getCnclRtnAmt(); // 취소금액합계
|
|
|
- int sumDeliveryFee = obj.getDelvFee(); // 배송비합계
|
|
|
- int spanTotDeliveryFee = obj.getAddDelvFee(); // 추가배송비합계
|
|
|
- int spanTotRtnDelvFee = obj.getRtnDelvFee(); // 반품배송비합계
|
|
|
- int spanRefundAmt = 0;
|
|
|
-
|
|
|
- // 고객사유 : 환불금액계산 = (취소금액 + 배송비) - 추가배송비
|
|
|
- if ("true".equals(isCustomer)) {
|
|
|
- spanRefundAmt = (spanRealCnclRtnAmt + sumDeliveryFee) - spanTotDeliveryFee - spanTotRtnDelvFee;
|
|
|
- }
|
|
|
- // 회사사유 : 환불금액계산 = (취소금액 + 배송비)
|
|
|
- else {
|
|
|
- spanRefundAmt = (spanRealCnclRtnAmt + sumDeliveryFee);
|
|
|
- }
|
|
|
-
|
|
|
- // 5.4 환불금액 등록
|
|
|
- Order refundOrder = new Order();
|
|
|
- refundOrder.setOrdNo(ordNo);
|
|
|
- refundOrder.setPaySq(0);
|
|
|
- refundOrder.setOrdChgSq(orderChange.getOrdChgSq());
|
|
|
- refundOrder.setRegNo(userNo);
|
|
|
-
|
|
|
- // 2021.01.25 TB_REFUND 정보 등록을 위해서 분리 작업
|
|
|
- refundOrder.setRefundAmt(spanRefundAmt);
|
|
|
- refundOrder.setRfCpn1Amt(obj.getCpn1DcAmt());
|
|
|
- refundOrder.setRfTmtb1Amt(obj.getTmtb1DcAmt());
|
|
|
- refundOrder.setRfTmtb2Amt(obj.getTmtb2DcAmt());
|
|
|
- refundOrder.setRfGoodsCpnAmt(obj.getGoodsCpnDcAmt());
|
|
|
- refundOrder.setRfCartCpnAmt(obj.getCartCpnDcAmt());
|
|
|
- refundOrder.setRfPntAmt(obj.getPntAmt());
|
|
|
- refundOrder.setRfPrePntAmt(obj.getPrePntDcAmt());
|
|
|
- refundOrder.setRfGfcdUseAmt(obj.getGfcdUseAmt());
|
|
|
-
|
|
|
- refundOrder.setRaNo(mav.get("accountNo").toString());
|
|
|
- refundOrder.setRaNm(mav.get("accountNm").toString());
|
|
|
- refundOrder.setRaBank(mav.get("bankCd").toString());
|
|
|
-
|
|
|
- orderChangeDao.createRefund(refundOrder);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return mav;
|
|
|
+ public List<Order> getOrderChangeDetailList(Order order) {
|
|
|
+ return orderChangeDao.getOrderChangeDetailList(order);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 취소신청철회 (admin)
|
|
|
* @param Order
|
|
|
@@ -279,6 +129,7 @@ public class TscOrderChangeService {
|
|
|
order.setOrdDtlStat(TscConstants.OrderChangeStat.CANCEL_CANCEL.value());
|
|
|
order.setRegNo(userNo);
|
|
|
order.setUpdNo(userNo);
|
|
|
+ order.setDelYn("Y");
|
|
|
|
|
|
// 1. 주문변경정보 (TB_ORDER_CHANGE_DTL(수정))
|
|
|
orderChangeDao.updateOrderChangeDtlCancel(order);
|
|
|
@@ -286,48 +137,12 @@ public class TscOrderChangeService {
|
|
|
// 2. 주문정보 이력 등록 (TB_ORDER_DETAIL_HST(등록))
|
|
|
orderChangeDao.createOrderDtlHstCancel(order);
|
|
|
|
|
|
- // To Do List
|
|
|
+ // TODO
|
|
|
// 3. PG 실행 (취소시 추가결제금액 취소처리)
|
|
|
|
|
|
return mav;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 취소신청승인 (admin)
|
|
|
- * @param Order
|
|
|
- * @return Order
|
|
|
- * @author jsh77b
|
|
|
- * @since 2021. 01. 19
|
|
|
- */
|
|
|
- @Transactional("shopTxnManager")
|
|
|
- public GagaMap cnclcnclComplete(GagaMap mav, int userNo) {
|
|
|
-
|
|
|
- // 1. 환불금액계산
|
|
|
-
|
|
|
- // 2. 사용포인트원복 (TB_CUST_POINT(수정), TB_CUST_POINT_HST(등록))
|
|
|
-
|
|
|
- // 3. 사용쿠폰원복 (TB_CUST_COUPON(수정))
|
|
|
-
|
|
|
- // 4. 상품권금액원복 (TB_CUST_GIFTCARD(수정), TB_CUST_GIFTCARD_HST(등록))
|
|
|
-
|
|
|
- // 5. 사은품취소 (TB_ORD_FREEGIFT(수정), TB_ORD_FREEGIFT(등록), TB_ORD_FREEGIFT_VAL(수정))
|
|
|
-
|
|
|
- // 6. 주문정보 수정 (TB_ORDER_DETAIL(수정), TB_ORDER_DETAIL_HST(등록), TB_ORDER_DETAIL_ITEM(수정), TB_ORDER_DETAIL_ITEM_HST(등록))
|
|
|
-
|
|
|
- // 7. 재고정보 (TB_SELL_QTY(등록))
|
|
|
-
|
|
|
- // 8. 주문변경정보 (TB_ORDER_CHANGE(수정), TB_ORDER_CHANGE_DTL(수정), TB_REFUND(수정))
|
|
|
-
|
|
|
- // PG 결제 금액 체크
|
|
|
- // 9. PG 실행
|
|
|
-
|
|
|
- // 10. 결제정보 (TB_PAYMENT(등록))
|
|
|
-
|
|
|
- // 11. 추가배송비발생 (TB_PAYMENT(등록))
|
|
|
-
|
|
|
- return mav;
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 취소완료 (admin, front, batch(soldout), batch(gift), batch(napy), batch(extmall))
|
|
|
* @param Order
|
|
|
@@ -343,7 +158,7 @@ public class TscOrderChangeService {
|
|
|
//userNo = userNo;
|
|
|
|
|
|
// 2. 취소요정정보목록
|
|
|
- List<Order> cancelReqList = (List<Order>) mav.get("cnclRtnList"); // 취소요청 목록
|
|
|
+ //List<Order> cancelReqList = (List<Order>) mav.get("cnclRtnList"); // 취소요청 목록
|
|
|
List<Order> cancelOrderRefundList = (List<Order>) mav.get("cancelOrderRefundList"); // 취소환불금액 목록 (주문상세단품 단위)
|
|
|
List<Order> cancelDelvRefundList = (List<Order>) mav.get("cancelDelvRefundList"); // 취소환불배송금액 목록 (DELV_FEE_CD 단위)
|
|
|
|
|
|
@@ -365,8 +180,8 @@ public class TscOrderChangeService {
|
|
|
cancelOrderRefundPo.setUpdNo(userNo);
|
|
|
|
|
|
// 2020.01.05 추후 무통장입금전 전체 취소시 분기 로직 추가 예정
|
|
|
- // 2021.01.26 취소완료일때실행
|
|
|
- if ("cnclComplete".equals(reqGbn)) {
|
|
|
+ // 2021.01.26 취소완료, 취소신청완료(취소승인) 일때실행
|
|
|
+ if ("cnclComplete".equals(reqGbn) || "cnclReqComplete".equals(reqGbn)) {
|
|
|
if ("Y".equals(allCanYn)) {
|
|
|
cancelOrderRefundPo.setOrdDtlStat(TscConstants.OrderDetailStat.PAYMENT_BEFORE_CANCEL.value()); // 결제전주문취소 (공통코드:G685)
|
|
|
} else {
|
|
|
@@ -377,9 +192,9 @@ public class TscOrderChangeService {
|
|
|
// 4.1 취소수량이 존재하면 주문상세단품정보 수정 및 주문상세단품이력정보 등록
|
|
|
if (cancelOrderRefundPo.getOrdCanChgQty() > 0) {
|
|
|
|
|
|
- // 2021.01.26 취소완료일때실행
|
|
|
+ // 2021.01.26 취소완료, 취소신청완료(취소승인) 일때실행
|
|
|
// 4.2 주문상세단품정보수정 (TB_ORDER_DETAIL_ITEM)
|
|
|
- if ("cnclComplete".equals(reqGbn)) {
|
|
|
+ if ("cnclComplete".equals(reqGbn) || "cnclReqComplete".equals(reqGbn)) {
|
|
|
orderChangeDao.updateOrderDetailItem(cancelOrderRefundPo);
|
|
|
|
|
|
|
|
|
@@ -437,7 +252,10 @@ public class TscOrderChangeService {
|
|
|
orderChange.setChgerEmail(chgerEmail);
|
|
|
orderChange.setChgerRtnMemo("");
|
|
|
|
|
|
- orderChangeDao.createOrderChange(orderChange);
|
|
|
+ // 2021.01.26 취소완료, 취소신청 일때실행
|
|
|
+ if ("cnclComplete".equals(reqGbn) || "cnclReq".equals(reqGbn)) {
|
|
|
+ orderChangeDao.createOrderChange(orderChange);
|
|
|
+ }
|
|
|
|
|
|
// 5.3 주문상세단위 취소정보
|
|
|
for (int j=0 ; j<cancelOrderDetailList.size() ; j++) {
|
|
|
@@ -448,9 +266,9 @@ public class TscOrderChangeService {
|
|
|
// 5.3.0 DEVL_FEE_CD 단위로 주문상세 정보 처리
|
|
|
if (obj.getDelvFeeCd().equals(vo.getDelvFeeCd())) {
|
|
|
|
|
|
- // 2021.01.26 취소완료일때실행
|
|
|
+ // 2021.01.26 취소완료, 취소신청완료 일때실행
|
|
|
// 2020.01.05 추후 무통장입금전 전체 취소시 분기로직 추가 예정
|
|
|
- if ("cnclComplete".equals(reqGbn)) {
|
|
|
+ if ("cnclComplete".equals(reqGbn) || "cnclReqComplete".equals(reqGbn)) {
|
|
|
if ("Y".equals(allCanYn)) {
|
|
|
vo.setOrdDtlStat(TscConstants.OrderDetailStat.PAYMENT_BEFORE_CANCEL.value()); // 결제전주문취소
|
|
|
} else {
|
|
|
@@ -463,9 +281,9 @@ public class TscOrderChangeService {
|
|
|
// 5.3.1 주문변경상세정보 이력등록
|
|
|
orderChangeDao.createOrderDetailHstCnclRtn(vo);
|
|
|
|
|
|
- // 2021.01.26 취소완료일때실행
|
|
|
+ // 2021.01.26 취소완료, 취소신청완료 일때실행
|
|
|
// 5.3.2 주문변경상세정보 수정
|
|
|
- if ("cnclComplete".equals(reqGbn)) {
|
|
|
+ if ("cnclComplete".equals(reqGbn) || "cnclReqComplete".equals(reqGbn)) {
|
|
|
orderChangeDao.updateOrderDetail(vo);
|
|
|
}
|
|
|
|
|
|
@@ -481,18 +299,35 @@ public class TscOrderChangeService {
|
|
|
// 2021.01.26 취소완료일때실행
|
|
|
if ("cnclComplete".equals(reqGbn)) {
|
|
|
changeDetailPo.setChgStat(TscConstants.OrderChangeStat.CANCEL_COMPLETE.value()); // 취소완료
|
|
|
- } else {
|
|
|
- changeDetailPo.setChgStat(TscConstants.OrderChangeStat.CANCEL.value()); // 취소신청
|
|
|
+ orderChangeDao.createOrderChangeDetail(changeDetailPo);
|
|
|
+ }
|
|
|
+ // 2021.01.26 취소신청완료일때실행
|
|
|
+ else if ("cnclReqComplete".equals(reqGbn)) {
|
|
|
+ Order order = new Order();
|
|
|
+ order.setOrdNo(mav.getInt("ordNo"));
|
|
|
+ order.setOrdChgSq(mav.getInt("ordChgSq"));
|
|
|
+ order.setOrdDtlStat(TscConstants.OrderChangeStat.CANCEL_COMPLETE.value());
|
|
|
+ order.setUpdNo(userNo);
|
|
|
+ order.setDelYn("N");
|
|
|
+ orderChangeDao.updateOrderChangeDtlCancel(order);
|
|
|
+ }
|
|
|
+ // 2021.01.26 취소신청일때실행
|
|
|
+ else {
|
|
|
+ changeDetailPo.setChgStat(TscConstants.OrderChangeStat.CANCEL.value()); // 취소신청
|
|
|
+ orderChangeDao.createOrderChangeDetail(changeDetailPo);
|
|
|
}
|
|
|
-
|
|
|
- orderChangeDao.createOrderChangeDetail(changeDetailPo);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 2021.01.26 취소완료일때실행
|
|
|
+ // 2021.01.26 취소완료, 취소신청완료 일때실행
|
|
|
// 5.31 상품재고원복 (TB_SELL_QTY 등록(취소,반품))
|
|
|
+ orderChange.setSellGb("11");
|
|
|
if ("cnclComplete".equals(reqGbn)) {
|
|
|
orderChangeDao.createSellQty(orderChange);
|
|
|
+ } else if ("cnclReqComplete".equals(reqGbn)) {
|
|
|
+ orderChange.setOrdNo(mav.getInt("ordNo"));
|
|
|
+ orderChange.setOrdChgSq(mav.getInt("ordChgSq"));
|
|
|
+ orderChangeDao.createSellQty(orderChange);
|
|
|
}
|
|
|
|
|
|
// 5.4 환불결제정보 등록 (업체별 & 배송정책별) 단위
|
|
|
@@ -520,8 +355,8 @@ public class TscOrderChangeService {
|
|
|
paymentOrder.setRegNo(userNo);
|
|
|
paymentOrder.setUpdNo(userNo);
|
|
|
|
|
|
- // 2021.01.26 취소완료일때실행
|
|
|
- if ("cnclComplete".equals(reqGbn)) {
|
|
|
+ // 2021.01.26 취소완료, 취소신청완료 일때실행
|
|
|
+ if ("cnclComplete".equals(reqGbn) || "cnclReqComplete".equals(reqGbn)) {
|
|
|
orderChangeDao.createPayment(paymentOrder);
|
|
|
}
|
|
|
|
|
|
@@ -547,7 +382,10 @@ public class TscOrderChangeService {
|
|
|
refundOrder.setRaNm(mav.get("accountNm").toString());
|
|
|
refundOrder.setRaBank(mav.get("bankCd").toString());
|
|
|
|
|
|
- orderChangeDao.createRefund(refundOrder);
|
|
|
+ // 2021.01.26 취소완료, 취소신청 일때실행
|
|
|
+ if ("cnclComplete".equals(reqGbn) || "cnclReq".equals(reqGbn)) {
|
|
|
+ orderChangeDao.createRefund(refundOrder);
|
|
|
+ }
|
|
|
|
|
|
// 5.6 결제금액이 무료배송금액보다 작으면 배송비 신규 등록
|
|
|
if (obj.getAddDelvFee() > 0) {
|
|
|
@@ -564,21 +402,21 @@ public class TscOrderChangeService {
|
|
|
delvFeeOrder.setRegNo(userNo);
|
|
|
delvFeeOrder.setUpdNo(userNo);
|
|
|
|
|
|
- // 2021.01.26 취소완료일때실행
|
|
|
- if ("cnclComplete".equals(reqGbn)) {
|
|
|
+ // 2021.01.26 취소완료, 취소신청완료일때실행
|
|
|
+ if ("cnclComplete".equals(reqGbn) || "cnclReqComplete".equals(reqGbn)) {
|
|
|
orderChangeDao.createDeliveryFee(delvFeeOrder);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // To Do List
|
|
|
+ // TODO
|
|
|
// 9. 포인트원복 (사용포인트, 주문상세단위)
|
|
|
|
|
|
- // To Do List
|
|
|
+ // TODO
|
|
|
// 10. 쿠폰원복 (상품쿠폰, 주문상세단위) (전체취소시 장바구니쿠폰, 배송비쿠폰)
|
|
|
|
|
|
- // To Do List
|
|
|
+ // TODO
|
|
|
// 11. 상품권원복
|
|
|
|
|
|
// 12. 사은품 전체 취소 (전체취소시 적용) 추후 사은품 관련 취소 로직 개발 예정
|
|
|
@@ -587,10 +425,10 @@ public class TscOrderChangeService {
|
|
|
//freegiftOrder.setUpdNo(userNo);
|
|
|
//orderChangeDao.updateOrdFreegiftDel(freegiftOrder);
|
|
|
|
|
|
- // To Do List
|
|
|
+ // TODO
|
|
|
// 13. PG 연동
|
|
|
|
|
|
- // To Do List
|
|
|
+ // TODO
|
|
|
// 14. 취소 완료 알림톡 발송 에정
|
|
|
|
|
|
//int a = 100/0;
|
|
|
@@ -794,32 +632,11 @@ public class TscOrderChangeService {
|
|
|
result.set("status", GagaResponseStatus.FAIL.getCode());
|
|
|
|
|
|
// 교환 기본 정보
|
|
|
- int ordNo = excReq.getOrdNo(); // 주문번호
|
|
|
- String isCustomer = excReq.getIsCustomer(); // 귀책사유
|
|
|
- String wdGb = excReq.getWdGb(); // 회수구분 (D:직접배송, W:회수요청)
|
|
|
- String chgMemo = excReq.getChgMemo(); // 교환메모
|
|
|
int addPayCost = excReq.getAddPayCost(); // 추가배송비
|
|
|
+ String wdGb = excReq.getWdGb(); // 회수구분
|
|
|
Integer regNo = excReq.getRegNo(); // 등록자번호
|
|
|
Integer updNo = excReq.getUpdNo(); // 수정자번호
|
|
|
|
|
|
- // 회수지 정보
|
|
|
- String chgerNm = excReq.getChgerNm();
|
|
|
- String chgerTelno = excReq.getChgerTelno();
|
|
|
- String chgerPhnno = excReq.getChgerPhnno();
|
|
|
- String chgerEmail = excReq.getChgerEmail();
|
|
|
- String chgerZipcode = excReq.getChgerZipcode();
|
|
|
- String chgerBaseAddr = excReq.getChgerBaseAddr();
|
|
|
- String chgerDtlAddr = excReq.getChgerDtlAddr();
|
|
|
-
|
|
|
- // 교환지 정보
|
|
|
- String recipNm = excReq.getRecipNm();
|
|
|
- String recipTelno = excReq.getRecipTelno();
|
|
|
- String recipPhnno = excReq.getRecipPhnno();
|
|
|
- String recipEmail = excReq.getRecipEmail();
|
|
|
- String recipZipcode = excReq.getRecipZipcode();
|
|
|
- String recipBaseAddr = excReq.getRecipBaseAddr();
|
|
|
- String recipDtlAddr = excReq.getRecipDtlAddr();
|
|
|
-
|
|
|
// 교환신청 목록 설정
|
|
|
Collection<Order> excReqList = excReq.getCancelReqList();
|
|
|
|
|
|
@@ -844,25 +661,33 @@ public class TscOrderChangeService {
|
|
|
deliveryAddr.setRecipBaseAddr(excReq.getRecipBaseAddr());
|
|
|
deliveryAddr.setRecipDtlAddr(excReq.getRecipDtlAddr());
|
|
|
deliveryAddr.setDelvMemo(excReq.getDelvMemo());
|
|
|
- deliveryAddr.setRegNo(excReq.getRegNo());
|
|
|
- deliveryAddr.setUpdNo(excReq.getUpdNo());
|
|
|
+ deliveryAddr.setRegNo(regNo);
|
|
|
+ deliveryAddr.setUpdNo(updNo);
|
|
|
|
|
|
orderDao.createDeliveryAddr(deliveryAddr);
|
|
|
|
|
|
+ // 생성된 delvAddrSq 등록
|
|
|
int delvAddrSq = deliveryAddr.getDelvAddrSq();
|
|
|
|
|
|
- // 3. TB_ORDER_CHANGE 등록
|
|
|
+ // 교환대상 정보 등록
|
|
|
int preOrdDtlNo = 0;
|
|
|
String preDelvFeeCd = "";
|
|
|
int ordChgSq = 0;
|
|
|
+ int exchangeOrdDtlNo = 0;
|
|
|
+
|
|
|
for (Order order : excReqList) {
|
|
|
String delvFeeCd = order.getDelvFeeCd();
|
|
|
+ int chgQty = order.getChgQty();
|
|
|
+ String ordChgOpt = order.getOrdChgOpt();
|
|
|
+ int ordDtlNo = order.getOrdDtlNo();
|
|
|
|
|
|
if (!preDelvFeeCd.equals(delvFeeCd)) {
|
|
|
+ // 3. TB_ORDER_CHANGE 등록
|
|
|
OrderChange orderChange = new OrderChange();
|
|
|
orderChange.setChgGb(TscConstants.OrderChangeGb.EXCHANGE.value());
|
|
|
orderChange.setChgReason(excReq.getChgReason());
|
|
|
orderChange.setChgMemo(excReq.getChgMemo());
|
|
|
+ // orderChange.setWdGb(wdGb);
|
|
|
orderChange.setChgerNm(excReq.getChgerNm());
|
|
|
orderChange.setChgerPhnno(excReq.getChgerPhnno());
|
|
|
orderChange.setChgerTelno(excReq.getChgerTelno());
|
|
|
@@ -871,10 +696,10 @@ public class TscOrderChangeService {
|
|
|
orderChange.setChgerBaseAddr(excReq.getChgerBaseAddr());
|
|
|
orderChange.setChgerDtlAddr(excReq.getChgerDtlAddr());
|
|
|
orderChange.setChgerRtnMemo(excReq.getChgerRtnMemo());
|
|
|
- orderChange.setAddPayCost(excReq.getAddPayCost());
|
|
|
+ orderChange.setAddPayCost(addPayCost);
|
|
|
orderChange.setAddPayAmt(excReq.getAddPayAmt());
|
|
|
- orderChange.setRegNo(excReq.getRegNo());
|
|
|
- orderChange.setUpdNo(excReq.getUpdNo());
|
|
|
+ orderChange.setRegNo(regNo);
|
|
|
+ orderChange.setUpdNo(updNo);
|
|
|
|
|
|
orderChangeDao.createOrderChange(orderChange);
|
|
|
|
|
|
@@ -882,62 +707,89 @@ public class TscOrderChangeService {
|
|
|
|
|
|
// 생성된 ordChgSq 설정
|
|
|
ordChgSq = orderChange.getOrdChgSq();
|
|
|
+
|
|
|
+ log.info("############# ordChgSq >>> {} ##############", ordChgSq);
|
|
|
+
|
|
|
+ // 4. TB_DELIVERY_FEE 추가배송비 등록
|
|
|
+ int delvFee = 0;
|
|
|
|
|
|
- // 3. TB_DELIVERY_FEE 추가배송비 등록
|
|
|
+ if ("true".equals(excReq.getIsCustomer())) {
|
|
|
+ delvFee = "W".equals(wdGb) ? order.getExcDelvFee() : order.getRtnDelvFee();
|
|
|
+ }
|
|
|
+
|
|
|
+ Order deliveryFee = new Order();
|
|
|
+ deliveryFee.setOrdNo(excReq.getOrdNo());
|
|
|
+ deliveryFee.setDelvFeeGb(TscConstants.DeliveryFeeGb.EXCHANGE_DELIVERY_FEE.value());
|
|
|
+ deliveryFee.setDelvFeeCd(delvFeeCd);
|
|
|
+ deliveryFee.setDelvFee(delvFee);
|
|
|
+ deliveryFee.setRealDelvAmt(delvFee);
|
|
|
+ deliveryFee.setOrdChgSq(ordChgSq);
|
|
|
+ deliveryFee.setSupplyCompCd(order.getSupplyCompCd());
|
|
|
+ deliveryFee.setRegNo(regNo);
|
|
|
+ deliveryFee.setUpdNo(updNo);
|
|
|
+
|
|
|
+ orderChangeDao.createDeliveryFee(deliveryFee);
|
|
|
}
|
|
|
|
|
|
- // 2. 교환대상 정보 등록
|
|
|
- int ordDtlNo = order.getOrdDtlNo();
|
|
|
- int exchangeOrdDtlNo = 0;
|
|
|
-
|
|
|
if (preOrdDtlNo != ordDtlNo) {
|
|
|
- // 2-1. TB_ORDER_DETAIL 등록
|
|
|
+ // 5. TB_ORDER_DETAIL 등록
|
|
|
Order ordDtl = new Order();
|
|
|
ordDtl.setOrdDtlNo(ordDtlNo);
|
|
|
ordDtl.setOrdDtlStat(ordDtlStat);
|
|
|
- ordDtl.setChgQty(order.getChgQty());
|
|
|
+ ordDtl.setOptCd2(ordChgOpt);
|
|
|
+ ordDtl.setChgQty(chgQty);
|
|
|
ordDtl.setDelvAddrSq(delvAddrSq);
|
|
|
- ordDtl.setRegNo(order.getRegNo());
|
|
|
- ordDtl.setUpdNo(order.getUpdNo());
|
|
|
+ ordDtl.setRegNo(regNo);
|
|
|
+ ordDtl.setUpdNo(updNo);
|
|
|
+
|
|
|
orderDao.createOrderDetailForExchange(ordDtl);
|
|
|
|
|
|
- // 2-2. TB_ORDER_DETAIL_HST 등록
|
|
|
- orderDao.createOrderDetailHstForExchange(ordDtl);
|
|
|
-
|
|
|
- preOrdDtlNo = ordDtlNo;
|
|
|
+ // 생성된 ordDtlNo 설정
|
|
|
exchangeOrdDtlNo = ordDtl.getExchangeOrdDtlNo();
|
|
|
|
|
|
- // 2-3. TB_ORDER_CHANGE_DETAIL 등록
|
|
|
+ log.info("############# exchangeOrdDtlNo >>> {} ##############", exchangeOrdDtlNo);
|
|
|
+
|
|
|
+ // 6. TB_ORDER_DETAIL_HST 등록
|
|
|
+ orderDao.createOrderDetailHstForExchange(ordDtl);
|
|
|
+
|
|
|
+ // 7. TB_ORDER_CHANGE_DETAIL 등록
|
|
|
OrderChange orderChangeDetail = new OrderChange();
|
|
|
orderChangeDetail.setOrdChgSq(ordChgSq);
|
|
|
orderChangeDetail.setOrdDtlNo(ordDtlNo);
|
|
|
- orderChangeDetail.setChgQty(order.getChgQty());
|
|
|
+ orderChangeDetail.setChgQty(chgQty);
|
|
|
orderChangeDetail.setChgStat(orderChangeStat);
|
|
|
orderChangeDetail.setChgOrdDtlNo(exchangeOrdDtlNo);
|
|
|
- orderChangeDetail.setRegNo(order.getRegNo());
|
|
|
- orderChangeDetail.setUpdNo(order.getUpdNo());
|
|
|
+ orderChangeDetail.setRegNo(regNo);
|
|
|
+ orderChangeDetail.setUpdNo(updNo);
|
|
|
+
|
|
|
+ orderChangeDao.createOrderChangeDetail(orderChangeDetail);
|
|
|
+
|
|
|
+ preOrdDtlNo = ordDtlNo;
|
|
|
}
|
|
|
|
|
|
- // 2-4. TB_ORDER_DETAIL_ITEM 등록
|
|
|
+ // 8. TB_ORDER_DETAIL_ITEM 등록
|
|
|
Order ordDtlItem = new Order();
|
|
|
ordDtlItem.setOrdDtlItemSq(order.getOrdDtlItemSq());
|
|
|
ordDtlItem.setOrdDtlNo(ordDtlNo);
|
|
|
ordDtlItem.setOrdDtlStat(ordDtlStat);
|
|
|
- ordDtlItem.setOrdChgOpt(order.getOrdChgOpt());
|
|
|
- ordDtlItem.setRegNo(order.getRegNo());
|
|
|
- ordDtlItem.setUpdNo(order.getUpdNo());
|
|
|
+ ordDtlItem.setOrdChgOpt(ordChgOpt);
|
|
|
+ ordDtlItem.setRegNo(regNo);
|
|
|
+ ordDtlItem.setUpdNo(updNo);
|
|
|
|
|
|
orderDao.createOrderDetailItemForExchange(ordDtlItem);
|
|
|
|
|
|
- // 2-5. TB_ORDER_DETAIL_ITEM_HST 등록
|
|
|
+ // 9. TB_ORDER_DETAIL_ITEM_HST 등록
|
|
|
orderDao.createOrderDetailItemHstForExchange(ordDtlItem);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
- // 4. TB_SELL_QTY 등록
|
|
|
-
|
|
|
+ // 10. TB_SELL_QTY 등록
|
|
|
+ OrderChange sellQty = new OrderChange();
|
|
|
+ sellQty.setSellGb(TscConstants.SellGb.EXCHANGE.value());
|
|
|
+ sellQty.setRegNo(regNo);
|
|
|
+ sellQty.setOrdChgSq(ordChgSq);
|
|
|
+
|
|
|
+ orderChangeDao.createSellQty(sellQty);
|
|
|
+
|
|
|
result.set("status", GagaResponseStatus.SUCCESS.getCode());
|
|
|
|
|
|
return result;
|
|
|
@@ -1016,4 +868,225 @@ public class TscOrderChangeService {
|
|
|
|
|
|
return mav;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 취소신청 (admin, npay, extmall) (사용안함)
|
|
|
+ * @param Order
|
|
|
+ * @return Order
|
|
|
+ * @author jsh77b
|
|
|
+ * @since 2021. 01. 19
|
|
|
+ */
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
+ @Transactional("shopTxnManager")
|
|
|
+ public GagaMap cnclReq(GagaMap mav, int userNo) {
|
|
|
+
|
|
|
+ // 1. 세션회원조회
|
|
|
+ //userNo = userNo;
|
|
|
+
|
|
|
+ // 2. 변경요정정보목록
|
|
|
+ List<Order> cancelReqList = (List<Order>) mav.get("cnclRtnList"); // 변경요청 목록
|
|
|
+ List<Order> cancelOrderRefundList = (List<Order>) mav.get("cancelOrderRefundList"); // 변경환불금액 목록 (주문상세단품 단위)
|
|
|
+ List<Order> cancelDelvRefundList = (List<Order>) mav.get("cancelDelvRefundList"); // 변경환불배송금액 목록 (DELV_FEE_CD 단위)
|
|
|
+
|
|
|
+ // 3. 변경신청정보
|
|
|
+ int ordNo = Integer.parseInt(mav.getString("ordNo").toString()); // 주문번호
|
|
|
+ String chgReason = mav.getString("chgReason").toString(); // 변경사유
|
|
|
+ String chgMemo = mav.getString("chgMemo").toString(); // 변경메모
|
|
|
+ String allCanYn = mav.getString("allCanYn").toString(); // 무통장입금전 전체취소 여부
|
|
|
+ String isCustomer = mav.getString("isCustomer").toString(); // 귀책사유 (고객, 회사)
|
|
|
+ String chgGb = TscConstants.OrderChangeGb.CANCEL.value(); // 취소요청
|
|
|
+ String reqGbn = mav.get("reqGbn").toString(); // 신청구분
|
|
|
+
|
|
|
+ // 4. 주문상세단품정보등록,변경 (단품단위)
|
|
|
+ List<Order> cancelOrderDetailList = new ArrayList<Order>();
|
|
|
+
|
|
|
+ for (int i=0 ; i<cancelOrderRefundList.size() ; i++) {
|
|
|
+ Order cancelOrderRefundPo = cancelOrderRefundList.get(i);
|
|
|
+ cancelOrderRefundPo.setRegNo(userNo);
|
|
|
+ cancelOrderRefundPo.setUpdNo(userNo);
|
|
|
+
|
|
|
+ // 4.1 취소수량이 존재하면 주문상세단품정보 수정 및 주문상세단품이력정보 등록
|
|
|
+ if (cancelOrderRefundPo.getOrdCanChgQty() > 0) {
|
|
|
+ // 4.4 주문변경 상세 단위로 데이타 등록 (ORD_DTL_NO)
|
|
|
+ Boolean temp = false;
|
|
|
+ if (cancelOrderDetailList.size() > 0) {
|
|
|
+ for (int j=0 ; j<cancelOrderDetailList.size() ; j++) {
|
|
|
+ if (cancelOrderRefundPo.getOrdDtlNo() == cancelOrderDetailList.get(j).getOrdDtlNo()) {
|
|
|
+ temp = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 4.5 주문상세단위 데이타 저장(주문상세 단위)
|
|
|
+ if (!temp) {
|
|
|
+ cancelOrderDetailList.add(cancelOrderRefundPo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 2021.01.21 DELV_FEE 배송번호 단위로 TB_ORDER_CHANGE 생성
|
|
|
+ // 4. 주문변경정보, 주문정보, 환불정보 (업체코드 & 배송정책코드)
|
|
|
+ for (int i=0 ; i<cancelDelvRefundList.size() ; i++) {
|
|
|
+
|
|
|
+ Order obj = cancelDelvRefundList.get(i);
|
|
|
+
|
|
|
+ // 취소금액이 있을때 처리
|
|
|
+ if (obj.getCnclRtnAmt() > 0) {
|
|
|
+
|
|
|
+ // 5.1 주문변경 기본정보 등록
|
|
|
+ OrderChange orderChange = new OrderChange();
|
|
|
+ orderChange.setOrdNo(ordNo);
|
|
|
+ orderChange.setChgGb(chgGb);
|
|
|
+ orderChange.setChgReason(chgReason);
|
|
|
+ orderChange.setChgMemo(chgMemo);
|
|
|
+ orderChange.setAddPayCost(0);
|
|
|
+ orderChange.setAddPayAmt(0);
|
|
|
+ orderChange.setRegNo(userNo);
|
|
|
+ orderChange.setUpdNo(userNo);
|
|
|
+
|
|
|
+ // 5.2 주문변경 추가정보 등록
|
|
|
+ String chgerNm = mav.getString("chgerNm").toString(); // 변경자
|
|
|
+ String chgerPhnno = mav.getString("chgerPhnno").toString(); // 변경핸드폰번호
|
|
|
+ String chgerTelno = mav.getString("chgerTelno").toString(); // 변경전화번호
|
|
|
+ String chgerEmail = mav.getString("chgerEmail").toString(); // 변경이메일
|
|
|
+
|
|
|
+ orderChange.setChgerNm(chgerNm);
|
|
|
+ orderChange.setChgerPhnno(chgerPhnno);
|
|
|
+ orderChange.setChgerTelno(chgerTelno);
|
|
|
+ orderChange.setChgerEmail(chgerEmail);
|
|
|
+ orderChange.setChgerRtnMemo("");
|
|
|
+
|
|
|
+ orderChangeDao.createOrderChange(orderChange);
|
|
|
+
|
|
|
+ // 5.3 주문상세단위 취소정보
|
|
|
+ for (int j=0 ; j<cancelOrderDetailList.size() ; j++) {
|
|
|
+ Order vo = cancelOrderRefundList.get(j);
|
|
|
+ vo.setRegNo(userNo);
|
|
|
+ vo.setUpdNo(userNo);
|
|
|
+ vo.setOrdDtlStat(TscConstants.OrderChangeStat.CANCEL.value()); // 취소신청
|
|
|
+
|
|
|
+ // 5.3.0 DEVL_FEE_CD 단위로 주문상세 정보 처리
|
|
|
+ if (obj.getDelvFeeCd().equals(vo.getDelvFeeCd())) {
|
|
|
+
|
|
|
+ // 5.3.1 주문변경상세정보 이력등록
|
|
|
+ orderChangeDao.createOrderDetailHstCnclRtn(vo);
|
|
|
+
|
|
|
+ // * 주문상세단위가 아닌 주문상세단품단위로 데이타가 처리되고 있었음 주문상세단위로 수정
|
|
|
+ // 5.3 주문변경상세정보 등록
|
|
|
+ OrderChange changeDetailPo = new OrderChange();
|
|
|
+ changeDetailPo.setOrdChgSq(orderChange.getOrdChgSq());
|
|
|
+ changeDetailPo.setOrdDtlNo(vo.getOrdDtlNo());
|
|
|
+ changeDetailPo.setChgQty(vo.getOrdCanChgQty());
|
|
|
+ changeDetailPo.setChgStat(TscConstants.OrderChangeStat.CANCEL.value()); // 취소신청
|
|
|
+ changeDetailPo.setRegNo(userNo);
|
|
|
+ changeDetailPo.setUpdNo(userNo);
|
|
|
+
|
|
|
+ orderChangeDao.createOrderChangeDetail(changeDetailPo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 5.4 환불결제정보 등록 (업체별 & 배송정책별) 단위
|
|
|
+ // 취소, 반품 사유에 따른 추가배송비, 반품배송비를 환불금액에서 추가, 제외 할 수 있다.
|
|
|
+ int spanRealCnclRtnAmt = obj.getCnclRtnAmt(); // 취소금액합계
|
|
|
+ int sumDeliveryFee = obj.getDelvFee(); // 배송비합계
|
|
|
+ int spanTotDeliveryFee = obj.getAddDelvFee(); // 추가배송비합계
|
|
|
+ int spanTotRtnDelvFee = obj.getRtnDelvFee(); // 반품배송비합계
|
|
|
+ int spanRefundAmt = 0;
|
|
|
+
|
|
|
+ // 고객사유 : 환불금액계산 = (취소금액 + 배송비) - 추가배송비
|
|
|
+ if ("true".equals(isCustomer)) {
|
|
|
+ spanRefundAmt = (spanRealCnclRtnAmt + sumDeliveryFee) - spanTotDeliveryFee - spanTotRtnDelvFee;
|
|
|
+ }
|
|
|
+ // 회사사유 : 환불금액계산 = (취소금액 + 배송비)
|
|
|
+ else {
|
|
|
+ spanRefundAmt = (spanRealCnclRtnAmt + sumDeliveryFee);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 5.4 환불금액 등록
|
|
|
+ Order refundOrder = new Order();
|
|
|
+ refundOrder.setOrdNo(ordNo);
|
|
|
+ refundOrder.setPaySq(0);
|
|
|
+ refundOrder.setOrdChgSq(orderChange.getOrdChgSq());
|
|
|
+ refundOrder.setRegNo(userNo);
|
|
|
+
|
|
|
+ // 2021.01.25 TB_REFUND 정보 등록을 위해서 분리 작업
|
|
|
+ refundOrder.setRefundAmt(spanRefundAmt);
|
|
|
+ refundOrder.setRfCpn1Amt(obj.getCpn1DcAmt());
|
|
|
+ refundOrder.setRfTmtb1Amt(obj.getTmtb1DcAmt());
|
|
|
+ refundOrder.setRfTmtb2Amt(obj.getTmtb2DcAmt());
|
|
|
+ refundOrder.setRfGoodsCpnAmt(obj.getGoodsCpnDcAmt());
|
|
|
+ refundOrder.setRfCartCpnAmt(obj.getCartCpnDcAmt());
|
|
|
+ refundOrder.setRfPntAmt(obj.getPntAmt());
|
|
|
+ refundOrder.setRfPrePntAmt(obj.getPrePntDcAmt());
|
|
|
+ refundOrder.setRfGfcdUseAmt(obj.getGfcdUseAmt());
|
|
|
+
|
|
|
+ refundOrder.setRaNo(mav.get("accountNo").toString());
|
|
|
+ refundOrder.setRaNm(mav.get("accountNm").toString());
|
|
|
+ refundOrder.setRaBank(mav.get("bankCd").toString());
|
|
|
+
|
|
|
+ orderChangeDao.createRefund(refundOrder);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return mav;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 취소신청승인 (admin) (사용안함)
|
|
|
+ * @param Order
|
|
|
+ * @return Order
|
|
|
+ * @author jsh77b
|
|
|
+ * @since 2021. 01. 19
|
|
|
+ */
|
|
|
+ @Transactional("shopTxnManager")
|
|
|
+ public GagaMap cnclcnclComplete(GagaMap mav, int userNo) {
|
|
|
+
|
|
|
+ // 1. 환불금액계산
|
|
|
+
|
|
|
+ // 2. 사용포인트원복 (TB_CUST_POINT(수정), TB_CUST_POINT_HST(등록))
|
|
|
+
|
|
|
+ // 3. 사용쿠폰원복 (TB_CUST_COUPON(수정))
|
|
|
+
|
|
|
+ // 4. 상품권금액원복 (TB_CUST_GIFTCARD(수정), TB_CUST_GIFTCARD_HST(등록))
|
|
|
+
|
|
|
+ // 5. 사은품취소 (TB_ORD_FREEGIFT(수정), TB_ORD_FREEGIFT(등록), TB_ORD_FREEGIFT_VAL(수정))
|
|
|
+
|
|
|
+ // 6. 주문정보 수정 (TB_ORDER_DETAIL(수정), TB_ORDER_DETAIL_HST(등록), TB_ORDER_DETAIL_ITEM(수정), TB_ORDER_DETAIL_ITEM_HST(등록))
|
|
|
+
|
|
|
+ // 7. 재고정보 (TB_SELL_QTY(등록))
|
|
|
+
|
|
|
+ // 8. 주문변경정보 (TB_ORDER_CHANGE(수정), TB_ORDER_CHANGE_DTL(수정), TB_REFUND(수정))
|
|
|
+
|
|
|
+ // PG 결제 금액 체크
|
|
|
+ // 9. PG 실행
|
|
|
+
|
|
|
+ // 10. 결제정보 (TB_PAYMENT(등록))
|
|
|
+
|
|
|
+ // 11. 추가배송비발생 (TB_PAYMENT(등록))
|
|
|
+
|
|
|
+ return mav;
|
|
|
+ }
|
|
|
}
|