## 支付回调处理188;

This commit is contained in:
cabbage 2025-07-22 14:51:45 +08:00
parent 6b1e14e7c8
commit 433fa2c0ac
1 changed files with 12 additions and 7 deletions

View File

@ -212,7 +212,7 @@ public class SaOrderHandle {
// 获取汇率 // 获取汇率
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(pkCountry).getData(); CurrencyDTO currency = iCurrencyServiceApi.getCurrency(pkCountry).getData();
// 商品编号 + sku主键 + 数量 // 商品编号 + sku主键 + 数量
List<BdWaresDetailExt> bdWaresDetailExtList = getWaresDetailExtList(orderParam, cuMember); List<BdWaresDetailExt> bdWaresDetailExtList = getWaresDetailExtList(orderParam, cuMember, saOrder.getOrderTypeExtend());
if (CollectionUtil.isEmpty(bdWaresDetailExtList)) { if (CollectionUtil.isEmpty(bdWaresDetailExtList)) {
throw new RuntimeException("没有找到商品,请刷新重试!"); throw new RuntimeException("没有找到商品,请刷新重试!");
} }
@ -399,7 +399,7 @@ public class SaOrderHandle {
*/ */
SaOrder computeSaOrderAchieve(OrderParam orderParam) { SaOrder computeSaOrderAchieve(OrderParam orderParam) {
// 商品编号 + sku主键 + 数量 // 商品编号 + sku主键 + 数量
List<BdWaresDetailExt> bdWaresDetailExtList = getWaresDetailExtList(orderParam, null); List<BdWaresDetailExt> bdWaresDetailExtList = getWaresDetailExtList(orderParam, null, null);
SaOrder saOrder = SaOrder.builder().orderAmount(BigDecimal.ZERO) SaOrder saOrder = SaOrder.builder().orderAmount(BigDecimal.ZERO)
.orderAchieve(BigDecimal.ZERO).build(); .orderAchieve(BigDecimal.ZERO).build();
bdWaresDetailExtList.forEach(waresDetailExt -> { bdWaresDetailExtList.forEach(waresDetailExt -> {
@ -419,13 +419,13 @@ public class SaOrderHandle {
* @param orderParam 会员端参数 * @param orderParam 会员端参数
* @param cuMember 会员 * @param cuMember 会员
*/ */
private List<BdWaresDetailExt> getWaresDetailExtList(OrderParam orderParam, CuMember cuMember) { private List<BdWaresDetailExt> getWaresDetailExtList(OrderParam orderParam, CuMember cuMember, Integer orderTypeExtend) {
// 商品编号 + sku列表找到所有的商品信息 // 商品编号 + sku列表找到所有的商品信息
// 查找所有商品 // 查找所有商品
List<BdWaresDetailExt> bdWaresDetailExtList = new ArrayList<>(); List<BdWaresDetailExt> bdWaresDetailExtList = new ArrayList<>();
if (CollectionUtil.isNotEmpty(orderParam.getOrderItemsParams())) { if (CollectionUtil.isNotEmpty(orderParam.getOrderItemsParams())) {
List<BdWaresDetailExt> waresDetailExtList = bdWaresDetailService.queryWaresDetailByCondition(orderParam.getSpecialArea(), orderParam.getTransType(), orderParam.getOrderItemsParams()); List<BdWaresDetailExt> waresDetailExtList = bdWaresDetailService.queryWaresDetailByCondition(orderParam.getSpecialArea(), orderParam.getTransType(), orderParam.getOrderItemsParams());
setWaresRange(orderParam.getSpecialArea(), waresDetailExtList, cuMember); setWaresRange(orderParam.getSpecialArea(), waresDetailExtList, cuMember, orderTypeExtend);
if (waresDetailExtList.size() > 0) { if (waresDetailExtList.size() > 0) {
bdWaresDetailExtList.addAll(waresDetailExtList); bdWaresDetailExtList.addAll(waresDetailExtList);
} }
@ -440,15 +440,20 @@ public class SaOrderHandle {
} }
/** /**
* 设置商品的 * 设置商品的
* *
* @param specialArea 所属专区 * @param specialArea 所属专区
* @param cuMember 会员 * @param cuMember 会员
* @param bdWaresDetailExtList 商品明细 * @param bdWaresDetailExtList 商品明细
*/ */
private void setWaresRange(Integer specialArea, List<BdWaresDetailExt> bdWaresDetailExtList, CuMember cuMember) { private void setWaresRange(Integer specialArea, List<BdWaresDetailExt> bdWaresDetailExtList, CuMember cuMember, Integer orderTypeExtend) {
if (null != orderTypeExtend && EOrderTypeExtend.REG_REP.getValue() == orderTypeExtend) {
// 订单扩展类型不为空并且是注册转复购则不需要处理级差
return;
}
// 复购订单商品跟业绩需要单独处理 // 复购订单商品跟业绩需要单独处理
if (EOrderType.REPURCHASE_ORDER.getValue() == specialArea || EOrderType.SPECIAL_REPURCHASE_ORDER.getValue() == specialArea) { if (EOrderType.REPURCHASE_ORDER.getValue() == specialArea
|| EOrderType.SPECIAL_REPURCHASE_ORDER.getValue() == specialArea) {
Map<String, List<BdWaresDetailExt>> waresDetailExtMap = new HashMap<>(); Map<String, List<BdWaresDetailExt>> waresDetailExtMap = new HashMap<>();
List<Integer> specsSkuList = new ArrayList<>(); List<Integer> specsSkuList = new ArrayList<>();
bdWaresDetailExtList.forEach(bdWaresDetailExt -> { bdWaresDetailExtList.forEach(bdWaresDetailExt -> {