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 bdf8983e..72fb5d8d 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 @@ -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; @@ -117,7 +118,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { newMember.setPhone(registerParam.getPhone()); newMember.setPkSettleGrade(gradeList.get(0).getPkId()); newMember.setPkSettleCountry(1); - newMember.setPkAwards(1); +// newMember.setPkAwards(gradeList.get(0).getPkAwards()); // 封装订单信息 SaOrderExt saOrderExt = this.createSaOrder(registerParam, gradeList, newMember); @@ -213,21 +214,44 @@ 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()); + // 注册、升级订单,计算会员等级 + BdGrade newGrade = this.calculateGrade(orderParam.getSpecialArea(), orderParam.getOrderItemsParams(), + gradeList, cuMember, orderAchieve); + if (null == newGrade) { + throw new ServiceException("会员不满足升级条件"); + } + saOrderExt.setPkGrade(newGrade.getPkId()); + // 会员信息 + 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()); + } + } + } } else if (ESpecialArea.RETAIL_UPGRADE.getValue() == orderParam.getSpecialArea()) { saOrderExt.setSpecialArea(ESpecialArea.RETAIL_UPGRADE.getValue()); saOrderExt.setOrderType(ESpecialArea.RETAIL_UPGRADE.getValue());