Compare commits

..

19 Commits

Author SHA1 Message Date
cabbage b498fc9924 ## 去掉级差价格计算; 2025-10-29 11:15:21 +08:00
cabbage 0df18cfe1d ## 调整等级、奖衔初始处理; 2025-10-29 11:15:20 +08:00
cabbage bd0371f8fd ## 去掉盒数等处理; 2025-10-29 11:15:20 +08:00
cabbage 4d78bfaed5 ## 分享注册计算邮费补全用户信息调整; 2025-10-29 11:15:20 +08:00
cabbage aa12deaa62 ## 注册成功短信改为member服务调用发送; 2025-10-29 11:15:15 +08:00
sangelxiu1 4225f92413 ## Opt - 分享注册会员-奖衔 2025-10-29 11:15:15 +08:00
sangelxiu1 42e9883029 ## Opt - 分享注册会员-奖衔 2025-10-29 11:15:15 +08:00
sangelxiu1 d2afea78f8 ## Fix - 京东支付回调,支付工具(payTool)可能为空 2025-10-29 11:15:14 +08:00
sangelxiu1 7e4085378b ## Opt - 分享注册会员-奖衔 2025-10-29 11:15:09 +08:00
sangelxiu1 b440079fa0 ## test push 2025-10-29 11:15:09 +08:00
zhangheng 162ccfb6bb ## 后台看板数据会员数据总数根据支付时间查询 2025-10-29 11:15:04 +08:00
cabbage a108c27708 ## 订单支付时间正向、逆向处理; 2025-10-29 11:15:04 +08:00
cabbage 06cf3ce2a9 ## 订单支付时间正向、逆向处理; 2025-10-29 11:15:04 +08:00
cabbage a10a5182cf ## 钱包明细国际化转换处理; 2025-10-29 11:15:03 +08:00
cabbage 9d0fcd7605 ## 订单支付更新会员支付时间和状态; 2025-10-29 11:15:00 +08:00
cabbage 4b3a1f6041 ## 订单支付更新会员支付时间和状态; 2025-10-29 11:15:00 +08:00
zhangheng 410fa5e60d ## 后台看板数据会员数据根据支付时间查询 2025-10-29 11:14:59 +08:00
zhangheng e98fa16f49 ## 后台看板数据会员数据根据创建时间查询,取消支付状态条件 2025-10-29 11:14:52 +08:00
zhangheng d8c3683ddd ## 后台看板数据会员数据逻辑修改 2025-10-29 11:14:52 +08:00
17 changed files with 273 additions and 293 deletions

View File

@ -1,7 +1,6 @@
package com.hzs.member.account.controller.api;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.enums.EOrderType;
import cn.hutool.core.collection.CollectionUtil;
import com.hzs.common.core.enums.ETradeType;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
@ -10,34 +9,24 @@ import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.member.account.service.ICuMemberAccountService;
import com.hzs.member.account.service.ICuMemberTradeService;
import com.hzs.member.account.vo.CuMemberAccountVO;
import com.hzs.member.account.vo.CuMemberTradeVO;
import com.hzs.member.account.vo.CuMemberWalletBalanceVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* 我的钱包
*
* @Description:
* @Author: ljc
* @Time: 2023/2/8 11:19
* @Classname: CuMemberWalletControllerApi
* @Package_name: com.hzs.member.account.controller.api
*/
@RestController
@RequestMapping("/api/wallet")
public class ApiCuMemberWalletController extends BaseController {
@Autowired
ICuMemberAccountService memberAccountService;
private ICuMemberAccountService iCuMemberAccountService;
@Autowired
ICuMemberTradeService memberTradeService;
private ICuMemberTradeService iCuMemberTradeService;
/**
@ -49,7 +38,7 @@ public class ApiCuMemberWalletController extends BaseController {
public AjaxResult getWalletBalance() {
Long pkMember = SecurityUtils.getUserId();
Integer pkCountry = SecurityUtils.getPkCountry();
return AjaxResult.success(memberAccountService.queryWalletBalanceByPkMember(pkMember, pkCountry));
return AjaxResult.success(iCuMemberAccountService.queryWalletBalanceByPkMember(pkMember, pkCountry));
}
@ -61,11 +50,11 @@ public class ApiCuMemberWalletController extends BaseController {
@GetMapping("/trade-type")
public AjaxResult tradeType() {
// 查询交易类型
List<Integer> tradeTypes = memberTradeService.selectTradeType(SecurityUtils.getUserId(), SecurityUtils.getPkCountry());
List<Integer> tradeTypes = iCuMemberTradeService.selectTradeType(SecurityUtils.getUserId(), SecurityUtils.getPkCountry());
List<EnumEntity> enumEntityList = new ArrayList<>();
for (ETradeType value : ETradeType.values()) {
if (tradeTypes.contains(value.getValue())) {
enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.TRADE_TYPE));
enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
}
}
return AjaxResult.success(enumEntityList);
@ -83,7 +72,12 @@ public class ApiCuMemberWalletController extends BaseController {
cuMemberTradeVO.setPkCountry(SecurityUtils.getPkCountry());
cuMemberTradeVO.setPkMember(SecurityUtils.getUserId());
startPage();
List<CuMemberTradeVO> cuMemberTradeVOList = memberTradeService.selectWattleDetail(cuMemberTradeVO);
List<CuMemberTradeVO> cuMemberTradeVOList = iCuMemberTradeService.selectWattleDetail(cuMemberTradeVO);
if (CollectionUtil.isNotEmpty(cuMemberTradeVOList)) {
for (CuMemberTradeVO memberTradeVO : cuMemberTradeVOList) {
memberTradeVO.setTradeTypeVal(ETradeType.getTradeLabel(memberTradeVO.getTradeType()));
}
}
return getDataTable(cuMemberTradeVOList);
}
}

View File

@ -49,6 +49,7 @@ import com.hzs.system.config.IAreaCurrencyServiceApi;
import com.hzs.system.config.IAwardsServiceApi;
import com.hzs.system.config.dto.AreaCurrencyDTO;
import com.hzs.third.pay.ITOnlinePaymentServiceApi;
import com.hzs.third.sms.ISmsServiceApi;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
@ -76,6 +77,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
ICurrencyServiceApi iCurrencyServiceApi;
@DubboReference
ISaOrderServiceApi iSaOrderServiceApi;
@DubboReference
ISmsServiceApi iSmsServiceApi;
@DubboReference
ITOnlinePaymentServiceApi itOnlinePaymentServiceApi;
@ -1232,6 +1235,14 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
saveLevelUpgrade(cuMember, EUpgradeType.BUY_UPGRADE.getValue(), saOrder, 0);
this.handleRetailMemberAccount(saOrder, cuMemberAccountExt);
try {
// 发送会员注册成功短信
iSmsServiceApi.sendMemberRegister(cuMember.getPhone(), EAliSmsTemplate.MEMBER_REGISTER,
cuMember.getMemberCode(), cuMember.getLoginPassword(), cuMember.getPayPassword());
} catch (Exception e) {
log.error("发送注册短信失败");
}
}
@Transactional(rollbackFor = Exception.class)

View File

@ -6,15 +6,14 @@ import cn.hutool.core.util.ObjectUtil;
import com.hzs.common.core.annotation.RepeatSubmit;
import com.hzs.common.core.config.BdConfig;
import com.hzs.common.core.constant.CacheConstants;
import com.hzs.common.core.constant.CountryConstants;
import com.hzs.common.core.constant.RetailConstants;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EGrade;
import com.hzs.common.core.enums.EOrderPrefix;
import com.hzs.common.core.enums.ESpecialArea;
import com.hzs.common.core.enums.EYesNo;
import com.hzs.common.core.exception.ServiceException;
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.domain.AjaxResult;
import com.hzs.common.domain.member.base.CuMember;
@ -23,7 +22,6 @@ import com.hzs.common.domain.member.ext.CuMemberAccountExt;
import com.hzs.common.domain.sale.ext.BdWaresSpecsSkuExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.wares.BdWares;
import com.hzs.common.domain.system.config.BdAwards;
import com.hzs.common.domain.system.config.BdGrade;
import com.hzs.common.security.service.MemberTokenService;
import com.hzs.common.security.utils.SecurityUtils;
@ -33,7 +31,6 @@ import com.hzs.retail.sale.param.*;
import com.hzs.retail.sale.vo.*;
import com.hzs.sale.order.param.*;
import com.hzs.sale.order.service.ISaOrderService;
import com.hzs.sale.order.service.ISaOrderShareTmpService;
import com.hzs.sale.shopping.service.IShoppingCartService;
import com.hzs.sale.shopping.vo.ProductGroup;
import com.hzs.sale.shopping.vo.ShoppingCartRedis;
@ -41,7 +38,6 @@ import com.hzs.sale.shopping.vo.ShoppingCartVO;
import com.hzs.sale.wares.service.IBdWaresService;
import com.hzs.sale.wares.service.IBdWaresSpecsSkuService;
import com.hzs.system.base.IAreaServiceApi;
import com.hzs.system.config.IAwardsServiceApi;
import com.hzs.system.config.IGradeServiceApi;
import com.hzs.system.config.dto.GradeDTO;
import lombok.extern.slf4j.Slf4j;
@ -77,8 +73,6 @@ public class ApiRetailOrderController {
private IBdWaresService iBdWaresService;
@Autowired
private IBdWaresSpecsSkuService iBdWaresSpecsSkuService;
@Autowired
private ISaOrderShareTmpService iSaOrderShareTmpService;
@DubboReference
IMemberServiceApi iMemberServiceApi;
@ -86,8 +80,6 @@ public class ApiRetailOrderController {
IGradeServiceApi iGradeServiceApi;
@DubboReference
IAreaServiceApi iAreaServiceApi;
@DubboReference
IAwardsServiceApi iAwardsServiceApi;
@Autowired
private MemberTokenService memberTokenService;
@ -281,11 +273,10 @@ public class ApiRetailOrderController {
}
if (ObjectUtil.isEmpty(buyMember)) {
buyMember = new CuMember();
List<BdGrade> gradeList = iGradeServiceApi.getRetailGradeList().getData();
// Map<String, BdAwards> awardsMap = iAwardsServiceApi.getAwards().getData();
buyMember.setPkSettleGrade(gradeList.get(0).getPkId());
buyMember.setPkSettleCountry(1);
buyMember.setPkAwards(1);
GradeDTO gradeDTO = iGradeServiceApi.getGradeByGradeValue(EGrade.MEMBER.getValue(), CountryConstants.CHINA_COUNTRY).getData();
buyMember.setPkSettleGrade(gradeDTO.getPkId());
buyMember.setPkAwards(gradeDTO.getPkAwards());
buyMember.setPkSettleCountry(CountryConstants.CHINA_COUNTRY);
}
orderParam.setOrderItemsParams(orderItemsParams);
iRetailOrderService.createSaOrderItems(orderParam, null, buyMember, null, null);
@ -772,17 +763,10 @@ public class ApiRetailOrderController {
// registerParam.setOrderItemsParams(convertShoppingCarToSku(registerParam.getPkCreator(), registerParam.getShopList()));
// 遍历商品封装订单明细
// 订单金额
BigDecimal orderAmount = BigDecimal.ZERO;
// 生成订单编号
String orderCode = CommonUtil.createSerialNumber(EOrderPrefix.ORDER_CODE);
List<OrderItemsParam> orderItemsParams = new ArrayList<>();
for (FansConfirmOrderWaresParam waresParam : registerParam.getWaresList()) {
// 遍历sku
// 产品价格等map
Map<Long, BdWaresSpecsSkuExt> skuMap = iBdWaresSpecsSkuService.queryWaresSpecsSkuList(waresParam.getSkuList().stream().map(FansConfirmOrderSkuParam::getPkWaresSku).collect(Collectors.toList()));
// 查询商品
BdWares bdWares = iBdWaresService.getWares(waresParam.getPkWares());
@ -790,9 +774,6 @@ public class ApiRetailOrderController {
List<WaresItemsParam> itemsParamList = new ArrayList<>(waresParam.getSkuList().size());
// 遍历产品信息
for (FansConfirmOrderSkuParam skuParam : waresParam.getSkuList()) {
BdWaresSpecsSkuExt specsSku = skuMap.get(skuParam.getPkWaresSku());
orderAmount = orderAmount.add(specsSku.getPrice().multiply(new BigDecimal(skuParam.getQuantity() * waresParam.getQuantity())));
itemsParamList.add(WaresItemsParam.builder()
.pkWaresSpecsSku(skuParam.getPkWaresSku().intValue())
.quantity(skuParam.getQuantity())

View File

@ -61,7 +61,7 @@ public class RetailOrderPostageServiceImpl implements IRetailOrderPostageService
public String calculatePostage(BigDecimal freePostage, Map<Integer, List<SaOrderItems>> postageMap, RetailOrderParam orderParam) {
// 处理邮费
if (ESpecialArea.RETAIL_REGISTER.getValue() == orderParam.getSpecialArea()) {
// 会员专区注册升级免邮费
// 精品专区免邮费
orderParam.setPostage(BigDecimal.ZERO);
} else {
// 其它专区计算邮费

View File

@ -26,6 +26,7 @@ import com.hzs.common.domain.sale.order.*;
import com.hzs.common.domain.sale.product.BdProduct;
import com.hzs.common.domain.sale.wares.BdWaresRange;
import com.hzs.common.domain.system.base.BdStorehouse;
import com.hzs.common.domain.system.config.BdAwards;
import com.hzs.common.domain.system.config.BdGrade;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.member.account.IMemberAccountServiceApi;
@ -39,7 +40,6 @@ 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.order.service.impl.SaOrderServiceImpl;
import com.hzs.sale.product.service.IBdProductService;
import com.hzs.sale.wares.service.IBdWaresDetailService;
import com.hzs.sale.wares.service.IBdWaresExtendService;
@ -49,7 +49,6 @@ import com.hzs.system.base.dto.CurrencyDTO;
import com.hzs.system.config.IAwardsServiceApi;
import com.hzs.system.config.IGradeServiceApi;
import com.hzs.system.config.dto.GradeDTO;
import com.hzs.third.sms.ISmsServiceApi;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
@ -106,8 +105,6 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
IMemberServiceApi iMemberServiceApi;
@DubboReference
IMemberAccountServiceApi iMemberAccountServiceApi;
@DubboReference
ISmsServiceApi iSmsServiceApi;
@Override
public String confirmRegOrder(RetailOrderRegisterParam registerParam, List<BdGrade> gradeList) {
@ -115,9 +112,9 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
CuMember newMember = new CuMember();
newMember.setMemberName(registerParam.getMemberName());
newMember.setPhone(registerParam.getPhone());
newMember.setPkSettleGrade(gradeList.get(0).getPkId());
newMember.setPkSettleCountry(1);
newMember.setPkAwards(1);
newMember.setPkSettleCountry(CountryConstants.CHINA_COUNTRY);
// newMember.setPkSettleGrade(gradeList.get(0).getPkId());
// newMember.setPkAwards(gradeList.get(0).getPkAwards());
// 封装订单信息
SaOrderExt saOrderExt = this.createSaOrder(registerParam, gradeList, newMember);
@ -213,21 +210,39 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
if (null != cuMember) {
cuMember.setPkSettleGrade(newGrade.getPkId());
cuMember.setPkAwards(newGrade.getPkAwards());
// if (null == cuMember.getPkAwards()) {
// // 新会员没有奖衔则进行赋值
// cuMember.setPkAwards(newGrade.getPkAwards());
// } else {
// // 老会员奖衔如果为无也进行赋值
// BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
// if (EAwards.MEMBER.getValue() == bdAwards.getAwardsValue()
// && EAwards.MEMBER.getValue() != newGrade.getPkAwards()) {
// cuMember.setPkAwards(newGrade.getPkAwards());
// }
// }
if (null == cuMember.getPkAwards()) {
// 新会员没有奖衔则进行赋值
cuMember.setPkAwards(newGrade.getPkAwards());
} else {
// 老会员奖衔如果为无也进行赋值
BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
if (EAwards.MEMBER.getValue() == bdAwards.getAwardsValue()
&& EAwards.MEMBER.getValue() != newGrade.getPkAwards()) {
cuMember.setPkAwards(newGrade.getPkAwards());
}
}
}
} else if (ESpecialArea.RETAIL_REPURCHASE.getValue() == orderParam.getSpecialArea()) {
// saOrderExt.setOrderAmount(saOrderExt.getOrderAmount().add(orderParam.getPostage()));
saOrderExt.setPostage(orderParam.getPostage());
// 会员信息
if (null != cuMember) {
if (null == cuMember.getPkSettleGrade()) {
// 注册升级订单计算会员等级
BdGrade newGrade = this.calculateGrade(orderParam.getSpecialArea(), orderParam.getOrderItemsParams(),
gradeList, cuMember, orderAchieve);
if (null == newGrade) {
throw new ServiceException("会员不满足升级条件");
}
saOrderExt.setPkGrade(newGrade.getPkId());
cuMember.setPkSettleGrade(newGrade.getPkId());
if (null == cuMember.getPkAwards()) {
// 会员没有奖衔则进行赋值
cuMember.setPkAwards(newGrade.getPkAwards());
}
}
}
} else if (ESpecialArea.RETAIL_UPGRADE.getValue() == orderParam.getSpecialArea()) {
saOrderExt.setSpecialArea(ESpecialArea.RETAIL_UPGRADE.getValue());
saOrderExt.setOrderType(ESpecialArea.RETAIL_UPGRADE.getValue());
@ -257,14 +272,10 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
// 邮费模板mapkey邮费模板IDvalue邮费订单明细
Map<Integer, List<SaOrderItems>> postageMap = new HashMap<>(ComputeUtil.mapInitCapacity(waresDetailExtList.size()));
// 当前盒数
BigDecimal boxNum = BigDecimal.ZERO;
// 遍历生成订单明细数据
for (BdWaresDetailExt waresDetailExt : waresDetailExtList) {
// 订单明细
SaOrderItems orderItems = saOrderHandle.getSaOrderItems(cuMember, saOrderExt, currency, orderItemsList, waresDetailExt);
orderItems.setWaresBoxNum(null != waresDetailExt.getBoxNum() ? waresDetailExt.getBoxNum() : BigDecimal.ZERO);
// 不是赠品需要累积包邮邮费
if (EYesNo.NO.getIntValue() == waresDetailExt.getIsGift()) {
@ -285,8 +296,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
if (null != saOrderExt) {
// 订单邮费
saOrderExt.setPostage(orderParam.getPostage());
// 订单指定商品盒数
saOrderExt.setBoxNum(boxNum);
saOrderExt.setBoxNum(BigDecimal.ZERO);
if (isCopy41List) {
saOrderExt.setOrderType(ESpecialArea.RETAIL_UPGRADE.getValue());
}
@ -350,7 +360,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
if (CollectionUtil.isNotEmpty(orderItemsParams)) {
List<BdWaresDetailExt> waresDetailExtList = iBdWaresDetailService.queryWaresDetailByCondition(specialArea, ETransportType.LAND.getValue(), orderItemsParams, systemType);
// 复购处理极差
setWaresRange(specialArea, waresDetailExtList, cuMember);
// 2025.10.29 去掉级差处理目前没有级差价格
// setWaresRange(specialArea, waresDetailExtList, cuMember);
if (waresDetailExtList.size() > 0) {
bdWaresDetailExtList.addAll(waresDetailExtList);
}
@ -565,13 +576,6 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
throw new RuntimeException("会员注册失败");
}
try {
// 发送会员注册成功短信
iSmsServiceApi.sendMemberRegister(newMember.getPhone(), EAliSmsTemplate.MEMBER_REGISTER,
newMember.getMemberCode(), newMember.getLoginPassword(), newMember.getPayPassword());
} catch (Exception e) {
log.error("发送注册短信失败");
}
this.pushOrderMq(saOrderExt);
return null;
}
@ -839,17 +843,15 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
* @return
*/
private Boolean handleMemberActivate(CuMember cuMember, SaOrderExt saOrder) {
if ((null == cuMember.getIsActivate() || EYesNo.YES.getIntValue() != cuMember.getIsActivate())
&& (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType() || EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType())
) {
// 会员激活状态为空 未激活并且是 注册升级 订单判断会员是否激活
// 存在指定盒数商品
if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType()
|| EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType()) {
cuMember.setIsActivate(EYesNo.YES.getIntValue());
if (EPayStatus.UNPAID.getValue() == cuMember.getPayStatus()) {
cuMember.setPayTime(saOrder.getPayTime());
cuMember.setPayStatus(EPayStatus.PAID.getValue());
return true;
}
return true;
}
return false;
}

View File

@ -9,28 +9,22 @@ import com.hzs.common.core.exception.ServiceException;
import com.hzs.common.core.service.RedisService;
import com.hzs.common.core.utils.CommonUtil;
import com.hzs.common.core.utils.ComputeUtil;
import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.utils.reflect.ReflectUtils;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
import com.hzs.common.domain.member.ext.CuMemberTeamExt;
import com.hzs.common.domain.sale.ext.BdPostageFailAreaExt;
import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.domain.sale.order.SaOrderItems;
import com.hzs.common.domain.sale.postage.BdPostage;
import com.hzs.common.domain.sale.postage.BdPostageArea;
import com.hzs.common.domain.sale.postage.BdPostageDetail;
import com.hzs.common.domain.sale.product.BdProduct;
import com.hzs.common.domain.sale.wares.BdWaresRange;
import com.hzs.common.domain.system.base.BdStorehouse;
import com.hzs.common.domain.system.config.BdAreaFreePostage;
import com.hzs.common.domain.system.config.BdAwards;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.util.TransactionUtils;
import com.hzs.member.base.IMemberTeamServiceApi;
import com.hzs.sale.order.param.OrderParam;
import com.hzs.sale.order.vo.SaOrderVO;
import com.hzs.sale.postage.service.IBdPostageAreaService;
@ -46,9 +40,7 @@ import com.hzs.system.base.ISystemConfigServiceApi;
import com.hzs.system.base.dto.CurrencyDTO;
import com.hzs.system.config.IAreaFreePostageServiceApi;
import com.hzs.system.config.IAwardsServiceApi;
import com.hzs.system.config.IGradeServiceApi;
import com.hzs.system.config.dto.AreaCurrencyDTO;
import com.hzs.system.config.dto.GradeDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
@ -581,6 +573,7 @@ public class SaOrderHandle {
.pkSupplier(waresDetailExt.getPkSupplier())
.skuCode(CommonUtil.createSkuCode(waresDetailExt.getProductCode(), waresDetailExt.getSpecsNameId()))
.wareCode(waresDetailExt.getWaresCode())
.waresBoxNum(BigDecimal.ZERO)
.build();
if (saOrderItems.getIsGift() != null && EYesNo.YES.getIntValue() == saOrderItems.getIsGift()) {
// 赠品不计算金额业绩等

View File

@ -87,23 +87,23 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
@DubboReference
IMemberServiceApi iMemberServiceApi;
@DubboReference
IMemberBankServiceApi memberBankServiceApi;
IMemberBankServiceApi iMemberBankServiceApi;
@DubboReference
IMemberAccountServiceApi memberAccountServiceApi;
IMemberAccountServiceApi iMemberAccountServiceApi;
@DubboReference
IAreaCurrencyServiceApi areaCurrencyServiceApi;
IAreaCurrencyServiceApi iAreaCurrencyServiceApi;
@DubboReference
ICountryServiceApi countryServiceApi;
ICountryServiceApi iCountryServiceApi;
@DubboReference
ICurrencyServiceApi currencyServiceApi;
ICurrencyServiceApi iCurrencyServiceApi;
@DubboReference
IApprovalServiceApi approvalServiceApi;
IApprovalServiceApi iApprovalServiceApi;
@DubboReference
ISystemConfigServiceApi systemConfigServiceApi;
ISystemConfigServiceApi iSystemConfigServiceApi;
@DubboReference
ICuMemberServiceLogServiceApi cuMemberServiceLogServiceApi;
ICuMemberServiceLogServiceApi iCuMemberServiceLogServiceApi;
@DubboReference
IMemberTradeServiceApi memberTradeServiceApi;
IMemberTradeServiceApi iMemberTradeServiceApi;
@DubboReference
IGradeServiceApi iGradeServiceApi;
@ -207,7 +207,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
@ -232,13 +232,13 @@ 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();
// 验证是否是跨国保单登录结算国=结算国跨国报单修改支付金额
if (!Objects.equals(cuMemberAccount.getPkCountry(), saOrder.getPkCountry())) {
// 结算国当地币 转美金 美金登录当地币
CurrencyDTO loginCountryCurrency = currencyServiceApi.getCurrency(cuMemberAccount.getPkCountry()).getData();
CurrencyDTO settleCountryCurrency = currencyServiceApi.getCurrency(saOrder.getPkCountry()).getData();
CurrencyDTO loginCountryCurrency = iCurrencyServiceApi.getCurrency(cuMemberAccount.getPkCountry()).getData();
CurrencyDTO settleCountryCurrency = iCurrencyServiceApi.getCurrency(saOrder.getPkCountry()).getData();
if (settleCountryCurrency.getInExchangeRate().compareTo(loginCountryCurrency.getInExchangeRate()) != 0) {
// 订单结算国与登录结算国汇率不相同才进行处理
payMoney = ComputeUtil.computeMultiply(ComputeUtil.computeDivide(payMoney, settleCountryCurrency.getInExchangeRate()), loginCountryCurrency.getInExchangeRate());
@ -252,7 +252,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;
}
@ -287,7 +287,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
if (EOrderType.REGISTER_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));
@ -474,7 +474,7 @@ 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);
@ -495,12 +495,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));
@ -513,7 +513,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));
}
@ -533,7 +533,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());
@ -605,7 +605,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;
}
@ -823,7 +823,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
@ -995,7 +995,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);
@ -1004,14 +1004,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());
@ -1026,7 +1026,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);
}
@ -1035,9 +1035,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) {
@ -1088,7 +1088,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
public CuMemberMyMarketVO selectMyMarket(Long pkMember, Integer pkCountry) {
//查询全国市场
CuMemberMyMarketVO cuMemberMyMarketVO = baseMapper.selectMyMarket(null, pkCountry);
CountryDTO country = countryServiceApi.getCountry(pkCountry).getData();
CountryDTO country = iCountryServiceApi.getCountry(pkCountry).getData();
//查询市场分布
List<CuMemberMyMarketDetailVO> cuMemberMyMarketDetailVOList = baseMapper.selectMyMarketDetail(pkMember, pkCountry);
cuMemberMyMarketVO.setMyMarketDetailVOList(cuMemberMyMarketDetailVOList);
@ -1221,10 +1221,10 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
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 {
@ -1234,7 +1234,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;
@ -1281,7 +1281,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
if (EOrderType.RETAIL_REGISTER.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));
@ -1408,6 +1408,23 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
}
}
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()
|| EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) {
// 判断处理支付状态和时间
Date firstPayTime = baseMapper.getFirstPayTime(saOrderExt.getPkMember());
if (null == firstPayTime) {
cuMember.setPayTime(null);
cuMember.setPayStatus(EPayStatus.UNPAID.getValue());
saOrderExt.setUpdateFlag(EYesNo.YES.getIntValue());
} else {
if (firstPayTime.compareTo(cuMember.getPayTime()) < 0) {
cuMember.setPayTime(firstPayTime);
saOrderExt.setUpdateFlag(EYesNo.YES.getIntValue());
}
}
}
if (!iMemberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, cuMember, businessCommissionDTO).getData()) {
throw new ServiceException("撤单处理会员失败");
}

View File

@ -422,23 +422,24 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
waresItemWaresInfo.setSkuInfo(StringUtils.join(specsNames, ","));
});
if (EOrderType.RETAIL_REPURCHASE.getValue() == specialArea
|| EOrderType.RETAIL_CONSUME.getValue() == specialArea) {
// 2024.12.30 添加需求复消也需要处理级差
CuMember cuMember = iSaOrderService.getCuMemberByKey(pkMember);
int level = cuMember.getPkSettleGrade();
int rangeType = ERangeType.GRADE.getValue();
List<Integer> pkWaresSpecsSku = productGroup.stream().map(ProductGroup::getPkSkuId).collect(Collectors.toList());
List<BdWaresRange> bdWaresRangeList = iBdWaresRangeService.querySkuWaresRangeByCondition(cuMember.getPkSettleCountry(), rangeType, level, pkWaresSpecsSku);
bdWaresRangeList.forEach(bdWaresRange -> {
String key = bdWaresRange.getPkWaresDetail().toString() + bdWaresRange.getPkWaresSpecsSku();
if (waresDetailExtMap.containsKey(key)) {
waresDetailExtMap.get(key).setPrice(bdWaresRange.getPrice());
waresDetailExtMap.get(key).setAchieve(bdWaresRange.getAchieve());
waresDetailExtMap.get(key).setAssAchieve(bdWaresRange.getAssAchieve());
}
});
}
// 2025.10.29 去掉级差处理目前没有级差价格
// if (EOrderType.RETAIL_REPURCHASE.getValue() == specialArea
// || EOrderType.RETAIL_CONSUME.getValue() == specialArea) {
// // 2024.12.30 添加需求复消也需要处理级差
// CuMember cuMember = iSaOrderService.getCuMemberByKey(pkMember);
// int level = cuMember.getPkSettleGrade();
// int rangeType = ERangeType.GRADE.getValue();
// List<Integer> pkWaresSpecsSku = productGroup.stream().map(ProductGroup::getPkSkuId).collect(Collectors.toList());
// List<BdWaresRange> bdWaresRangeList = iBdWaresRangeService.querySkuWaresRangeByCondition(cuMember.getPkSettleCountry(), rangeType, level, pkWaresSpecsSku);
// bdWaresRangeList.forEach(bdWaresRange -> {
// String key = bdWaresRange.getPkWaresDetail().toString() + bdWaresRange.getPkWaresSpecsSku();
// if (waresDetailExtMap.containsKey(key)) {
// waresDetailExtMap.get(key).setPrice(bdWaresRange.getPrice());
// waresDetailExtMap.get(key).setAchieve(bdWaresRange.getAchieve());
// waresDetailExtMap.get(key).setAssAchieve(bdWaresRange.getAssAchieve());
// }
// });
// }
for (WaresItemWaresInfo waresItemWaresInfo : waresItemVo.getWaresItemsParamList()) {
waresItemVo.setPrice(ComputeUtil.computeAdd(waresItemVo.getPrice(), ComputeUtil.computeMultiply(waresItemWaresInfo.getPrice(), waresItemWaresInfo.getQuantity())));

View File

@ -1308,8 +1308,7 @@
where so.del_flag = 0
and so.order_status = 1
and so.pk_member = #{pkMember}
and so.order_type in (41, 42)
and so.box_num != 0
and so.order_type in (41, 42, 43)
</select>
<select id="queryRefundList" resultType="com.hzs.common.domain.third.pay.ext.TOnlineRefundExt">

View File

@ -365,7 +365,8 @@
bwss.pk_wares_detail,
bwss.price,
bwss.achieve,
bwss.ass_achieve
bwss.ass_achieve,
bwd.is_gift
from bd_wares_specs_sku bwss
left join BD_WARES_DETAIL bwd
on bwd.del_flag = 0

View File

@ -460,12 +460,6 @@ public class EnumsInitController {
for (EPayBusinessType value : EPayBusinessType.values()) {
initList.add(this.createData(value.getKey(), value.getLabel()));
}
/**
* 支付状态
*/
for (EPayStatus value : EPayStatus.values()) {
initList.add(this.createData(value.getKey(), value.getLabel()));
}
/**
* 支付渠道
*/

View File

@ -5,42 +5,52 @@
<!-- 查询会员汇总数据 -->
<select id="getMemberBoard" resultType="com.hzs.system.board.vo.BoardMemberVO">
select *
from (select count(1) member_total
from cu_member cm
where cm.del_flag = 0
and cm.pay_status = 1
and cm.category = 0
and cm.customer_type != 1) a
left join (
select count(1) member_today
from cu_member cm
where cm.del_flag = 0
and cm.pay_status = 1
and cm.category = 0
and to_char(cm.pay_time, 'yyyy-mm-dd') =
to_char(sysdate, 'yyyy-mm-dd')
and cm.customer_type != 1
) b on 1 = 1
left join (select count(1) member_yesterday
from cu_member cm
where cm.del_flag = 0
and cm.pay_status = 1
and cm.category = 0
and to_char(cm.pay_time, 'yyyy-mm-dd') =
to_char(sysdate - 1, 'yyyy-mm-dd')
and cm.customer_type != 1
) c
on 1 = 1
left join (select count(1) member_month
from cu_member cm
where cm.del_flag = 0
and cm.pay_status = 1
and cm.category = 0
and to_char(cm.pay_time, 'yyyy-mm') =
to_char(sysdate, 'yyyy-mm')
and cm.customer_type != 1
) d on 1 = 1
SELECT
*
FROM
(
SELECT
count(1) member_total
FROM
cu_member cm
WHERE
cm.del_flag = 0
AND cm.category = 0
AND cm.PAY_TIME IS NOT NULL
) a
LEFT JOIN (
SELECT
count(1) member_today
FROM
cu_member cm
WHERE
cm.del_flag = 0
AND cm.category = 0
AND cm.PAY_TIME IS NOT NULL
AND to_char(cm.pay_time, 'yyyy-mm-dd') = to_char(SYSDATE, 'yyyy-mm-dd')
) b ON 1 = 1
LEFT JOIN (
SELECT
count(1) member_yesterday
FROM
cu_member cm
WHERE
cm.del_flag = 0
AND cm.category = 0
AND cm.PAY_TIME IS NOT NULL
AND to_char(cm.pay_time, 'yyyy-mm-dd') = to_char(SYSDATE - 1, 'yyyy-mm-dd')
) c ON 1 = 1
LEFT JOIN (
SELECT
count(1) member_month
FROM
cu_member cm
WHERE
cm.del_flag = 0
AND cm.category = 0
AND cm.PAY_TIME IS NOT NULL
AND to_char(cm.pay_time, 'yyyy-mm') = to_char(SYSDATE, 'yyyy-mm')
) d ON 1 = 1
</select>
<!-- 会员各等级数据 -->
@ -49,53 +59,48 @@
bg.grade_value,
nvl(a.member_total, 0) member_total,
0 sort
from (select cm.PK_REGISTER_GRADE, count(1) member_total
from (select cm.PK_SETTLE_GRADE, count(1) member_total
from cu_member cm
where cm.del_flag = 0
and cm.pay_status = 1
and cm.category = 0
and to_char(cm.pay_time, 'yyyy-mm-dd') =
to_char(sysdate, 'yyyy-mm-dd')
and cm.customer_type != 1
group by cm.PK_REGISTER_GRADE
order by cm.PK_REGISTER_GRADE) a
WHERE cm.del_flag = 0
AND cm.category = 0
AND cm.PAY_TIME IS NOT NULL
AND to_char(cm.PAY_TIME, 'yyyy-mm-dd') = to_char(SYSDATE, 'yyyy-mm-dd')
group by cm.PK_SETTLE_GRADE
order by cm.PK_SETTLE_GRADE) a
right join bd_grade bg
on bg.pk_id = a.PK_REGISTER_GRADE
on bg.pk_id = a.PK_SETTLE_GRADE
where bg.del_flag = 0
union all
select bg.grade_name,
bg.grade_value,
nvl(a.member_total, 0) member_total,
1 sort
from (select cm.PK_REGISTER_GRADE, count(1) member_total
from (select cm.PK_SETTLE_GRADE, count(1) member_total
from cu_member cm
where cm.del_flag = 0
and cm.pay_status = 1
and cm.category = 0
and to_char(cm.pay_time, 'yyyy-mm-dd') =
to_char(sysdate - 1, 'yyyy-mm-dd')
and cm.customer_type != 1
group by cm.PK_REGISTER_GRADE
order by cm.PK_REGISTER_GRADE) a
WHERE cm.del_flag = 0
AND cm.category = 0
AND cm.PAY_TIME IS NOT NULL
AND to_char(cm.PAY_TIME, 'yyyy-mm-dd') = to_char(SYSDATE - 1, 'yyyy-mm-dd')
group by cm.PK_SETTLE_GRADE
order by cm.PK_SETTLE_GRADE) a
right join bd_grade bg
on bg.pk_id = a.PK_REGISTER_GRADE
on bg.pk_id = a.PK_SETTLE_GRADE
where bg.del_flag = 0
union all
select bg.grade_name,
bg.grade_value,
nvl(a.member_total, 0) member_total,
2 sort
from (select cm.PK_REGISTER_GRADE, count(1) member_total
from (select cm.PK_SETTLE_GRADE, count(1) member_total
from cu_member cm
where cm.del_flag = 0
and cm.pay_status = 1
and cm.category = 0
and to_char(cm.pay_time, 'yyyy-mm') = to_char(sysdate, 'yyyy-mm')
and cm.customer_type != 1
group by cm.PK_REGISTER_GRADE
order by cm.PK_REGISTER_GRADE) a
WHERE cm.del_flag = 0
AND cm.category = 0
AND cm.PAY_TIME IS NOT NULL
AND to_char(cm.PAY_TIME, 'yyyy-mm') = to_char(SYSDATE, 'yyyy-mm')
group by cm.PK_SETTLE_GRADE
order by cm.PK_SETTLE_GRADE) a
right join bd_grade bg
on bg.pk_id = a.PK_REGISTER_GRADE
on bg.pk_id = a.PK_SETTLE_GRADE
where bg.del_flag = 0
order by sort, grade_value
</select>
@ -103,48 +108,40 @@
<!-- 查询日业绩汇总数据 -->
<select id="getDayAchieve" resultType="com.hzs.system.board.vo.BoardAchieveVO">
select a.*, b.*, 0 sort
from (
select nvl(sum(so.order_achieve), 0) first_achieve,
nvl(sum(so.order_amount), 0) first_amount
from sa_order so
where so.del_flag = 0
and so.order_status = 1
and so.order_type in (41, 42)
and to_char(so.pay_time, 'yyyy-mm-dd') =
to_char(sysdate, 'yyyy-mm-dd')
) a
left join (
select nvl(sum(so.order_achieve), 0) rep_achieve,
nvl(sum(so.order_amount), 0) rep_amount
from sa_order so
where so.del_flag = 0
and so.order_status = 1
and so.order_type in (43, 44, 47)
and to_char(so.pay_time, 'yyyy-mm-dd') =
to_char(sysdate, 'yyyy-mm-dd')
) b on 1 = 1
from (select nvl(sum(so.order_achieve), 0) first_achieve,
nvl(sum(so.order_amount), 0) first_amount
from sa_order so
where so.del_flag = 0
and so.order_status = 1
and so.order_type in (41, 42)
and to_char(so.pay_time, 'yyyy-mm-dd') =
to_char(sysdate, 'yyyy-mm-dd')) a
left join (select nvl(sum(so.order_achieve), 0) rep_achieve,
nvl(sum(so.order_amount), 0) rep_amount
from sa_order so
where so.del_flag = 0
and so.order_status = 1
and so.order_type in (43, 44, 47)
and to_char(so.pay_time, 'yyyy-mm-dd') =
to_char(sysdate, 'yyyy-mm-dd')) b on 1 = 1
union all
select a.*, b.*, 1 sort
from (
select nvl(sum(so.order_achieve), 0) first_achieve,
nvl(sum(so.order_amount), 0) first_amount
from sa_order so
where so.del_flag = 0
and so.order_status = 1
and so.order_type in (41, 42)
and to_char(so.pay_time, 'yyyy-mm-dd') =
to_char(sysdate - 1, 'yyyy-mm-dd')
) a
left join (
select nvl(sum(so.order_achieve), 0) rep_achieve,
nvl(sum(so.order_amount), 0) rep_amount
from sa_order so
where so.del_flag = 0
and so.order_status = 1
and so.order_type in (43, 44, 47)
and to_char(so.pay_time, 'yyyy-mm-dd') =
to_char(sysdate - 1, 'yyyy-mm-dd')
) b on 1 = 1
from (select nvl(sum(so.order_achieve), 0) first_achieve,
nvl(sum(so.order_amount), 0) first_amount
from sa_order so
where so.del_flag = 0
and so.order_status = 1
and so.order_type in (41, 42)
and to_char(so.pay_time, 'yyyy-mm-dd') =
to_char(sysdate - 1, 'yyyy-mm-dd')) a
left join (select nvl(sum(so.order_achieve), 0) rep_achieve,
nvl(sum(so.order_amount), 0) rep_amount
from sa_order so
where so.del_flag = 0
and so.order_status = 1
and so.order_type in (43, 44, 47)
and to_char(so.pay_time, 'yyyy-mm-dd') =
to_char(sysdate - 1, 'yyyy-mm-dd')) b on 1 = 1
order by sort
</select>
@ -157,18 +154,15 @@
where so.del_flag = 0
and so.order_status = 1
and so.order_type in (41, 42)
and to_char(so.pay_time, 'yyyy-mm') = to_char(sysdate, 'yyyy-mm')
) a
left join (
select nvl(sum(so.order_achieve), 0) rep_achieve,
nvl(sum(so.order_amount - nvl(so.CONSUME_AMOUNT, 0)), 0) rep_amount
from sa_order so
where so.del_flag = 0
and so.order_status = 1
and so.order_type in (43, 44, 47)
and to_char(so.pay_time, 'yyyy-mm') =
to_char(sysdate, 'yyyy-mm')
) b on 1 = 1
and to_char(so.pay_time, 'yyyy-mm') = to_char(sysdate, 'yyyy-mm')) a
left join (select nvl(sum(so.order_achieve), 0) rep_achieve,
nvl(sum(so.order_amount - nvl(so.CONSUME_AMOUNT, 0)), 0) rep_amount
from sa_order so
where so.del_flag = 0
and so.order_status = 1
and so.order_type in (43, 44, 47)
and to_char(so.pay_time, 'yyyy-mm') =
to_char(sysdate, 'yyyy-mm')) b on 1 = 1
</select>
<!-- 各币种充值数据 -->

