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
|
||||
public void updateCuMemberGradeByPeriod(List<CuMemberGrade> cuMemberGradeList, Integer period) {
|
||||
public void updateCuMemberGradeByPeriod(Integer period) {
|
||||
baseMapper.updateCuMemberGrade(period);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -300,9 +300,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, isSecond);
|
||||
cuMemberRetailRangeExtList.add(sourceMemberRangeExt);
|
||||
|
||||
// 查询期间的等级
|
||||
// 查询期间的等级(来源 cu_member_grade)
|
||||
List<CuMemberGrade> memberGradeList = iCuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod);
|
||||
// 查询最大的手动奖衔
|
||||
// 查询最大的手动等级(来源 cu_member_grade)
|
||||
List<CuMemberGrade> cuMemberGradeList1 = iCuMemberGradeService.queryCuMemberGradeByList(currentPeriod, memberRetailRangeExtList);
|
||||
if (cuMemberGradeList1.size() > 0) {
|
||||
Map<Long, CuMemberGrade> memberGradeMap = new HashMap<>();
|
||||
|
|
@ -340,9 +340,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
}
|
||||
}
|
||||
if (cuMemberGradeList.size() > 0) {
|
||||
// 删除等级
|
||||
// 删除等级(cu_member_grade)
|
||||
iCuMemberGradeService.deleteCuMemberGrade(cuMemberGradeList, currentPeriod);
|
||||
// 批量更新会员等级
|
||||
// 批量更新会员等级(更新 cu_member)
|
||||
iCuMemberService.updateCuMemberMinGradeByList(cuMemberGradeList, currentPeriod);
|
||||
}
|
||||
}
|
||||
|
|
@ -562,23 +562,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 盒数商品 计算 直推级差 + 平级收益
|
||||
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())) {
|
||||
CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId());
|
||||
if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) {
|
||||
BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel());
|
||||
if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) {
|
||||
sourceMemberRangeExt.setPkGrade(bdGrade.getPkId());
|
||||
sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
|
||||
sourceMemberRangeExt.setGradeName(bdGrade.getGradeName());
|
||||
}
|
||||
// 订单存在升级记录
|
||||
if (memberLevelMap.containsKey(saOrderExt.getPkId())) {
|
||||
CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId());
|
||||
if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) {
|
||||
BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel());
|
||||
if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) {
|
||||
sourceMemberRangeExt.setPkGrade(bdGrade.getPkId());
|
||||
sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
|
||||
sourceMemberRangeExt.setGradeName(bdGrade.getGradeName());
|
||||
}
|
||||
}
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -611,9 +607,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
if (cuMemberGradeList.size() > 0) {
|
||||
// 批量插入会员等级记录
|
||||
iCuMemberGradeService.insertCuMemberGrade(cuMemberGradeList);
|
||||
// 更新会员表等级数据(来源 cu_member_grade)
|
||||
iCuMemberService.updateCuMemberGradeByPeriod(cuMemberGradeList, period);
|
||||
// 更新会员表等级数据(来源 cu_member_level)
|
||||
// 更新会员表(cu_member)等级数据(来源 cu_member_grade)
|
||||
iCuMemberService.updateCuMemberGradeByPeriod(period);
|
||||
// 更新会员表(cu_member)等级数据(来源 cu_member_level)
|
||||
iCuMemberService.updateCuMemberLevel(settleStartDate, settleEndDate);
|
||||
}
|
||||
// 更新网体
|
||||
|
|
@ -752,6 +748,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
if (null != memberRetailLevel) {
|
||||
if (memberRetailLevel.getGradeValue() > targetMemberRangeExt.getGradeValue()) {
|
||||
targetMemberRangeExt.setPkGrade(memberRetailLevel.getPkGrade());
|
||||
targetMemberRangeExt.setGradeValue(memberRetailLevel.getGradeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -307,15 +307,16 @@
|
|||
<update id="updateCuMemberMinGradeByList">
|
||||
merge into cu_member a
|
||||
using (
|
||||
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 ">
|
||||
select #{item.pkMember} pk_member,#{item.newLevel} pk_grade from dual
|
||||
</foreach>)
|
||||
select #{item.pkMember} pk_member, #{item.newLevel} pk_grade from dual
|
||||
</foreach>
|
||||
)
|
||||
group by pk_member
|
||||
) b
|
||||
on (a.pk_id = b.pk_member)
|
||||
when matched then
|
||||
update set a.pk_settle_grade = b.pk_grade,a.modified_time = sysdate
|
||||
update set a.pk_settle_grade = b.pk_grade, a.modified_time = sysdate
|
||||
</update>
|
||||
|
||||
<update id="updateCuMemberLevel">
|
||||
|
|
|
|||
|
|
@ -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.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;
|
||||
|
|
@ -40,6 +41,7 @@ import com.hzs.sale.wares.service.IBdWaresExtendService;
|
|||
import com.hzs.sale.wares.service.IBdWaresRangeService;
|
||||
import com.hzs.system.base.ICurrencyServiceApi;
|
||||
import com.hzs.system.base.dto.CurrencyDTO;
|
||||
import com.hzs.system.config.IAwardsServiceApi;
|
||||
import com.hzs.system.config.IGradeServiceApi;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
|
|
@ -90,6 +92,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
@DubboReference
|
||||
IGradeServiceApi iGradeServiceApi;
|
||||
@DubboReference
|
||||
IAwardsServiceApi iAwardsServiceApi;
|
||||
@DubboReference
|
||||
ICurrencyServiceApi iCurrencyServiceApi;
|
||||
@DubboReference
|
||||
IMemberServiceApi iMemberServiceApi;
|
||||
|
|
@ -217,8 +221,16 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
// 会员信息
|
||||
if (null != cuMember) {
|
||||
cuMember.setPkSettleGrade(newGrade.getPkId());
|
||||
if (cuMember.getPkAwards() == null) {
|
||||
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());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue