## 支付回调处理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();
// 商品编号 + sku主键 + 数量
List<BdWaresDetailExt> bdWaresDetailExtList = getWaresDetailExtList(orderParam, cuMember);
List<BdWaresDetailExt> bdWaresDetailExtList = getWaresDetailExtList(orderParam, cuMember, saOrder.getOrderTypeExtend());
if (CollectionUtil.isEmpty(bdWaresDetailExtList)) {
throw new RuntimeException("没有找到商品,请刷新重试!");
}
@ -399,7 +399,7 @@ public class SaOrderHandle {
*/
SaOrder computeSaOrderAchieve(OrderParam orderParam) {
// 商品编号 + sku主键 + 数量
List<BdWaresDetailExt> bdWaresDetailExtList = getWaresDetailExtList(orderParam, null);
List<BdWaresDetailExt> bdWaresDetailExtList = getWaresDetailExtList(orderParam, null, null);
SaOrder saOrder = SaOrder.builder().orderAmount(BigDecimal.ZERO)
.orderAchieve(BigDecimal.ZERO).build();
bdWaresDetailExtList.forEach(waresDetailExt -> {
@ -419,13 +419,13 @@ public class SaOrderHandle {
* @param orderParam 会员端参数
* @param cuMember 会员
*/
private List<BdWaresDetailExt> getWaresDetailExtList(OrderParam orderParam, CuMember cuMember) {
private List<BdWaresDetailExt> getWaresDetailExtList(OrderParam orderParam, CuMember cuMember, Integer orderTypeExtend) {
// 商品编号 + sku列表找到所有的商品信息
// 查找所有商品
List<BdWaresDetailExt> bdWaresDetailExtList = new ArrayList<>();
if (CollectionUtil.isNotEmpty(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) {
bdWaresDetailExtList.addAll(waresDetailExtList);
}
@ -440,15 +440,20 @@ public class SaOrderHandle {
}
/**
* 设置商品的
* 设置商品的
*
* @param specialArea 所属专区
* @param cuMember 会员
* @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<>();
List<Integer> specsSkuList = new ArrayList<>();
bdWaresDetailExtList.forEach(bdWaresDetailExt -> {