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 9a73d85c..86f779d8 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 @@ -957,18 +957,35 @@ public class RetailOrderServiceImpl implements IRetailOrderService { * @return */ private Boolean handleMemberActivate(CuMember cuMember, SaOrderExt saOrder) { - if (null == cuMember.getIsActivate()) { -// // 会员激活状态为空,按未激活处理 -// cuMember.setIsActivate(EYesNo.NO.getIntValue()); - - // TODO new 暂时不处理激活,只要是会员就按激活处理,有订单就有支付状态和时间 - cuMember.setIsActivate(EYesNo.YES.getIntValue()); - if (null != saOrder) { - cuMember.setPayTime(saOrder.getPayTime()); - cuMember.setPayStatus(EPayStatus.PAID.getValue()); + if (EYesNo.YES.getIntValue() != cuMember.getIsActivate() + && (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType() + || EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType()) + ) { + // 会员未激活,并且是 注册、升级 订单,判断会员是否激活 + if (saOrder.getBoxNum() > 0) { + // 存在指定盒数商品 + cuMember.setIsActivate(EYesNo.YES.getIntValue()); + if (EPayStatus.UNPAID.getValue() == cuMember.getPayStatus()) { + cuMember.setPayTime(saOrder.getPayTime()); + cuMember.setPayStatus(EPayStatus.PAID.getValue()); + } + return true; } } - return true; + return false; + +// if (null == cuMember.getIsActivate()) { +//// // 会员激活状态为空,按未激活处理 +//// cuMember.setIsActivate(EYesNo.NO.getIntValue()); +// +// // TODO new 暂时不处理激活,只要是会员就按激活处理,有订单就有支付状态和时间 +// cuMember.setIsActivate(EYesNo.YES.getIntValue()); +// if (null != saOrder) { +// cuMember.setPayTime(saOrder.getPayTime()); +// cuMember.setPayStatus(EPayStatus.PAID.getValue()); +// } +// } +// return true; // if (EYesNo.YES.getIntValue() != cuMember.getIsActivate() // && (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()