구독서비스 결제 - 결제 처리 후 재고 및 상태 변경

This commit is contained in:
이대환
2026-04-08 14:44:42 +09:00
parent 21115a9c34
commit 60ff733d4d
6 changed files with 86 additions and 5 deletions

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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;
/** 결제상품정보 */

View File

@@ -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());