3
0
Fork 0

## 提货中心相关流程;

This commit is contained in:
cabbage 2025-08-05 09:23:01 +08:00
parent 884b8665c7
commit 71e42c3311
32 changed files with 515 additions and 509 deletions

View File

@ -1,29 +0,0 @@
package com.hzs.sale.postage;
import com.hzs.common.core.domain.R;
import com.hzs.sale.postage.dto.PostageProductDTO;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description: 邮费服务API
* @Author: jiang chao
* @Time: 2023/4/25 14:40
* @Classname: IPostageServiceApi
* @PackageName: com.hzs.sale.postage
*/
public interface IPostageServiceApi {
/**
* 查询邮费
*
* @param pkId 邮费模板ID
* @param productList 产品列表
* @param province
* @param recCity
* @return
*/
R<BigDecimal> queryPostage(Integer pkId, List<PostageProductDTO> productList, Integer province, Integer recCity);
}

View File

@ -8,11 +8,7 @@ import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description: 邮费产品DOT
* @Author: jiang chao
* @Time: 2023/4/25 16:05
* @Classname: PostageProductDTO
* @PackageName: com.hzs.sale.postage.dto
* 邮费产品DOT
*/
@NoArgsConstructor
@AllArgsConstructor

View File

@ -1,26 +1,16 @@
package com.hzs.common.util;
import com.hzs.common.core.constant.CacheConstants;
import com.hzs.common.core.enums.ELanguages;
import com.hzs.common.core.service.RedisService;
import com.hzs.common.core.utils.SpringUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Component;
/**
* 国际化翻译工具
*
* @author hzs
*/
@Component
@Slf4j
public class TransactionUtils implements InitializingBean {
// private static RedisService redisService;
/**
* 获取国际化翻译内容
*
@ -29,22 +19,6 @@ public class TransactionUtils implements InitializingBean {
* @return
*/
public static String getContent(String key, Object... args) {
// try {
// // 获取对应语言
// ELanguages language = ELanguages.getLanguagesByLocal(LocaleContextHolder.getLocale().toLanguageTag());
// if (null != language) {
// String str = redisService.getCacheMapValue(CacheConstants.LANGUAGE_KEY + language.getLocal(), key);
// if (StringUtils.isNotEmpty(str)) {
// if (args.length != 0) {
// str = String.format(str, args);
// }
// return str;
// }
// }
// log.warn("国际化翻译工具: 翻译键不存在或缓存不存在! key: {}", key);
// } catch (Exception e) {
// log.error("国际化翻译工具异常! key: {}", key, e);
// }
if (args.length != 0) {
return String.format(key, args);
}
@ -53,7 +27,6 @@ public class TransactionUtils implements InitializingBean {
@Override
public void afterPropertiesSet() {
// redisService = SpringUtils.getBean(RedisService.class);
}
}

View File

@ -9,33 +9,43 @@ import com.hzs.activity.pick.vo.ApiPickDetailVO;
import com.hzs.activity.pick.vo.ApiPickVO;
import com.hzs.activity.wares.service.IAcGiftConfigService;
import com.hzs.common.core.annotation.RepeatSubmitSimple;
import com.hzs.common.core.constant.CacheConstants;
import com.hzs.common.core.constant.msg.ActivityMsgConstants;
import com.hzs.common.core.constant.msg.CommonMsgConstants;
import com.hzs.common.core.enums.*;
import com.hzs.common.core.service.RedisService;
import com.hzs.common.core.utils.CommonUtil;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.domain.activity.base.ext.AcGiftConfigExt;
import com.hzs.common.domain.activity.pick.AcPick;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.order.SaOrderItems;
import com.hzs.common.domain.system.base.BdStorehouse;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.util.TransactionUtils;
import com.hzs.member.base.IMemberServiceApi;
import com.hzs.retail.sale.param.RetailOrderOtherParam;
import com.hzs.sale.product.IProductServiceApi;
import com.hzs.sale.product.dto.ProductDTO;
import com.hzs.system.base.ICurrencyServiceApi;
import com.hzs.system.base.dto.CurrencyDTO;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
* @Description: 会员端提货处理控制器
* @Author: jiang chao
* @Time: 2023/4/24 13:55
* @Classname: ApiPickController
* @PackageName: com.hzs.activity.pick.controller.api
* 会员端提货处理控制器
*/
@RequestMapping("/api/pick")
@RestController
@ -47,9 +57,15 @@ public class ApiPickController extends BaseController {
private IAcPickMemberLogService iAcPickMemberLogService;
@Autowired
private IAcGiftConfigService iAcGiftConfigService;
@Autowired
private RedisService redisService;
@DubboReference
IProductServiceApi iProductServiceApi;
@DubboReference
IMemberServiceApi iMemberServiceApi;
@DubboReference
ICurrencyServiceApi iCurrencyServiceApi;
/**
* 查询提货列表
@ -86,6 +102,9 @@ public class ApiPickController extends BaseController {
// 会员提货商品数量不足
return AjaxResult.error(TransactionUtils.getContent(ActivityMsgConstants.PICK_QUANTITY_NOT_ENOUGH));
}
if (quantity % acPick.getBaseQuantity() != 0) {
return AjaxResult.error(TransactionUtils.getContent(ActivityMsgConstants.PICK_QUANTITY_BASE, acPick.getBaseQuantity()));
}
// 提货详情VO
ApiPickVO apiPickVO = new ApiPickVO();
@ -96,7 +115,8 @@ public class ApiPickController extends BaseController {
switch (EPickType.getEnumByValue(acPick.getPickType())) {
case PICK_PRODUCT:
case PRIZE:
// 提货产品处理迁移抽奖处理
case COMPANY_PRODUCT:
// 提货产品处理迁移抽奖处理分公司产品
// 查询产品
ProductDTO productDTO = iProductServiceApi.getProduct(acPick.getPkDataId().intValue()).getData();
// 处理提货产品明细
@ -175,154 +195,159 @@ public class ApiPickController extends BaseController {
@RepeatSubmitSimple
@PostMapping("/order")
public AjaxResult order(@RequestBody PickOrderParam param) {
// if (null == param.getPkId() || null == param.getQuantity() || null == param.getRecProvince() || null == param.getRecCity()
// || StringUtils.isAnyEmpty(param.getRecName(), param.getRecPhone(), param.getRecAddress())) {
// // 缺少参数
// return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.MISSING_PARAM));
// }
//
// // 所属国家
// Integer pkCountry = SecurityUtils.getPkCountry();
// // 当前用户
// Long userId = SecurityUtils.getUserId();
// // 当前时间
// Date nowDate = new Date();
//
// QueryWrapper<AcPick> pickQueryWrapper = new QueryWrapper<>();
// pickQueryWrapper.eq(SystemFieldConstants.PK_ID, param.getPkId());
// pickQueryWrapper.eq("PK_MEMBER", userId);
// pickQueryWrapper.eq(SystemFieldConstants.PK_COUNTRY, pkCountry);
// AcPick acPick = iAcPickService.getOne(pickQueryWrapper);
// if (null == acPick) {
// // 会员提货商品不存在
// return AjaxResult.error(TransactionUtils.getContent(ActivityMsgConstants.PICK_PRODUCT_NOT_EXIST));
// }
// if (!acPick.getUsableQuantity().equals(param.getQuantity()) && param.getQuantity() % acPick.getBaseQuantity() != 0) {
// // 提货数量等于可提数量 提货数量是提货基数的倍数才能进行处理
// return AjaxResult.error(TransactionUtils.getContent(ActivityMsgConstants.PICK_QUANTITY_BASE, acPick.getBaseQuantity()));
// }
//
// // 邮费
// BigDecimal postage = iAcPickService.postageHandle(acPick, param.getQuantity(), param.getRecProvince(), param.getRecCity(), pkCountry);
// if (null == postage) {
// // 提货邮费计算错误
// return AjaxResult.error(TransactionUtils.getContent(ActivityMsgConstants.PICK_POSTAGE_ERROR));
// }
//
// // 查询会员信息
// CuMember cuMember = iMemberServiceApi.getMember(userId).getData();
// // 查询汇率
// CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(pkCountry).getData();
// // 生成订单编号
// String orderCode = CommonUtil.createSerialNumber(EOrderPrefix.ORDER_CODE);
//
// // 根据收货省获取仓库
// BdStorehouse storehouse = iCurrencyServiceApi.queryBdStorehouseByProvince(param.getRecProvince()).getData();
//
// // 生成订单信息
// SaOrderExt saOrder = new SaOrderExt();
// saOrder.setOrderCode(orderCode);
// saOrder.setOrderType(EOrderType.PICK_ORDER.getValue());
// saOrder.setPkRate(currencyDTO.getPkId());
// saOrder.setOrderAmount(BigDecimal.ZERO);
// saOrder.setPostage(postage);
// saOrder.setRecName(param.getRecName());
// saOrder.setRecPhone(param.getRecPhone());
// saOrder.setRecProvince(param.getRecProvince());
// saOrder.setRecCity(param.getRecCity());
// saOrder.setRecCounty(param.getRecCounty());
// saOrder.setRecAddress(param.getRecAddress());
// saOrder.setRemark(param.getRemark());
// saOrder.setPkMember(userId);
// saOrder.setPkReference(cuMember.getPkParent());
// saOrder.setTranType(ETransportType.LAND.getValue());
// saOrder.setPkVertex(cuMember.getPkVertex());
// if (null != storehouse) {
// saOrder.setPkStorehouse(storehouse.getPkId());
// }
// saOrder.setPkCreator(userId);
// saOrder.setCreationTime(nowDate);
// saOrder.setPkCountry(pkCountry);
//
// // 生成订单明细信息
// List<SaOrderItems> orderItemsList = new ArrayList<>();
//
// // 根据各种提货不同进行处理
// switch (EPickType.getEnumByValue(acPick.getPickType())) {
// case PICK_PRODUCT:
// case PRIZE:
// // 提货产品处理迁移抽奖处理
// // 查询产品信息
// ProductDTO productDTO = iProductServiceApi.getProduct(acPick.getPkDataId().intValue()).getData();
//
// // 处理提货产品明细
// SaOrderItems productOrderItems = new SaOrderItems();
// productOrderItems.setPkProduct(acPick.getPkDataId().intValue());
// productOrderItems.setPkRate(currencyDTO.getPkId());
// productOrderItems.setQuantity(param.getQuantity());
// productOrderItems.setPkGrade(cuMember.getPkSettleGrade());
// productOrderItems.setPkAwards(cuMember.getPkAwards());
// productOrderItems.setOrderStatus(EOrderStatus.PAY.getValue());
// productOrderItems.setPkCreator(userId);
// productOrderItems.setCreationTime(nowDate);
// productOrderItems.setSpecsName(acPick.getSpecsName());
// productOrderItems.setSpecsNameId(acPick.getSpecsNameId());
// productOrderItems.setPkCountry(pkCountry);
// productOrderItems.setWaresQuantity(param.getQuantity());
// productOrderItems.setSkuCode(CommonUtil.createSkuCode(productDTO.getProductCode(), acPick.getSpecsNameId()));
// productOrderItems.setPkStorehouse(saOrder.getPkStorehouse());
// orderItemsList.add(productOrderItems);
// break;
// case LOTTERY_DRAW:
// case CONSUMPTION_GIFT:
// case DIRECT_PUSH_GIFT:
// // 抽奖活动商品赠品活动消费赠送活动直推赠送活动
//
// // 处理提货产品明细
// List<AcGiftConfigExt> giftConfigList = iAcGiftConfigService.queryListByRuleIdList(acPick.getPkDataId(), pkCountry);
// for (AcGiftConfigExt acGiftConfigExt : giftConfigList) {
// // 查询产品信息
// ProductDTO giftProductDTO = iProductServiceApi.getProduct(acGiftConfigExt.getPkProduct()).getData();
// if (null == giftProductDTO) {
// return AjaxResult.error("提货产品不存在,请联系客服处理");
// }
//
// SaOrderItems giftOrderItems = new SaOrderItems();
// giftOrderItems.setPkProduct(acGiftConfigExt.getPkProduct());
// giftOrderItems.setPkRate(currencyDTO.getPkId());
// giftOrderItems.setQuantity(param.getQuantity() * acGiftConfigExt.getQuantity());
// giftOrderItems.setPkGrade(cuMember.getPkSettleGrade());
// giftOrderItems.setPkAwards(cuMember.getPkAwards());
// giftOrderItems.setOrderStatus(EOrderStatus.PAY.getValue());
// giftOrderItems.setPkCreator(userId);
// giftOrderItems.setCreationTime(nowDate);
// giftOrderItems.setSpecsName(acPick.getSpecsName());
// giftOrderItems.setSpecsNameId(acPick.getSpecsNameId());
// giftOrderItems.setPkCountry(pkCountry);
// giftOrderItems.setWaresQuantity(param.getQuantity());
// giftOrderItems.setSkuCode(CommonUtil.createSkuCode(giftProductDTO.getProductCode(), acPick.getSpecsNameId()));
// orderItemsList.add(giftOrderItems);
// }
// break;
// default:
// }
// saOrder.setOrderItemsList(orderItemsList);
//
// // 添加提货日志
// AcPickMemberLog acPickMemberLog = new AcPickMemberLog();
// acPickMemberLog.setPkMember(userId);
// acPickMemberLog.setPkPick(acPick.getPkId());
// acPickMemberLog.setPickQuantity(param.getQuantity());
// acPickMemberLog.setPickTime(nowDate);
// acPickMemberLog.setPickOrder(orderCode);
// acPickMemberLog.setPkCountry(pkCountry);
// iAcPickMemberLogService.save(acPickMemberLog);
//
// // 临时订单直接放入缓存
// redisService.setCacheObject(CacheConstants.TEMP_ORDER + userId + orderCode, saOrder, CacheConstants.MEMBER_REFRESH_TIME, TimeUnit.MINUTES);
//
// return AjaxResult.success("", orderCode);
return AjaxResult.error();
if (null == param.getPkId() || null == param.getQuantity() || null == param.getRecProvince() || null == param.getRecCity()
|| StringUtils.isAnyEmpty(param.getRecName(), param.getRecPhone(), param.getRecAddress())) {
// 缺少参数
return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.MISSING_PARAM));
}
// 所属国家
Integer pkCountry = SecurityUtils.getPkCountry();
// 当前用户
Long userId = SecurityUtils.getUserId();
// 当前时间
Date nowDate = new Date();
LambdaQueryWrapper<AcPick> pickQueryWrapper = new LambdaQueryWrapper<>();
pickQueryWrapper.eq(AcPick::getPkId, param.getPkId());
pickQueryWrapper.eq(AcPick::getPkMember, userId);
pickQueryWrapper.eq(AcPick::getPkCountry, pkCountry);
AcPick acPick = iAcPickService.getOne(pickQueryWrapper);
if (null == acPick) {
// 会员提货商品不存在
return AjaxResult.error(TransactionUtils.getContent(ActivityMsgConstants.PICK_PRODUCT_NOT_EXIST));
}
if (!acPick.getUsableQuantity().equals(param.getQuantity()) && param.getQuantity() % acPick.getBaseQuantity() != 0) {
// 提货数量等于可提数量 提货数量是提货基数的倍数才能进行处理
return AjaxResult.error(TransactionUtils.getContent(ActivityMsgConstants.PICK_QUANTITY_BASE, acPick.getBaseQuantity()));
}
// 邮费
BigDecimal postage = iAcPickService.postageHandle(acPick, param.getQuantity(), param.getRecProvince(), param.getRecCity(), pkCountry);
if (null == postage) {
// 提货邮费计算错误
return AjaxResult.error(TransactionUtils.getContent(ActivityMsgConstants.PICK_POSTAGE_ERROR));
}
// 查询会员信息
CuMember cuMember = iMemberServiceApi.getMember(userId).getData();
// 查询汇率
CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(pkCountry).getData();
// 生成订单编号
String orderCode = CommonUtil.createSerialNumber(EOrderPrefix.ORDER_CODE);
// 根据收货省获取仓库
BdStorehouse storehouse = iCurrencyServiceApi.queryBdStorehouseByProvince(param.getRecProvince()).getData();
// 生成订单信息
SaOrderExt saOrder = new SaOrderExt();
saOrder.setOrderCode(orderCode);
saOrder.setOrderType(EOrderType.PICK_ORDER.getValue());
saOrder.setPkRate(currencyDTO.getPkId());
saOrder.setOrderAmount(BigDecimal.ZERO);
saOrder.setPostage(postage);
saOrder.setRecName(param.getRecName());
saOrder.setRecPhone(param.getRecPhone());
saOrder.setRecProvince(param.getRecProvince());
saOrder.setRecCity(param.getRecCity());
saOrder.setRecCounty(param.getRecCounty());
saOrder.setRecAddress(param.getRecAddress());
saOrder.setRemark(param.getRemark());
saOrder.setPkMember(userId);
saOrder.setPkReference(cuMember.getPkParent());
saOrder.setTranType(ETransportType.LAND.getValue());
saOrder.setDeliveryWay(EDelivery.FAST_MAIL.getValue());
saOrder.setPkVertex(cuMember.getPkVertex());
if (null != storehouse) {
saOrder.setPkStorehouse(storehouse.getPkId());
}
saOrder.setPkCreator(userId);
saOrder.setCreationTime(nowDate);
saOrder.setPkCountry(pkCountry);
// 生成订单明细信息
List<SaOrderItems> orderItemsList = new ArrayList<>();
// 根据各种提货不同进行处理
switch (EPickType.getEnumByValue(acPick.getPickType())) {
case PICK_PRODUCT:
case PRIZE:
case COMPANY_PRODUCT:
// 提货产品处理迁移抽奖处理分公司产品
// 查询产品信息
ProductDTO productDTO = iProductServiceApi.getProduct(acPick.getPkDataId().intValue()).getData();
// 处理提货产品明细
SaOrderItems productOrderItems = new SaOrderItems();
productOrderItems.setPkProduct(acPick.getPkDataId().intValue());
productOrderItems.setQuantity(param.getQuantity());
productOrderItems.setPkRate(currencyDTO.getPkId());
productOrderItems.setPkWares(0);
productOrderItems.setWaresQuantity(param.getQuantity());
productOrderItems.setPkGrade(cuMember.getPkSettleGrade());
productOrderItems.setPkAwards(cuMember.getPkAwards());
productOrderItems.setOrderStatus(EOrderStatus.PAY.getValue());
productOrderItems.setPkCreator(userId);
productOrderItems.setCreationTime(nowDate);
productOrderItems.setSpecsName(acPick.getSpecsName());
productOrderItems.setSpecsNameId(acPick.getSpecsNameId());
productOrderItems.setPkCountry(pkCountry);
productOrderItems.setSkuCode(CommonUtil.createSkuCode(productDTO.getProductCode(), acPick.getSpecsNameId()));
productOrderItems.setPkStorehouse(saOrder.getPkStorehouse());
orderItemsList.add(productOrderItems);
break;
case LOTTERY_DRAW:
case CONSUMPTION_GIFT:
case DIRECT_PUSH_GIFT:
// 抽奖活动商品赠品活动消费赠送活动直推赠送活动
// 处理提货产品明细
List<AcGiftConfigExt> giftConfigList = iAcGiftConfigService.queryListByRuleIdList(acPick.getPkDataId(), pkCountry);
for (AcGiftConfigExt acGiftConfigExt : giftConfigList) {
// 查询产品信息
ProductDTO giftProductDTO = iProductServiceApi.getProduct(acGiftConfigExt.getPkProduct()).getData();
if (null == giftProductDTO) {
return AjaxResult.error("提货产品不存在,请联系客服处理");
}
SaOrderItems giftOrderItems = new SaOrderItems();
giftOrderItems.setPkProduct(acGiftConfigExt.getPkProduct());
giftOrderItems.setPkRate(currencyDTO.getPkId());
giftOrderItems.setQuantity(param.getQuantity() * acGiftConfigExt.getQuantity());
giftOrderItems.setPkGrade(cuMember.getPkSettleGrade());
giftOrderItems.setPkAwards(cuMember.getPkAwards());
giftOrderItems.setOrderStatus(EOrderStatus.PAY.getValue());
giftOrderItems.setPkCreator(userId);
giftOrderItems.setCreationTime(nowDate);
giftOrderItems.setSpecsName(acPick.getSpecsName());
giftOrderItems.setSpecsNameId(acPick.getSpecsNameId());
giftOrderItems.setPkCountry(pkCountry);
giftOrderItems.setWaresQuantity(param.getQuantity());
giftOrderItems.setSkuCode(CommonUtil.createSkuCode(giftProductDTO.getProductCode(), acPick.getSpecsNameId()));
orderItemsList.add(giftOrderItems);
}
break;
default:
}
saOrder.setOrderItemsList(orderItemsList);
// 添加提货日志
AcPickMemberLog acPickMemberLog = new AcPickMemberLog();
acPickMemberLog.setPkMember(userId);
acPickMemberLog.setPkPick(acPick.getPkId());
acPickMemberLog.setPickQuantity(param.getQuantity());
acPickMemberLog.setPickTime(nowDate);
acPickMemberLog.setPickOrder(orderCode);
acPickMemberLog.setPkCountry(pkCountry);
iAcPickMemberLogService.save(acPickMemberLog);
RetailOrderOtherParam orderParam = new RetailOrderOtherParam();
orderParam.setBuyMemberCode(cuMember.getMemberCode());
orderParam.setSpecialArea(ESpecialArea.PICK_AREA.getValue());
// 订单缓存60分钟有效防止在线支付回调慢
redisService.setCacheObject(CacheConstants.RETAIL_TEMP_ORDER + userId + orderCode, saOrder, CacheConstants.RETAIL_ORDER_EXPIRE_TIME * 2, TimeUnit.MINUTES);
// 缓存订单参数30分钟有效
redisService.setCacheObject(CacheConstants.RETAIL_TEMP_OTHER_PARAM + userId + orderCode, orderParam, CacheConstants.RETAIL_ORDER_EXPIRE_TIME * 2, TimeUnit.MINUTES);
return AjaxResult.success("", orderCode);
}
/**

View File

@ -64,11 +64,7 @@ public interface AcPickMapper extends BaseMapper<AcPick> {
int updatePickByPkId(@Param("acPick") AcPick acPick);
/**
* @description: 删除充值提货卡
* @author: zhang jing
* @date: 2023/10/26 13:45
* @param: [acPick]
* @return: boolean
* 删除充值提货卡
**/
boolean removePickByPkId(@Param("acPick") AcPick acPick);
@ -107,4 +103,16 @@ public interface AcPickMapper extends BaseMapper<AcPick> {
*/
int batchSaveOrUpdatePick(@Param("pickList") List<AcPick> pickList);
/**
* 根据ID更新会员提货数据
*
* @param pkId
* @param quantity
* @param pkMember 会员ID可为null
* @return
*/
int updateMemberPickById(@Param("pkId") Long pkId,
@Param("quantity") Integer quantity,
@Param("pkMember") Long pkMember);
}

View File

@ -13,6 +13,18 @@ import java.util.List;
*/
public interface AcPickMemberLogMapper extends BaseMapper<AcPickMemberLog> {
/**
* 查询会员订单数据
*
* @param pkMember
* @param orderCode
* @param delFlag
* @return
*/
List<AcPickMemberLog> listPickMemberLog(@Param("pkMember") Long pkMember,
@Param("orderCode") String orderCode,
@Param("delFlag") Integer delFlag);
/**
* 查询提货日志
*

View File

@ -12,6 +12,16 @@ import java.util.List;
*/
public interface IAcPickMemberLogService extends IService<AcPickMemberLog> {
/**
* 查询会员订单数据
*
* @param pkMember
* @param orderCode
* @param delFlag
* @return
*/
List<AcPickMemberLog> listPickMemberLog(Long pkMember, String orderCode, Integer delFlag);
/**
* 查询提货日志
*

View File

@ -135,4 +135,15 @@ public interface IAcPickService extends IService<AcPick> {
*/
int batchSaveOrUpdatePick(List<AcPick> pickList);
/**
* 根据ID更新会员提货数据
*
* @param pkId
* @param quantity
* @param pkMember 会员ID可为null
* @return
*/
int updateMemberPickById(Long pkId, Integer quantity, Long pkMember);
}

View File

@ -16,6 +16,11 @@ import java.util.*;
@Service
public class AcPickMemberLogServiceImpl extends ServiceImpl<AcPickMemberLogMapper, AcPickMemberLog> implements IAcPickMemberLogService {
@Override
public List<AcPickMemberLog> listPickMemberLog(Long pkMember, String orderCode, Integer delFlag) {
return baseMapper.listPickMemberLog(pkMember, orderCode, delFlag);
}
@Override
public List<AcPickMemberLogVO> queryMemberLog(Long pkMember) {
return baseMapper.queryMemberLog(pkMember);

View File

@ -18,7 +18,6 @@ import com.hzs.common.core.constant.msg.CommonMsgConstants;
import com.hzs.common.core.constant.msg.DocumentMsgConstants;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.*;
import com.hzs.common.core.exception.ServiceException;
import com.hzs.common.core.exception.base.BaseException;
import com.hzs.common.core.utils.CommonUtil;
import com.hzs.common.core.utils.DateUtils;
@ -32,8 +31,8 @@ import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.sale.product.BdProduct;
import com.hzs.common.util.TransactionUtils;
import com.hzs.member.base.IMemberServiceApi;
import com.hzs.sale.postage.IPostageServiceApi;
import com.hzs.sale.postage.dto.PostageProductDTO;
import com.hzs.sale.postage.service.IPostageBusinessService;
import com.hzs.sale.product.service.IBdProductService;
import com.hzs.system.sys.IApprovalServiceApi;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
@ -70,13 +69,13 @@ public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> impleme
private RabbitTemplate rabbitTemplate;
@Autowired
private IBdProductService iBdProductService;
@Autowired
private IPostageBusinessService iPostageBusinessService;
@DubboReference
IApprovalServiceApi iApprovalServiceApi;
@DubboReference
IMemberServiceApi iMemberServiceApi;
@DubboReference
IPostageServiceApi iPostageServiceApi;
@Override
public boolean addPickByActivity(Long pkMember, Integer pickType, Long pkBaseConfig, Long pkDataId,
@ -571,6 +570,7 @@ public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> impleme
switch (EPickType.getEnumByValue(acPick.getPickType())) {
case PICK_PRODUCT:
case PRIZE:
case COMPANY_PRODUCT:
// 提货产品处理迁移抽奖处理
// 封装邮费查询产品数据列表
productList.add(PostageProductDTO.builder()
@ -594,15 +594,17 @@ public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> impleme
default:
}
R<BigDecimal> postageR = iPostageServiceApi.queryPostage(acPick.getPkPostage(), productList, recProvince, recCity);
if (postageR.isSuccess()) {
return postageR.getData();
}
throw new ServiceException(postageR.getMsg());
return iPostageBusinessService.queryPostage(acPick.getPkPostage(), productList, recProvince, recCity);
}
@Override
public int batchSaveOrUpdatePick(List<AcPick> pickList) {
return baseMapper.batchSaveOrUpdatePick(pickList);
}
@Override
public int updateMemberPickById(Long pkId, Integer quantity, Long pkMember) {
return baseMapper.updateMemberPickById(pkId, quantity, pkMember);
}
}

View File

@ -6,11 +6,7 @@ import lombok.Data;
import java.util.Date;
/**
* @Description: 会员提货列表VO
* @Author: jiang chao
* @Time: 2023/4/24 16:15
* @Classname: ApiPickVO
* @PackageName: com.hzs.activity.pick.vo
* 会员提货列表VO
*/
@Data
public class ApiPickListVO {

View File

@ -485,7 +485,7 @@ public class ApiRetailOrderController {
* @param payParam 支付订单入参
* @return
*/
@RepeatSubmit
// @RepeatSubmit
@PostMapping("/pay-other-order")
public AjaxResult payOtherOrder(@Valid @RequestBody RetailOrderPayParam payParam) {
// 当前会员ID
@ -505,7 +505,16 @@ public class ApiRetailOrderController {
}
// 封装订单信息
SaOrderExt saOrderExt = iRetailOrderService.createSaOrder(otherParam, null, buyMember);
SaOrderExt saOrderExt;
if (ESpecialArea.PICK_AREA.getValue() == otherParam.getSpecialArea()) {
// 提货专区获取缓存订单
saOrderExt = redisService.getCacheObject(CacheConstants.RETAIL_TEMP_ORDER + pkMember + payParam.getOrderCode());
if (null == saOrderExt) {
return AjaxResult.error("订单已不存在");
}
} else {
saOrderExt = iRetailOrderService.createSaOrder(otherParam, null, buyMember);
}
// 校验会员账户状态等
R<CuMemberAccountExt> accountResult = iRetailOrderService.validMemberAccount(pkMember, payParam.getPayPwd());

View File

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Validator;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hzs.activity.pick.service.IAcPickMemberLogService;
import com.hzs.activity.pick.service.IAcPickService;
import com.hzs.common.core.constant.*;
import com.hzs.common.core.domain.R;
@ -13,6 +14,7 @@ import com.hzs.common.core.exception.ServiceException;
import com.hzs.common.core.service.RedisService;
import com.hzs.common.core.utils.*;
import com.hzs.common.domain.activity.pick.AcPick;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.member.account.CuMemberAccount;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
@ -33,7 +35,6 @@ import com.hzs.retail.sale.param.RetailOrderParam;
import com.hzs.retail.sale.param.RetailOrderRegisterParam;
import com.hzs.retail.sale.param.RetailOrderUpgradeParam;
import com.hzs.sale.order.param.OrderItemsParam;
import com.hzs.sale.order.param.WaresNumberParam;
import com.hzs.sale.order.service.*;
import com.hzs.sale.order.service.impl.SaOrderHandle;
import com.hzs.sale.wares.service.IBdWaresDetailService;
@ -83,6 +84,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
private ISaOrderWaresLimitService iSaOrderWaresLimitService;
@Autowired
private IAcPickService iAcPickService;
@Autowired
private IAcPickMemberLogService iAcPickMemberLogService;
@Autowired
private RedisService redisService;
@ -661,15 +664,14 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
List<SaOrderWares> orderWaresList = new ArrayList<>();
// 订单商品mapkey商品主键-商品价格value商品数量
Map<String, Integer> orderWaresMap = new HashMap<>();
// 商品销量数据
List<WaresNumberParam> waresNumberList = new ArrayList<>();
// 商品销量mapkey商品主键value商品数量
Map<Integer, Integer> waresNumberMap = new HashMap<>();
// // 商品销量数据
// List<WaresNumberParam> waresNumberList = new ArrayList<>();
// // 商品销量mapkey商品主键value商品数量
// Map<Integer, Integer> waresNumberMap = new HashMap<>();
// 商品限购列表
List<SaOrderWaresLimit> waresLimitList = new ArrayList<>();
// 商品限购mapkey商品主键value商品数量
Map<Integer, Integer> waresLimitMap = new HashMap<>();
// 盒数商品
List<String> boxWaresList = BoxProductUtil.getBoxProductListBySystemType(saOrderExt.getSystemType());
@ -678,10 +680,6 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
saOrderItems.setOrderStatus(EOrderStatus.PAY.getValue());
saOrderItems.setPkCreator(saOrderExt.getPkCreator());
saOrderItems.setCreationTime(saOrderExt.getCreationTime());
if (EDelivery.PICK.getValue() == saOrderExt.getDeliveryWay()) {
// 主订单是提货中心明细状态也是提货中心
saOrderItems.setOrderStatus(EOrderStatus.PICK.getValue());
}
// 指定商品拆分 并且 非赠品
if (boxWaresList.contains(saOrderItems.getWareCode())
@ -692,11 +690,35 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
waresLimitMap.merge(saOrderItems.getPkWares(), saOrderItems.getWaresQuantity(), Integer::sum);
}
// 商品销量累计
waresNumberMap.merge(saOrderItems.getPkWares(), saOrderItems.getWaresQuantity(), Integer::sum);
// // 商品销量累计
// waresNumberMap.merge(saOrderItems.getPkWares(), saOrderItems.getWaresQuantity(), Integer::sum);
if (null != saOrderExt.getDeliveryWay()
&& EDelivery.PICK.getValue() == saOrderExt.getDeliveryWay()) {
// 主订单发货方式是提货中心明细状态也是提货中心
saOrderItems.setOrderStatus(EOrderStatus.PICK.getValue());
}
}
iSaOrderItemsService.saveBatch(saOrderExt.getOrderItemsList());
if (EOrderType.PICK_ORDER.getValue() == saOrderExt.getOrderType()) {
// 提货订单处理
// 提货日志列表
List<AcPickMemberLog> pickMemberLogList = iAcPickMemberLogService.listPickMemberLog(saOrderExt.getPkMember(), saOrderExt.getOrderCode(), EDelFlag.DELETE.getValue());
if (CollectionUtil.isNotEmpty(pickMemberLogList)) {
for (AcPickMemberLog acPickMemberLog : pickMemberLogList) {
// 更新会员提货表
iAcPickService.updateMemberPickById(acPickMemberLog.getPkPick(), acPickMemberLog.getPickQuantity() * -1, acPickMemberLog.getPkMember());
// 更新会员提货日志表
iAcPickMemberLogService.update(Wrappers.<AcPickMemberLog>lambdaUpdate()
.eq(AcPickMemberLog::getPkId, acPickMemberLog.getPkId())
.eq(AcPickMemberLog::getDelFlag, EDelFlag.DELETE.getValue())
.set(AcPickMemberLog::getDelFlag, EDelFlag.UN_DELETE.getValue())
);
}
}
}
if (orderWaresMap.size() > 0) {
// 处理订单商品拆分数据
for (String key : orderWaresMap.keySet()) {
@ -711,15 +733,15 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
orderWaresList.add(saOrderWares);
}
}
if (waresNumberMap.size() > 0) {
// 处理订单商品销量会员商品限购
for (Integer key : waresNumberMap.keySet()) {
waresNumberList.add(WaresNumberParam.builder()
.pkWares(key)
.number(waresNumberMap.get(key))
.build());
}
}
// if (waresNumberMap.size() > 0) {
// // 处理订单商品销量会员商品限购
// for (Integer key : waresNumberMap.keySet()) {
// waresNumberList.add(WaresNumberParam.builder()
// .pkWares(key)
// .number(waresNumberMap.get(key))
// .build());
// }
// }
if (ESpecialArea.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|| ESpecialArea.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
// 注册升级
@ -766,10 +788,10 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
// 订单商品拆分表
iSaOrderWaresService.saveBatch(orderWaresList);
}
if (waresNumberList.size() > 0) {
// 更新商品销量表
iBdWaresExtendService.updateWaresSalesAccrual(waresNumberList);
}
// if (waresNumberList.size() > 0) {
// // 更新商品销量表
// iBdWaresExtendService.updateWaresSalesAccrual(waresNumberList);
// }
if (waresLimitList.size() > 0) {
// 更新会员商品限购
iSaOrderWaresLimitService.saveBatchLimit(waresLimitList);
@ -820,7 +842,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
*/
private Boolean handleMemberActivate(CuMember cuMember, SaOrderExt saOrder) {
if ((null == cuMember.getIsActivate() || EYesNo.YES.getIntValue() != cuMember.getIsActivate())
&& (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType() || EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType())
&& (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType())
) {
// 会员激活状态为空 未激活并且是 注册升级 订单判断会员是否激活
if (saOrder.getBoxNum() > 0) {

View File

@ -1,8 +1,7 @@
package com.hzs.retail.sale.param;
import com.hzs.common.domain.member.base.CuMember;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;

View File

@ -5,14 +5,6 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @BelongsProject: hzs_cloud
* @BelongsPackage: com.hzs.sale.order.param
* @Author: yh
* @CreateTime: 2023-05-05 17:33
* @Description: TODO
* @Version: 1.0
*/
@Data
@Builder
@AllArgsConstructor

View File

@ -7,7 +7,9 @@ import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.activity.pick.service.IAcPickMemberLogService;
import com.hzs.activity.pick.service.IAcPickService;
import com.hzs.activity.pick.service.IAcRetailPickService;
import com.hzs.common.core.constant.*;
@ -19,6 +21,7 @@ import com.hzs.common.core.exception.ServiceException;
import com.hzs.common.core.service.RedisService;
import com.hzs.common.core.utils.*;
import com.hzs.common.core.utils.reflect.ReflectUtils;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.member.account.CuMemberAccount;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.base.CuMemberRegister;
@ -93,65 +96,65 @@ import java.util.stream.Collectors;
public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> implements ISaOrderService {
@DubboReference
IMemberServiceApi memberServiceApi;
@DubboReference
IGradeServiceApi gradeServiceApi;
@DubboReference
IAwardsServiceApi awardsServiceApi;
@DubboReference
IAreaServiceApi areaServiceApi;
@DubboReference
IMemberBankServiceApi memberBankServiceApi;
@DubboReference
IMemberAccountServiceApi memberAccountServiceApi;
@DubboReference
IAreaCurrencyServiceApi areaCurrencyServiceApi;
@DubboReference
ICountryServiceApi countryServiceApi;
@DubboReference
ICurrencyServiceApi currencyServiceApi;
@DubboReference
IApprovalServiceApi approvalServiceApi;
@DubboReference
IMemberAchieveServiceApi memberAchieveServiceApi;
@DubboReference
ISystemConfigServiceApi systemConfigServiceApi;
@DubboReference
ICuMemberServiceLogServiceApi cuMemberServiceLogServiceApi;
@DubboReference
IMemberTradeServiceApi memberTradeServiceApi;
@DubboReference
ICuMemberDetailServiceApi iCuMemberDetailServiceApi;
IMemberServiceApi iMemberServiceApi;
@DubboReference
IGradeServiceApi iGradeServiceApi;
@DubboReference
IAwardsServiceApi iAwardsServiceApi;
@DubboReference
IAreaServiceApi iAreaServiceApi;
@DubboReference
IMemberBankServiceApi iMemberBankServiceApi;
@DubboReference
IMemberAccountServiceApi iMemberAccountServiceApi;
@DubboReference
IAreaCurrencyServiceApi iAreaCurrencyServiceApi;
@DubboReference
ICountryServiceApi iCountryServiceApi;
@DubboReference
ICurrencyServiceApi iCurrencyServiceApi;
@DubboReference
IApprovalServiceApi iApprovalServiceApi;
@DubboReference
IMemberAchieveServiceApi iMemberAchieveServiceApi;
@DubboReference
ISystemConfigServiceApi iSystemConfigServiceApi;
@DubboReference
ICuMemberServiceLogServiceApi iCuMemberServiceLogServiceApi;
@DubboReference
IMemberTradeServiceApi iMemberTradeServiceApi;
@DubboReference
ICuMemberDetailServiceApi iCuMemberDetailServiceApi;
@Autowired
private IBdWaresService waresService;
@Autowired
private IBdWaresExtendService waresExtendService;
@Autowired
private SaOrderHandle saOrderHandle;
@Autowired
private ISaOrderItemsService saOrderItemsService;
@Autowired
private UserTokenService userTokenService;
@Autowired
private SaOrderHandle saOrderHandle;
@Autowired
private IBdWaresService iBdWaresService;
@Autowired
private IBdWaresExtendService iBdWaresExtendService;
@Autowired
private IBdProductExtendService iBdProductExtendService;
@Autowired
private IBdWaresSpecsRelationService waresSpecsRelationService;
private IBdWaresSpecsRelationService iBdWaresSpecsRelationService;
@Autowired
private ISaDeliverItemsService saDeliverItemsService;
@Autowired
private IAcRetailPickService iAcRetailPickService;
private ISaOrderItemsService iSaOrderItemsService;
@Autowired
private ISaOrderWaresLimitService iSaOrderWaresLimitService;
@Autowired
private IAcPickService iAcPickService;
private ISaDeliverItemsService iSaDeliverItemsService;
@Autowired
private ISaOrderChargeLogService iSaOrderChargeLogService;
@Autowired
private IOrderBusinessService iOrderBusinessService;
@Autowired
private ISaOrderChargeLogService iSaOrderChargeLogService;
private IAcPickService iAcPickService;
@Autowired
private IAcRetailPickService iAcRetailPickService;
@Autowired
private IAcPickMemberLogService iAcPickMemberLogService;
@Autowired
private RedisService redisService;
@Autowired
@ -159,27 +162,27 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
@Override
public List<CuMemberExt> queryMemberExtByCondition(CuMember cuMember) {
return memberServiceApi.getMemberInfo(cuMember).getData();
return iMemberServiceApi.getMemberInfo(cuMember).getData();
}
@Override
public List<CuMemberExt> querySponsorOnUmbrella(Long placeParentId, String phone) {
return memberServiceApi.querySponsorOnUmbrella(placeParentId, null, phone).getData();
return iMemberServiceApi.querySponsorOnUmbrella(placeParentId, null, phone).getData();
}
@Override
public List<CuMemberExt> selectPlaceSponsorUnderUmbrellaByCondition(Long memberId, List<CuMemberExt> cuMemberExtList) {
return memberServiceApi.selectPlaceSponsorUnderUmbrellaByCondition(memberId, cuMemberExtList).getData();
return iMemberServiceApi.selectPlaceSponsorUnderUmbrellaByCondition(memberId, cuMemberExtList).getData();
}
@Override
public List<CuMemberExt> queryPlaceSponsorUnderUmbrella(Long memberId, String placeParent) {
return memberServiceApi.queryPlaceSponsorUnderUmbrella(memberId, placeParent).getData();
return iMemberServiceApi.queryPlaceSponsorUnderUmbrella(memberId, placeParent).getData();
}
@Override
public CuMemberExt queryPlaceSponsorLastLeft(Long memberId, Integer placeDept) {
return memberServiceApi.queryPlaceSponsorLastLeft(memberId, placeDept).getData();
return iMemberServiceApi.queryPlaceSponsorLastLeft(memberId, placeDept).getData();
}
@Override
@ -208,7 +211,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
if (CollectionUtil.isNotEmpty(itemIdList)) {
orderItemsQueryWrapper.in(SaOrderItems::getPkId, itemIdList);
}
saOrderExt.setOrderItemsList(saOrderItemsService.list(orderItemsQueryWrapper));
saOrderExt.setOrderItemsList(iSaOrderItemsService.list(orderItemsQueryWrapper));
return saOrderExt;
}
@ -243,7 +246,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
@Override
public Integer queryCuMemberByPkMember(Long pkReference) {
return memberServiceApi.queryCuMemberByPkMember(pkReference).getData();
return iMemberServiceApi.queryCuMemberByPkMember(pkReference).getData();
}
@Override
@ -258,12 +261,12 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
@Override
public CuMember getCuMemberByKey(Long pkId) {
return memberServiceApi.getMemberById(pkId).getData();
return iMemberServiceApi.getMemberById(pkId).getData();
}
@Override
public CuMember getCuMemberByCode(String code) {
return memberServiceApi.getMemberByCode(code).getData();
return iMemberServiceApi.getMemberByCode(code).getData();
}
@Override
@ -273,7 +276,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
@Override
public List<CuMemberAccountExt> queryMemberAccountByCondition(CuMemberAccount cuMemberAccount) {
return memberAccountServiceApi.queryMemberAccountByCondition(cuMemberAccount).getData();
return iMemberAccountServiceApi.queryMemberAccountByCondition(cuMemberAccount).getData();
}
@Override
@ -301,7 +304,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
cuMemberAccount.setMemberCode(creator.getMemberCode());
// 查询专区所属币种
List<AreaCurrencyDTO> areaCurrencyDTOList = areaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrder.getOrderType(), cuMemberAccount.getPkCountry()).getData();
List<AreaCurrencyDTO> areaCurrencyDTOList = iAreaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrder.getOrderType(), cuMemberAccount.getPkCountry()).getData();
BigDecimal postage = saOrder.getPostage();
@ -311,7 +314,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
if (saOrderItems.getPkSpecialCurrency() != null) {
BigDecimal orderItemPayMoney = ComputeUtil.computeMultiply(saOrderItems.getPrice(), saOrderItems.getQuantity());
payMoney = ComputeUtil.computeSubtract(payMoney, orderItemPayMoney);
List<AreaCurrencyDTO> areaCurrencyDtoList = areaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrderItems.getPkSpecialCurrency()).getData();
List<AreaCurrencyDTO> areaCurrencyDtoList = iAreaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrderItems.getPkSpecialCurrency()).getData();
if (!handleSaOrderAmount(saOrder, orderItemList, cuMemberAccount, orderItemPayMoney, BigDecimal.ZERO, areaCurrencyDtoList)) {
return null;
}
@ -348,7 +351,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|| EOrderType.UPGRADE_ORDER.getValue() == saOrder.getOrderType()) {
if (cuMemberAccount.getPayAccount3Flag()) {
// 验证是否有政策币权限
List<CuMemberServiceLog> cuMemberServiceLogs = cuMemberServiceLogServiceApi.queryMaxCuMemberServiceLog(cuMemberAccount.getPkMember(), Collections.singletonList(EApprovalBusiness.POLICY_CURRENCY_YES_NO.getValue()));
List<CuMemberServiceLog> cuMemberServiceLogs = iCuMemberServiceLogServiceApi.queryMaxCuMemberServiceLog(cuMemberAccount.getPkMember(), Collections.singletonList(EApprovalBusiness.POLICY_CURRENCY_YES_NO.getValue()));
if (CollectionUtil.isNotEmpty(cuMemberServiceLogs)) {
Map<Integer, CuMemberServiceLog> cuMemberServiceLogMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberServiceLogs.size()));
cuMemberServiceLogs.forEach(serviceLog -> cuMemberServiceLogMap.put(serviceLog.getEditType(), serviceLog));
@ -454,13 +457,13 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
@Transactional(rollbackFor = Exception.class)
public Boolean confirmRegSaOrderByOrderParam(OrderParam orderParam) {
boolean isToBePay = getIsToBePayByOrderType(orderParam.getPkSettleCountry(), orderParam.getSpecialArea());
CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, memberServiceApi.queryMember(orderParam.getCenterCodeId()).getData());
CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.queryMember(orderParam.getCenterCodeId()).getData());
// 获取会员编号会员主键
if (isToBePay) {
cuMember = memberServiceApi.createMemberIdAndCode(cuMember).getData();
cuMember = iMemberServiceApi.createMemberIdAndCode(cuMember).getData();
} else if (EOrderType.REGISTER_ORDER.getValue() == orderParam.getSpecialArea()) {
// 2023.10.16按最新需求注册订单需要在支付前需要显示会员编号
cuMember = memberServiceApi.createRegisterMemberCode(cuMember).getData();
cuMember = iMemberServiceApi.createRegisterMemberCode(cuMember).getData();
}
SaOrderExt saOrderExt = packageWholeSaOrder(orderParam, cuMember);
@ -472,7 +475,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
if (isToBePay && !orderParam.getIsHaiFun()) {
processOrder(saOrderExt);
// 调用其他服务保存会员信息会员注册信息
R<Boolean> saveResult = memberServiceApi.saveMember(cuMember);
R<Boolean> saveResult = iMemberServiceApi.saveMember(cuMember);
if (saveResult.isSuccess()) {
if (!saveResult.getData()) {
log.error("confirmRegSaOrderByOrderParam 保存会员失败.");
@ -535,9 +538,9 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
orderParam.setPlaceParentId(placeMember.getPkId());
}
}
CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, memberServiceApi.queryMember(orderParam.getCenterCodeId()).getData());
CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.queryMember(orderParam.getCenterCodeId()).getData());
// 获取会员编号会员主键
cuMember = memberServiceApi.createMemberIdAndCode(cuMember).getData();
cuMember = iMemberServiceApi.createMemberIdAndCode(cuMember).getData();
return cuMember;
}
@ -579,8 +582,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
cuMember.setPkSettleGradeValue(gradeDTO.getGradeValue());
// 判断奖衔原会员有奖衔的话判断哪个大使用大的
if (pkAwards != null && gradeDTO.getGradeValue() != null) {
BdAwards bdAwards = awardsServiceApi.getAwardsOne(pkAwards).getData();
BdAwards newAwards = awardsServiceApi.getAwardsOne(gradeDTO.getPkAwards()).getData();
BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(pkAwards).getData();
BdAwards newAwards = iAwardsServiceApi.getAwardsOne(gradeDTO.getPkAwards()).getData();
if (bdAwards.getAwardsValue() < newAwards.getAwardsValue()) {
cuMember.setPkAwards(gradeDTO.getPkAwards());
}
@ -621,7 +624,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
List<WaresNumberParam> waresNumberList = waresNumberParamList.stream().filter(DeduplicationUtil.distinctByKey(WaresNumberParam::getPkWares)).collect(Collectors.toList());
waresSalesAccrual(waresNumberList);
// 保存订单明细
saOrderItemsService.saveBatch(saOrderExt.getOrderItemsList());
iSaOrderItemsService.saveBatch(saOrderExt.getOrderItemsList());
}
@Override
@ -744,7 +747,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
newCuMember.setStopDate(DateUtils.addMonths(newCuMember.getExpireDate(), 6));
// 调用其他服务保存会员信息会员注册信息
R<Boolean> saveResult = memberServiceApi.saveMember(newCuMember, saOrderExt, isToBePay, cuMemberAccountExt);
R<Boolean> saveResult = iMemberServiceApi.saveMember(newCuMember, saOrderExt, isToBePay, cuMemberAccountExt);
if (saveResult.isSuccess()) {
if (!saveResult.getData()) {
log.error("payRegSaOrder 保存会员失败!.");
@ -790,7 +793,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
redisService.lockKeyMany(CacheConstants.MEMBER_ORDER + saOrderExt.getOrderCode());
try {
updateById(saOrderExt);
saOrderItemsService.updateBatchById(saOrderExt.getOrderItemsList());
iSaOrderItemsService.updateBatchById(saOrderExt.getOrderItemsList());
} finally {
redisService.unlock(CacheConstants.MEMBER_ORDER + saOrderExt.getOrderCode());
}
@ -817,7 +820,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
@Transactional(rollbackFor = Exception.class)
public Boolean payUpgradeSaOrder(SaOrderExt saOrderExt, CuMemberAccountExt cuMemberAccountExt) {
CuMember cuMember = getCuMemberByKey(saOrderExt.getPkMember());
GradeDTO oldGradeDTO = gradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
GradeDTO oldGradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
// 封装等级,重新计算会员等级
if (setLastCuMemberGrade(cuMember, saOrderExt)) {
return false;
@ -833,7 +836,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 更新订单信息
updateSaOrder(saOrderExt);
// 处理会员信息更新会员等级,扣款
R<Boolean> saveResult = memberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt);
R<Boolean> saveResult = iMemberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt);
if (saveResult.isSuccess()) {
if (!saveResult.getData()) {
log.error("payUpgradeSaOrder 保存会员失败!!!");
@ -907,7 +910,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
CuMember member = getCuMemberByKey(saOrderExt.getPkMember());
CuMember cuMember = calculateHaFunMemberGrade(saOrderExt, member);
R<Boolean> saveResult = memberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt);
R<Boolean> saveResult = iMemberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt);
if (saveResult.isSuccess()) {
if (!saveResult.getData()) {
log.error("payRepurchaseSaOrder 保存订单失败!");
@ -959,7 +962,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
if (productIdList.size() > 0 && saOrderExt.getRecProvince() != null) {
// 根据产品先查看是否由仓库有仓库的话修改仓库
List<BdProductStorehouseExt> bdProductStorehouseList = areaServiceApi.queryBdProductStorehouseByCondition(productIdList, saOrderExt.getRecProvince()).getData();
List<BdProductStorehouseExt> bdProductStorehouseList = iAreaServiceApi.queryBdProductStorehouseByCondition(productIdList, saOrderExt.getRecProvince()).getData();
Map<Integer, BdProductStorehouseExt> bdProductStorehouseMap = new HashMap<>();
if (CollectionUtil.isNotEmpty(bdProductStorehouseList)) {
bdProductStorehouseList.forEach(bdProductStorehouse -> bdProductStorehouseMap.put(bdProductStorehouse.getPkProduct(), bdProductStorehouse));
@ -997,7 +1000,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
if (orderParam.getIsEnough() != null && orderParam.getIsEnough()) {
orderReturn.setIsEnough(Boolean.TRUE);
CuMember member = getCuMemberByKey(orderParam.getCenterCodeId());
GradeDTO grade = gradeServiceApi.getGrade(member.getPkSettleGrade()).getData();
GradeDTO grade = iGradeServiceApi.getGrade(member.getPkSettleGrade()).getData();
orderReturn.setPkGrade(grade.getPkTransaction());
return orderReturn;
}
@ -1009,7 +1012,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
} else {
member = getCuMemberByKey(orderParam.getCenterCodeId());
}
GradeDTO grade = gradeServiceApi.getGrade(member.getPkSettleGrade()).getData();
GradeDTO grade = iGradeServiceApi.getGrade(member.getPkSettleGrade()).getData();
if (grade.getGradeValue() < gradeDTO.getGradeValue()) {
orderReturn.setIsEnough(Boolean.TRUE);
} else {
@ -1069,12 +1072,12 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|| orderBlankRegParams.getProcessType() == EProcessType.DOUBLEAVOID.getValue()) {
//添加修改记录表数据
memberLog.setApproveStatus(EApproveStatus.FINISH.getValue());
cuMemberServiceLogServiceApi.insert(memberLog);
iCuMemberServiceLogServiceApi.insert(memberLog);
// 主要业务
//创建用户
CuMemberExt memberExt = createMember(orderBlankRegParams);
R<CuMember> member = memberServiceApi.createEmptyOrderMember(memberExt);
R<CuMember> member = iMemberServiceApi.createEmptyOrderMember(memberExt);
if (member.getData() == null) {
throw new ServiceException("保存会员失败");
}
@ -1090,12 +1093,12 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
Set<Long> memberSet = new HashSet<>();
memberSet.add(loginUser.getUserId());
memberLog.setApproveStatus(EApproveStatus.ALREADY_SUBMIT.getValue());
cuMemberServiceLogServiceApi.insert(memberLog);
iCuMemberServiceLogServiceApi.insert(memberLog);
ApprovalSubmitDTO approvalSubmitDTO = ApprovalSubmitDTO.builder().eApprovalBusiness(EApprovalBusiness.EMPTY_ORDER)
.businessCode(code)
.signType(ESignType.getEnumByValue(orderBlankRegParams.getSignType()))
.remark(orderBlankRegParams.getRemark()).pkMemberList(memberSet).build();
R<String> submit = approvalServiceApi.submit(approvalSubmitDTO, loginUser);
R<String> submit = iApprovalServiceApi.submit(approvalSubmitDTO, loginUser);
if (!submit.isSuccess()) {
log.error("====" + submit.getData());
throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_UPDATE_PETITION));
@ -1108,7 +1111,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
businessCommissionDTO.setPkCountry(pkCountry);
businessCommissionDTO.setMemberAmountDTOList(orderBlankRegParams.getMemberAmountDTOList());
businessCommissionDTO.setTradeType(EApprovalBusiness.EMPTY_ORDER.getValue());
R<Boolean> b = memberTradeServiceApi.businessCommissionSubmit(businessCommissionDTO);
R<Boolean> b = iMemberTradeServiceApi.businessCommissionSubmit(businessCommissionDTO);
if (!b.getData()) {
throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_UPDATE_CODE_MONEY));
}
@ -1128,7 +1131,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
saOrder.setOrderCode(orderCode);
// 虚拟订单
saOrder.setOrderType(EOrderType.FICTITIOUS_ORDER.getValue());
R<CurrencyDTO> currency = currencyServiceApi.getCurrency(orderBlankRegParams.getPkSettleCountry());
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(orderBlankRegParams.getPkSettleCountry());
saOrder.setPkRate(currency.getData().getPkId());
saOrder.setOrderAmount(orderBlankRegParams.getRegisterPrice());
saOrder.setOrderAchieve(orderBlankRegParams.getRegisterPv());
@ -1160,7 +1163,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
List<SaOrderItems> orderItems = orderBlankRegParams.getOrderItems();
for (SaOrderItems orderItem : orderItems) {
orderItem.setPkOrder(saOrder.getPkId());
BdWares wares = waresService.getWares(orderItem.getPkWares());
BdWares wares = iBdWaresService.getWares(orderItem.getPkWares());
BdProductExtendExt productExtend = iBdProductExtendService.queryExtendAndProduct(orderItem.getPkProduct());
orderItem.setPkWares(wares.getPkId());
orderItem.setPrice(wares.getWaresPrice().multiply(new BigDecimal(orderItem.getQuantity())));
@ -1172,7 +1175,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
orderItem.setOrderStatus(EOrderStatus.PAY.getValue());
orderItem.setCreationTime(DateUtils.currentDateTime());
// 填充冗余产品规格
List<BdWaresSpecsRelationExt> waresSpecsRelationList = waresSpecsRelationService.selectByWaresSpecsSku(orderItem.getPkWaresSpecsSku());
List<BdWaresSpecsRelationExt> waresSpecsRelationList = iBdWaresSpecsRelationService.selectByWaresSpecsSku(orderItem.getPkWaresSpecsSku());
// 规格名称
List<String> specsNames = new ArrayList<>();
// 规格id
@ -1187,7 +1190,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
orderItem.setPkCreator(SecurityUtils.getUserId());
orderItem.setSkuCode(CommonUtil.createSkuCode(productExtend.getProductCode(), orderItem.getSpecsNameId()));
}
saOrderItemsService.saveBatch(orderItems);
iSaOrderItemsService.saveBatch(orderItems);
// 设置用户银行卡信息 国内页面隐藏
if (loginUser.getDataCountry() != 1) {
CuMemberBankParam memberBank = new CuMemberBankParam();
@ -1200,7 +1203,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
memberBank.setPhone(orderBlankRegParams.getReservedPhone());
memberBank.setIdCard(orderBlankRegParams.getIdCard());
memberBank.setPkMember(member.getPkId());
memberBankServiceApi.addBankInfo(memberBank);
iMemberBankServiceApi.addBankInfo(memberBank);
}
return saOrder;
}
@ -1324,13 +1327,13 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// // 修改订单
// Date currentDateTime = DateUtils.currentDateTime();
// // 删除发货单
// saDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), pkOrderItemList);
// iSaDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), pkOrderItemList);
// updateSaOrder(pkApprove, saOrderExt, currentDateTime);
// // 删除订单明细
// if (!saOrderItemsService.updateOrderItemsById(pkOrderItemList, pkApprove, currentDateTime)) {
// if (!iSaOrderItemsService.updateOrderItemsById(pkOrderItemList, pkApprove, currentDateTime)) {
// throw new ServiceException("更新订单失败");
// }
// if (!memberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, null, businessCommissionDTO).getData()) {
// if (!iMemberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, null, businessCommissionDTO).getData()) {
// throw new ServiceException("撤单失败");
// }
// } else {
@ -1338,11 +1341,11 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
saOrderExt.setDelFlag(EDelFlag.DELETE.getValue());
Date currentDate = DateUtils.currentDateTime();
// 删除发货单
saDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), null);
iSaDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), null);
// 修改订单
updateSaOrder(pkApprove, saOrderExt, currentDate);
// 删除订单明细
if (!saOrderItemsService.updateOrderItems(saOrderExt)) {
if (!iSaOrderItemsService.updateOrderItems(saOrderExt)) {
throw new ServiceException("更新订单失败");
}
@ -1352,7 +1355,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 撤销注册订单 单点撤单
if (ECancelOrderType.SINGLE_CANCEL_ORDER.getValue() == orderCancelParam.getCancelType()) {
// 单点撤单变死点
R<Boolean> tmpR = memberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO);
R<Boolean> tmpR = iMemberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO);
if (!tmpR.isSuccess()) {
throw new ServiceException("撤单失败 " + tmpR.getMsg());
}
@ -1361,12 +1364,12 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
List<Long> memberList = validateCancelOrderVO.getMemberList().stream().map(OrderCancelRegisterMemberVO::getPkMember).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(memberList)) {
// 撤销所有订单明细表
saOrderItemsService.updateOrderItemsByMemberList(memberList, pkApprove, currentDate);
iSaOrderItemsService.updateOrderItemsByMemberList(memberList, pkApprove, currentDate);
// 撤销所有订单主表
baseMapper.updateSaOrderByMember(memberList, pkApprove, currentDate);
}
R<Boolean> tmpR = memberServiceApi.mergeRevokeMemberByRegisterOrder(pkApprove, memberList, validateCancelOrderVO.getSaOrderMap(), businessCommissionDTO);
R<Boolean> tmpR = iMemberServiceApi.mergeRevokeMemberByRegisterOrder(pkApprove, memberList, validateCancelOrderVO.getSaOrderMap(), businessCommissionDTO);
if (!tmpR.isSuccess()) {
throw new ServiceException("撤单失败 " + tmpR.getMsg());
}
@ -1426,7 +1429,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
if (isFirst == null) {
isFirst = validateFirstOrder(cuMember.getPkParent(), cuMember.getPkSettleCountry());
}
cuMember = memberAchieveServiceApi.queryCuMemberAchieveByPkMember(cuMember, isFirst, isFirstAchieve).getData();
cuMember = iMemberAchieveServiceApi.queryCuMemberAchieveByPkMember(cuMember, isFirst, isFirstAchieve).getData();
// 验证是否推荐过人没有推荐只能放入极左极下
return cuMember;
}
@ -1475,7 +1478,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
@Override
public String querySystemConfigByKey(Integer pkCountry, String key) {
return systemConfigServiceApi.getBonusSystemConfig(pkCountry, key).getData();
return iSystemConfigServiceApi.getBonusSystemConfig(pkCountry, key).getData();
}
@Override
@ -1547,7 +1550,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
updateWrapper.set(SaOrderItems::getOrderStatus, EOrderStatus.RECEIVED.getValue());
updateWrapper.set(SaOrderItems::getPkModified, memberId);
updateWrapper.set(SaOrderItems::getModifiedTime, new Date());
return saOrderItemsService.update(updateWrapper);
return iSaOrderItemsService.update(updateWrapper);
}
@Transactional(rollbackFor = Exception.class)
@ -1558,7 +1561,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 如果是注册订单需要校验下面是否有会员
if (EOrderType.REGISTER_ORDER.getValue() == saOrder.getOrderType()) {
// 注册类订单需要校验是否推荐过人或者安置过人如果有则不允许进行取消
if (memberServiceApi.checkLowerMember(saOrder.getPkMember()).getData()) {
if (iMemberServiceApi.checkLowerMember(saOrder.getPkMember()).getData()) {
// 订单所属会员下存在用户不能取消
return TransactionUtils.getContent(MemberMsgConstants.EXIST_MEMBER_NOT_CANCEL);
}
@ -1572,7 +1575,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
updateItemsWrapper.set(SaOrderItems::getDelFlag, EDelFlag.DELETE.getValue());
updateItemsWrapper.set(SaOrderItems::getPkModified, memberId);
updateItemsWrapper.set(SaOrderItems::getModifiedTime, nowDate);
saOrderItemsService.update(updateItemsWrapper);
iSaOrderItemsService.update(updateItemsWrapper);
// 删除订单
LambdaUpdateWrapper<SaOrder> updateOrderWrapper = new LambdaUpdateWrapper<>();
@ -1584,7 +1587,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 如果是注册订单需要取消点位
if (EOrderType.REGISTER_ORDER.getValue() == saOrder.getOrderType()) {
if (!memberServiceApi.cancelMember(saOrder.getPkMember()).getData()) {
if (!iMemberServiceApi.cancelMember(saOrder.getPkMember()).getData()) {
throw new ServiceException("取消订单失败");
}
}
@ -1621,7 +1624,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
orderItemsUpdateWrapper.set(SaOrderItems::getDelFlag, EDelFlag.DELETE.getValue());
orderItemsUpdateWrapper.set(SaOrderItems::getPkModified, userId);
orderItemsUpdateWrapper.set(SaOrderItems::getModifiedTime, nowDate);
saOrderItemsService.update(orderItemsUpdateWrapper);
iSaOrderItemsService.update(orderItemsUpdateWrapper);
}
@Override
@ -1661,7 +1664,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
@Override
public Boolean regEmptyOrderApproved(ApprovalBusinessResultDTO approvalBusinessResultDTO) {
R<CuMemberServiceLog> cuMemberServiceLogR = cuMemberServiceLogServiceApi.selectByBusinessNo(approvalBusinessResultDTO.getBusinessCode());
R<CuMemberServiceLog> cuMemberServiceLogR = iCuMemberServiceLogServiceApi.selectByBusinessNo(approvalBusinessResultDTO.getBusinessCode());
OrderBlankRegParams orderBlankRegParams = JSONUtil.toBean(cuMemberServiceLogR.getData().getNewValue(), OrderBlankRegParams.class);
// 调用空单注册方法
this.registerEmptyOrder(orderBlankRegParams);
@ -1670,14 +1673,14 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
@Override
public Boolean regEmptyOrderReject(ApprovalBusinessResultDTO approvalBusinessResultDTO) {
R<CuMemberServiceLog> cuMemberServiceLogR = cuMemberServiceLogServiceApi.selectByBusinessNo(approvalBusinessResultDTO.getBusinessCode());
R<CuMemberServiceLog> cuMemberServiceLogR = iCuMemberServiceLogServiceApi.selectByBusinessNo(approvalBusinessResultDTO.getBusinessCode());
OrderBlankRegParams orderBlankRegParams = JSONUtil.toBean(cuMemberServiceLogR.getData().getNewValue(), OrderBlankRegParams.class);
CuMemberServiceLog memberLog = new CuMemberServiceLog();
memberLog.setBusinessNo(approvalBusinessResultDTO.getBusinessCode());
memberLog.setPkModified(approvalBusinessResultDTO.getLoginUser().getUserId());
memberLog.setModifiedTime(DateUtils.currentDateTime());
memberLog.setApproveStatus(EApproveStatus.REJECTED.getValue());
cuMemberServiceLogServiceApi.updateByBusinessNo(memberLog);
iCuMemberServiceLogServiceApi.updateByBusinessNo(memberLog);
List<MemberAmountDTO> memberAmountDTOList = new ArrayList<>();
MemberAmountDTO memberAmountDTO = new MemberAmountDTO();
memberAmountDTO.setPkMember(approvalBusinessResultDTO.getLoginUser().getUserId());
@ -1692,7 +1695,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
businessCommissionDTO.setPkCountry(orderBlankRegParams.getPkCountry());
businessCommissionDTO.setMemberAmountDTOList(memberAmountDTOList);
businessCommissionDTO.setTradeType(EApprovalBusiness.UPDATE_SETTLE_COUNTRY.getValue());
R<Boolean> b = memberTradeServiceApi.businessCommissionSubmit(businessCommissionDTO);
R<Boolean> b = iMemberTradeServiceApi.businessCommissionSubmit(businessCommissionDTO);
if (!b.getData()) {
throw new ServiceException(ConfigMsgConstants.MEMBER_UPDATE_CODE_MONEY);
}
@ -1701,9 +1704,9 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
@Override
public void closeOrder() {
R<Map<String, String>> configMap = systemConfigServiceApi.getSystemConfig();
R<Map<String, String>> configMap = iSystemConfigServiceApi.getSystemConfig();
Map<String, String> configDate = configMap.getData();
R<Map<Integer, BdCountry>> all = countryServiceApi.getAllCountryMap();
R<Map<Integer, BdCountry>> all = iCountryServiceApi.getAllCountryMap();
Set<Map.Entry<Integer, BdCountry>> entries = all.getData().entrySet();
for (Map.Entry<Integer, BdCountry> entry : entries) {
@ -1727,7 +1730,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
ESpecialAreaTime specialAreaTime = ESpecialAreaTime.getSpecialAreaTime(date);
if (orderType != null && specialAreaTime != null) {
if (baseMapper.closeOrder(country.getPkId(), specialAreaTime.getAttributeValue(), orderType) > 0) {
saOrderItemsService.closeOrder(country.getPkId(), specialAreaTime.getAttributeValue(), orderType);
iSaOrderItemsService.closeOrder(country.getPkId(), specialAreaTime.getAttributeValue(), orderType);
}
}
}
@ -1756,7 +1759,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
@Override
public void waresSalesAccrual(List<WaresNumberParam> waresNumberParamList) {
try {
waresExtendService.updateWaresSalesAccrual(waresNumberParamList);
iBdWaresExtendService.updateWaresSalesAccrual(waresNumberParamList);
} catch (Exception e) {
e.printStackTrace();
}
@ -1772,7 +1775,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
public int insertBach(List<SaOrder> orderList, List<SaOrderItems> orderItemsList) {
int i = baseMapper.insertBach(orderList);
if (i > 0 && CollectionUtil.isNotEmpty(orderItemsList)) {
saOrderItemsService.insertBach(orderItemsList);
iSaOrderItemsService.insertBach(orderItemsList);
}
return i;
}
@ -1784,7 +1787,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) {
saOrderItems.setPkOrder(saOrderExt.getPkId());
}
saOrderItemsService.saveBatch(saOrderExt.getOrderItemsList());
iSaOrderItemsService.saveBatch(saOrderExt.getOrderItemsList());
}
@Override
@ -1802,11 +1805,11 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
saOrderExt.setDelFlag(EDelFlag.DELETE.getValue());
Date currentDate = DateUtils.currentDateTime();
// 删除发货单
saDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), null);
iSaDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), null);
// 修改订单
updateSaOrder(pkApprove, saOrderExt, currentDate);
// 删除订单明细
if (!saOrderItemsService.updateOrderItems(saOrderExt)) {
if (!iSaOrderItemsService.updateOrderItems(saOrderExt)) {
throw new ServiceException("更新订单失败");
}
@ -1828,7 +1831,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 撤销注册订单
if (myOrderVO.getOrderType() == EOrderType.RETAIL_REGISTER.getValue()) {
// 逻辑删除会员
if (!memberServiceApi.singleRevokeMemberBySelfRevokeOrder(pkApprove, saOrderExt, businessCommissionDTO).getData()) {
if (!iMemberServiceApi.singleRevokeMemberBySelfRevokeOrder(pkApprove, saOrderExt, businessCommissionDTO).getData()) {
throw new ServiceException("撤单失败");
}
} else {
@ -1877,15 +1880,21 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 订单邮费
BigDecimal postage = saOrder.getPostage();
if (payMoney.add(postage).compareTo(BigDecimal.ZERO) == 0) {
// 订单金额 + 邮费 = 0直接返回跑
cuMemberAccount.setIsPayment(Boolean.TRUE);
return cuMemberAccount;
}
// 订单创建人
CuMember creator = getCuMemberByKey(saOrder.getPkCreator());
cuMemberAccount.setMemberCode(creator.getMemberCode());
// 查询专区所属币种
List<AreaCurrencyDTO> areaCurrencyDTOList = areaCurrencyServiceApi.queryAreaCurrencyByCondition(ESpecialArea.getRetailSpecialAreaValue(saOrder.getOrderType()), cuMemberAccount.getPkCountry()).getData();
List<AreaCurrencyDTO> areaCurrencyDTOList = iAreaCurrencyServiceApi.queryAreaCurrencyByCondition(ESpecialArea.getRetailSpecialAreaValue(saOrder.getOrderType()), cuMemberAccount.getPkCountry()).getData();
// 验证会员是否存在特殊消费配置
List<AreaCurrencyDTO> memberCurrencyDTOList = areaCurrencyServiceApi.queryMemberCurrency(ESpecialArea.getRetailSpecialAreaValue(saOrder.getOrderType()), cuMemberAccount.getPkMember()).getData();
List<AreaCurrencyDTO> memberCurrencyDTOList = iAreaCurrencyServiceApi.queryMemberCurrency(ESpecialArea.getRetailSpecialAreaValue(saOrder.getOrderType()), cuMemberAccount.getPkMember()).getData();
if (CollectionUtil.isNotEmpty(memberCurrencyDTOList)) {
areaCurrencyDTOList = memberCurrencyDTOList;
} else {
@ -1895,7 +1904,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
if (saOrderItems.getPkSpecialCurrency() != null) {
BigDecimal orderItemPayMoney = ComputeUtil.computeMultiply(saOrderItems.getPrice(), saOrderItems.getQuantity());
payMoney = ComputeUtil.computeSubtract(payMoney, orderItemPayMoney);
List<AreaCurrencyDTO> areaCurrencyDtoList = areaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrderItems.getPkSpecialCurrency()).getData();
List<AreaCurrencyDTO> areaCurrencyDtoList = iAreaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrderItems.getPkSpecialCurrency()).getData();
if (!handleRetailSaOrderAmount(saOrder, cuMemberAccount, orderItemPayMoney, BigDecimal.ZERO, areaCurrencyDtoList)) {
return null;
@ -1943,7 +1952,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType()) {
if (cuMemberAccount.getPayAccount3Flag()) {
// 验证是否有政策币权限
List<CuMemberServiceLog> cuMemberServiceLogs = cuMemberServiceLogServiceApi.queryMaxCuMemberServiceLog(cuMemberAccount.getPkMember(), Collections.singletonList(EApprovalBusiness.POLICY_CURRENCY_YES_NO.getValue()));
List<CuMemberServiceLog> cuMemberServiceLogs = iCuMemberServiceLogServiceApi.queryMaxCuMemberServiceLog(cuMemberAccount.getPkMember(), Collections.singletonList(EApprovalBusiness.POLICY_CURRENCY_YES_NO.getValue()));
if (CollectionUtil.isNotEmpty(cuMemberServiceLogs)) {
Map<Integer, CuMemberServiceLog> cuMemberServiceLogMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberServiceLogs.size()));
cuMemberServiceLogs.forEach(serviceLog -> cuMemberServiceLogMap.put(serviceLog.getEditType(), serviceLog));
@ -2048,7 +2057,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 查询会员最新升级记录
CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.getLastUpgrade(cuMember.getPkId(), saOrder.getPkId()).getData();
if (null != cuMemberLevel) {
return gradeServiceApi.getGrade(cuMemberLevel.getNewLevel()).getData();
return iGradeServiceApi.getGrade(cuMemberLevel.getNewLevel()).getData();
}
// 没有升级记录直接查会员注册信息表
@ -2056,11 +2065,11 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
if (null == cuMemberRegister) {
throw new ServiceException("没有会员注册信息");
}
return gradeServiceApi.getGrade(cuMemberRegister.getPkRegisterGrade()).getData();
return iGradeServiceApi.getGrade(cuMemberRegister.getPkRegisterGrade()).getData();
}
/**
* 处理撤销升级订单
* 处理撤销订单
*
* @param saOrderExt 订单信息
* @param updSaOrder 升级订单
@ -2074,7 +2083,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 计算等级
// 空单注册从cu_member_register中获取
if (updSaOrder == null) {
CuMemberRegister cuMemberRegister = memberServiceApi.queryCuMemberRegister(saOrderExt.getPkMember()).getData();
CuMemberRegister cuMemberRegister = iMemberServiceApi.queryCuMemberRegister(saOrderExt.getPkMember()).getData();
cuMember.setPkRegisterGrade(cuMemberRegister.getPkRegisterGrade());
cuMember.setPkSettleGrade(cuMemberRegister.getPkRegisterGrade());
cuMember.setConsumeMoney(BigDecimal.ZERO);
@ -2099,6 +2108,22 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
cuMember.setIsActivate(EYesNo.NO.getIntValue());
}
saOrderExt.setUpdateFlag(EYesNo.YES.getIntValue());
} else if (EOrderType.PICK_ORDER.getValue() == saOrderExt.getOrderType()) {
// 提货订单
// 提货日志列表
List<AcPickMemberLog> pickMemberLogList = iAcPickMemberLogService.listPickMemberLog(saOrderExt.getPkMember(), saOrderExt.getOrderCode(), EDelFlag.UN_DELETE.getValue());
if (CollectionUtil.isNotEmpty(pickMemberLogList)) {
for (AcPickMemberLog acPickMemberLog : pickMemberLogList) {
// 更新会员提货表
iAcPickService.updateMemberPickById(acPickMemberLog.getPkPick(), acPickMemberLog.getPickQuantity(), acPickMemberLog.getPkMember());
// 更新会员提货日志表
iAcPickMemberLogService.update(Wrappers.<AcPickMemberLog>lambdaUpdate()
.eq(AcPickMemberLog::getPkId, acPickMemberLog.getPkId())
.eq(AcPickMemberLog::getDelFlag, EDelFlag.UN_DELETE.getValue())
.set(AcPickMemberLog::getDelFlag, EDelFlag.DELETE.getValue())
);
}
}
} else if (EOrderType.RETAIL_PICK.getValue() == saOrderExt.getOrderType()) {
// 新提货订单
if (!iAcRetailPickService.cancelRetailPickOrder(saOrderExt.getPkId(), pkApprove)) {
@ -2114,7 +2139,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// iSaOrderWaresLimitService.updateCancelOrder(saOrderExt.getPkId(), saOrderExt.getPkMember(), saOrderExt.getModifiedTime(), boxProductList);
// }
if (!memberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, cuMember, businessCommissionDTO).getData()) {
if (!iMemberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, cuMember, businessCommissionDTO).getData()) {
throw new ServiceException("撤单处理会员失败");
}
}
@ -2239,10 +2264,10 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
BdGrade lastUpdateGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(lastMemberLevel.getNewLevel())).findFirst().get();
// 盒数基数 = 手动升级盒数 + 手动升级之后的升级订单盒数
baseBoxNum = lastUpdateGrade.getBoxNumber()
+ saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, lastMemberLevel.getUpgradeTime(), Collections.singletonList(EOrderType.RETAIL_UPGRADE.getValue()), systemType);
+ iSaOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, lastMemberLevel.getUpgradeTime(), Collections.singletonList(EOrderType.RETAIL_UPGRADE.getValue()), systemType);
} else {
// 没有手动升级记录
baseBoxNum = saOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType);
baseBoxNum = iSaOrderItemsService.getRetailWaresQuantityNew(cuMember.getPkId(), boxWaresList, null, Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue()), systemType);
}
}
return baseBoxNum;

View File

@ -8,16 +8,13 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 邮费设置 Mapper 接口
* </p>
*
* @author hzs
* @since 2022-08-27
*/
public interface BdPostageMapper extends BaseMapper<BdPostage> {
/**
* 查询邮费列表
*
* @return
*/
List<PostageVo> selectByList(@Param("pkCountry") Integer pkCountry);

View File

@ -1,42 +0,0 @@
package com.hzs.sale.postage.provider;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.exception.ServiceException;
import com.hzs.sale.postage.IPostageServiceApi;
import com.hzs.sale.postage.dto.PostageProductDTO;
import com.hzs.sale.postage.service.IPostageBusinessService;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description: 邮费服务API
* @Author: jiang chao
* @Time: 2023/4/25 14:41
* @Classname: IPostageServiceProvider
* @PackageName: com.hzs.sale.postage.provider
*/
@Slf4j
@DubboService
public class IPostageServiceProvider implements IPostageServiceApi {
@Autowired
private IPostageBusinessService iPostageBusinessService;
@Override
public R<BigDecimal> queryPostage(Integer pkId, List<PostageProductDTO> productList, Integer province, Integer recCity) {
try {
return R.ok(iPostageBusinessService.queryPostage(pkId, productList, province, recCity));
} catch (ServiceException se) {
log.error("查询邮费模板数据异常, 模板ID {}", pkId, se);
return R.fail(se.getMessage());
} catch (Exception e) {
log.error("查询邮费模板异常, 模板ID {}", pkId, e);
}
return R.fail();
}
}

View File

@ -9,9 +9,6 @@ import java.util.List;
/**
* 邮费设置 服务类
*
* @author hzs
* @since 2022-08-27
*/
public interface IBdPostageService extends IService<BdPostage> {

View File

@ -6,11 +6,7 @@ import java.math.BigDecimal;
import java.util.List;
/**
* @Description: 邮费业务服务
* @Author: jiang chao
* @Time: 2023/4/25 16:20
* @Classname: IPostageBusinessService
* @PackageName: com.hzs.sale.postage.service
* 邮费业务服务
*/
public interface IPostageBusinessService {

View File

@ -35,9 +35,6 @@ import java.util.List;
/**
* 邮费设置 服务实现类
*
* @author hzs
* @since 2022-08-27
*/
@Service
public class BdPostageServiceImpl extends ServiceImpl<BdPostageMapper, BdPostage> implements IBdPostageService {

View File

@ -25,11 +25,7 @@ import java.util.Map;
import java.util.stream.Collectors;
/**
* @Description: 邮费业务服务
* @Author: jiang chao
* @Time: 2023/4/25 16:20
* @Classname: PostageBusinessServiceImpl
* @PackageName: com.hzs.sale.postage.service.impl
* 邮费业务服务
*/
@Service
public class PostageBusinessServiceImpl implements IPostageBusinessService {

View File

@ -15,9 +15,6 @@ import java.util.List;
/**
* 商品发布扩展表 服务实现类
*
* @author hzs
* @since 2022-09-09
*/
@Service
public class BdWaresExtendServiceImpl extends ServiceImpl<BdWaresExtendMapper, BdWaresExtend> implements IBdWaresExtendService {

View File

@ -149,7 +149,7 @@
<!-- 会员提货列表 -->
<select id="pickList" resultType="com.hzs.activity.pick.vo.ApiPickListVO">
<!-- 提货产品 -->
<!-- 提货产品、分公司产品 -->
select ap.pk_id,
ap.pick_type,
case
@ -170,7 +170,7 @@
where ap.del_flag = 0
and ap.pk_country = #{pkCountry}
and ap.pk_member = #{pkMember}
and ap.pick_type = 0
and ap.pick_type in (0, 20)
and ap.usable_quantity > 0
and (ap.receive_time is null or to_char(ap.receive_time, 'yyyy-mm-dd') >= to_char(sysdate, 'yyyy-mm-dd'))
<!-- 迁移抽奖、新抽奖 -->
@ -263,4 +263,18 @@
update set ap.usable_quantity = ap.usable_quantity + tmp.usable_quantity
</update>
<!-- 根据ID更新会员提货数据 -->
<update id="updateMemberPickById">
update ac_pick ap
set ap.usable_quantity = ap.usable_quantity + #{quantity},
ap.used_quantity = ap.used_quantity - #{quantity},
ap.modified_time = sysdate
where ap.del_flag = 0
<if test="pkMember != null">
and ap.pk_member = #{pkMember}
</if>
and ap.pk_id = #{pkId}
and ap.usable_quantity + #{quantity} > 0
</update>
</mapper>

View File

@ -2,18 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hzs.activity.pick.mapper.AcPickMemberLogMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.hzs.common.domain.activity.pick.AcPickMemberLog">
<id column="PK_ID" property="pkId"/>
<result column="PK_MEMBER" property="pkMember"/>
<result column="PK_PICK" property="pkPick"/>
<result column="PICK_QUANTITY" property="pickQuantity"/>
<result column="PICK_TIME" property="pickTime"/>
<result column="PICK_ORDER" property="pickOrder"/>
<result column="PK_COUNTRY" property="pkCountry"/>
<result column="DEL_FLAG" property="delFlag"/>
<result column="SOURCE" property="source"/>
</resultMap>
<!-- 查询会员订单数据 -->
<select id="listPickMemberLog" resultType="com.hzs.common.domain.activity.pick.AcPickMemberLog">
select *
from AC_PICK_MEMBER_LOG t
where t.pk_member = #{pkMember}
and t.pick_order = #{orderCode}
and t.del_flag = #{delFlag}
</select>
<!-- 查询提货日志 -->
<select id="queryMemberLog" resultType="com.hzs.activity.pick.vo.AcPickMemberLogVO">

View File

@ -23,25 +23,21 @@ import java.util.List;
import java.util.Set;
/**
* @Description: 专区币种配置提供的公共api服务
* @Author: sui q
* @Time: 2022/9/6 10:41
* @Classname: AreaCurrencyServiceProvider
* @PackageName: com.hzs.system.config.provider
* 专区币种配置提供的公共api服务
*/
@DubboService
public class AreaCurrencyServiceProvider implements IAreaCurrencyServiceApi {
@Autowired
private IBdAccountService bdAccountService;
private IBdAccountService iBdAccountService;
@Autowired
private IBdSpecialCurrencyService specialCurrencyService;
private IBdSpecialCurrencyService iBdSpecialCurrencyService;
@Autowired
private IBdMemberSpecialCurrencyService iBdMemberSpecialCurrencyService;
@Override
public R<List<AreaCurrencyDTO>> queryAreaCurrencyByPkCountry(Integer pkCountry) {
List<BdAccount> bdAccountList = bdAccountService.queryBdAccount(pkCountry);
List<BdAccount> bdAccountList = iBdAccountService.queryBdAccount(pkCountry);
List<AreaCurrencyDTO> areaCurrencyDTOList = new ArrayList<>();
for (BdAccount bdAccount : bdAccountList) {
AreaCurrencyDTO areaCurrencyDTO = new AreaCurrencyDTO();
@ -52,18 +48,9 @@ public class AreaCurrencyServiceProvider implements IAreaCurrencyServiceApi {
return R.ok(areaCurrencyDTOList);
}
/**
* 根据条件查找对应的币种配置
*
* @param specialArea 所属专区
* @param pkCountry 国家
* @return: R<List < AreaCurrencyDTO>>
* @Author: sui q
* @Date: 2022/9/6 10:37
*/
@Override
public R<List<AreaCurrencyDTO>> queryAreaCurrencyByCondition(Integer specialArea, Integer pkCountry) {
List<AreaCurrencyExt> areaCurrencyExtList = bdAccountService.queryAreaCurrencyByCondition(specialArea, pkCountry);
List<AreaCurrencyExt> areaCurrencyExtList = iBdAccountService.queryAreaCurrencyByCondition(specialArea, pkCountry);
List<AreaCurrencyDTO> areaCurrencyDTOList = new ArrayList<>();
areaCurrencyExtList.forEach(areaCurrencyExt -> areaCurrencyDTOList.add(BeanUtil.copyProperties(areaCurrencyExt, AreaCurrencyDTO.class)));
return R.ok(areaCurrencyDTOList);
@ -82,7 +69,7 @@ public class AreaCurrencyServiceProvider implements IAreaCurrencyServiceApi {
public R<List<AreaCurrencyDTO>> queryAreaCurrencyByCondition(Integer pkSpecialAccount) {
SpecialCurrencyParam specialCurrencyParam = new SpecialCurrencyParam();
specialCurrencyParam.setPkId(pkSpecialAccount);
List<BdSpecialCurrencyExt> bdSpecialCurrencyExtList = specialCurrencyService.querySpecialCurrencyList(specialCurrencyParam);
List<BdSpecialCurrencyExt> bdSpecialCurrencyExtList = iBdSpecialCurrencyService.querySpecialCurrencyList(specialCurrencyParam);
if (CollectionUtil.isNotEmpty(bdSpecialCurrencyExtList) && CollectionUtil.isNotEmpty(bdSpecialCurrencyExtList.get(0).getSpecialCurrencyDetailList())) {
List<AreaCurrencyDTO> resultList = BeanUtil.copyToList(bdSpecialCurrencyExtList.get(0).getSpecialCurrencyDetailList(), AreaCurrencyDTO.class);
// 2023.11.17 需求添加记录模板名称用于后续写死判断逻辑使用
@ -103,7 +90,7 @@ public class AreaCurrencyServiceProvider implements IAreaCurrencyServiceApi {
public List<AreaCurrencyDTO> queryAreaCurrencyBySpecialArea(Set<Integer> pkCurrencySet, Integer account) {
List<AreaCurrencyDTO> resultList = new ArrayList<>();
List<BdSpecialCurrencyDetailExt> bdSpecialCurrencyDetailListList = specialCurrencyService.queryAreaCurrencyBySpecialArea(pkCurrencySet, account);
List<BdSpecialCurrencyDetailExt> bdSpecialCurrencyDetailListList = iBdSpecialCurrencyService.queryAreaCurrencyBySpecialArea(pkCurrencySet, account);
if (CollectionUtil.isNotEmpty(bdSpecialCurrencyDetailListList)) {
for (BdSpecialCurrencyDetailExt bdSpecialCurrencyDetail : bdSpecialCurrencyDetailListList) {
resultList.add(AreaCurrencyDTO.builder()

View File

@ -8,40 +8,45 @@ public class ActivityMsgConstants {
/**
* 会员点击抽奖按钮验证抽奖次数 -- 抽奖次数不足
*/
public static final String DRAW_AVAILABLE_NUMBER = "抽奖次数不足!";
public static final String DRAW_AVAILABLE_NUMBER = "抽奖次数不足!";
/**
* 会员点击抽奖按钮验证抽奖次数 -- 抽奖活动已经结束不能抽奖
*/
public static final String DRAW_OVER = "抽奖活动已经结束,不能抽奖!";
public static final String DRAW_OVER = "抽奖活动已经结束,不能抽奖!";
/**
* 修改或者提货时提货相关数据已经不存在 -- 会员提货商品不存在
*/
public static final String PICK_PRODUCT_NOT_EXIST = "会员提货商品不存在";
public static final String PICK_PRODUCT_NOT_EXIST = "提货商品不存在";
/**
* 会员提货时提货数量不足 -- 会员提货商品数量不足
*/
public static final String PICK_QUANTITY_NOT_ENOUGH = "会员提货商品数量不足";
public static final String PICK_QUANTITY_NOT_ENOUGH = "提货商品数量不足";
/**
* 会员提货时不包邮但是邮费模板配置有错误或者缺失 -- 提货邮费计算错误
*/
public static final String PICK_POSTAGE_ERROR = "提货邮费计算错误";
public static final String PICK_POSTAGE_ERROR = "提货邮费计算错误";
/**
* 签呈处理提货充值记录已经没有了 -- 签呈处理失败提货充值记录不存在
*/
public static final String PICK_NOT_EXIST = "签呈处理失败:提货充值记录不存在";
public static final String PICK_NOT_EXIST = "签呈处理失败:提货充值记录不存在";
/**
* 签呈处理提货充值记录已经处理过了 -- 签呈处理失败提货充值记录已处理
*/
public static final String PICK_PROCESSED = "签呈处理失败:提货充值记录已处理";
public static final String PICK_PROCESSED = "签呈处理失败:提货充值记录已处理";
/**
* 奖品信息填写不完整 -- 奖品规则信息填写不完整
*/
public static final String DRAW_RULE_COMPLETE_INFO = "奖品规则信息填写不完整";
public static final String DRAW_RULE_COMPLETE_INFO = "奖品规则信息填写不完整";
/**
* 会员提货时提货数量只能为配置基数的倍数比如沙棘果汁一次只能提3箱 -- 提货数量只能为%s的倍数
*/
public static final String PICK_QUANTITY_BASE = "提货数量只能为%s的倍数";
}

View File

@ -1,6 +1,5 @@
package com.hzs.common.core.enums;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Getter;

View File

@ -6,8 +6,6 @@ import lombok.Getter;
/**
* 删除标记枚举类
*
* @author hzs
*/
@AllArgsConstructor
@Getter

View File

@ -29,6 +29,11 @@ public enum EOrderType {
*/
REPURCHASE_ORDER(3, "旧复购订单", 1, EnumsPrefixConstants.ORDER_TYPE + 3),
/**
* 提货订单
*/
PICK_ORDER(8, "提货订单", 0, EnumsPrefixConstants.ORDER_TYPE + 8),
/**
* 重消订单
*/
@ -63,7 +68,7 @@ public enum EOrderType {
RETAIL_TICKET(45, "自助购票", 0, EnumsPrefixConstants.ORDER_TYPE + 45),
RETAIL_PICK(46, "提货订单", 0, EnumsPrefixConstants.ORDER_TYPE + 46),
RETAIL_PICK(46, "活动提货订单", 0, EnumsPrefixConstants.ORDER_TYPE + 46),
;

View File

@ -26,6 +26,11 @@ public enum ESpecialArea {
*/
REPURCHASE_AREA(3, "旧复购自营", 1, EnumsPrefixConstants.SPECIAL_AREA + "3", 5, EMenuDetail.REPURCHASE.getValue()),
/**
* 提货专区
*/
PICK_AREA(8, "提货专区", 0, EnumsPrefixConstants.SPECIAL_AREA + "8", 5, EMenuDetail.PICK.getValue()),
/**
* 重消专区
*/

View File

@ -10,13 +10,15 @@ import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.*;
import lombok.experimental.Accessors;
/**
* 会员提货记录
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)