|
|
@@ -109,8 +109,6 @@ public class TscOrderOcmService {
|
|
|
|
|
|
orderDetail.setUploadStat(TscConstants.ExtmallUploadStat.FAIL.value()); // 실패
|
|
|
orderDetail.setOrdNo(null);
|
|
|
- orderDetail.setUploadFailCd(orderDetail.getUploadFailCd());
|
|
|
- orderDetail.setUploadFailReason(orderDetail.getUploadFailReason());
|
|
|
orderOcmDao.updateExtmallOrder(orderDetail);
|
|
|
|
|
|
}else {
|
|
|
@@ -291,11 +289,13 @@ public class TscOrderOcmService {
|
|
|
// 주문등록 전체실패시 상태 업데이트
|
|
|
GagaMap vdMap;
|
|
|
for( ExtmallOrder orderDetail : order.getOrderDetailList()) {
|
|
|
- vdMap = this.checkGoodsInfo(orderDetail);
|
|
|
+
|
|
|
+ if("G022_70".equals(orderDetail.getUploadFailCd())) {
|
|
|
+ vdMap = this.checkGoodsInfo(orderDetail);
|
|
|
+ orderDetail.setOrdNo(vdMap.getInt("ordNo")); // 실패
|
|
|
+ }
|
|
|
+
|
|
|
orderDetail.setUploadStat(TscConstants.ExtmallUploadStat.FAIL.value()); // 실패
|
|
|
- orderDetail.setOrdNo(vdMap.getInt("ordNo")); // 실패
|
|
|
- orderDetail.setUploadFailCd(vdMap.getString("uploadFailCd"));
|
|
|
- orderDetail.setUploadFailReason(vdMap.getString("message"));
|
|
|
orderOcmDao.updateExtmallOrder(orderDetail);
|
|
|
}
|
|
|
}
|
|
|
@@ -455,24 +455,58 @@ public class TscOrderOcmService {
|
|
|
int succCnt = 0;
|
|
|
int stockFailCnt = 0;
|
|
|
|
|
|
- failGoodsAdmMsg += "\n쇼핑몰주문번호: "+order.getExtmallOrderId();
|
|
|
- failGoodsAdmMsg += "\n샵링커주문번호: ";
|
|
|
- for (ExtmallOrder orderDetail : orderDetailList) {
|
|
|
-
|
|
|
- GagaMap resultMap = this.checkGoodsInfo(orderDetail);
|
|
|
-
|
|
|
- orderDetail.setUploadFailCd(resultMap.getString("uploadFailCd"));
|
|
|
- orderDetail.setUploadFailReason(resultMap.getString("message"));
|
|
|
-
|
|
|
- if ("SUCCESS".equals(resultMap.get("message").toString())) {
|
|
|
- succCnt ++;
|
|
|
- }else {
|
|
|
- // 알림톡 발송 할 목록
|
|
|
- if("Y".equals(resultMap.get("sendNotiYn"))){
|
|
|
- failGoods += resultMap.get("goodsNm") + ",";
|
|
|
- failGoodsAdmMsg += orderDetail.getAgentOrderId()+" ,";
|
|
|
- //failGoodsAdmMsg += "\n상품:"+resultMap.get("goodsNm")+"("+resultMap.get("optCd")+ "),";
|
|
|
- stockFailCnt ++;
|
|
|
+ if( order.getRealDelvAmt() < 0 ) {
|
|
|
+ // 배송비 상이 전체 주문실패
|
|
|
+ succCnt = -1;
|
|
|
+ for (ExtmallOrder orderDetail : orderDetailList) {
|
|
|
+ orderDetail.setUploadFailCd(TscConstants.ExtmallUploadFailStat.DELV_FEE.value());
|
|
|
+ }
|
|
|
+
|
|
|
+ }else {
|
|
|
+
|
|
|
+ boolean bool = true;
|
|
|
+ failGoodsAdmMsg += "\n쇼핑몰주문번호: "+order.getExtmallOrderId();
|
|
|
+ failGoodsAdmMsg += "\n샵링커주문번호: ";
|
|
|
+ // sub1 각각의 실패사유 체크
|
|
|
+ for (ExtmallOrder orderDetail : orderDetailList) {
|
|
|
+
|
|
|
+ GagaMap resultMap = this.checkGoodsInfo(orderDetail);
|
|
|
+
|
|
|
+ orderDetail.setUploadFailCd(resultMap.getString("uploadFailCd"));
|
|
|
+ orderDetail.setUploadFailReason(resultMap.getString("message"));
|
|
|
+
|
|
|
+ if ("SUCCESS".equals(resultMap.get("message").toString())) {
|
|
|
+ succCnt ++;
|
|
|
+ }else {
|
|
|
+
|
|
|
+ // 주문전체 실패로 저장 (21.10.07)
|
|
|
+ if( !resultMap.getString("uploadFailCd").equals(TscConstants.ExtmallUploadFailStat.STOCK.value())
|
|
|
+ && !resultMap.getString("uploadFailCd").equals(TscConstants.ExtmallUploadFailStat.ORDER.value()) ) {
|
|
|
+ bool = false;
|
|
|
+ }else {
|
|
|
+ // 알림톡 발송 할 목록
|
|
|
+ if("Y".equals(resultMap.get("sendNotiYn"))){
|
|
|
+ failGoods += resultMap.get("goodsNm") + ",";
|
|
|
+ failGoodsAdmMsg += orderDetail.getAgentOrderId()+" ,";
|
|
|
+ //failGoodsAdmMsg += "\n상품:"+resultMap.get("goodsNm")+"("+resultMap.get("optCd")+ "),";
|
|
|
+ stockFailCnt ++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // sub1 각각의 실패사유 중 재고& 동일주문건을 제외하고는 전체 실패로 저장 하도록 변경(21.10.07)
|
|
|
+ // 실패건은 엑셀업로드를 통한 수동등록해서, 주문건이 하나로 생성되도록 하기 위함
|
|
|
+ if( !bool) {
|
|
|
+ succCnt = -1;
|
|
|
+ failGoods = "";
|
|
|
+ failGoodsAdmMsg = "";
|
|
|
+ stockFailCnt = 0;
|
|
|
+ for (ExtmallOrder orderDetail : orderDetailList) {
|
|
|
+ if("SUCCESS".equals(orderDetail.getUploadFailReason())) {
|
|
|
+ orderDetail.setUploadFailCd(TscConstants.ExtmallUploadFailStat.ETC.value());
|
|
|
+ orderDetail.setUploadFailReason("(정상) 다른 옵션으로 인한 실패");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -560,12 +594,6 @@ public class TscOrderOcmService {
|
|
|
result.put("message", "이미 재고 부족으로 인한 고객 알림 발송이 완료된 건입니다.(동일수집 실패)");
|
|
|
return result;
|
|
|
|
|
|
- } else if( null == dtlOrd.getGoodsCd()) {
|
|
|
- result.put("sendNotiYn", "N"); // 알림톡발송 x
|
|
|
- result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.GOODS.value());
|
|
|
- result.put("message", "상품코드가 잘못되었습니다.");
|
|
|
- return result;
|
|
|
-
|
|
|
} else if( null == dtlOrd.getOptCd()) {
|
|
|
result.put("sendNotiYn", "N"); // 알림톡발송 x
|
|
|
result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.SIZE.value());
|
|
|
@@ -573,6 +601,13 @@ public class TscOrderOcmService {
|
|
|
return result;
|
|
|
|
|
|
}
|
|
|
+ /* 21.10.07 정과장님 제외요청. 상품코드는 필수체크 제외
|
|
|
+ } else if( null == dtlOrd.getGoodsCd()) {
|
|
|
+ result.put("sendNotiYn", "N"); // 알림톡발송 x
|
|
|
+ result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.GOODS.value());
|
|
|
+ result.put("message", "상품코드가 잘못되었습니다.");
|
|
|
+ return result;
|
|
|
+ */
|
|
|
/* 21.09.27 정과장님 제외요청 상품 상태값 상관없이 주문되어야 한다 함.(재고만 체크하도록 변경요청)
|
|
|
else if (TscConstants.GoodsStat.SOLDOUT.value().equals(dtlOrd.getGoodsStat())) {
|
|
|
result.put("goodsNm", dtlOrd.getGoodsNm());
|
|
|
@@ -595,7 +630,7 @@ public class TscOrderOcmService {
|
|
|
if (null == dtlOrd.getSoldoutYn()) {
|
|
|
result.put("goodsNm", dtlOrd.getGoodsNm());
|
|
|
result.put("optCd", dtlOrd.getOptCd());
|
|
|
- result.put("sendNotiYn", "N"); // 알림톡발송 o
|
|
|
+ result.put("sendNotiYn", "N"); // 알림톡발송 x
|
|
|
result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.STOCK.value());
|
|
|
result.put("message", "재고체크 실패했습니다. 새로고침 후 다시 시도해주세요.");
|
|
|
return result;
|