View File

@ -1,27 +1,23 @@
package com.hzs.common.core.enums;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 支付状态
*
* @author: hzs
*/
@AllArgsConstructor
@Getter
public enum EPayStatus {
/**
* 未支付
*/
UNPAID(0, "未支付", EnumsPrefixConstants.PAY_STATUS + "0"),
UNPAID(0, "未支付"),
/**
* 已支付
*/
PAID(1, "已支付", EnumsPrefixConstants.PAY_STATUS + "1"),
PAID(1, "已支付"),
;
@ -33,9 +29,5 @@ public enum EPayStatus {
* 显示标签
*/
private final String label;
/**
* 国际化翻译key值
*/
private final String key;
}

View File

@ -19,10 +19,10 @@ public enum ETradeType {
MALL_ORDER(114, 0, "商城订单", 0, EnumsPrefixConstants.TRADE_TYPE + 114, EOrderType.MALL_ORDER.getValue()),
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_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()),
RETAIL_DISCOUNT_ORDER(147, 0, "五折订单", 0, EnumsPrefixConstants.TRADE_TYPE + 147, EOrderType.DISCOUNT_ORDER.getValue()),
@ -69,14 +69,12 @@ public enum ETradeType {
REVOKE_MALL_ORDER(615, 0, "商城订单撤单返钱", 0, EnumsPrefixConstants.TRADE_TYPE + 615, -EOrderType.MALL_ORDER.getValue()),
REVOKE_FICTITIOUS_ORDER(618, 0, "虚拟订单撤单返钱", 0, EnumsPrefixConstants.TRADE_TYPE + 618, -EOrderType.FICTITIOUS_ORDER.getValue()),
REVOKE_RETAIL_REGISTER_ORDER(641, 0, "注册订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 641, -EOrderType.RETAIL_REGISTER.getValue()),
REVOKE_RETAIL_REPURCHASE_ORDER(643, 0, "复购订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 643, -EOrderType.RETAIL_REPURCHASE.getValue()),
REVOKE_RETAIL_CONSUME_ORDER(644, 0, "赠品订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 644, -EOrderType.RETAIL_CONSUME.getValue()),
REVOKE_RETAIL_REGISTER_ORDER(641, 0, "精品专区订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 641, -EOrderType.RETAIL_REGISTER.getValue()),
REVOKE_RETAIL_UPGRADE(642, 0, "复购专区订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 642, -EOrderType.RETAIL_UPGRADE.getValue()),
REVOKE_RETAIL_REPURCHASE_ORDER(643, 0, "北大甄选订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 643, -EOrderType.RETAIL_REPURCHASE.getValue()),
REVOKE_RETAIL_CONSUME_ORDER(644, 0, "赠品专区订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 644, -EOrderType.RETAIL_CONSUME.getValue()),
REVOKE_RETAIL_TICKET_ORDER(645, 0, "自主购票撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 645, -EOrderType.RETAIL_TICKET.getValue()),
REVOKE_RETAIL_UPGRADE(642, 0, "甄选订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 642, -EOrderType.RETAIL_UPGRADE.getValue()),
REVOKE_DISCOUNT_ORDER(647, 0, "五折订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 647, -EOrderType.DISCOUNT_ORDER.getValue()),
REVOKE_DISCOUNT_ORDER(647, 0, "五折专区订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 647, -EOrderType.DISCOUNT_ORDER.getValue()),
ORDER_SELF_DELIVER(680, 0, "自提返还邮费", 0, EnumsPrefixConstants.TRADE_TYPE + 680, -99),
ORDER_REFUND_ADJUST(690, 0, "退单金额补差", 0, EnumsPrefixConstants.TRADE_TYPE + 690, -99),
@ -177,7 +175,10 @@ public enum ETradeType {
* @param value
* @return String
*/
public static String getTradeLabel(int value) {
public static String getTradeLabel(Integer value) {
if (null == value) {
return "";
}
for (ETradeType type : ETradeType.values()) {
if (type.getValue() == value) {
return type.getLabel();

View File

@ -8,11 +8,7 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* @Description: sku扩展表
* @Author: sui q
* @Time: 2022/9/19 11:06
* @Classname: BdWaresSpecsSkuExt
* @PackageName: com.hzs.common.domain.sale.ext
* sku扩展表
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ -31,7 +27,6 @@ public class BdWaresSpecsSkuExt extends BdWaresSpecsSku {
private BigDecimal waresAchieve;
/**
* 商品编号
*/

View File

@ -1,5 +1,6 @@
package com.hzs.third.pay.controller.notify;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.hzs.common.core.enums.EPayChannel;
import com.hzs.common.core.enums.EPayType;
@ -153,6 +154,9 @@ public class JdPayNotifyController extends JdBaseController {
return ERROR;
}
private Integer convertPayType(String payName){
if(StrUtil.isEmpty(payName)){
payName = "";
}
Integer result = EPayType.WECHAT.getValue();
switch (payName){
case "XJK":

View File

@ -3,3 +3,4 @@ mybatis 配置的 configuration 属性下添加:
default-fetch-size: 100
说明: 修改mybatis默认提取数据大小默认为10修改后每次查询数据提取一次100条大批量查询数数据时减少与oracle数据库交互提高加载数据速度但是数据库每次查询使用内存増大需要谨慎使用防止OOM
1