fix : 주문/배송 상세조회(모바일) - 여러곳 배송/선물하기 주문취소 개선

This commit is contained in:
이대환
2026-04-14 15:47:38 +09:00
parent a1d95d1e01
commit eda43b3d17
4 changed files with 14 additions and 1 deletions

View File

@@ -873,9 +873,12 @@ public class BOOrderService {
List<BOOrderItemVO> orderItemVOList = insertedGoodsList.stream().filter(obj-> Objects.equals(ordrInnb, obj.getOrdrInnb()) && List<BOOrderItemVO> orderItemVOList = insertedGoodsList.stream().filter(obj-> Objects.equals(ordrInnb, obj.getOrdrInnb()) &&
Objects.equals(BigInteger.valueOf(goodsInnb), obj.getGoodsInnb())).toList(); Objects.equals(BigInteger.valueOf(goodsInnb), obj.getGoodsInnb())).toList();
BOOrderItemVO orderItemVO = new BOOrderItemVO(); BOOrderItemVO orderItemVO = new BOOrderItemVO();
// 구독서비스 여부(subsvcAt)에 따라 주문상품 취급 방식 분기
if(subsvcAt) { if(subsvcAt) {
// 구독서비스 : 동일 상품이라도 순번에 따라 개별 옵션 유지
orderItemVO = orderItemVOList.size() > allGoodsCount ? orderItemVOList.get(allGoodsCount) : null; orderItemVO = orderItemVOList.size() > allGoodsCount ? orderItemVOList.get(allGoodsCount) : null;
} else { } else {
// 일반 주문 : 동일 상품과 옵션은 하나로 병합하여 처리
orderItemVO = orderItemVOList.stream().findAny().orElse(null); orderItemVO = orderItemVOList.stream().findAny().orElse(null);
} }

View File

@@ -1332,10 +1332,13 @@ public class BORtngudrefndService {
DataMap ordrDtl = ordrMapper.selectOrdrDtl(ordrVO); DataMap ordrDtl = ordrMapper.selectOrdrDtl(ordrVO);
boolean subsvcAt = "Y".equals(ordrDtl.get("subsvcAt")); boolean subsvcAt = "Y".equals(ordrDtl.get("subsvcAt"));
// 구독서비스 여부(subsvcAt)에 따라 재고 처리 로직을 분기
if(subsvcAt) { if(subsvcAt) {
// 구독서비스
ordrVO.setSubsvcInnb(ordrDtl.get("subsvcInnb").toString()); ordrVO.setSubsvcInnb(ordrDtl.get("subsvcInnb").toString());
subsvcService.updateSubsvcRefundUsefulInvntryQy(ordrVO); subsvcService.updateSubsvcRefundUsefulInvntryQy(ordrVO);
} else { } else {
// 일반 주문
boGoodsService.updateRefundUsefulInvntryQy(refundVO); boGoodsService.updateRefundUsefulInvntryQy(refundVO);
} }
@@ -1498,10 +1501,13 @@ public class BORtngudrefndService {
DataMap ordrDtl = ordrMapper.selectOrdrDtl(boOrdrVO); DataMap ordrDtl = ordrMapper.selectOrdrDtl(boOrdrVO);
boolean subsvcAt = "Y".equals(ordrDtl.get("subsvcAt")); boolean subsvcAt = "Y".equals(ordrDtl.get("subsvcAt"));
// 구독서비스 여부(subsvcAt)에 따라 재고 처리 로직을 분기
if(subsvcAt) { if(subsvcAt) {
// 구독서비스
boOrdrVO.setSubsvcInnb(ordrDtl.get("subsvcInnb").toString()); boOrdrVO.setSubsvcInnb(ordrDtl.get("subsvcInnb").toString());
subsvcService.updateSubsvcCancelOrderUsefulInvntryQy(boOrdrVO); subsvcService.updateSubsvcCancelOrderUsefulInvntryQy(boOrdrVO);
} else { } else {
// 일반 주문
boGoodsService.updateCancelOrderUsefulInvntryQy(ordrVO, ordrVO.getOrdrInnb()); boGoodsService.updateCancelOrderUsefulInvntryQy(ordrVO, ordrVO.getOrdrInnb());
} }

View File

@@ -795,6 +795,7 @@ public class OrdrController {
LinkedHashMap goodsOne = ((List<LinkedHashMap>) paramData.get("goodsList")).get(0); LinkedHashMap goodsOne = ((List<LinkedHashMap>) paramData.get("goodsList")).get(0);
Boolean subsvcAt = goodsOne.containsKey("subsvcInnb"); Boolean subsvcAt = goodsOne.containsKey("subsvcInnb");
// 구독서비스에 포함된 상품 목록 세팅
if(subsvcAt) { if(subsvcAt) {
model.addAttribute("subsvcInnb", goodsOne.get("subsvcInnb")); model.addAttribute("subsvcInnb", goodsOne.get("subsvcInnb"));
@@ -2904,10 +2905,13 @@ public class OrdrController {
DataMap ordrDtl = (DataMap) service.selectOrdrDtlInqire(ordrVO).get("dtl"); DataMap ordrDtl = (DataMap) service.selectOrdrDtlInqire(ordrVO).get("dtl");
boolean subsvcAt = "Y".equals(ordrDtl.get("subsvcAt")); boolean subsvcAt = "Y".equals(ordrDtl.get("subsvcAt"));
// 구독서비스 여부(subsvcAt)에 따라 재고 처리 로직을 분기
if(subsvcAt) { if(subsvcAt) {
// 구독서비스
ordrVO.setSubsvcInnb(ordrDtl.get("subsvcInnb").toString()); ordrVO.setSubsvcInnb(ordrDtl.get("subsvcInnb").toString());
subsvcService.updateSubsvcOrdrUsefulInvntryQy(ordrVO); subsvcService.updateSubsvcOrdrUsefulInvntryQy(ordrVO);
} else { } else {
// 일반 주문
boGoodsService.updateOrdrUsefulInvntryQy(orderVO); boGoodsService.updateOrdrUsefulInvntryQy(orderVO);
} }
} catch (Exception e) { } catch (Exception e) {

View File

@@ -794,7 +794,7 @@
</c:forEach> </c:forEach>
<c:if test = "${order.ordrSttusCd eq '15'}"> <c:if test = "${order.ordrSttusCd eq '15'}">
<div class="orderDetailProduct__btnControls"> <div class="orderDetailProduct__btnControls">
<a href="javascript:void(0);" onclick="fn_post_cancl_ordr_confirm('${goods.sopmalCd}', '${goods.ordrInnb}', '${order.ordrSttusCd}');" class="btn gray full">주문취소</a> <a href="javascript:void(0);" onclick="fn_post_cancl_ordr_confirm('${order.sopmalCd}', '${order.ordrInnb}', '${order.ordrSttusCd}');" class="btn gray full">주문취소</a>
</div> </div>
</c:if> </c:if>
</c:if> </c:if>