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 50e1b2e3..5d4469cb 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 @@ -2898,7 +2898,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} - +