|
@@ -300,7 +300,22 @@ public class TscOrderOcmService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 8. 알림톡발송
|
|
|
|
|
|
|
+ // 8. 부분품절상품 - 관리자메모 등록
|
|
|
|
|
+ if ("SUCCESS".equals(result.get("message").toString())) {
|
|
|
|
|
+ if( "PART_SUCCESS".equals(result.getString("sendNotiType"))) {
|
|
|
|
|
+ if( !"".equals(result.getString("failGoods"))) {
|
|
|
|
|
+ // 부분성공 (실패내용 관리자메모)
|
|
|
|
|
+ ExtmallOrder adminMemo = new ExtmallOrder();
|
|
|
|
|
+ adminMemo.setOrdNo(order.getOrdNo());
|
|
|
|
|
+ adminMemo.setMemo("[품절/재고관련 주문 미등록건] :"+result.getString("failGoodsAdmMsg"));
|
|
|
|
|
+ adminMemo.setRegNo(0);
|
|
|
|
|
+
|
|
|
|
|
+ orderOcmDao.createOrderMemo(adminMemo);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 9. 알림톡발송
|
|
|
try {
|
|
try {
|
|
|
if( "N".equals(order.getCnclsmsSendYn())) { // Y:제휴몰에서발송, N:자사몰에서발송
|
|
if( "N".equals(order.getCnclsmsSendYn())) { // Y:제휴몰에서발송, N:자사몰에서발송
|
|
|
|
|
|
|
@@ -430,7 +445,8 @@ public class TscOrderOcmService {
|
|
|
*/
|
|
*/
|
|
|
public GagaMap orderValidationCheck(ExtmallOrder order) {
|
|
public GagaMap orderValidationCheck(ExtmallOrder order) {
|
|
|
GagaMap result = new GagaMap();
|
|
GagaMap result = new GagaMap();
|
|
|
- String failGoods = "";
|
|
|
|
|
|
|
+ String failGoods = ""; // 고객발송 상품내용
|
|
|
|
|
+ String failGoodsAdmMsg = ""; // 주문관리자 메모
|
|
|
|
|
|
|
|
// 1. 주문상세체크
|
|
// 1. 주문상세체크
|
|
|
Collection<ExtmallOrder> orderDetailList = order.getOrderDetailList();
|
|
Collection<ExtmallOrder> orderDetailList = order.getOrderDetailList();
|
|
@@ -451,6 +467,7 @@ public class TscOrderOcmService {
|
|
|
// 알림톡 발송 할 목록
|
|
// 알림톡 발송 할 목록
|
|
|
if("Y".equals(resultMap.get("sendNotiYn"))){
|
|
if("Y".equals(resultMap.get("sendNotiYn"))){
|
|
|
failGoods += resultMap.get("goodsNm") + ",";
|
|
failGoods += resultMap.get("goodsNm") + ",";
|
|
|
|
|
+ failGoodsAdmMsg += "\n"+resultMap.get("goodsNm")+"("+resultMap.get("optCd")+ "),";
|
|
|
stockFailCnt ++;
|
|
stockFailCnt ++;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -488,10 +505,13 @@ public class TscOrderOcmService {
|
|
|
|
|
|
|
|
// 실패상품목록
|
|
// 실패상품목록
|
|
|
if( 0 < failGoods.length()) failGoods = failGoods.substring(0, failGoods.length()-1);
|
|
if( 0 < failGoods.length()) failGoods = failGoods.substring(0, failGoods.length()-1);
|
|
|
|
|
+ if( 0 < failGoodsAdmMsg.length()) failGoodsAdmMsg = failGoodsAdmMsg.substring(0, failGoodsAdmMsg.length()-1);
|
|
|
|
|
+
|
|
|
result.put("failGoods", failGoods); // 실패상품목록
|
|
result.put("failGoods", failGoods); // 실패상품목록
|
|
|
result.put("failCnt", dtlCnt - succCnt ); // 총 실패건수
|
|
result.put("failCnt", dtlCnt - succCnt ); // 총 실패건수
|
|
|
result.put("stockFailCnt", stockFailCnt ); // 재고로인한 실패건수
|
|
result.put("stockFailCnt", stockFailCnt ); // 재고로인한 실패건수
|
|
|
-
|
|
|
|
|
|
|
+ result.put("failGoodsAdmMsg", failGoodsAdmMsg); // 관리자메모 내용
|
|
|
|
|
+
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -550,6 +570,7 @@ public class TscOrderOcmService {
|
|
|
|
|
|
|
|
} else if (TscConstants.GoodsStat.SOLDOUT.value().equals(dtlOrd.getGoodsStat())) {
|
|
} else if (TscConstants.GoodsStat.SOLDOUT.value().equals(dtlOrd.getGoodsStat())) {
|
|
|
result.put("goodsNm", dtlOrd.getGoodsNm());
|
|
result.put("goodsNm", dtlOrd.getGoodsNm());
|
|
|
|
|
+ result.put("optCd", dtlOrd.getOptCd());
|
|
|
result.put("sendNotiYn", "Y"); // 알림톡발송 o
|
|
result.put("sendNotiYn", "Y"); // 알림톡발송 o
|
|
|
result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.STOCK.value());
|
|
result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.STOCK.value());
|
|
|
result.put("message", "품절입니다.");
|
|
result.put("message", "품절입니다.");
|
|
@@ -557,6 +578,7 @@ public class TscOrderOcmService {
|
|
|
|
|
|
|
|
} else if (!TscConstants.GoodsStat.SOLDOUT.value().equals(dtlOrd.getGoodsStat()) && !TscConstants.GoodsStat.APPR.value().equals(dtlOrd.getGoodsStat())) {
|
|
} else if (!TscConstants.GoodsStat.SOLDOUT.value().equals(dtlOrd.getGoodsStat()) && !TscConstants.GoodsStat.APPR.value().equals(dtlOrd.getGoodsStat())) {
|
|
|
result.put("goodsNm", dtlOrd.getGoodsNm());
|
|
result.put("goodsNm", dtlOrd.getGoodsNm());
|
|
|
|
|
+ result.put("optCd", dtlOrd.getOptCd());
|
|
|
result.put("sendNotiYn", "Y"); // 알림톡발송 o
|
|
result.put("sendNotiYn", "Y"); // 알림톡발송 o
|
|
|
result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.STOCK.value());
|
|
result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.STOCK.value());
|
|
|
result.put("message", "판매중인 상품이 아닙니다.");
|
|
result.put("message", "판매중인 상품이 아닙니다.");
|
|
@@ -566,6 +588,7 @@ public class TscOrderOcmService {
|
|
|
//상품 재고 확인
|
|
//상품 재고 확인
|
|
|
if (null == dtlOrd.getSoldoutYn()) {
|
|
if (null == dtlOrd.getSoldoutYn()) {
|
|
|
result.put("goodsNm", dtlOrd.getGoodsNm());
|
|
result.put("goodsNm", dtlOrd.getGoodsNm());
|
|
|
|
|
+ result.put("optCd", dtlOrd.getOptCd());
|
|
|
result.put("sendNotiYn", "Y"); // 알림톡발송 o
|
|
result.put("sendNotiYn", "Y"); // 알림톡발송 o
|
|
|
result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.STOCK.value());
|
|
result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.STOCK.value());
|
|
|
result.put("message", "재고체크 실패했습니다. 새로고침 후 다시 시도해주세요.");
|
|
result.put("message", "재고체크 실패했습니다. 새로고침 후 다시 시도해주세요.");
|
|
@@ -574,6 +597,7 @@ public class TscOrderOcmService {
|
|
|
|
|
|
|
|
if ("Y".equals(dtlOrd.getSoldoutYn())) {
|
|
if ("Y".equals(dtlOrd.getSoldoutYn())) {
|
|
|
result.put("goodsNm", dtlOrd.getGoodsNm());
|
|
result.put("goodsNm", dtlOrd.getGoodsNm());
|
|
|
|
|
+ result.put("optCd", dtlOrd.getOptCd());
|
|
|
result.put("sendNotiYn", "Y"); // 알림톡발송 o
|
|
result.put("sendNotiYn", "Y"); // 알림톡발송 o
|
|
|
result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.STOCK.value());
|
|
result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.STOCK.value());
|
|
|
result.put("message", dtlOrd.getOptCd2() + " 옵션은 품절입니다.");
|
|
result.put("message", dtlOrd.getOptCd2() + " 옵션은 품절입니다.");
|
|
@@ -582,6 +606,7 @@ public class TscOrderOcmService {
|
|
|
|
|
|
|
|
if (param.getOrdQty() > dtlOrd.getCurrStockQty()) {
|
|
if (param.getOrdQty() > dtlOrd.getCurrStockQty()) {
|
|
|
result.put("goodsNm", dtlOrd.getGoodsNm());
|
|
result.put("goodsNm", dtlOrd.getGoodsNm());
|
|
|
|
|
+ result.put("optCd", dtlOrd.getOptCd());
|
|
|
result.put("sendNotiYn", "Y"); // 알림톡발송 o
|
|
result.put("sendNotiYn", "Y"); // 알림톡발송 o
|
|
|
result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.STOCK.value());
|
|
result.put("uploadFailCd", TscConstants.ExtmallUploadFailStat.STOCK.value());
|
|
|
result.put("message", "옵션의 재고가 충분하지 않습니다.");
|
|
result.put("message", "옵션의 재고가 충분하지 않습니다.");
|