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()); diff --git a/文档/mybatis说明.txt b/文档/mybatis说明.txt index 8f76d9dc..88b73bc9 100644 --- a/文档/mybatis说明.txt +++ b/文档/mybatis说明.txt @@ -3,3 +3,4 @@ mybatis 配置的 configuration 属性下添加: default-fetch-size: 100 说明: 修改mybatis默认提取数据大小(默认为10),修改后每次查询数据提取一次100条,大批量查询数数据时,减少与oracle数据库交互提高加载数据速度,但是数据库每次查询使用内存増大,需要谨慎使用,防止OOM +1