Compare commits
2 Commits
fcee5cb16e
...
1b4e8b9d1b
| Author | SHA1 | Date |
|---|---|---|
|
|
1b4e8b9d1b | |
|
|
262066c6df |
|
|
@ -51,7 +51,7 @@ public interface ICuMemberService extends IService<CuMember> {
|
||||||
/**
|
/**
|
||||||
* 根据等级更新会员等级
|
* 根据等级更新会员等级
|
||||||
*/
|
*/
|
||||||
void updateCuMemberGradeByPeriod(List<CuMemberGrade> cuMemberGradeList, Integer period);
|
void updateCuMemberGradeByPeriod(Integer period);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询会员等级
|
* 查询会员等级
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateCuMemberGradeByPeriod(List<CuMemberGrade> cuMemberGradeList, Integer period) {
|
public void updateCuMemberGradeByPeriod(Integer period) {
|
||||||
baseMapper.updateCuMemberGrade(period);
|
baseMapper.updateCuMemberGrade(period);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -300,9 +300,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, isSecond);
|
secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, isSecond);
|
||||||
cuMemberRetailRangeExtList.add(sourceMemberRangeExt);
|
cuMemberRetailRangeExtList.add(sourceMemberRangeExt);
|
||||||
|
|
||||||
// 查询期间的等级
|
// 查询期间的等级(来源 cu_member_grade)
|
||||||
List<CuMemberGrade> memberGradeList = iCuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod);
|
List<CuMemberGrade> memberGradeList = iCuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod);
|
||||||
// 查询最大的手动奖衔
|
// 查询最大的手动等级(来源 cu_member_grade)
|
||||||
List<CuMemberGrade> cuMemberGradeList1 = iCuMemberGradeService.queryCuMemberGradeByList(currentPeriod, memberRetailRangeExtList);
|
List<CuMemberGrade> cuMemberGradeList1 = iCuMemberGradeService.queryCuMemberGradeByList(currentPeriod, memberRetailRangeExtList);
|
||||||
if (cuMemberGradeList1.size() > 0) {
|
if (cuMemberGradeList1.size() > 0) {
|
||||||
Map<Long, CuMemberGrade> memberGradeMap = new HashMap<>();
|
Map<Long, CuMemberGrade> memberGradeMap = new HashMap<>();
|
||||||
|
|
@ -340,9 +340,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (cuMemberGradeList.size() > 0) {
|
if (cuMemberGradeList.size() > 0) {
|
||||||
// 删除等级
|
// 删除等级(cu_member_grade)
|
||||||
iCuMemberGradeService.deleteCuMemberGrade(cuMemberGradeList, currentPeriod);
|
iCuMemberGradeService.deleteCuMemberGrade(cuMemberGradeList, currentPeriod);
|
||||||
// 批量更新会员等级
|
// 批量更新会员等级(更新 cu_member)
|
||||||
iCuMemberService.updateCuMemberMinGradeByList(cuMemberGradeList, currentPeriod);
|
iCuMemberService.updateCuMemberMinGradeByList(cuMemberGradeList, currentPeriod);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -562,11 +562,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 盒数商品 计算 直推级差 + 平级收益
|
// 盒数商品 计算 直推级差 + 平级收益
|
||||||
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt));
|
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 计算完奖金算等级
|
// 订单存在升级记录
|
||||||
// if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
|
||||||
// || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
|
|
||||||
// // 订单存在升级记录
|
|
||||||
if (memberLevelMap.containsKey(saOrderExt.getPkId())) {
|
if (memberLevelMap.containsKey(saOrderExt.getPkId())) {
|
||||||
CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId());
|
CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId());
|
||||||
if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) {
|
if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) {
|
||||||
|
|
@ -578,8 +576,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算区域奖
|
// 计算区域奖
|
||||||
|
|
@ -611,9 +607,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
if (cuMemberGradeList.size() > 0) {
|
if (cuMemberGradeList.size() > 0) {
|
||||||
// 批量插入会员等级记录
|
// 批量插入会员等级记录
|
||||||
iCuMemberGradeService.insertCuMemberGrade(cuMemberGradeList);
|
iCuMemberGradeService.insertCuMemberGrade(cuMemberGradeList);
|
||||||
// 更新会员表等级数据(来源 cu_member_grade)
|
// 更新会员表(cu_member)等级数据(来源 cu_member_grade)
|
||||||
iCuMemberService.updateCuMemberGradeByPeriod(cuMemberGradeList, period);
|
iCuMemberService.updateCuMemberGradeByPeriod(period);
|
||||||
// 更新会员表等级数据(来源 cu_member_level)
|
// 更新会员表(cu_member)等级数据(来源 cu_member_level)
|
||||||
iCuMemberService.updateCuMemberLevel(settleStartDate, settleEndDate);
|
iCuMemberService.updateCuMemberLevel(settleStartDate, settleEndDate);
|
||||||
}
|
}
|
||||||
// 更新网体
|
// 更新网体
|
||||||
|
|
@ -752,6 +748,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
if (null != memberRetailLevel) {
|
if (null != memberRetailLevel) {
|
||||||
if (memberRetailLevel.getGradeValue() > targetMemberRangeExt.getGradeValue()) {
|
if (memberRetailLevel.getGradeValue() > targetMemberRangeExt.getGradeValue()) {
|
||||||
targetMemberRangeExt.setPkGrade(memberRetailLevel.getPkGrade());
|
targetMemberRangeExt.setPkGrade(memberRetailLevel.getPkGrade());
|
||||||
|
targetMemberRangeExt.setGradeValue(memberRetailLevel.getGradeValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -310,7 +310,8 @@
|
||||||
select pk_member, min(pk_grade) pk_grade from (
|
select pk_member, min(pk_grade) pk_grade from (
|
||||||
<foreach item="item" index="index" collection="cuMemberGradeList" separator=" union ">
|
<foreach item="item" index="index" collection="cuMemberGradeList" separator=" union ">
|
||||||
select #{item.pkMember} pk_member, #{item.newLevel} pk_grade from dual
|
select #{item.pkMember} pk_member, #{item.newLevel} pk_grade from dual
|
||||||
</foreach>)
|
</foreach>
|
||||||
|
)
|
||||||
group by pk_member
|
group by pk_member
|
||||||
) b
|
) b
|
||||||
on (a.pk_id = b.pk_member)
|
on (a.pk_id = b.pk_member)
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ import com.hzs.common.domain.sale.ext.SaOrderWaresLimitExt;
|
||||||
import com.hzs.common.domain.sale.order.*;
|
import com.hzs.common.domain.sale.order.*;
|
||||||
import com.hzs.common.domain.sale.wares.BdWaresRange;
|
import com.hzs.common.domain.sale.wares.BdWaresRange;
|
||||||
import com.hzs.common.domain.system.base.BdStorehouse;
|
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.domain.system.config.BdGrade;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import com.hzs.member.account.IMemberAccountServiceApi;
|
import com.hzs.member.account.IMemberAccountServiceApi;
|
||||||
|
|
@ -40,6 +41,7 @@ import com.hzs.sale.wares.service.IBdWaresExtendService;
|
||||||
import com.hzs.sale.wares.service.IBdWaresRangeService;
|
import com.hzs.sale.wares.service.IBdWaresRangeService;
|
||||||
import com.hzs.system.base.ICurrencyServiceApi;
|
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.IGradeServiceApi;
|
import com.hzs.system.config.IGradeServiceApi;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
|
|
@ -90,6 +92,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IGradeServiceApi iGradeServiceApi;
|
IGradeServiceApi iGradeServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
|
IAwardsServiceApi iAwardsServiceApi;
|
||||||
|
@DubboReference
|
||||||
ICurrencyServiceApi iCurrencyServiceApi;
|
ICurrencyServiceApi iCurrencyServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IMemberServiceApi iMemberServiceApi;
|
IMemberServiceApi iMemberServiceApi;
|
||||||
|
|
@ -217,8 +221,16 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
||||||
// 会员信息
|
// 会员信息
|
||||||
if (null != cuMember) {
|
if (null != cuMember) {
|
||||||
cuMember.setPkSettleGrade(newGrade.getPkId());
|
cuMember.setPkSettleGrade(newGrade.getPkId());
|
||||||
if (cuMember.getPkAwards() == null) {
|
if (null == cuMember.getPkAwards()) {
|
||||||
|
// 新会员没有奖衔,则进行赋值
|
||||||
cuMember.setPkAwards(newGrade.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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue