Преглед изворни кода

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.core into develop

card007 пре 4 година
родитељ
комит
135789bccf

+ 10 - 0
src/main/java/com/style24/core/biz/dao/TscOrderOcmDao.java

@@ -340,5 +340,15 @@ public interface TscOrderOcmDao {
 	 * @since 2021. 06. 17
 	 */
 	ExtmallOrder getExtmallOrderUploadResultInfo(ExtmallOrder extmallOrder);
+	
+	/**
+	 * 제휴몰 주문 등록 실패 내용-관리자메모 등록
+	 *
+	 * @param extmallOrder - 외부몰주문업로드 정보
+	 * @return Collection<ExtmallOrder>
+	 * @author jmh
+	 * @since 2021. 09. 09
+	 */
+	void createOrderMemo(ExtmallOrder extmallOrder);
 
 }

+ 8 - 3
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -184,7 +184,8 @@ public class TscOrderChangeService {
 		int updNo				= userNo;														// 수정자번호
 
 		// 2. 무통장입금 결제 주문 전체취소 상태값 처리
-		if (TscConstants.PgGb.KCP.value().equals(pgGb)) {
+		// 2021.09.09 페이코 조건 누락 추가
+		if (TscConstants.PgGb.KCP.value().equals(pgGb) || TscConstants.PgGb.PAYCO.value().equals(pgGb)) {
 			if (TscConstants.PayMeans.BANK_DEPOSIT.value().equals(payMeans)) {
 				modType = "STPD";																			// KCP 무통장입금 부분취소
 			} else {
@@ -722,6 +723,8 @@ public class TscOrderChangeService {
 				pg.setPayAmt(-pg.getPartCancelAmt());
 				orderDao.insertPaymentCancel(pg);
 			} else if (TscConstants.PgGb.KCP.value().equals(pgGb) || TscConstants.PgGb.PAYCO.value().equals(pgGb)) {
+				log.info("modType ::: {}", modType);
+				
 				pg.setModType(modType);
 				pg.setModDesc("가맹점 취소 - 부분 취소");
 				pg.setIpAddress(ipAddress);
@@ -2662,7 +2665,8 @@ public class TscOrderChangeService {
 		
 		// 2. 무통장입금 결제 주문 전체취소 상태값 처리
 		String modType			= "";
-		if (TscConstants.PgGb.KCP.value().equals(pgGb)) {
+		// 2021.09.09 페이코 조건 누락 추가
+		if (TscConstants.PgGb.KCP.value().equals(pgGb) || TscConstants.PgGb.PAYCO.value().equals(pgGb)) {
 			if (TscConstants.PayMeans.BANK_DEPOSIT.value().equals(payMeans)) {
 				modType = "STPD";																// KCP 무통장입금 부분취소
 			} else {
@@ -3257,7 +3261,8 @@ public class TscOrderChangeService {
 		int addPayCost			= map.getInt("addPayCost");										// 추갸배송비
 
 		// 무통장입금 결제 주문 전체취소 상태값 처리
-		if (TscConstants.PgGb.KCP.value().equals(pgGb)) {
+		// 2021.09.09 페이코 조건 누락 추가
+		if (TscConstants.PgGb.KCP.value().equals(pgGb) || TscConstants.PgGb.PAYCO.value().equals(pgGb)) {
 			if (TscConstants.PayMeans.BANK_DEPOSIT.value().equals(payMeans)) {
 				modType = "STPD";																				// KCP 무통장입금 부분취소
 			} else {

+ 28 - 3
src/main/java/com/style24/core/biz/service/TscOrderOcmService.java

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

+ 22 - 0
src/main/java/com/style24/persistence/mybatis/shop/TscOrderOcm.xml

@@ -1624,5 +1624,27 @@
 			AND    B.REG_NO = #{regNo}
 		) A  WHERE A.RANKING = 1
 	</select>
+	
+	<!-- 주문상세 > 주문요청 관리자 메모 > 메모등록 -->
+	<insert id="createOrderMemo" parameterType="ExtmallOrder">
+		/* TscOrderOcm.createOrderMemo */
+		INSERT INTO TB_ORDER_MEMO (
+		    ORD_NO
+		  , MEMO
+		  , DEL_YN
+		  , REG_NO
+		  , REG_DT
+		  , UPD_NO
+		  , UPD_DT
+		) VALUES (
+		    #{ordNo}
+		  , #{memo}
+		  , 'N'
+		  , #{regNo}
+		  , NOW()
+		  , #{regNo}
+		  , NOW()
+		)
+	</insert>
 
 </mapper>