## V3\V4日升级添加报单、注册中心;
This commit is contained in:
parent
bc7fd1e5ee
commit
a2e8c961bb
|
@ -49,10 +49,10 @@ public class CuMemberLevelServiceImpl extends ServiceImpl<CuMemberLevelMapper, C
|
||||||
@Override
|
@Override
|
||||||
public void calculateCuMemberGrade(String settleDateStr, String settleTableName) {
|
public void calculateCuMemberGrade(String settleDateStr, String settleTableName) {
|
||||||
List<GradeDTO> gradeList = iGradeServiceApi.queryGradeList(CountryConstants.CHINA_COUNTRY).getData();
|
List<GradeDTO> gradeList = iGradeServiceApi.queryGradeList(CountryConstants.CHINA_COUNTRY).getData();
|
||||||
// 等级列表(V4,V3)
|
// 等级列表(V3,V4)
|
||||||
gradeList = gradeList.stream()
|
gradeList = gradeList.stream()
|
||||||
.filter(tmp -> EGrade.VIP.getValue() == tmp.getGradeValue() || EGrade.S_VIP.getValue() == tmp.getGradeValue())
|
.filter(tmp -> EGrade.VIP.getValue() == tmp.getGradeValue() || EGrade.S_VIP.getValue() == tmp.getGradeValue())
|
||||||
.sorted(Comparator.comparingInt(GradeDTO::getGradeValue).reversed())
|
// .sorted(Comparator.comparingInt(GradeDTO::getGradeValue).reversed())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
// 查询结算日当天奖衔发生过变动的会员,本期
|
// 查询结算日当天奖衔发生过变动的会员,本期
|
||||||
|
@ -68,16 +68,17 @@ public class CuMemberLevelServiceImpl extends ServiceImpl<CuMemberLevelMapper, C
|
||||||
// 删除会员等级升级记录
|
// 删除会员等级升级记录
|
||||||
baseMapper.deleteCuMemberGrade(period);
|
baseMapper.deleteCuMemberGrade(period);
|
||||||
|
|
||||||
|
// 会员升级记录
|
||||||
List<CuMemberLevel> memberLevelList = new ArrayList<>();
|
List<CuMemberLevel> memberLevelList = new ArrayList<>();
|
||||||
for (GradeDTO gradeDTO : gradeList) {
|
for (GradeDTO gradeDTO : gradeList) {
|
||||||
// 处理可以升级V4、V3会员
|
// 处理可以升级V3、V4会员
|
||||||
List<CuMemberLevel> tmpCuMemberLevelList = this.calculateGrade(gradeDTO, settleTableName, settleDate, period);
|
List<CuMemberLevel> tmpCuMemberLevelList = this.calculateGrade(gradeDTO, settleTableName, settleDate, period);
|
||||||
if (null != tmpCuMemberLevelList) {
|
if (null != tmpCuMemberLevelList) {
|
||||||
memberLevelList.addAll(tmpCuMemberLevelList);
|
memberLevelList.addAll(tmpCuMemberLevelList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (CollectionUtil.isNotEmpty(memberLevelList)) {
|
if (CollectionUtil.isNotEmpty(memberLevelList)) {
|
||||||
// 更新会员表
|
// 更新会员表(会员等级、注册权限)
|
||||||
iCuMemberService.updateCuMemberLevelByPeriod(period);
|
iCuMemberService.updateCuMemberLevelByPeriod(period);
|
||||||
// 更新结算网体表 -- 结算日期到当前日期的所有日结算表
|
// 更新结算网体表 -- 结算日期到当前日期的所有日结算表
|
||||||
updateMemberLevelPeriod(settleDate);
|
updateMemberLevelPeriod(settleDate);
|
||||||
|
@ -122,7 +123,6 @@ public class CuMemberLevelServiceImpl extends ServiceImpl<CuMemberLevelMapper, C
|
||||||
cuMemberSettleExtList.forEach(cuMemberSettleExt -> getCuMemberLevel(cuMemberSettleExt, period, settleDate, cuMemberLevelList, gradeDTO));
|
cuMemberSettleExtList.forEach(cuMemberSettleExt -> getCuMemberLevel(cuMemberSettleExt, period, settleDate, cuMemberLevelList, gradeDTO));
|
||||||
// 插入记录
|
// 插入记录
|
||||||
baseMapper.saveBatchCuMemberLevel(cuMemberLevelList);
|
baseMapper.saveBatchCuMemberLevel(cuMemberLevelList);
|
||||||
|
|
||||||
return cuMemberLevelList;
|
return cuMemberLevelList;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -2284,15 +2284,27 @@
|
||||||
<update id="updateCuMemberSettleGradeByPeriod">
|
<update id="updateCuMemberSettleGradeByPeriod">
|
||||||
merge into ${updateTableName} a
|
merge into ${updateTableName} a
|
||||||
using (
|
using (
|
||||||
select pk_member, max(new_level) pk_grade
|
select t.*, bg.register_authority
|
||||||
from cu_member_level
|
from (select pk_member, max(new_level) pk_grade
|
||||||
where period = #{period}
|
from cu_member_level
|
||||||
and del_flag = 0
|
where period = #{period}
|
||||||
group by pk_member) b
|
and del_flag = 0
|
||||||
|
group by pk_member) t
|
||||||
|
left join bd_grade bg
|
||||||
|
on bg.pk_id = t.pk_grade
|
||||||
|
) b
|
||||||
on (a.pk_member = b.pk_member)
|
on (a.pk_member = b.pk_member)
|
||||||
when matched then
|
when matched then
|
||||||
update set
|
update set
|
||||||
a.pk_grade = b.pk_grade
|
a.pk_grade = b.pk_grade,
|
||||||
|
a.register_authority =
|
||||||
|
(select case
|
||||||
|
when b.register_authority > a.register_authority then
|
||||||
|
b.register_authority
|
||||||
|
else
|
||||||
|
a.register_authority
|
||||||
|
end
|
||||||
|
from dual)
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<!-- 查询左右区足够可以升级的会员 -->
|
<!-- 查询左右区足够可以升级的会员 -->
|
||||||
|
|
|
@ -187,24 +187,58 @@
|
||||||
|
|
||||||
<!-- 回退会员等级 -->
|
<!-- 回退会员等级 -->
|
||||||
<delete id="updateBackCuMemberGrade">
|
<delete id="updateBackCuMemberGrade">
|
||||||
delete from cu_member_level where period = #{period} and up_type = 1
|
|
||||||
</delete>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- 更新会员奖衔根据临时表 -->
|
|
||||||
<update id="updateCuMemberLevelByPeriod">
|
|
||||||
merge into cu_member a
|
merge into cu_member a
|
||||||
using (
|
using (
|
||||||
select pk_member, max(new_level) pk_grade
|
select t.*, bg.register_authority
|
||||||
from cu_member_level
|
from (
|
||||||
where period = #{period}
|
select pk_member, max(old_level) pk_grade
|
||||||
and del_flag = 0
|
from cu_member_level
|
||||||
group by pk_member
|
where period = #{period}
|
||||||
|
and del_flag = 0
|
||||||
|
group by pk_member) t
|
||||||
|
left join bd_grade bg
|
||||||
|
on bg.pk_id = t.pk_grade
|
||||||
) b
|
) b
|
||||||
on (a.pk_id = b.pk_member)
|
on (a.pk_id = b.pk_member)
|
||||||
when matched then
|
when matched then
|
||||||
update set
|
update set
|
||||||
a.pk_settle_grade = b.pk_grade,
|
a.pk_settle_grade = b.pk_grade,
|
||||||
|
a.register_authority =
|
||||||
|
(select case
|
||||||
|
when a.register_authority > b.register_authority then
|
||||||
|
a.register_authority
|
||||||
|
else
|
||||||
|
b.register_authority
|
||||||
|
end
|
||||||
|
from dual),
|
||||||
|
a.modified_time = sysdate
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<!-- 更新会员等级根据临时表 -->
|
||||||
|
<update id="updateCuMemberLevelByPeriod">
|
||||||
|
merge into cu_member a
|
||||||
|
using (
|
||||||
|
select t.*, bg.register_authority
|
||||||
|
from (select pk_member, max(new_level) pk_grade
|
||||||
|
from cu_member_level
|
||||||
|
where period = #{period}
|
||||||
|
and del_flag = 0
|
||||||
|
group by pk_member) t
|
||||||
|
left join bd_grade bg
|
||||||
|
on bg.pk_id = t.pk_grade
|
||||||
|
) b
|
||||||
|
on (a.pk_id = b.pk_member)
|
||||||
|
when matched then
|
||||||
|
update set
|
||||||
|
a.pk_settle_grade = b.pk_grade,
|
||||||
|
a.register_authority =
|
||||||
|
(select case
|
||||||
|
when b.register_authority > a.register_authority then
|
||||||
|
b.register_authority
|
||||||
|
else
|
||||||
|
a.register_authority
|
||||||
|
end
|
||||||
|
from dual),
|
||||||
a.modified_time = sysdate
|
a.modified_time = sysdate
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue