diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java index 7e8eb657..e0f6511c 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java @@ -251,7 +251,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { } // 商品+产品明细 - List waresDetailExtList = getWaresDetailExtList(ESpecialArea.getRetailSpecialAreaValue(orderParam.getSpecialArea()), orderParam.getOrderItemsParams(), cuMember, orderParam.getSystemType()); + List waresDetailExtList = getWaresDetailExtList(ESpecialArea.getNewSpecialAreaValue(orderParam.getSpecialArea()), orderParam.getOrderItemsParams(), cuMember, orderParam.getSystemType()); // 包邮邮费 BigDecimal freePostage = BigDecimal.ZERO; // 邮费模板map(key:邮费模板ID,value:邮费订单明细) @@ -301,13 +301,11 @@ public class RetailOrderServiceImpl implements IRetailOrderService { if (CollectionUtil.isEmpty(gradeList)) { gradeList = iGradeServiceApi.getRetailGradeList().getData(); } - if(ObjectUtil.isEmpty(updateGradeMember.getPkSettleGrade())){ - updateGradeMember.setPkSettleGrade(iSaOrderService.calculateGrade().getPkId()); - } BdGrade bdGrade = gradeList.stream().filter(tmpGrade -> updateGradeMember.getPkSettleGrade().equals(tmpGrade.getPkId())).findFirst().get(); if (bdGrade.getGradeValue() == EGrade.YOU_KE.getValue()) { // 最高级,直接返回 + updateGradeMember.setPkSettleGrade(bdGrade.getPkId()); return bdGrade; } @@ -315,7 +313,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { if (null == orderAchieve) { orderAchieve = BigDecimal.ZERO; // 商品+产品明细 - List waresDetailExtList = getWaresDetailExtList(ESpecialArea.getRetailSpecialAreaValue(specialArea), orderItemsParams, updateGradeMember, null); + List waresDetailExtList = getWaresDetailExtList(ESpecialArea.getNewSpecialAreaValue(specialArea), orderItemsParams, updateGradeMember, null); // 遍历生成订单明细数据 for (BdWaresDetailExt waresDetailExt : waresDetailExtList) { // 不是赠品,需要计算业绩 @@ -328,6 +326,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { List tmpGradeList = gradeList.stream().sorted(Comparator.comparingInt(BdGrade::getGradeValue).reversed()).collect(Collectors.toList()); for (BdGrade tmpGrade : tmpGradeList) { if (orderAchieve.compareTo(tmpGrade.getStartValue()) >= 0) { + updateGradeMember.setPkSettleGrade(tmpGrade.getPkId()); return tmpGrade; } } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java index 5a7c9d60..df6e2a80 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java @@ -106,5 +106,13 @@ public enum ESpecialArea { return value; } + public static int getNewSpecialAreaValue(Integer value) { + // 41、42 都返回 41 + if (RETAIL_REGISTER.getValue() == value + || RETAIL_UPGRADE.getValue() == value) { + return RETAIL_REGISTER.getValue(); + } + return value; + } }