From a9c717e24caeb48d1a76bd921a47e0a00f7cc1e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EB=8C=80=ED=99=98?= Date: Wed, 8 Apr 2026 14:44:42 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B5=AC=EB=8F=85=EC=84=9C=EB=B9=84=EC=8A=A4?= =?UTF-8?q?=20=EA=B2=B0=EC=A0=9C=20-=20=EA=B2=B0=EC=A0=9C=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=20=ED=9B=84=20=EC=9E=AC=EA=B3=A0=20=EB=B0=8F=20?= =?UTF-8?q?=EC=83=81=ED=83=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goods/subsvc/mapper/BOSubsvcMapper.java | 5 +++ .../goods/subsvc/service/BOSubsvcService.java | 21 ++++++++- .../gcone/goods/subsvc/vo/BOSubsvcVO.java | 7 ++- .../ordr/controller/OrdrController.java | 13 +++++- .../admin/instcSle/mtng/BOMtngMapper.xml | 2 +- .../gcone/goods/subsvc/BOSubsvcMapper.xml | 43 +++++++++++++++++++ 6 files changed, 86 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/mapper/BOSubsvcMapper.java b/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/mapper/BOSubsvcMapper.java index 6201aea7..19c27272 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/mapper/BOSubsvcMapper.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/mapper/BOSubsvcMapper.java @@ -30,4 +30,9 @@ public interface BOSubsvcMapper { void insertBOMngrSubsvc(BOSubsvcVO vo); /** 관리자 구독서비스 명 중복체크*/ int selectBOMngrSubsvcNmDupCheck(BOSubsvcVO vo); + + /** 구독서비스 주문에 따른 판매재고수량 수정*/ + public void updateSubsvcOrdrUsefulInvntryQy(BOSubsvcVO vo); + /** 판매재고수량 변경에 따른 구독서비스 상태 수정*/ + public void updateInvntryPolicySubsvcSttusChng(BOSubsvcVO vo); } diff --git a/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/service/BOSubsvcService.java b/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/service/BOSubsvcService.java index b18d34bf..dff61f5d 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/service/BOSubsvcService.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/service/BOSubsvcService.java @@ -1,13 +1,16 @@ package com.wb.domainserver.domain.gcone.goods.subsvc.service; -import com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO; +import com.wb.domainserver.domain.comm.vo.AbstractVO; +import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderVO; import com.wb.domainserver.domain.gcone.goods.subsvc.mapper.BOSubsvcMapper; import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO; import com.wb.domainserver.util.dataaccess.DataMap; import io.micrometer.common.util.StringUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; @@ -137,4 +140,20 @@ public class BOSubsvcService { return message; } + /** + * 주문에 따른 판매재고수량 수정 + * @param orderVO + * @return + */ + @Transactional + public void updateSubsvcOrdrUsefulInvntryQy(BOOrderVO orderVO) throws Exception { + BOSubsvcVO subsvcVO = new BOSubsvcVO(); + BeanUtils.copyProperties(orderVO, subsvcVO); + subsvcVO.setSubsvcInnb(orderVO.getSubsvcInnb().toString()); + + //판매수량 수정 + mapper.updateSubsvcOrdrUsefulInvntryQy(subsvcVO); + //구독서비스 상태 수정 + mapper.updateInvntryPolicySubsvcSttusChng(subsvcVO); + } } diff --git a/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/vo/BOSubsvcVO.java b/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/vo/BOSubsvcVO.java index 7f11389e..05efc6d1 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/vo/BOSubsvcVO.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/vo/BOSubsvcVO.java @@ -4,6 +4,7 @@ import com.wb.domainserver.domain.comm.vo.AbstractVO; import lombok.Data; import lombok.EqualsAndHashCode; +import java.math.BigInteger; import java.util.List; @Data @@ -12,14 +13,14 @@ public class BOSubsvcVO extends AbstractVO { private static final long serialVersionUID = 1L; - /** 구독서비스고유번호 */ - private String subsvcInnb; /** 쇼핑몰코드 */ private String sopmalCd; /** 구독서비스명 */ private String subsvcNm; /** 구독기간 */ private String subPd; + /** 구독서비스고유번호 */ + private String subsvcInnb; /** 구독서비스기수 */ private String subsvcGnr; /** 구독서비스명 다음기수 */ @@ -108,6 +109,8 @@ private static final long serialVersionUID = 1L; private Integer mbrInnb; /** 회원구분코드 */ private String mbrDvCd; + /** 주문고유번호 */ + private BigInteger ordrInnb; /** 결제상품정보 */ diff --git a/src/main/java/com/wb/domainserver/domain/sopmal/ordr/controller/OrdrController.java b/src/main/java/com/wb/domainserver/domain/sopmal/ordr/controller/OrdrController.java index 204563e7..1e9ce6b7 100644 --- a/src/main/java/com/wb/domainserver/domain/sopmal/ordr/controller/OrdrController.java +++ b/src/main/java/com/wb/domainserver/domain/sopmal/ordr/controller/OrdrController.java @@ -2913,7 +2913,18 @@ public class OrdrController { // 2.가용재고수량 수정 ============================================================== try { - boGoodsService.updateOrdrUsefulInvntryQy(orderVO); + BOOrdrVO ordrVO = new BOOrdrVO(); + ordrVO.setOrdrInnb(orderVO.getOrdrInnb().toString()); + ordrVO.setSopmalCd(orderVO.getSopmalCd()); + + DataMap ordrDtl = (DataMap) service.selectOrdrDtlInqire(ordrVO).get("dtl"); + boolean subsvcAt = "Y".equals(ordrDtl.get("subsvcAt")); + if(subsvcAt) { + orderVO.setSubsvcInnb(((Number) ordrDtl.get("subsvcInnb")).intValue()); + subsvcService.updateSubsvcOrdrUsefulInvntryQy(orderVO); + } else { + boGoodsService.updateOrdrUsefulInvntryQy(orderVO); + } } catch (Exception e) { logVO.setFailContent("상품 재고수량 업데이트 실패"); log.error("{} 상품 재고수량 업데이트 실패!", payVO.getOrderId()); diff --git a/src/main/resources/mybatis/xml/mapper/admin/instcSle/mtng/BOMtngMapper.xml b/src/main/resources/mybatis/xml/mapper/admin/instcSle/mtng/BOMtngMapper.xml index a88bb3dd..2aaffb9d 100644 --- a/src/main/resources/mybatis/xml/mapper/admin/instcSle/mtng/BOMtngMapper.xml +++ b/src/main/resources/mybatis/xml/mapper/admin/instcSle/mtng/BOMtngMapper.xml @@ -769,7 +769,7 @@ SELECT PURCHS_REVALID_AT FROM GC_SHOP WHERE 1=1 AND SOPMAL_CD = #{sopmalCd} - +