Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
4428f6d6be
|
|
@ -2,6 +2,7 @@ package com.hzs.member.base;
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.domain.member.base.CuMember;
|
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.member.ext.CuMemberAccountExt;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
|
|
@ -364,4 +365,7 @@ public interface IMemberServiceApi {
|
||||||
* @return 返回为null则正常,否则则错误信息
|
* @return 返回为null则正常,否则则错误信息
|
||||||
*/
|
*/
|
||||||
R<Integer> getMemberPhoneCount(String phone);
|
R<Integer> getMemberPhoneCount(String phone);
|
||||||
|
|
||||||
|
|
||||||
|
R<Boolean> saveMemberLevel(CuMemberLevel memberLevel);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import com.hzs.common.core.enums.ELoginType;
|
||||||
import com.hzs.common.core.utils.StringUtils;
|
import com.hzs.common.core.utils.StringUtils;
|
||||||
import com.hzs.common.domain.member.base.CuMember;
|
import com.hzs.common.domain.member.base.CuMember;
|
||||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
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.member.ext.CuMemberAccountExt;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
|
|
@ -16,6 +17,7 @@ import com.hzs.member.base.dto.ShowWaresDTO;
|
||||||
import com.hzs.member.base.dto.ZeroElementRevokeDTO;
|
import com.hzs.member.base.dto.ZeroElementRevokeDTO;
|
||||||
import com.hzs.member.base.service.*;
|
import com.hzs.member.base.service.*;
|
||||||
import com.hzs.member.base.IMemberServiceApi;
|
import com.hzs.member.base.IMemberServiceApi;
|
||||||
|
import com.hzs.member.detail.service.ICuMemberLevelService;
|
||||||
import com.hzs.member.empty.service.ICuMemberEmptyCodeService;
|
import com.hzs.member.empty.service.ICuMemberEmptyCodeService;
|
||||||
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
|
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
@ -41,6 +43,8 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
||||||
private ICuMemberBusinessService iCuMemberBusinessService;
|
private ICuMemberBusinessService iCuMemberBusinessService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberEmptyCodeService iCuMemberEmptyCodeService;
|
private ICuMemberEmptyCodeService iCuMemberEmptyCodeService;
|
||||||
|
@Autowired
|
||||||
|
private ICuMemberLevelService iCuMemberLevelService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R<LoginMember> getMemberInfo(String memberCode) {
|
public R<LoginMember> getMemberInfo(String memberCode) {
|
||||||
|
|
@ -356,4 +360,9 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
||||||
return R.ok(iCuMemberService.getMemberPhoneCount(phone));
|
return R.ok(iCuMemberService.getMemberPhoneCount(phone));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<Boolean> saveMemberLevel(CuMemberLevel memberLevel) {
|
||||||
|
return R.ok(iCuMemberLevelService.save(memberLevel));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ import com.hzs.common.core.web.domain.AjaxResult;
|
||||||
import com.hzs.common.domain.member.account.CuMemberAccount;
|
import com.hzs.common.domain.member.account.CuMemberAccount;
|
||||||
import com.hzs.common.domain.member.base.CuMember;
|
import com.hzs.common.domain.member.base.CuMember;
|
||||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
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.member.ext.CuMemberAccountExt;
|
||||||
import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
|
import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
|
|
@ -49,6 +50,7 @@ import com.hzs.system.base.ICurrencyServiceApi;
|
||||||
import com.hzs.system.base.dto.CurrencyDTO;
|
import com.hzs.system.base.dto.CurrencyDTO;
|
||||||
import com.hzs.system.config.IAwardsServiceApi;
|
import com.hzs.system.config.IAwardsServiceApi;
|
||||||
import com.hzs.system.config.IGradeServiceApi;
|
import com.hzs.system.config.IGradeServiceApi;
|
||||||
|
import com.hzs.system.config.dto.GradeDTO;
|
||||||
import com.hzs.third.sms.ISmsServiceApi;
|
import com.hzs.third.sms.ISmsServiceApi;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
|
|
@ -524,7 +526,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
log.error("新零售 payRegSaOrder 会员注册失败,{}", saveResult.getMsg());
|
log.error("新零售 payRegSaOrder 会员注册失败,{}", saveResult.getMsg());
|
||||||
throw new RuntimeException("会员注册失败");
|
throw new RuntimeException("会员注册失败");
|
||||||
}
|
}
|
||||||
|
processMemberLevel(newMember, saOrderExt);
|
||||||
|
|
||||||
// 发送会员注册成功短信
|
// 发送会员注册成功短信
|
||||||
iSmsServiceApi.sendMemberRegister(newMember.getPhone(), EAliSmsTemplate.MEMBER_REGISTER,
|
iSmsServiceApi.sendMemberRegister(newMember.getPhone(), EAliSmsTemplate.MEMBER_REGISTER,
|
||||||
|
|
@ -578,7 +580,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
log.error("新零售 payOtherOrder 会员其它订单失败,{}", saveResult.getMsg());
|
log.error("新零售 payOtherOrder 会员其它订单失败,{}", saveResult.getMsg());
|
||||||
throw new RuntimeException("下单支付失败");
|
throw new RuntimeException("下单支付失败");
|
||||||
}
|
}
|
||||||
|
processMemberLevel(buyMember, saOrderExt);
|
||||||
this.pushOrderMq(saOrderExt);
|
this.pushOrderMq(saOrderExt);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
@ -631,6 +633,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
|
|
||||||
RetailOrderRegisterParam registerParam = redisService.getCacheObject(CacheConstants.RETAIL_TEMP_REG_PARAM + pkMember + orderCode);
|
RetailOrderRegisterParam registerParam = redisService.getCacheObject(CacheConstants.RETAIL_TEMP_REG_PARAM + pkMember + orderCode);
|
||||||
boolean isShared = ObjectUtil.isNotEmpty(registerParam) && ObjectUtil.isNotEmpty(registerParam.getCuMemberShare());
|
boolean isShared = ObjectUtil.isNotEmpty(registerParam) && ObjectUtil.isNotEmpty(registerParam.getCuMemberShare());
|
||||||
|
CuMember gradeMember = null;
|
||||||
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
||||||
|| (isShared && EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType())
|
|| (isShared && EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType())
|
||||||
) {
|
) {
|
||||||
|
|
@ -673,6 +676,51 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
}
|
}
|
||||||
return resultStr;
|
return resultStr;
|
||||||
}
|
}
|
||||||
|
public void processMemberLevel(CuMember gradeMember, SaOrderExt saOrderExt){
|
||||||
|
// 处理等级
|
||||||
|
GradeDTO bdGrade = iGradeServiceApi.getGrade(gradeMember.getPkSettleGrade()).getData();
|
||||||
|
List<BdGrade> gradeDTOList = iGradeServiceApi.getRetailGradeList().getData();
|
||||||
|
CuMemberLevel memberLevel = null;
|
||||||
|
if(bdGrade.getGradeValue() < EGrade.YOU_KE.getValue()){
|
||||||
|
if(saOrderExt.getOrderAchieve().compareTo(RetailConstants.GOLD_CARD_PV) >= 0){
|
||||||
|
// 拿金牌等级
|
||||||
|
BdGrade goldGrade = gradeDTOList.stream().filter(item -> item.getGradeValue().equals(EGrade.YOU_KE.getValue())).findFirst().get();
|
||||||
|
memberLevel = getCuMemberLevel(gradeMember, saOrderExt, goldGrade.getPkId());
|
||||||
|
gradeMember.setPkSettleGrade(goldGrade.getPkId());
|
||||||
|
gradeMember.setPkSettleGradeValue(goldGrade.getGradeValue());
|
||||||
|
}else if(saOrderExt.getOrderAchieve().compareTo(RetailConstants.SILVER_CARD_PV) >= 0){
|
||||||
|
// 拿银牌等级
|
||||||
|
BdGrade silverGrade = gradeDTOList.stream().filter(item -> item.getGradeValue().equals(EGrade.HAI_FAN.getValue())).findFirst().get();
|
||||||
|
memberLevel = getCuMemberLevel(gradeMember, saOrderExt, silverGrade.getPkId());
|
||||||
|
gradeMember.setPkSettleGrade(silverGrade.getPkId());
|
||||||
|
gradeMember.setPkSettleGradeValue(silverGrade.getGradeValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(ObjectUtil.isNotEmpty(memberLevel)){
|
||||||
|
Boolean saveMemberLevelFlag = iMemberServiceApi.saveMemberLevel(memberLevel).getData();
|
||||||
|
if(!saveMemberLevelFlag){
|
||||||
|
throw new ServiceException("记录用户升级信息异常!");
|
||||||
|
}
|
||||||
|
Boolean saveMemberFlag = iMemberServiceApi.saveMember(gradeMember).getData();
|
||||||
|
if(!saveMemberFlag){
|
||||||
|
throw new ServiceException("更新用户结算等级异常!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public CuMemberLevel getCuMemberLevel(CuMember cuMember, SaOrderExt saOrder, Integer newLevel){
|
||||||
|
CuMemberLevel cuMemberLevel = CuMemberLevel.builder()
|
||||||
|
.pkMember(cuMember.getPkId())
|
||||||
|
.upType(EUpgradeType.BUY_UPGRADE.getValue())
|
||||||
|
.oldLevel(cuMember.getPkSettleGrade())
|
||||||
|
.newLevel(newLevel)
|
||||||
|
.upgradeTime(saOrder.getPayTime())
|
||||||
|
.pkOrder(saOrder.getPkId())
|
||||||
|
.build();
|
||||||
|
cuMemberLevel.setPkCountry(cuMember.getPkSettleCountry());
|
||||||
|
cuMemberLevel.setPkCreator(cuMember.getPkId());
|
||||||
|
return cuMemberLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存订单以及明细
|
* 保存订单以及明细
|
||||||
|
|
|
||||||
|
|
@ -48,4 +48,13 @@ public class RetailConstants {
|
||||||
*/
|
*/
|
||||||
public static final boolean LIMIT_TO_REG_PHONE_NUMBER = false;
|
public static final boolean LIMIT_TO_REG_PHONE_NUMBER = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 银卡PV
|
||||||
|
*/
|
||||||
|
public static final BigDecimal SILVER_CARD_PV = new BigDecimal("10000");
|
||||||
|
/**
|
||||||
|
* 金卡PV
|
||||||
|
*/
|
||||||
|
public static final BigDecimal GOLD_CARD_PV = new BigDecimal("20000");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue