|
|
@@ -51,6 +51,9 @@ public class TscOrderService {
|
|
|
|
|
|
@Autowired
|
|
|
private TscOrderChangeDao orderChangeDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TscOrderChangeService orderChangeService;
|
|
|
|
|
|
@Autowired
|
|
|
private TscPointService pointService;
|
|
|
@@ -2093,39 +2096,54 @@ public class TscOrderService {
|
|
|
// 주문번호별 상세번호, 취소수량 및 주문정보 세팅
|
|
|
List<OrderChange> cancelDataList = new ArrayList<OrderChange>();
|
|
|
for(Order param : params) {
|
|
|
- boolean chkOrd = true;
|
|
|
-
|
|
|
- for(OrderChange cancelData : cancelDataList) {
|
|
|
- if(param.getOrdNo().equals(cancelData.getOrdNo())) {
|
|
|
- chkOrd = false;
|
|
|
- cancelData.getOrdDtlNoList().add(param.getOrdDtlNo());
|
|
|
- cancelData.getCnclRtnReqQtyList().add(param.getCnclRtnQty());
|
|
|
+ if(param.getCnclRtnQty() > 0) {
|
|
|
+ boolean chkOrd = true;
|
|
|
+
|
|
|
+ for(OrderChange cancelData : cancelDataList) {
|
|
|
+ if(param.getOrdNo().equals(cancelData.getOrdNo())) {
|
|
|
+ chkOrd = false;
|
|
|
+ cancelData.getOrdDtlNoList().add(param.getOrdDtlNo());
|
|
|
+ cancelData.getCnclRtnReqQtyList().add(param.getCnclRtnQty());
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- if(chkOrd) {
|
|
|
- OrderChange change = new OrderChange();
|
|
|
- change.setOrdNo(param.getOrdNo());
|
|
|
- change.setCustNo(param.getCustNo());
|
|
|
- change.setOrderNm(param.getOrdNm());
|
|
|
- change.setPgGb(param.getPgGb());
|
|
|
- change.setPayMeans(param.getPayMeans());
|
|
|
- change.setBankCd(param.getBankCd());
|
|
|
- change.setAccountNm(param.getAccountNm());
|
|
|
- change.setAccountNo(param.getAccountNo());
|
|
|
- change.getOrdDtlNoList().add(param.getOrdDtlNo());
|
|
|
- change.getCnclRtnReqQtyList().add(param.getCnclRtnQty());
|
|
|
- cancelDataList.add(change);
|
|
|
+ if(chkOrd) {
|
|
|
+ OrderChange change = new OrderChange();
|
|
|
+ change.setOrdNo(param.getOrdNo());
|
|
|
+ change.setCustNo(param.getCustNo());
|
|
|
+ change.setOrderNm(param.getOrdNm());
|
|
|
+ change.setPgGb(param.getPgGb());
|
|
|
+ change.setPayMeans(param.getPayMeans());
|
|
|
+ change.setBankCd(param.getBankCd());
|
|
|
+ change.setAccountNm(param.getAccountNm());
|
|
|
+ change.setAccountNo(param.getAccountNo());
|
|
|
+ change.getOrdDtlNoList().add(param.getOrdDtlNo());
|
|
|
+ change.getCnclRtnReqQtyList().add(param.getCnclRtnQty());
|
|
|
+ change.setChgReason(TscConstants.OrderCancelReason.SOLDOUT_CANCEL.value());
|
|
|
+ change.setChgReasonNm("품절취소");
|
|
|
+ cancelDataList.add(change);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 리스트로 지정된
|
|
|
+ // 리스트로 지정된 주문상세번호와 취소수량 배열로 변경 후 취소
|
|
|
for(OrderChange change : cancelDataList) {
|
|
|
change.setOrdDtlNoArr(change.getOrdDtlNoList().stream().mapToInt(i->i).toArray());
|
|
|
change.setCnclRtnReqQtyArr(change.getCnclRtnReqQtyList().stream().mapToInt(i->i).toArray());
|
|
|
- }
|
|
|
|
|
|
- // TODO 취소 완료 알림톡 발송 에정
|
|
|
+ // 무통장입금 주문 중 환불계좌정보 없을 경우 취소신청
|
|
|
+ if(TscConstants.PgGb.KCP.value().equals(change.getPgGb()) && TscConstants.PayMeans.BANK_DEPOSIT.value().equals(change.getPayMeans()) && StringUtils.isEmpty(change.getAccountNo())) {
|
|
|
+ // TODO 취소신청
|
|
|
+ log.info("CHECK IN PART CANCEL ORD_DTL_NO_ARR ::::: {} / {} / {}", change.getOrdNo(), change.getOrdDtlNoArr(), change.getAccountNo());
|
|
|
+ } else { // 무통장입금 주문 중 환불계좌정보 없을 경우 제외는 취소처리
|
|
|
+ // 취소완료
|
|
|
+ log.info("CHECK IN PART CANCEL ORD_DTL_NO_ARR ::::: {} / {} / {}", change.getOrdNo(), change.getOrdDtlNoArr(), change.getAccountNo());
|
|
|
+ GagaMap cancelInfo = orderChangeService.orderCancelPreInfo(change);
|
|
|
+
|
|
|
+ // TODO 취소 완료 알림톡 발송 에정
|
|
|
+ //
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
// 결품 취소 후 수량이 남은 경우 배송중처리
|
|
|
for(Order param : params) {
|