fix : 관리자 구독서비스 상품준비 관리

This commit is contained in:
jazz
2026-02-06 16:22:16 +09:00
parent 543a05b5f5
commit 006d3f5a09
14 changed files with 1581 additions and 22 deletions

View File

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

View File

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

View File

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

View File

@@ -86,7 +86,7 @@ public class SubsvcController {
@Value("${mngrfo.common.subsvc.dft-goods-optn-innb}")
private String dftGoodsOptnInnb;
@Autowired
private BOSubsvcService service;
private BOSubsvcService boSubsvcService;
@Autowired
private BOCommonService commonService;
@Autowired
@@ -112,7 +112,7 @@ public class SubsvcController {
content.put("paramVO", vo);
// 조회조건 구독서비스
List<?> SrchSubsvcList = service.selectBOMngrSrchSubsvcList(vo);
List<?> SrchSubsvcList = boSubsvcService.selectBOMngrSrchSubsvcList(vo);
content.put("srchSubsvcList", SrchSubsvcList);
//조회조건 판매상태
@@ -148,7 +148,7 @@ public class SubsvcController {
content.put("paramVO", vo);
// 구독서비스 상세조회
DataMap subsvcDtl = service.selectBOSubsvcDetail(vo);
DataMap subsvcDtl = boSubsvcService.selectBOSubsvcDetail(vo);
content.put("subsvcDtl", subsvcDtl);
//판매상태
@@ -210,7 +210,7 @@ public class SubsvcController {
//파일 업로드 관련 END
Map<String, Object> message = new HashMap<>();
String result = service.updateBOMngrSubsvc(vo);
String result = boSubsvcService.updateBOMngrSubsvc(vo);
message.put("message",result);
return ResponseEntity.ok(
@@ -238,7 +238,7 @@ public class SubsvcController {
content.put("paramVO", vo);
// 구독서비스 상세조회
DataMap subsvcDtl = service.selectBOSubsvcDetail(vo);
DataMap subsvcDtl = boSubsvcService.selectBOSubsvcDetail(vo);
content.put("subsvcDtl", subsvcDtl);
//판매상태
@@ -303,7 +303,7 @@ public class SubsvcController {
vo.setDftGoodsOptnInnb(dftGoodsOptnInnb);
Map<String, Object> message = new HashMap<>();
String result = service.insertBOMngrSubsvc(vo);
String result = boSubsvcService.insertBOMngrSubsvc(vo);
message.put("message",result);
return ResponseEntity.ok(
@@ -345,7 +345,7 @@ public class SubsvcController {
}
// 목록 조회
List<DataMap> list = service.selectBOMngrSubsvcList(vo);
List<DataMap> list = boSubsvcService.selectBOMngrSubsvcList(vo);
Map<String, Object> content = new HashMap<>();
content.put("paramVO", vo);
@@ -373,7 +373,7 @@ public class SubsvcController {
}
DataMap message = new DataMap();
String result = service.selectBOMngrSubsvcNmDupCheck(vo);
String result = boSubsvcService.selectBOMngrSubsvcNmDupCheck(vo);
message.put("message", result);
return ResponseEntity.ok(
@@ -401,7 +401,7 @@ public class SubsvcController {
}
DataMap message = new DataMap();
String result = service.deleteBOMngrSubsvc(vo);
String result = boSubsvcService.deleteBOMngrSubsvc(vo);
message.put("message", result);
return ResponseEntity.ok(
@@ -429,7 +429,7 @@ public class SubsvcController {
Map<String, Object> content = new HashMap<>();
// 조회조건 구독서비스
List<DataMap> SrchSubsvcGnrList = service.selectBOMngrSrchSubsvcGnrList(vo);
List<DataMap> SrchSubsvcGnrList = boSubsvcService.selectBOMngrSrchSubsvcGnrList(vo);
content.put("srchSubsvcGnrList", SrchSubsvcGnrList);
return ResponseEntity.ok(

View File

@@ -0,0 +1,251 @@
package com.wb.domainserver.domain.mngr.ordr.subsvc.controller;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.wb.domainserver.common.msg.GconeMessageSource;
import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo;
import com.wb.domainserver.common.prop.PaginationProperties;
import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService;
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.common.service.BOCommonService;
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOOrderService;
import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderLogVO;
import com.wb.domainserver.domain.gcone.goods.subsvc.service.BOSubsvcService;
import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO;
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService;
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.*;
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
import com.wb.domainserver.domain.gcone.ordr.subsvc.service.BOSubsvcOrdrService;
import com.wb.domainserver.domain.gcone.ordr.subsvc.vo.BOSubsvcOrderVO;
import com.wb.domainserver.domain.gcone.setup.dlvygrp.service.BODlvygrpService;
import com.wb.domainserver.domain.gcone.setup.nbkk.service.BONbkkService;
import com.wb.domainserver.domain.gcone.setup.nbkk.vo.BOSetupNbkkVO;
import com.wb.domainserver.domain.mngr.ordr.ordrmngr.vo.DwldItmVO;
import com.wb.domainserver.domain.mngr.ordr.ordrmngr.vo.OrdrShippingVO;
import com.wb.domainserver.domain.mngr.ordr.ordrmngr.vo.OrdrSrchVO;
import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.exception.code.ErrorCode;
import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
import com.wb.domainserver.security.authentication.AnonymousUser;
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.communicate.ValidateResultConverter;
import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.excel.ExcelDownloadUtil;
import io.micrometer.common.util.StringUtils;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import java.io.IOException;
import java.math.BigInteger;
import java.util.*;
/**
* 구독서비스 주문 관리 Controller
*
* @author jazz
* @since 2026-02-05
* @version 1.0
* @see
*
* <pre>
* == (Modification Information) == 개정이력
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2026-02-05 jazz 최초 생성
*
* </pre>
*/
@Controller
@RequestMapping("/mngr/ordr/subsvc")
@Slf4j
public class SubsvcOrdrController {
/** WebClient 호출을 위한 wrapper */
@Autowired
private WnbtWebClientResponseHandler responseHandler;
/** WebClient 호출을 위한 wrapper */
@Autowired
private SendToResrc sendToResrc;
/** 공통 메시지 처리를 위한 메시지 객체 */
@Autowired
private GconeMessageSource gconeMessageSource;
@Autowired
private BOSubsvcOrdrService boSubsvcOrdrService;
@Autowired
private BOSubsvcService boSubsvcService;
@Autowired
private PaginationProperties paginationProperties;
/**
* 구독서비스 상품준비 조회 폼
* @param subsvcVO,subsvcOrderVO,model,authSopmalCd
* @return SubsvcOrdrListForm.jsp
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectSubsvcOrdrListForm")
public String selectSubsvcListForm(BOSubsvcVO subsvcVO, BOSubsvcOrderVO subsvcOrderVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
subsvcVO.setSopmalCd(authSopmalCd);
subsvcOrderVO.setSopmalCd(authSopmalCd);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
subsvcVO.setSopmalCd(user.getSopmalCd());
subsvcOrderVO.setSopmalCd(user.getSopmalCd());
}
Map<String, Object> content = new HashMap<>();
content.put("paramVO", subsvcOrderVO);
// 조회조건 구독서비스
List<?> SrchSubsvcList = boSubsvcService.selectBOMngrSrchSubsvcList(subsvcVO);
content.put("srchSubsvcList", SrchSubsvcList);
model.addAttribute("resultMap", content);
return "mngr/ordr/subsvc/SubsvcOrdrListForm";
}
/**
* 구독서비스 상품준비 목록 조회 리스트
* @param subsvcOrderVO
* @param model
* @return SubsvcOrdrList.jsp
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectSubsvcOrdrList")
public String selectSubsvcList(BOSubsvcOrderVO subsvcOrderVO,ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
subsvcOrderVO.setSopmalCd(authSopmalCd);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
subsvcOrderVO.setSopmalCd(user.getSopmalCd());
}
// 페이징 객체 생성 & 페이징정보 할당
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(subsvcOrderVO.getPageIndex());
paginationInfo.setRecordCountPerPage(subsvcOrderVO.getPageUnit());
paginationInfo.setPageSize(paginationProperties.getPageSize());
subsvcOrderVO.setPaginationInfo(paginationInfo);
subsvcOrderVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
subsvcOrderVO.setLastIndex(paginationInfo.getLastRecordIndex());
subsvcOrderVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
if(StringUtils.isEmpty(subsvcOrderVO.getSortDv())){
//정렬기준 초기값 셋팅
subsvcOrderVO.setSortDv("subsvcGnrAsc");
}
// 목록 조회
List<DataMap> list = boSubsvcOrdrService.selectBOSubsvcOrderList(subsvcOrderVO);
Map<String, Object> content = new HashMap<>();
content.put("paramVO", subsvcOrderVO);
content.put("list", list);
content.put("paginationInfo", subsvcOrderVO.getPaginationInfo());
model.addAttribute("resultMap", content);
return "mngr/ordr/subsvc/SubsvcOrdrList";
}
/**
* 구독서비스 상품준비 일괄처리
* @param subsvcOrderVO
* @return ResponseEntity<WnbtResponse>
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/updateSubsvcOrdrReady", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateSubsvcOrdrReady(BOSubsvcOrderVO subsvcOrderVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
subsvcOrderVO.setSopmalCd(authSopmalCd);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
subsvcOrderVO.setSopmalCd(user.getSopmalCd());
}
/**
* 체크대상정보 파싱
* 형태 : 주문고유번호@주문상품고유번호@주문상품옵션고유번호@주문배송고유번호
* */
subsvcOrderVO.setArrOrdrInnb(new ArrayList<String>());
subsvcOrderVO.setArrOrdrGoodsInnb(new ArrayList<String>());
subsvcOrderVO.setArrOrdrGoodsOptnInnb(new ArrayList<String>());
subsvcOrderVO.setArrOrdrDlvyInnb(new ArrayList<String>());
ArrayList<String> arrCheck = (ArrayList<String>)subsvcOrderVO.getArrCheck();
((ArrayList<String>)subsvcOrderVO.getArrCheck()).forEach(check -> {
String[] innb = check.split("@");
subsvcOrderVO.getArrOrdrInnb().add(innb[0]);
subsvcOrderVO.getArrOrdrGoodsInnb().add(innb[1]);
subsvcOrderVO.getArrOrdrGoodsOptnInnb().add(innb[2]);
subsvcOrderVO.getArrOrdrDlvyInnb().add(innb[3]);
});
DataMap message = new DataMap();
String result = "";
try{
result = boSubsvcOrdrService.updateSubsvcOrdrReady(subsvcOrderVO);
}catch(Exception e){
log.error(e.getMessage());
result = "fail";
}
message.put("message", result);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
);
}
/**
* 구독서비스 상품준비 배송내역 목록 팝업
* @param subsvcOrderVO
* @param model
* @return SubsvcOrdrList.jsp
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectSubsvcOrdrDlvyListPop")
public String selectSubsvcOrdrDlvyListPop(BOSubsvcOrderVO subsvcOrderVO,ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
subsvcOrderVO.setSopmalCd(authSopmalCd);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
subsvcOrderVO.setSopmalCd(user.getSopmalCd());
}
// 목록 조회
List<DataMap> list = boSubsvcOrdrService.selectBOSubsvcOrderDlvyList(subsvcOrderVO);
Map<String, Object> content = new HashMap<>();
content.put("paramVO", subsvcOrderVO);
content.put("list", list);
model.addAttribute("resultMap", content);
return "mngr/ordr/subsvc/SubsvcOrdrDlvyListPop";
}
}