## Opt - 增加甄选专区 商品同精品专区一致,下单逻辑同商城专区一致
This commit is contained in:
parent
769164a79a
commit
8187299ebf
|
@ -424,7 +424,7 @@ public class ApiRetailOrderController {
|
|||
* @param source 数据来源
|
||||
* @return
|
||||
*/
|
||||
@RepeatSubmit
|
||||
// @RepeatSubmit
|
||||
@PostMapping("/confirm-other-order")
|
||||
public AjaxResult confirmOtherOrder(@Valid @RequestBody RetailOrderOtherParam orderParam,
|
||||
@RequestHeader("Source") Integer source) {
|
||||
|
@ -468,6 +468,7 @@ public class ApiRetailOrderController {
|
|||
if (null == otherParam) {
|
||||
return AjaxResult.error("订单长时间没有支付,已经失效,请重新下单");
|
||||
}
|
||||
otherParam.setSpecialArea(payParam.getSpecialArea());
|
||||
|
||||
// 购买会员
|
||||
CuMember buyMember = iMemberServiceApi.getRetailMember(null, otherParam.getBuyMemberCode()).getData();
|
||||
|
@ -478,7 +479,7 @@ public class ApiRetailOrderController {
|
|||
|
||||
// 封装订单信息
|
||||
SaOrderExt saOrderExt = iRetailOrderService.createSaOrder(otherParam, null, buyMember);
|
||||
|
||||
saOrderExt.setOrderType(payParam.getSpecialArea());
|
||||
// 校验会员账户状态等
|
||||
R<CuMemberAccountExt> accountResult = iRetailOrderService.validMemberAccount(pkMember, payParam.getPayPwd());
|
||||
if (!accountResult.isSuccess()) {
|
||||
|
|
|
@ -22,6 +22,7 @@ import com.hzs.common.domain.member.base.CuMemberShare;
|
|||
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||
import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
|
||||
import com.hzs.common.domain.sale.order.*;
|
||||
import com.hzs.common.domain.sale.product.BdProduct;
|
||||
import com.hzs.common.domain.sale.wares.BdWaresRange;
|
||||
|
@ -221,6 +222,9 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
}else if(ESpecialArea.RETAIL_REPURCHASE.getValue() == orderParam.getSpecialArea()){
|
||||
// saOrderExt.setOrderAmount(saOrderExt.getOrderAmount().add(orderParam.getPostage()));
|
||||
saOrderExt.setPostage(orderParam.getPostage());
|
||||
}else if(ESpecialArea.RETAIL_UPGRADE.getValue() == orderParam.getSpecialArea()){
|
||||
saOrderExt.setSpecialArea(ESpecialArea.RETAIL_UPGRADE.getValue());
|
||||
saOrderExt.setOrderType(ESpecialArea.RETAIL_UPGRADE.getValue());
|
||||
}
|
||||
|
||||
return saOrderExt;
|
||||
|
@ -229,6 +233,11 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
@Override
|
||||
public List<SaOrderItems> createSaOrderItems(RetailOrderParam orderParam, List<BdGrade> gradeList,
|
||||
CuMember cuMember, SaOrderExt saOrderExt, CurrencyDTO currency) {
|
||||
boolean isCopy41List = false;
|
||||
if(ESpecialArea.RETAIL_UPGRADE.getValue() == orderParam.getSpecialArea()){
|
||||
orderParam.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue());
|
||||
isCopy41List = true;
|
||||
}
|
||||
// 订单明细信息
|
||||
List<SaOrderItems> orderItemsList = new ArrayList<>();
|
||||
if (null == currency) {
|
||||
|
@ -275,6 +284,9 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
saOrderExt.setPostage(orderParam.getPostage());
|
||||
// 订单指定商品盒数
|
||||
saOrderExt.setBoxNum(boxNum);
|
||||
if(isCopy41List){
|
||||
saOrderExt.setOrderType(ESpecialArea.RETAIL_UPGRADE.getValue());
|
||||
}
|
||||
}
|
||||
return orderItemsList;
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
|
|||
import cn.hutool.core.codec.Base64Decoder;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.hzs.common.core.constant.CountryConstants;
|
||||
|
@ -86,6 +87,10 @@ public class ApiRetailWaresController extends BaseController {
|
|||
*/
|
||||
@PostMapping("/wares-list")
|
||||
public AjaxResult waresList(@Valid @RequestBody RetailWaresParam param) {
|
||||
boolean copyFor41List = param.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue());
|
||||
if(copyFor41List){
|
||||
param.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue());
|
||||
}
|
||||
// 会员信息
|
||||
CuMemberExt cuMemberExt = iMemberServiceApi.getMemberById(SecurityUtils.getUserId()).getData();
|
||||
|
||||
|
@ -102,6 +107,9 @@ public class ApiRetailWaresController extends BaseController {
|
|||
|
||||
if (CollectionUtil.isNotEmpty(bdWaresExtList)) {
|
||||
resultList = this.waresShowHandle(bdWaresExtList, param.getSpecialArea(), cuMemberExt.getPkSettleGrade(), true);
|
||||
if(copyFor41List){
|
||||
resultList.forEach(item -> {item.setSpecialArea(ESpecialArea.RETAIL_UPGRADE.getValue());});
|
||||
}
|
||||
}
|
||||
return AjaxResult.success(resultList);
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.hzs.sale.shopping.controller.api;
|
|||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.hzs.common.core.constant.CacheConstants;
|
||||
import com.hzs.common.core.enums.ESpecialArea;
|
||||
import com.hzs.common.core.service.RedisService;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
import com.hzs.common.core.web.controller.BaseController;
|
||||
|
@ -49,6 +50,10 @@ public class ApiShoppingCartController extends BaseController {
|
|||
if (null == scr.getPkCountry() || scr.getPkCountry() == 0) {
|
||||
scr.setPkCountry(SecurityUtils.getPkCountry());
|
||||
}
|
||||
boolean copyFor41List = scr.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue());
|
||||
// if(copyFor41List){
|
||||
// scr.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue());
|
||||
// }
|
||||
String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + SecurityUtils.getUserId();
|
||||
Map<String, Object> shoppingCartRedisMap = redisService.getCacheMap(key);
|
||||
if (shoppingCartRedisMap == null) {
|
||||
|
@ -70,6 +75,7 @@ public class ApiShoppingCartController extends BaseController {
|
|||
for (ProductGroup productGroup : scr.getProductGroup()) {
|
||||
innerKey.append(productGroup.getPkSkuId()).append("_").append(productGroup.getQuantity());
|
||||
}
|
||||
innerKey.append("_").append(copyFor41List ? ESpecialArea.RETAIL_UPGRADE.getValue() : scr.getSpecialArea());
|
||||
|
||||
if (innerShopMap.containsKey(innerKey.toString())) {
|
||||
// 购物车中存在该商品
|
||||
|
@ -77,6 +83,9 @@ public class ApiShoppingCartController extends BaseController {
|
|||
ShoppingCartRedis shoppingCartRedis = JSONUtil.toBean(jsonString, ShoppingCartRedis.class);
|
||||
shoppingCartRedis.setNumber(shoppingCartRedis.getNumber() + scr.getNumber());
|
||||
shoppingCartRedis.setPkMakerSpace(scr.getPkMakerSpace());
|
||||
if(copyFor41List){
|
||||
shoppingCartRedis.setSpecialArea(ESpecialArea.RETAIL_UPGRADE.getValue());
|
||||
}
|
||||
|
||||
innerShopMap.put(innerKey.toString(), JSONUtil.toJsonStr(shoppingCartRedis));
|
||||
} else {
|
||||
|
@ -97,6 +106,10 @@ public class ApiShoppingCartController extends BaseController {
|
|||
if (shoppingCartVO.getSpecialArea() == null || shoppingCartVO.getPkCountry() == null) {
|
||||
shoppingCartVO.setPkCountry(SecurityUtils.getPkCountry());
|
||||
}
|
||||
boolean copyFor41List = shoppingCartVO.getSpecialArea() == null || shoppingCartVO.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue());
|
||||
// if(copyFor41List){
|
||||
// shoppingCartVO.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue());
|
||||
// }
|
||||
String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + SecurityUtils.getUserId();
|
||||
Map<String, Object> shoppingCartRedisMap = redisService.getCacheMap(key);
|
||||
List<ShoppingCartVO> shoppingCartOld;
|
||||
|
@ -104,6 +117,9 @@ public class ApiShoppingCartController extends BaseController {
|
|||
Map<String, String> innerShopMap;
|
||||
innerShopMap = (Map<String, String>) shoppingCartRedisMap.get(key);
|
||||
shoppingCartOld = shoppingCartService.getShopping(innerShopMap, shoppingCartVO.getSpecialArea(), shoppingCartVO.getPkCountry(), SecurityUtils.getSystemType());
|
||||
if(copyFor41List){
|
||||
shoppingCartOld.forEach(item -> {item.setSpecialArea(ESpecialArea.RETAIL_UPGRADE.getValue());});
|
||||
}
|
||||
} else {
|
||||
shoppingCartOld = new ArrayList<>();
|
||||
}
|
||||
|
@ -120,6 +136,10 @@ public class ApiShoppingCartController extends BaseController {
|
|||
if (null == shoppingCartVO.getPkCountry()) {
|
||||
shoppingCartVO.setPkCountry(SecurityUtils.getPkCountry());
|
||||
}
|
||||
boolean copyFor41List = shoppingCartVO.getSpecialArea() == null || shoppingCartVO.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue());
|
||||
// if(copyFor41List){
|
||||
// shoppingCartVO.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue());
|
||||
// }
|
||||
int count = 0;
|
||||
String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + userId;
|
||||
Map<String, Object> shoppingCartRedisMap = redisService.getCacheMap(key);
|
||||
|
@ -137,6 +157,9 @@ public class ApiShoppingCartController extends BaseController {
|
|||
ShoppingCartRedis shoppingCartRedis = JSONUtil.toBean(value, ShoppingCartRedis.class);
|
||||
Integer shoppingCartRedisPkCountry = shoppingCartRedis.getPkCountry();
|
||||
Integer shoppingCartRedisSpecialArea = shoppingCartRedis.getSpecialArea();
|
||||
// if(copyFor41List){
|
||||
// shoppingCartRedisSpecialArea = (ESpecialArea.RETAIL_REGISTER.getValue());
|
||||
// }
|
||||
if (shoppingCartRedisPkCountry == 0) {
|
||||
iterator.remove();
|
||||
continue;
|
||||
|
@ -147,6 +170,7 @@ public class ApiShoppingCartController extends BaseController {
|
|||
if (null != cuWaresParams && CollectionUtil.isNotEmpty(cuWaresParams.getProductParams())
|
||||
&& CollectionUtil.isNotEmpty(cuWaresParams.getProductParams().get(0).getWaresItemsParamsList())) {
|
||||
count += shoppingCartRedis.getNumber();
|
||||
cuWaresParams.setSpecialArea(shoppingCartVO.getSpecialArea());
|
||||
} else {
|
||||
iterator.remove();
|
||||
}
|
||||
|
@ -175,6 +199,10 @@ public class ApiShoppingCartController extends BaseController {
|
|||
if (null == shoppingCartVO.getPkCountry()) {
|
||||
shoppingCartVO.setPkCountry(SecurityUtils.getPkCountry());
|
||||
}
|
||||
boolean copyFor41List = shoppingCartVO.getSpecialArea() == null || shoppingCartVO.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue());
|
||||
// if(copyFor41List){
|
||||
// shoppingCartVO.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue());
|
||||
// }
|
||||
int smallCount = 0;
|
||||
String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + userId;
|
||||
Map<String, Object> shoppingCartRedisMap = redisService.getCacheMap(key);
|
||||
|
@ -193,17 +221,21 @@ public class ApiShoppingCartController extends BaseController {
|
|||
ShoppingCartRedis shoppingCartRedis = JSONUtil.toBean(value, ShoppingCartRedis.class);
|
||||
Integer shoppingCartRedisPkCountry = shoppingCartRedis.getPkCountry();
|
||||
Integer shoppingCartRedisSpecialArea = shoppingCartRedis.getSpecialArea();
|
||||
// if(copyFor41List){
|
||||
// shoppingCartRedisSpecialArea = (ESpecialArea.RETAIL_REGISTER.getValue());
|
||||
// }
|
||||
if (shoppingCartRedisPkCountry == 0) {
|
||||
iterator.remove();
|
||||
continue;
|
||||
}
|
||||
if (shoppingCartRedisSpecialArea.equals(shoppingCartSpecialArea)
|
||||
if (copyFor41List ? shoppingCartRedisSpecialArea.equals(ESpecialArea.RETAIL_UPGRADE.getValue()) : shoppingCartRedisSpecialArea.equals(shoppingCartSpecialArea)
|
||||
&& shoppingCartPkCountry.equals(shoppingCartRedisPkCountry)) {
|
||||
if (null != shoppingCartRedis.getWaresCode()) {
|
||||
CuWaresParams cuWaresParams = bdWaresSpecsSkuService.queryWaresSpecsSkuCount(shoppingCartSpecialArea, shoppingCartRedis.getWaresCode(), userId, shoppingCartPkCountry);
|
||||
if (null != cuWaresParams && CollectionUtil.isNotEmpty(cuWaresParams.getProductParams())
|
||||
&& CollectionUtil.isNotEmpty(cuWaresParams.getProductParams().get(0).getWaresItemsParamsList())) {
|
||||
smallCount += shoppingCartRedis.getNumber();
|
||||
cuWaresParams.setSpecialArea(shoppingCartVO.getSpecialArea());
|
||||
}
|
||||
} else {
|
||||
smallCount += shoppingCartRedis.getNumber();
|
||||
|
@ -277,6 +309,10 @@ public class ApiShoppingCartController extends BaseController {
|
|||
if (null == scr.getPkCountry()) {
|
||||
scr.setPkCountry(SecurityUtils.getPkCountry());
|
||||
}
|
||||
boolean copyFor41List = scr.getSpecialArea().equals(ESpecialArea.RETAIL_UPGRADE.getValue());
|
||||
if(copyFor41List){
|
||||
scr.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue());
|
||||
}
|
||||
String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + SecurityUtils.getUserId();
|
||||
Map<String, Object> shoppingCartRedisMap = redisService.getCacheMap(key);
|
||||
CarWaresInfoVo carWaresInfoVo = new CarWaresInfoVo();
|
||||
|
|
|
@ -166,6 +166,9 @@ public class ShoppingCartServiceImpl implements IShoppingCartService {
|
|||
**/
|
||||
private void getShoppingCart(ShoppingCart shoppingCart, Integer specialArea, String waresCode, Long userId, ShoppingCartRedis sst,
|
||||
BigDecimal waresPrice, BigDecimal achieve, BigDecimal assAchieve, R<CurrencyDTO> currency, Integer pkCountry, Integer systemType) {
|
||||
if(specialArea.equals(ESpecialArea.RETAIL_UPGRADE.getValue())){
|
||||
specialArea = ESpecialArea.RETAIL_REGISTER.getValue();
|
||||
}
|
||||
CuWaresParams cuWaresParams = iBdWaresSpecsSkuService.queryWaresSpecsSkuShopping(specialArea, waresCode, userId, pkCountry, systemType);
|
||||
if (cuWaresParams == null) {
|
||||
return;
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.hzs.sale.wares.service.impl;
|
|||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.core.constant.CountryConstants;
|
||||
import com.hzs.common.core.domain.R;
|
||||
|
@ -188,7 +189,9 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
|||
@Override
|
||||
public CuWaresParams queryWaresSpecsSkuCount(Integer specialArea, String waresCode, Long loginMemberId, Integer pkCountry) {
|
||||
List<BdWaresSpecsSkuExt> bdWaresSpecsSkuExtList;
|
||||
|
||||
if(ESpecialArea.RETAIL_UPGRADE.getValue() == specialArea){
|
||||
specialArea = ESpecialArea.RETAIL_REGISTER.getValue();
|
||||
}
|
||||
if (EOrderType.REPURCHASE_ORDER.getValue() == specialArea
|
||||
|| EOrderType.MALL_ORDER.getValue() == specialArea) {
|
||||
R<CuMember> memberDate = iMemberServiceApi.getMember(loginMemberId);
|
||||
|
|
|
@ -39,6 +39,11 @@ public enum EOrderType {
|
|||
* 精品专区 -- 注册专区
|
||||
*/
|
||||
RETAIL_REGISTER(41, "精品专区", 0),
|
||||
|
||||
/**
|
||||
* 甄选专区 -- 甄选专区
|
||||
*/
|
||||
RETAIL_UPGRADE(42, "甄选专区", 0),
|
||||
/**
|
||||
* 商城专区 -- 复购专区
|
||||
*/
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.hzs.common.core.enums;
|
||||
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
|
@ -34,6 +35,10 @@ public enum ESpecialArea {
|
|||
* 精品专区
|
||||
*/
|
||||
RETAIL_REGISTER(41, "精品专区", 0, 41, -1),
|
||||
/**
|
||||
* 甄选专区
|
||||
*/
|
||||
RETAIL_UPGRADE(42, "甄选专区", 0, 42, -1),
|
||||
/**
|
||||
* 商城专区
|
||||
*/
|
||||
|
|
|
@ -20,6 +20,7 @@ public enum ETradeType {
|
|||
FICTITIOUS_ORDER(120, 0, "虚拟订单", 0, EnumsPrefixConstants.TRADE_TYPE + 120, EOrderType.FICTITIOUS_ORDER.getValue()),
|
||||
|
||||
RETAIL_REGISTER_ORDER(141, 0, "注册订单", 0, EnumsPrefixConstants.TRADE_TYPE + 141, EOrderType.RETAIL_REGISTER.getValue()),
|
||||
RETAIL_UPGRADE_ORDER(142, 0, "甄选订单", 0, EnumsPrefixConstants.TRADE_TYPE + 142, EOrderType.RETAIL_UPGRADE.getValue()),
|
||||
RETAIL_REPURCHASE_ORDER(143, 0, "复购订单", 0, EnumsPrefixConstants.TRADE_TYPE + 143, EOrderType.RETAIL_REPURCHASE.getValue()),
|
||||
RETAIL_CONSUME_ORDER(144, 0, "重消订单", 0, EnumsPrefixConstants.TRADE_TYPE + 144, EOrderType.RETAIL_CONSUME.getValue()),
|
||||
RETAIL_TICKET_ORDER(145, 0, "自主购票", 0, EnumsPrefixConstants.TRADE_TYPE + 145, EOrderType.RETAIL_TICKET.getValue()),
|
||||
|
|
Loading…
Reference in New Issue