|
|
@@ -1147,18 +1147,31 @@ public class TscOrderChangeService {
|
|
|
}
|
|
|
|
|
|
// 1. 재고 체크 (세트아이템 포함)
|
|
|
+ String stockMsg = "";
|
|
|
if (!TscConstants.ChangeGb.EXCHANGE_TO_EXCHANGE.value().equals(excReq.getOrdChgGb())) {
|
|
|
for (Order order : excReqList) {
|
|
|
+ String goodsCd = order.getGoodsCd(); // 상품코드
|
|
|
+ String ordChgOpt = order.getOrdChgOpt(); // 교환옵션
|
|
|
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"));
|
|
|
+ // 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 += "위 사유로 재고가 부족하여 교환 신청이 취소되었습니다.";
|
|
|
+ throw new IllegalStateException(stockMsg);
|
|
|
+ }
|
|
|
+
|
|
|
// 2. TB_DELIVERY_ADDR 등록
|
|
|
Order deliveryAddr = new Order();
|
|
|
deliveryAddr.setRecipNm(excReq.getRecipNm());
|