فهرست منبع

Merge remote-tracking branch 'origin/develop' into card007

card007 4 سال پیش
والد
کامیت
2c5d23bf1e

+ 22 - 5
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -1156,18 +1156,35 @@ public class TscOrderChangeService {
 		}
 
 		// 1. 재고 체크 (세트아이템 포함)
+		String stockMsg = "";
 		if (!TscConstants.ChangeGb.EXCHANGE_TO_EXCHANGE.value().equals(excReq.getOrdChgGb())) {
 			for (Order order : excReqList) {
 				Order currStockQty = orderChangeDao.getCurrStockQty(order);
-
-				if (currStockQty == null
-					|| (currStockQty.getCurrStockQty() < (order.getChgQty() * currStockQty.getItemQty()))
-					|| "Y".equals(currStockQty.getSoldoutYn())) {
-					throw new IllegalStateException(message.getMessage("EXCHANGE_0003"));
+				String goodsCd = currStockQty.getGoodsCd();	// 상품코드
+				String ordChgOpt = order.getOrdChgOpt(); 	// 교환옵션
+
+				// 1-1. 재고 정보 미존재
+				if (currStockQty == null) {
+					stockMsg += "상품코드 : " + goodsCd + "의 재고 정보가 존재 하지 않습니다.<br/>";
+				} // 1-2. 재고 수량 부족
+				else if (currStockQty.getCurrStockQty() < (order.getChgQty() * currStockQty.getItemQty())) {
+					stockMsg += "상품코드 : " + goodsCd + " 교환옵션 : " + ordChgOpt + "의 재고가 부족합니다.<br/>";
+				} // 1-3. 사이즈 품절
+				else if ("Y".equals(currStockQty.getSoldoutYn())) {
+					stockMsg += "상품코드 : " + goodsCd + " 교환옵션 : " + ordChgOpt + "의 재고가 품절입니다.<br/>";
 				}
 			}
 		}
 
+		if (StringUtils.isNotBlank(stockMsg)) {
+			stockMsg += "위 사유로 재고가 부족하여 교환 신청이 취소되었습니다.";
+
+			if ("front".equals(env.getProperty("server.site.name"))) {
+				stockMsg = message.getMessage("EXCHANGE_0003");
+			}
+			throw new IllegalStateException(stockMsg);
+		}
+
 		// 2. TB_DELIVERY_ADDR 등록
 		Order deliveryAddr = new Order();
 		deliveryAddr.setRecipNm(excReq.getRecipNm());

+ 1 - 0
src/main/java/com/style24/persistence/domain/GiftCard.java

@@ -65,6 +65,7 @@ public class GiftCard extends TscBaseDomain {
 	private String resultCd;		// 결과코드
 	private String resultMsg;		// 결과메세지
 	private String tradeTime;		// 주문시간
+	private String nowTime;			// 현재시간
 	private String ordPhnno;		// 주문자휴대폰번호
 	private String ordNm;			// 주문자명
 	private String ordEmail;		// 주문자 E-Mail