## 新逻辑等级处理;
This commit is contained in:
parent
a8b0ee6b6f
commit
f0fe92a1fe
|
|
@ -345,7 +345,7 @@ public interface IMemberServiceApi {
|
|||
* @param activateFlag 激活标记
|
||||
* @return
|
||||
*/
|
||||
R<?> otherRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt, Boolean activateFlag);
|
||||
R<?> otherRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt, Boolean activateFlag, CuMemberLevel cuMemberLevel);
|
||||
|
||||
/**
|
||||
* 校验注册关系(是否跨团队)
|
||||
|
|
@ -366,6 +366,4 @@ public interface IMemberServiceApi {
|
|||
*/
|
||||
R<Integer> getMemberPhoneCount(String phone);
|
||||
|
||||
|
||||
R<Boolean> saveMemberLevel(CuMemberLevel memberLevel);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ import com.hzs.member.base.dto.ShowWaresDTO;
|
|||
import com.hzs.member.base.dto.ZeroElementRevokeDTO;
|
||||
import com.hzs.member.base.service.*;
|
||||
import com.hzs.member.base.IMemberServiceApi;
|
||||
import com.hzs.member.detail.service.ICuMemberLevelService;
|
||||
import com.hzs.member.empty.service.ICuMemberEmptyCodeService;
|
||||
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
@ -43,8 +42,6 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
private ICuMemberBusinessService iCuMemberBusinessService;
|
||||
@Autowired
|
||||
private ICuMemberEmptyCodeService iCuMemberEmptyCodeService;
|
||||
@Autowired
|
||||
private ICuMemberLevelService iCuMemberLevelService;
|
||||
|
||||
@Override
|
||||
public R<LoginMember> getMemberInfo(String memberCode) {
|
||||
|
|
@ -341,9 +338,9 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
}
|
||||
|
||||
@Override
|
||||
public R<?> otherRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt, Boolean activateFlag) {
|
||||
public R<?> otherRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt, Boolean activateFlag, CuMemberLevel cuMemberLevel) {
|
||||
try {
|
||||
iCuMemberBusinessService.otherRetailMember(cuMember, saOrder, cuMemberAccountExt, activateFlag);
|
||||
iCuMemberBusinessService.otherRetailMember(cuMember, saOrder, cuMemberAccountExt, activateFlag, cuMemberLevel);
|
||||
return R.ok();
|
||||
} catch (Exception e) {
|
||||
log.error("保存新零售会员其它订单异常! error:", e);
|
||||
|
|
@ -360,9 +357,4 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
return R.ok(iCuMemberService.getMemberPhoneCount(phone));
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<Boolean> saveMemberLevel(CuMemberLevel memberLevel) {
|
||||
return R.ok(iCuMemberLevelService.save(memberLevel));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.hzs.member.base.service;
|
|||
|
||||
import com.hzs.common.domain.member.account.CuMemberAccount;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
||||
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
|
|
@ -205,6 +206,6 @@ public interface ICuMemberBusinessService {
|
|||
* @param cuMemberAccountExt 扣款账户
|
||||
* @param activateFlag 激活标记
|
||||
*/
|
||||
void otherRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt, Boolean activateFlag);
|
||||
void otherRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt, Boolean activateFlag, CuMemberLevel cuMemberLevel);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
|
||||
private ICuMemberTradeService cuMemberTradeService;
|
||||
|
||||
private ICuMemberLevelService cuMemberLevelService;
|
||||
private ICuMemberLevelService iCuMemberLevelService;
|
||||
|
||||
private ICuMemberAwardsService cuMemberAwardsService;
|
||||
|
||||
|
|
@ -127,8 +127,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
}
|
||||
|
||||
@Autowired
|
||||
public void setCuMemberLevelService(ICuMemberLevelService cuMemberLevelService) {
|
||||
this.cuMemberLevelService = cuMemberLevelService;
|
||||
public void setCuMemberLevelService(ICuMemberLevelService iCuMemberLevelService) {
|
||||
this.iCuMemberLevelService = iCuMemberLevelService;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
|
|
@ -210,7 +210,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
.build();
|
||||
cuMemberLevel.setPkCountry(cuMember.getPkSettleCountry());
|
||||
cuMemberLevel.setPkCreator(cuMember.getPkId());
|
||||
return cuMemberLevelService.save(cuMemberLevel);
|
||||
return iCuMemberLevelService.save(cuMemberLevel);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -857,7 +857,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
Long pkMember = memberList.get(i);
|
||||
SaOrderExt saOrder = saOrderMap.get(pkMember);
|
||||
// 删除等级
|
||||
cuMemberLevelService.deleteCuMemberLevelRecord(saOrder.getPkId(), pkApprove, currentDateTime);
|
||||
iCuMemberLevelService.deleteCuMemberLevelRecord(saOrder.getPkId(), pkApprove, currentDateTime);
|
||||
// 回退奖衔,根据订单从 cu_member_awards查询
|
||||
cuMemberAwardsService.deleteCuMemberAwards(saOrder.getPkId(), pkApprove, currentDateTime);
|
||||
cuMemberService.deleteCuMemberByPkMember(pkMember, pkApprove, currentDateTime);
|
||||
|
|
@ -1245,7 +1245,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void otherRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt, Boolean activateFlag) {
|
||||
public void otherRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt, Boolean activateFlag, CuMemberLevel cuMemberLevel) {
|
||||
boolean updateFlag = false;
|
||||
|
||||
LambdaUpdateWrapper<CuMember> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
|
|
@ -1255,6 +1255,12 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
updateWrapper.set(null != cuMember.getPayTime(), CuMember::getPayTime, cuMember.getPayTime());
|
||||
updateFlag = true;
|
||||
}
|
||||
if (null != cuMemberLevel) {
|
||||
updateWrapper.set(CuMember::getPkSettleGrade, cuMember.getPkSettleGrade());
|
||||
updateFlag = true;
|
||||
|
||||
iCuMemberLevelService.save(cuMemberLevel);
|
||||
}
|
||||
if (updateFlag) {
|
||||
// 更新会员信息
|
||||
updateWrapper.eq(CuMember::getPkId, cuMember.getPkId());
|
||||
|
|
|
|||
|
|
@ -18,17 +18,14 @@ import com.hzs.common.core.utils.*;
|
|||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.domain.member.account.CuMemberAccount;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
||||
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
||||
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||
import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
|
||||
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;
|
||||
|
|
@ -575,10 +572,10 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
// 处理会员激活
|
||||
Boolean activateFlag = this.handleMemberActivate(buyMember, saOrderExt);
|
||||
|
||||
processMemberLevel(buyMember, saOrderExt);
|
||||
CuMemberLevel cuMemberLevel = processMemberLevel(buyMember, saOrderExt);
|
||||
// 扣减账户等
|
||||
// 调用其他服务保存更新会员账户等
|
||||
R<?> saveResult = iMemberServiceApi.otherRetailMember(buyMember, saOrderExt, memberAccountExt, activateFlag);
|
||||
R<?> saveResult = iMemberServiceApi.otherRetailMember(buyMember, saOrderExt, memberAccountExt, activateFlag, cuMemberLevel);
|
||||
if (!saveResult.isSuccess()) {
|
||||
log.error("新零售 payOtherOrder 会员其它订单失败,{}", saveResult.getMsg());
|
||||
throw new RuntimeException("下单支付失败");
|
||||
|
|
@ -678,7 +675,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
return resultStr;
|
||||
}
|
||||
|
||||
public void processMemberLevel(CuMember gradeMember, SaOrderExt saOrderExt) {
|
||||
public CuMemberLevel processMemberLevel(CuMember gradeMember, SaOrderExt saOrderExt) {
|
||||
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
||||
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
|
||||
// 处理等级
|
||||
|
|
@ -687,14 +684,28 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
List<BdGrade> tmpGradeList = iGradeServiceApi.getRetailGradeList().getData();
|
||||
// 等级值倒序
|
||||
List<BdGrade> gradeList = tmpGradeList.stream().sorted(Comparator.comparingInt(BdGrade::getGradeValue).reversed()).collect(Collectors.toList());
|
||||
gradeList.forEach(tmpGrade -> {
|
||||
for (BdGrade tmpGrade : gradeList) {
|
||||
if (saOrderExt.getOrderAchieve().compareTo(tmpGrade.getStartValue()) >= 0) {
|
||||
gradeMember.setPkSettleGrade(tmpGrade.getPkId());
|
||||
gradeMember.setPkSettleGradeValue(tmpGrade.getGradeValue());
|
||||
|
||||
// 记录升级历史
|
||||
CuMemberLevel cuMemberLevel = CuMemberLevel.builder()
|
||||
.pkMember(gradeMember.getPkId())
|
||||
.upType(EUpgradeType.BUY_UPGRADE.getValue())
|
||||
.oldLevel(bdGrade.getPkId())
|
||||
.newLevel(tmpGrade.getPkId())
|
||||
.upgradeTime(saOrderExt.getPayTime())
|
||||
.pkOrder(saOrderExt.getPkId())
|
||||
.build();
|
||||
cuMemberLevel.setPkCountry(gradeMember.getPkSettleCountry());
|
||||
cuMemberLevel.setPkCreator(gradeMember.getPkId());
|
||||
return cuMemberLevel;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public enum ETradeType {
|
|||
RETAIL_REGISTER_ORDER(141, 0, "注册订单", 0, EnumsPrefixConstants.TRADE_TYPE + 141, EOrderType.RETAIL_REGISTER.getValue()),
|
||||
RETAIL_UPGRADE_ORDER(142, 0, "甄选订单", 0, EnumsPrefixConstants.TRADE_TYPE + 142, EOrderType.RETAIL_UPGRADE.getValue()),
|
||||
RETAIL_REPURCHASE_ORDER(143, 0, "复购订单", 0, EnumsPrefixConstants.TRADE_TYPE + 143, EOrderType.RETAIL_REPURCHASE.getValue()),
|
||||
RETAIL_CONSUME_ORDER(144, 0, "重消订单", 0, EnumsPrefixConstants.TRADE_TYPE + 144, EOrderType.RETAIL_CONSUME.getValue()),
|
||||
RETAIL_CONSUME_ORDER(144, 0, "赠品订单", 0, EnumsPrefixConstants.TRADE_TYPE + 144, EOrderType.RETAIL_CONSUME.getValue()),
|
||||
RETAIL_TICKET_ORDER(145, 0, "自主购票", 0, EnumsPrefixConstants.TRADE_TYPE + 145, EOrderType.RETAIL_TICKET.getValue()),
|
||||
RETAIL_DISCOUNT_ORDER(147, 0, "五折订单", 0, EnumsPrefixConstants.TRADE_TYPE + 147, EOrderType.DISCOUNT_ORDER.getValue()),
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ public enum ETradeType {
|
|||
|
||||
REVOKE_RETAIL_REGISTER_ORDER(641, 0, "注册订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 641, -EOrderType.RETAIL_REGISTER.getValue()),
|
||||
REVOKE_RETAIL_REPURCHASE_ORDER(643, 0, "复购订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 643, -EOrderType.RETAIL_REPURCHASE.getValue()),
|
||||
REVOKE_RETAIL_CONSUME_ORDER(644, 0, "重消订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 644, -EOrderType.RETAIL_CONSUME.getValue()),
|
||||
REVOKE_RETAIL_CONSUME_ORDER(644, 0, "赠品订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 644, -EOrderType.RETAIL_CONSUME.getValue()),
|
||||
REVOKE_RETAIL_TICKET_ORDER(645, 0, "自主购票撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 645, -EOrderType.RETAIL_TICKET.getValue()),
|
||||
|
||||
REVOKE_RETAIL_UPGRADE(642, 0, "甄选订单撤单", 0, EnumsPrefixConstants.TRADE_TYPE + 642, -EOrderType.RETAIL_UPGRADE.getValue()),
|
||||
|
|
|
|||
Loading…
Reference in New Issue