fix : 관리자 구독서비스 상품준비 관리
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
package com.wb.domainserver.domain.gcone.ordr.subsvc.mapper;
|
||||
|
||||
import com.wb.domainserver.domain.gcone.ordr.subsvc.vo.BOSubsvcOrderVO;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* 구독서비스 주문 BO mapper
|
||||
* @author jazz
|
||||
* @since 2026-02-04
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* == (Modification Information) == 개정이력
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2026-02-04 jazz 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Mapper
|
||||
@Repository
|
||||
public interface BOSubsvcOrdrMapper {
|
||||
|
||||
/** 구독서비스 상품준비 관리 목록*/
|
||||
List<DataMap> selectBOSubsvcOrderList(BOSubsvcOrderVO vo);
|
||||
/** 구독서비스 상품준비 관리 목록 배송내역 팝업 배송내역목록*/
|
||||
List<DataMap> selectBOSubsvcOrderDlvyList(BOSubsvcOrderVO vo);
|
||||
/** 구독서비스 상품준비 관리 상품매칭 - 1. GC_ORDER update*/
|
||||
int updateBOSubsvcGoodsMappgOrdr(BOSubsvcOrderVO vo);
|
||||
/** 구독서비스 상품준비 관리 상품매칭 - 2. GC_ORDER_ITEM update*/
|
||||
int updateBOSubsvcGoodsMappgOrdrItem(BOSubsvcOrderVO vo);
|
||||
/** 구독서비스 상품준비 관리 상품매칭 - 3. GC_ORDER_ITEM_OPTION update*/
|
||||
int updateBOSubsvcGoodsMappgOrdrItemOptn(BOSubsvcOrderVO vo);
|
||||
/** 구독서비스 상품준비 관리 상품매칭 - 4. GC_ORDER_SHIPPING update*/
|
||||
int updateBOSubsvcGoodsMappgShipping(BOSubsvcOrderVO vo);
|
||||
/** 구독서비스 상품준비 관리 상품매칭 - 5. GC_SUBSVC update*/
|
||||
int updateBOSubsvcGoodsMappgSubsvc(BOSubsvcOrderVO vo);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
package com.wb.domainserver.domain.gcone.ordr.subsvc.service;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.nimbusds.jose.shaded.gson.Gson;
|
||||
import com.wb.domainserver.common.prop.PropertyService;
|
||||
import com.wb.domainserver.domain.admin.instcSle.mtng.mapper.BOMaMtngMapper;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.mapper.BOMaSopmalMapper;
|
||||
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
|
||||
import com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO;
|
||||
import com.wb.domainserver.domain.gcone.goods.goods.service.BOGoodsService;
|
||||
import com.wb.domainserver.domain.gcone.goods.purchs.mapper.BOPurchsMapper;
|
||||
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOOrderNoService;
|
||||
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOOrderService;
|
||||
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOPurchsService;
|
||||
import com.wb.domainserver.domain.gcone.goods.purchs.vo.*;
|
||||
import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO;
|
||||
import com.wb.domainserver.domain.gcone.mbr.mbr.mapper.BOMbrMapper;
|
||||
import com.wb.domainserver.domain.gcone.mbr.mbr.service.BOMbrService;
|
||||
import com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrAppnVO;
|
||||
import com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrVO;
|
||||
import com.wb.domainserver.domain.gcone.mbr.mlg.service.BOMlgService;
|
||||
import com.wb.domainserver.domain.gcone.mbr.mlg.vo.BOCashVO;
|
||||
import com.wb.domainserver.domain.gcone.mbr.mlg.vo.BOMlgVO;
|
||||
import com.wb.domainserver.domain.gcone.ntcn.mssage.service.BOMssageService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.mapper.BOOrdrMapper;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrderCommonService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrLogService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.*;
|
||||
import com.wb.domainserver.domain.gcone.ordr.pay.service.BOPayService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.mapper.BORtngudrefndMapper;
|
||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.service.BORtngudrefndService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORtngudrefndVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.selngpruf.service.BOSelngprufService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.selngpruf.vo.BOSelngprufVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.subsvc.mapper.BOSubsvcOrdrMapper;
|
||||
import com.wb.domainserver.domain.gcone.ordr.subsvc.vo.BOSubsvcOrderVO;
|
||||
import com.wb.domainserver.domain.gcone.promtn.coupon.service.BOCouponService;
|
||||
import com.wb.domainserver.domain.gcone.promtn.coupon.vo.BODwldCouponVO;
|
||||
import com.wb.domainserver.domain.gcone.setup.site.service.BOSiteService;
|
||||
import com.wb.domainserver.domain.gcone.setup.site.vo.BOGoodsgrpVO;
|
||||
import com.wb.domainserver.domain.gcone.setup.site.vo.BOSiteVO;
|
||||
import com.wb.domainserver.exception.WnbtException;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
import com.wb.domainserver.security.authentication.AnonymousUser;
|
||||
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import com.wb.domainserver.util.string.StringUtil;
|
||||
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.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneOffset;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.format.DateTimeParseException;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
* 구독서비스주문 BO service
|
||||
* @author jazz
|
||||
* @since 2026-02-05
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* == (Modification Information) == 개정이력
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2026-02-05 jazz 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class BOSubsvcOrdrService {
|
||||
@Autowired
|
||||
private BOSubsvcOrdrMapper mapper;
|
||||
|
||||
/**
|
||||
* 구독서비스 상품준비 관리 목록
|
||||
* @param
|
||||
* @return List<DataMap>
|
||||
*/
|
||||
public List<DataMap> selectBOSubsvcOrderList(BOSubsvcOrderVO vo) {
|
||||
List<DataMap> dataList = new ArrayList<>();
|
||||
|
||||
try {
|
||||
dataList = mapper.selectBOSubsvcOrderList(vo);
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
throw e;
|
||||
}
|
||||
if(dataList == null || dataList.isEmpty()){
|
||||
vo.getPaginationInfo().setTotalRecordCount(0);
|
||||
}else{
|
||||
vo.getPaginationInfo().setTotalRecordCount(((Long)dataList.get(0).get("totCnt")).intValue());
|
||||
}
|
||||
|
||||
return dataList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 구독서비스 상품준비 관리 목록 배송내역 팝업 배송내역목록
|
||||
* @param
|
||||
* @return List<DataMap>
|
||||
*/
|
||||
public List<DataMap> selectBOSubsvcOrderDlvyList(BOSubsvcOrderVO vo) {
|
||||
List<DataMap> dataList = new ArrayList<>();
|
||||
dataList = mapper.selectBOSubsvcOrderDlvyList(vo);
|
||||
return dataList;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 선택대상 상품준비 일괄처리
|
||||
* 구독서비스 상품준비 일괄처리
|
||||
* 1. GC_ORDER 주문상태를 결제확인(25)만 상품준비중(35)로 변경(25가 아니면 UPDT_DT만 변경)
|
||||
* 2. GC_ORDER_ITEM의 상품고유번호(GOODS_INNB), 상품이지지경로(GOODS_IMG_COURS), 상품명(GOODS_NM)를 변경
|
||||
* 3. GC_ORDER_ITEM_OPTION의 상품옵셥 고유번호(GOODS_OPTN_INNB), 주문상태(GOODS_STTUS_CD)를 결제확인(25)=>상품준비중(35), 옵션명1(OPTN_NM_1) 부터 GC_GOODS_OPTION과 동일한 컬럼 매칭
|
||||
* 4. GC_ORDER_SHIPPING의 주문배송고유번호(ORDR_DLVY_INNB)가 같은 대상의 주문상태(GOODS_STTUS_CD)를 결제확인(25)=>상품준비중(35)
|
||||
* 5. GC_SUBSVC의 최종처리차수(LAST_PROCS_DGR)를 수정 (주문상품옵션에 주문별 처리차수중 가능 큰처리차수(35~75까지 COUNT해서 가장 큰수)를 등록)
|
||||
* */
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String updateSubsvcOrdrReady(BOSubsvcOrderVO vo) {
|
||||
String message = "success";
|
||||
/*1. GC_ORDER*/
|
||||
int result = mapper.updateBOSubsvcGoodsMappgOrdr(vo);
|
||||
if (!(result > 0)) {
|
||||
log.error("GC_ORDER UPDATE 오류");
|
||||
throw new WnbtException("500","GC_ORDER UPDATE 오류");
|
||||
}
|
||||
result = mapper.updateBOSubsvcGoodsMappgOrdrItem(vo);
|
||||
if (!(result > 0)) {
|
||||
log.error("GC_ORDER_ITEM UPDATE 오류");
|
||||
throw new WnbtException("500","GC_ORDER_ITEM UPDATE 오류");
|
||||
}
|
||||
result = mapper.updateBOSubsvcGoodsMappgOrdrItemOptn(vo);
|
||||
if (!(result > 0)) {
|
||||
log.error("GC_ORDER_ITEM_OPTION UPDATE 오류");
|
||||
throw new WnbtException("500","GC_ORDER_ITEM_OPTION UPDATE 오류");
|
||||
}
|
||||
result = mapper.updateBOSubsvcGoodsMappgShipping(vo);
|
||||
if (!(result > 0)) {
|
||||
log.error("GC_ORDER_SHIPPING UPDATE 오류");
|
||||
throw new WnbtException("500","GC_ORDER_SHIPPING UPDATE 오류");
|
||||
}
|
||||
result = mapper.updateBOSubsvcGoodsMappgSubsvc(vo);
|
||||
if (!(result > 0)) {
|
||||
log.error("GC_SUBSVC 처리중 오류");
|
||||
throw new WnbtException("500","GC_SUBSVC 처리중 오류");
|
||||
}
|
||||
return message;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.wb.domainserver.domain.gcone.ordr.subsvc.vo;
|
||||
|
||||
import com.wb.domainserver.domain.comm.vo.AbstractVO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class BOSubsvcOrderVO extends AbstractVO {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 구독서비스고유번호 */
|
||||
private String subsvcInnb;
|
||||
/** 쇼핑몰코드 */
|
||||
private String sopmalCd;
|
||||
/** 구독서비스명 */
|
||||
private String subsvcNm;
|
||||
/** 구독기간 */
|
||||
private String subPd;
|
||||
/** 구독서비스기수 */
|
||||
private String subsvcGnr;
|
||||
/** 구독서비스명 다음기수 */
|
||||
private String subsvcNextGnr;
|
||||
/** 구독서비스기수명 */
|
||||
private String subsvcGnrNm;
|
||||
/** 주문고유번호 */
|
||||
private String ordrInnb;
|
||||
/** 주문상품고유번호 */
|
||||
private String ordrGoodsInnb;
|
||||
/** 주문상품옵션고유번호 */
|
||||
private String ordrGoodsOptnInnb;
|
||||
|
||||
|
||||
/** 출고상품고유번호*/
|
||||
private String goodsInnb;
|
||||
/** 출고상품옵션고유번호*/
|
||||
private String goodsOptnInnb;
|
||||
/** 출고상품옵션구분*/
|
||||
private String optnTy;
|
||||
|
||||
/** 상품준비대상*/
|
||||
private List<String> arrCheck;
|
||||
/** 상품준비대상 주문고유번호*/
|
||||
private List<String> arrOrdrInnb;
|
||||
/** 상품준비대상 주문상품고유번호*/
|
||||
private List<String> arrOrdrGoodsInnb;
|
||||
/** 상품준비대상 주문상품옵션고유번호*/
|
||||
private List<String> arrOrdrGoodsOptnInnb;
|
||||
/** 상품준비대상 주문고유번호*/
|
||||
private List<String> arrOrdrDlvyInnb;
|
||||
|
||||
/** 검색조건 */
|
||||
/** 구독서비스명 selectbox*/
|
||||
private String srchSelSubsvcNm;
|
||||
/** 구독서비스명 */
|
||||
private String srchSubsvcNm;
|
||||
/** 구독서비스기수 select */
|
||||
private String srchSelSubsvcGnr;
|
||||
/** 구독서비스기수명 */
|
||||
private String srchSubsvcGnrNm;
|
||||
/** 정렬구분 */
|
||||
private String sortDv;
|
||||
/** 배열 구독서비스고유번호 */
|
||||
private List<String> arrSubsvcInnb;
|
||||
/**당월제외*/
|
||||
private String srchCurMonExclude;
|
||||
}
|
||||
Reference in New Issue
Block a user