Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -52,6 +52,9 @@ public interface BOMaMtngMapper {
|
||||
/** 주문 전 쿠폰정보 재확인*/
|
||||
public List<String> selectBOPreOrderValidationCouponList(BOPreOrderValidVO goods);
|
||||
|
||||
/** 구독서비스 주문 전 주문정보 재확인*/
|
||||
public List<DataMap> selectBOSubsvcPreOrderValidation(BOPreOrderValidVO goods);
|
||||
|
||||
/*쇼핑몰 구매요청 재검증 확인 여부*/
|
||||
public String selectPurchsValidUseAt(String sopmalCd);
|
||||
}
|
||||
|
||||
@@ -306,8 +306,12 @@ public class BOMaMtngService {
|
||||
}
|
||||
|
||||
for(BOPreOrderValidVO goods : goodsList) {
|
||||
|
||||
List<DataMap> resultValid = mapper.selectBOPreOrderValidation(goods);
|
||||
List<DataMap> resultValid = new ArrayList<>();
|
||||
if(goods.getSubsvcInnb() != "") {
|
||||
resultValid = mapper.selectBOSubsvcPreOrderValidation(goods);
|
||||
} else {
|
||||
resultValid = mapper.selectBOPreOrderValidation(goods);
|
||||
}
|
||||
|
||||
//구매정보 변경대상 필터링
|
||||
// 값이 1인 항목 == 변경항목
|
||||
@@ -473,12 +477,14 @@ public class BOMaMtngService {
|
||||
goodsList.forEach(goods -> {
|
||||
|
||||
String goodsInnb = StringUtil.isNullToString(goods.get("goodsInnb"));
|
||||
|
||||
String subsvcInnb = StringUtil.isNullToString(goods.get("subsvcInnb"));
|
||||
|
||||
//상품별 수량합계
|
||||
int goodsTotalQy = 0;
|
||||
if(qySums.containsKey(goodsInnb)){
|
||||
goodsTotalQy = qySums.getOrDefault(goodsInnb, 0);
|
||||
} else if (qySums.containsKey(subsvcInnb)) {
|
||||
goodsTotalQy = qySums.getOrDefault(subsvcInnb, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -514,6 +520,7 @@ public class BOMaMtngService {
|
||||
.sopmalCd(StringUtil.isNullToString(goods.get("sopmalCd")))
|
||||
.goodsInnb(StringUtil.isNullToString(goods.get("goodsInnb")))
|
||||
.goodsOptnInnb(StringUtil.isNullToString(goods.get("goodsOptnInnb")))
|
||||
.subsvcInnb(StringUtil.isNullToString(goods.get("subsvcInnb")))
|
||||
.mbrInnb(StringUtil.isNullToString(goods.get("mbrInnb")))
|
||||
.mbrDvCd(StringUtil.isNullToString(goods.get("mbrDvCd")))
|
||||
.qy(StringUtil.isNullToString(goods.get("qy")))
|
||||
|
||||
@@ -24,6 +24,9 @@ public class BOPreOrderValidVO {
|
||||
/*상품옵션고유번호*/
|
||||
private String goodsOptnInnb;
|
||||
|
||||
/*구독서비스고유번호*/
|
||||
private String subsvcInnb;
|
||||
|
||||
/*회원고유번호*/
|
||||
private String mbrInnb;
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ import java.math.BigInteger;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
@@ -569,7 +570,7 @@ public class BOOrderService {
|
||||
/* ***********************************
|
||||
4. 주문상품 등록(GC_ORDER_ITEM)
|
||||
*********************************** */
|
||||
List<BOOrderItemVO> insertedGoodsList = insertOrdrGoods(sopmalCd, "01", ordrInnb, goodsList);
|
||||
List<BOOrderItemVO> insertedGoodsList = insertOrdrGoods(sopmalCd, "01", ordrInnb, goodsList, subsvcAt);
|
||||
|
||||
BOOrderShippingVO shippingEscrowVO = new BOOrderShippingVO();
|
||||
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "04".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원 개인결제, 정기배송
|
||||
@@ -869,8 +870,17 @@ public class BOOrderService {
|
||||
int goodsOptnInnb = (int) goods.get("goodsOptnInnb");
|
||||
int ordrQy = (int) goods.get("qy");
|
||||
|
||||
BOOrderItemVO orderItemVO = insertedGoodsList.stream().filter(obj-> Objects.equals(ordrInnb, obj.getOrdrInnb()) &&
|
||||
Objects.equals(BigInteger.valueOf(goodsInnb), obj.getGoodsInnb())).findAny().orElse(null);
|
||||
List<BOOrderItemVO> orderItemVOList = insertedGoodsList.stream().filter(obj-> Objects.equals(ordrInnb, obj.getOrdrInnb()) &&
|
||||
Objects.equals(BigInteger.valueOf(goodsInnb), obj.getGoodsInnb())).toList();
|
||||
BOOrderItemVO orderItemVO = new BOOrderItemVO();
|
||||
// 구독서비스 여부(subsvcAt)에 따라 주문상품 취급 방식 분기
|
||||
if(subsvcAt) {
|
||||
// 구독서비스 : 동일 상품이라도 순번에 따라 개별 옵션 유지
|
||||
orderItemVO = orderItemVOList.size() > allGoodsCount ? orderItemVOList.get(allGoodsCount) : null;
|
||||
} else {
|
||||
// 일반 주문 : 동일 상품과 옵션은 하나로 병합하여 처리
|
||||
orderItemVO = orderItemVOList.stream().findAny().orElse(null);
|
||||
}
|
||||
|
||||
/* ***********************************************
|
||||
6. 주문 상품 옵션 정보 등록(GC_ORDER_ITEM_OPTION)
|
||||
@@ -1051,7 +1061,14 @@ public class BOOrderService {
|
||||
* @return
|
||||
*/
|
||||
public List<BOOrderItemVO> insertOrdrGoods(String sopmalCd, String goodsKndCd, BigInteger ordrInnb, List<LinkedHashMap> goodsList) {
|
||||
List<Integer> goodsInnbList = (goodsList.stream().map(obj-> (int) obj.get("goodsInnb")).toList()).stream().distinct().toList(); // 상품번호 목록(중복제거)
|
||||
return insertOrdrGoods(sopmalCd, goodsKndCd, ordrInnb, goodsList, false);
|
||||
}
|
||||
public List<BOOrderItemVO> insertOrdrGoods(String sopmalCd, String goodsKndCd, BigInteger ordrInnb, List<LinkedHashMap> goodsList, Boolean subsvcAt) {
|
||||
Stream<Integer> goodsInnbstream = goodsList.stream().map(obj -> (int) obj.get("goodsInnb"));
|
||||
if(!subsvcAt) // 상품번호 목록(중복제거)
|
||||
goodsInnbstream = goodsInnbstream.distinct();
|
||||
List<Integer> goodsInnbList = goodsInnbstream.toList();
|
||||
|
||||
boolean tmAt = goodsList.stream().anyMatch(map -> map.containsKey("tmAt")); //tm주문 여부
|
||||
List<BOOrderItemVO> insertedGoodsList = new ArrayList<>(); // 주문상품 목록
|
||||
|
||||
|
||||
@@ -30,4 +30,13 @@ public interface BOSubsvcMapper {
|
||||
void insertBOMngrSubsvc(BOSubsvcVO vo);
|
||||
/** 관리자 구독서비스 명 중복체크*/
|
||||
int selectBOMngrSubsvcNmDupCheck(BOSubsvcVO vo);
|
||||
|
||||
/** 구독서비스 주문에 따른 판매재고수량 수정*/
|
||||
public void updateSubsvcOrdrUsefulInvntryQy(BOSubsvcVO vo);
|
||||
/** 구독서비스 환불에 따른 판매재고수량 수정*/
|
||||
public void updateSubsvcRefundUsefulInvntryQy(BOSubsvcVO vo);
|
||||
/** 구독서비스 주문취소에 따른 판매재고수량 수정*/
|
||||
public void updateSubsvcCancelOrderUsefulInvntryQy(BOSubsvcVO vo);
|
||||
/** 판매재고수량 변경에 따른 구독서비스 상태 수정*/
|
||||
public void updateInvntryPolicySubsvcSttusChng(BOSubsvcVO vo);
|
||||
}
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
package com.wb.domainserver.domain.gcone.goods.subsvc.service;
|
||||
|
||||
import com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO;
|
||||
import com.wb.domainserver.domain.gcone.goods.subsvc.mapper.BOSubsvcMapper;
|
||||
import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
|
||||
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 +139,51 @@ public class BOSubsvcService {
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* 주문에 따른 판매재고수량 수정
|
||||
* @param ordrVO
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public void updateSubsvcOrdrUsefulInvntryQy(BOOrdrVO ordrVO) throws Exception {
|
||||
BOSubsvcVO subsvcVO = new BOSubsvcVO();
|
||||
BeanUtils.copyProperties(ordrVO, subsvcVO);
|
||||
|
||||
//판매수량 수정
|
||||
mapper.updateSubsvcOrdrUsefulInvntryQy(subsvcVO);
|
||||
//구독서비스 상태 수정
|
||||
mapper.updateInvntryPolicySubsvcSttusChng(subsvcVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 환불에 따른 판매재고수량 수정
|
||||
* @param ordrVO
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public void updateSubsvcRefundUsefulInvntryQy(BOOrdrVO ordrVO) throws Exception {
|
||||
BOSubsvcVO subsvcVO = new BOSubsvcVO();
|
||||
BeanUtils.copyProperties(ordrVO, subsvcVO);
|
||||
|
||||
//판매수량 수정
|
||||
mapper.updateSubsvcRefundUsefulInvntryQy(subsvcVO);
|
||||
//구독서비스 상태 수정
|
||||
mapper.updateInvntryPolicySubsvcSttusChng(subsvcVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 주문취소에 따른 판매재고수량 수정
|
||||
* @param ordrVO
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public void updateSubsvcCancelOrderUsefulInvntryQy(BOOrdrVO ordrVO) throws Exception {
|
||||
BOSubsvcVO subsvcVO = new BOSubsvcVO();
|
||||
BeanUtils.copyProperties(ordrVO, subsvcVO);
|
||||
|
||||
//판매수량 수정
|
||||
mapper.updateSubsvcCancelOrderUsefulInvntryQy(subsvcVO);
|
||||
//구독서비스 상태 수정
|
||||
mapper.updateInvntryPolicySubsvcSttusChng(subsvcVO);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 String ordrInnb;
|
||||
|
||||
|
||||
/** 결제상품정보 */
|
||||
|
||||
@@ -6017,8 +6017,8 @@ public class BOOrdrService{
|
||||
LinkedHashMap subsvcOne = subsvcList.get(0);
|
||||
log.debug("subsvcOne : {}", subsvcOne);
|
||||
|
||||
goodsAmt = BigDecimal.valueOf((Integer) subsvcOne.get("selpric"));
|
||||
setleAmt = BigDecimal.valueOf((Integer) subsvcOne.get("selpric"));
|
||||
goodsAmt = BigDecimal.valueOf((Integer) subsvcOne.get("slepric"));
|
||||
setleAmt = BigDecimal.valueOf((Integer) subsvcOne.get("slepric"));
|
||||
log.debug("결제 예정 금액 : {}", setleAmt);
|
||||
|
||||
// 환율계산
|
||||
|
||||
@@ -1,53 +1,45 @@
|
||||
package com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
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.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.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.BOOrdrService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrDlvyVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrRefundVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
|
||||
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.vo.BOOrderReItemVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORefundSetleVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORtngudrefndSrchVO;
|
||||
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.promtn.coupon.service.BOCouponService;
|
||||
import com.wb.domainserver.domain.gcone.promtn.coupon.vo.BODwldCouponVO;
|
||||
import com.wb.domainserver.domain.gcone.setup.site.mapper.BOSiteMapper;
|
||||
import com.wb.domainserver.domain.gcone.setup.site.vo.BOSetupContentsItemVO;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import com.wb.domainserver.util.string.StringUtil;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.mapper.BORtngudrefndMapper;
|
||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORtngudrefndSrchVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORtngudrefndVO;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
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 org.springframework.web.bind.support.WebExchangeBindException;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -87,6 +79,9 @@ public class BORtngudrefndService {
|
||||
@Autowired
|
||||
private BOOrderService orderService;
|
||||
|
||||
@Autowired
|
||||
private BOSubsvcService subsvcService;
|
||||
|
||||
@Autowired
|
||||
private BORtngudrefndMapper mapper;
|
||||
|
||||
@@ -1381,7 +1376,21 @@ public class BORtngudrefndService {
|
||||
if ("0".equals(message.get("status"))) {
|
||||
|
||||
// ########################################### 상품 재고 ###########################################
|
||||
boGoodsService.updateRefundUsefulInvntryQy(refundVO);
|
||||
BOOrdrVO ordrVO = new BOOrdrVO();
|
||||
ordrVO.setOrdrInnb(refundVO.getOrdrInnb());
|
||||
ordrVO.setSopmalCd(refundVO.getSopmalCd());
|
||||
|
||||
DataMap ordrDtl = ordrMapper.selectOrdrDtl(ordrVO);
|
||||
boolean subsvcAt = "Y".equals(ordrDtl.get("subsvcAt"));
|
||||
// 구독서비스 여부(subsvcAt)에 따라 재고 처리 로직을 분기
|
||||
if(subsvcAt) {
|
||||
// 구독서비스
|
||||
ordrVO.setSubsvcInnb(ordrDtl.get("subsvcInnb").toString());
|
||||
subsvcService.updateSubsvcRefundUsefulInvntryQy(ordrVO);
|
||||
} else {
|
||||
// 일반 주문
|
||||
boGoodsService.updateRefundUsefulInvntryQy(refundVO);
|
||||
}
|
||||
|
||||
|
||||
// ########################################### 쿠폰 복원 ###########################################
|
||||
@@ -1536,7 +1545,21 @@ public class BORtngudrefndService {
|
||||
|
||||
|
||||
// ########################################### 상품 재고 ###########################################
|
||||
boGoodsService.updateCancelOrderUsefulInvntryQy(ordrVO, ordrVO.getOrdrInnb());
|
||||
BOOrdrVO boOrdrVO = new BOOrdrVO();
|
||||
boOrdrVO.setOrdrInnb(ordrVO.getOrdrInnb());
|
||||
boOrdrVO.setSopmalCd(ordrVO.getSopmalCd());
|
||||
|
||||
DataMap ordrDtl = ordrMapper.selectOrdrDtl(boOrdrVO);
|
||||
boolean subsvcAt = "Y".equals(ordrDtl.get("subsvcAt"));
|
||||
// 구독서비스 여부(subsvcAt)에 따라 재고 처리 로직을 분기
|
||||
if(subsvcAt) {
|
||||
// 구독서비스
|
||||
boOrdrVO.setSubsvcInnb(ordrDtl.get("subsvcInnb").toString());
|
||||
subsvcService.updateSubsvcCancelOrderUsefulInvntryQy(boOrdrVO);
|
||||
} else {
|
||||
// 일반 주문
|
||||
boGoodsService.updateCancelOrderUsefulInvntryQy(ordrVO, ordrVO.getOrdrInnb());
|
||||
}
|
||||
|
||||
resotreResult.put("restoreResult", "0");
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -261,6 +261,143 @@ public class MyActController {
|
||||
|
||||
return Util.getDeviceType(request)+"/mpage/act/MyGoodsQnaDtlUpdtU";
|
||||
}
|
||||
|
||||
/**
|
||||
* 일반문의 조회
|
||||
* @param bbsctt
|
||||
* @return String
|
||||
*/
|
||||
@Policy(AuthPolicy.PUBLIC)
|
||||
@RequestMapping(value="/selectNormalQnaInqire")
|
||||
public String selectNormalQnaInqire(HttpServletRequest request, ModelMap model, BOGnrlbbscttVO bbsctt, BOMbrVO vo){
|
||||
bbsctt.setBbsTyCd("01");
|
||||
bbsctt.setServerDv("sopmal");
|
||||
bbsctt.setReqUrl("mpage");
|
||||
|
||||
DataMap content = selectBOBbscttListInqire(bbsctt);
|
||||
model.addAttribute("resultMap", content);
|
||||
// responseHandler.handleResponse(
|
||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOBbscttListInqire",bbsctt),
|
||||
// model,
|
||||
// "resultMap"
|
||||
// );
|
||||
|
||||
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
||||
// 마이페이지 > 상단 회원 정보 ( 등금, 이름, 마일리지, 쿠폰, 위시리스트, 배송중, 등급산정기준 )
|
||||
model.addAttribute("mpageResultMap", content2);
|
||||
// responseHandler.handleResponse(
|
||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/mbr/mbr/selectBOMpageInfoInqire",bbsctt),
|
||||
// model,
|
||||
// "mpageResultMap"
|
||||
// );
|
||||
|
||||
return Util.getDeviceType(request)+"/mpage/act/MyNormalQaR";
|
||||
}
|
||||
|
||||
/**
|
||||
* 일반문의 수정 폼 이동
|
||||
* @param bbsctt
|
||||
* @return String
|
||||
*/
|
||||
@Policy(AuthPolicy.PUBLIC)
|
||||
@RequestMapping(value="/selectNormalQnaDtlUpdtForm")
|
||||
public String selectNormalQnaDtlUpdtForm(HttpServletRequest request, ModelMap model,BOGnrlbbscttVO bbsctt, BOMbrVO vo){
|
||||
bbsctt.setServerDv("sopmal");
|
||||
bbsctt.setBbsTyCd("01");
|
||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||
if ("01".equals(user.getSysDvCd())) {
|
||||
bbsctt.setSopmalCd(user.getSopmalCd());
|
||||
}
|
||||
;
|
||||
if (user.getUserInnb() > 0) {
|
||||
if ("mngr".equals(bbsctt.getServerDv())) {
|
||||
bbsctt.setRegusrDvCd("02"); //관리자
|
||||
} else {
|
||||
bbsctt.setRegusrDvCd("01"); //회원
|
||||
bbsctt.setAnswMbtlnb(user.getMbtlnb());
|
||||
}
|
||||
} else {
|
||||
bbsctt.setRegusrDvCd("99");//비회원
|
||||
}
|
||||
bbsctt.setSecretKey(boCommonService.selectSecretkey());
|
||||
// 게시판 설정 정보
|
||||
BOBbsVO bbsVO = new BOBbsVO();
|
||||
// bbsVO에 쇼핑몰코드, 해당 게시판 set
|
||||
bbsVO.setSopmalCd(bbsctt.getSopmalCd());
|
||||
bbsVO.setBbsId(bbsctt.getBbsId());
|
||||
bbsVO.setBbsTyCd(bbsctt.getBbsTyCd());
|
||||
DataMap bbsInfo = new DataMap();
|
||||
bbsInfo = bbsService.selectBOBbsSetupInfo(bbsVO);
|
||||
|
||||
// 게시글 상세 조회
|
||||
Map<String, Object> bbscttInfo = new HashMap<String, Object>();
|
||||
bbscttInfo = service.selectBOBbscttUpdt(bbsctt);
|
||||
|
||||
// 분류 조회
|
||||
List<DataMap> itmList = new ArrayList<>();
|
||||
itmList = service.selectBOBbscttItmInqire(bbsctt);
|
||||
|
||||
//추가 항목 조회, 추가항목 항목 조회
|
||||
Map<String, Object> qesitmList = new HashMap<String, Object>();
|
||||
qesitmList = service.selectBOBbscttRegistPopupForm(bbsctt);
|
||||
|
||||
//리뷰항목 리스트, 리뷰항목 항목 리스트
|
||||
Map<String, Object> rvwQesitmList = new HashMap<String, Object>();
|
||||
rvwQesitmList = service.selectBOStarItm(bbsctt);
|
||||
|
||||
Map<String, Object> content = new HashMap<String, Object>();
|
||||
content.put("bbsInfo", bbsInfo);
|
||||
content.put("bbscttVO", bbsctt);
|
||||
content.put("bbscttInfo", bbscttInfo);
|
||||
content.put("itmList", itmList);
|
||||
content.put("qesitmList", qesitmList);
|
||||
content.put("rvwQesitmList", rvwQesitmList);
|
||||
|
||||
model.addAttribute("resultMap", content);
|
||||
// responseHandler.handleResponse(
|
||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOBbscttUpdtPopupForm",bbsctt),
|
||||
// model,
|
||||
// "resultMap"
|
||||
// );
|
||||
model.addAttribute("bbsctt", bbsctt);
|
||||
|
||||
// 마이페이지 > 상단 회원 정보 ( 등금, 이름, 마일리지, 쿠폰, 위시리스트, 배송중, 등급산정기준 )
|
||||
Map<String, Object> content2 = selectBOMpageInfoInqire(vo);
|
||||
model.addAttribute("mpageResultMap", content2);
|
||||
// responseHandler.handleResponse(
|
||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/mbr/mbr/selectBOMpageInfoInqire",bbsctt),
|
||||
// model,
|
||||
// "mpageResultMap"
|
||||
// );
|
||||
|
||||
return Util.getDeviceType(request)+"/mpage/act/MyNormalQnaDtlUpdtU";
|
||||
}
|
||||
|
||||
/**
|
||||
* 일반문의 ajax 조회
|
||||
* @param bbsctt
|
||||
* @return String
|
||||
*/
|
||||
@Policy(AuthPolicy.PUBLIC)
|
||||
@RequestMapping(value="/selectNormalQnaInqireAjax", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<?> selectNormalQnaInqireAjax(BOGnrlbbscttVO bbsctt){
|
||||
bbsctt.setBbsTyCd("01");
|
||||
bbsctt.setServerDv("sopmal");
|
||||
bbsctt.setReqUrl("mpage");
|
||||
//게시글 노출 항목 설정값과 게시판 목록 조회
|
||||
|
||||
DataMap content = selectBOBbscttListInqire(bbsctt);
|
||||
return ResponseEntity.ok(
|
||||
WnbtResponse.builder()
|
||||
.resBody(new WnbtResponseBody(content))
|
||||
.build()
|
||||
);
|
||||
// return responseHandler.handleResponse(
|
||||
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOBbscttListInqire",bbsctt),
|
||||
// ReplyFromResrc::getReply
|
||||
// );
|
||||
}
|
||||
|
||||
/**
|
||||
* 1:1 문의 조회
|
||||
* @param bbsctt
|
||||
|
||||
@@ -797,6 +797,7 @@ public class OrdrController {
|
||||
|
||||
LinkedHashMap goodsOne = ((List<LinkedHashMap>) paramData.get("goodsList")).get(0);
|
||||
Boolean subsvcAt = goodsOne.containsKey("subsvcInnb");
|
||||
// 구독서비스에 포함된 상품 목록 세팅
|
||||
if(subsvcAt) {
|
||||
model.addAttribute("subsvcInnb", goodsOne.get("subsvcInnb"));
|
||||
|
||||
@@ -2925,7 +2926,21 @@ 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"));
|
||||
// 구독서비스 여부(subsvcAt)에 따라 재고 처리 로직을 분기
|
||||
if(subsvcAt) {
|
||||
// 구독서비스
|
||||
ordrVO.setSubsvcInnb(ordrDtl.get("subsvcInnb").toString());
|
||||
subsvcService.updateSubsvcOrdrUsefulInvntryQy(ordrVO);
|
||||
} else {
|
||||
// 일반 주문
|
||||
boGoodsService.updateOrdrUsefulInvntryQy(orderVO);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logVO.setFailContent("상품 재고수량 업데이트 실패");
|
||||
log.error("{} 상품 재고수량 업데이트 실패!", payVO.getOrderId());
|
||||
|
||||
Reference in New Issue
Block a user