Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
sangelxiu1 2025-07-05 09:57:05 +08:00
commit cdcb13f9a1
6 changed files with 95 additions and 41 deletions

View File

@ -622,7 +622,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
/**
* 计算团队极差奖衔
* 计算团队等级奖衔 -- 秒结日结
*/
public List<CuMemberAwards> calculateRetailRangeGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName,
@ -645,19 +645,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
// 累计盒数业绩不管激活不激活都处理兼容不激活判断显示有问题
if (null != secondRangeTableName) {
// 秒结处理
targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve));
} else {
// 日结处理
targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve));
targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve));
targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve));
}
targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve));
targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve));
targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve));
// 激活的账号才能累计业绩和盒数有注册升级订单
if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) {
@ -751,6 +744,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
}
}
if (null != secondRangeTableName) {
if (targetMemberRangeExt.getPkMember().equals(saOrderExt.getPkMember())) {
// new 兼容购买等级多送2级的问题秒结处理V4 V5方式不一样会出现秒结等级和实际等级不匹配
CuMemberRetailRangeExt memberRetailLevel = iCuMemberGradeService.getMemberLevel(saOrderExt.getPkMember(), saOrderExt.getPkId());
if (null != memberRetailLevel) {
if (memberRetailLevel.getGradeValue() > targetMemberRangeExt.getGradeValue()) {
targetMemberRangeExt.setPkGrade(memberRetailLevel.getPkGrade());
}
}
}
}
// 计算当月奖衔
while (true) {
// 当月奖衔值 + 5获取下一个奖衔值
@ -771,6 +777,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
break;
}
// 校验大小区会员数据
List<CuMemberRetailRangeExt> cuMemberRangeExtList = null;
// 校验累计小部门会员数据
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = null;
// 计算分红奖衔
while (true) {
// 当月奖衔值 + 5获取下一个奖衔值
@ -780,13 +791,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 先验证累计业绩
if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getShareTotalCheck())) {
// 再验证小区计算小区业绩拉取直推会员数据
List<CuMemberRetailRangeExt> cuMemberRangeExtList;
if (secondRangeTableName != null) {
// 会员表 关联 秒结表 昨日结算表查询订单会员直推数据
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
} else {
// 昨日结算表查询订单会员直推数据
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
if (null == cuMemberRangeExtList) {
if (null != secondRangeTableName) {
// 会员表 关联 秒结表 昨日结算表查询订单会员直推数据
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
} else {
// 昨日结算表查询订单会员直推数据
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
}
}
// 本人月消费业绩默认为大区
BigDecimal consumeBigPv = targetMemberRangeExt.getMonthConsumePv();
@ -808,14 +820,15 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 小区业绩 >= 小区考核业绩
if (bdAwards.getPlaceDeptNum() > 0) {
// 验证是否有多个区满足业绩
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList;
// 非秒结需要查询日结相关数据秒结表使用上面查出的数据就可以
if (secondRangeTableName != null) {
// 会员表 关联 秒结表 昨日结算表查询订单会员直推数据
cuMemberRetailRangeExtList = cuMemberRangeExtList;
} else {
// 昨日结算表查询订单会员直推数据
cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck());
if (null == cuMemberRetailRangeExtList) {
// 非秒结需要查询日结相关数据秒结表使用上面查出的数据就可以
if (null != secondRangeTableName) {
// 会员表 关联 秒结表 昨日结算表查询订单会员直推数据
cuMemberRetailRangeExtList = cuMemberRangeExtList;
} else {
// 昨日结算表查询订单会员直推数据
cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck());
}
}
int enoughNum = 0;
@ -865,16 +878,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 累计盒数业绩不管激活不激活都处理兼容不激活判断显示有问题
if (isSecond) {
// 当天秒结处理
targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve));
targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().subtract(boxNum));
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().subtract(orderAchieve));
} else {
// 非当天日结处理
targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().add(boxNum));
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve));
targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve));
targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve));
targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().subtract(boxNum));
targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().subtract(boxNum));
targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().subtract(boxNum));
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().subtract(orderAchieve));
targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().subtract(orderAchieve));
targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().subtract(orderAchieve));
}
// 激活的账号才能累计业绩和盒数有注册升级订单

View File

@ -39,6 +39,15 @@ public interface CuMemberGradeMapper extends BaseMapper<CuMemberGrade> {
*/
void updateCuMemberGradeLevel(@Param("rangeTableName") String rangeTableName, @Param("pkOrder") Long pkOrder);
/**
* 查询订单升级记录
*
* @param pkMember
* @param pkOrder
* @return
*/
CuMemberRetailRangeExt getMemberLevel(@Param("pkMember") Long pkMember, @Param("pkOrder") Long pkOrder);
/**
* 删除等级
*/

View File

@ -36,6 +36,15 @@ public interface ICuMemberGradeService extends IService<CuMemberGrade> {
*/
void updateCuMemberGrade(String rangeTableName, Long pkOrder);
/**
* 查询订单升级记录
*
* @param pkMember
* @param pkOrder
* @return
*/
CuMemberRetailRangeExt getMemberLevel(Long pkMember, Long pkOrder);
/**
* 插入会员等级升级记录
*/

View File

@ -7,7 +7,6 @@ import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
import com.hzs.common.domain.member.detail.CuMemberGrade;
import com.hzs.common.domain.member.detail.CuMemberLevel;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
@ -42,7 +41,11 @@ public class CuMemberGradeServiceImpl extends ServiceImpl<CuMemberGradeMapper, C
}
@Override
@Transactional(rollbackFor = Exception.class)
public CuMemberRetailRangeExt getMemberLevel(Long pkMember, Long pkOrder) {
return baseMapper.getMemberLevel(pkMember, pkOrder);
}
@Override
public void insertCuMemberGrade(List<CuMemberGrade> cuMemberGradeList) {
saveBatch(cuMemberGradeList);
}

View File

@ -85,6 +85,18 @@
a.pk_grade = b.pk_grade
</update>
<!-- 查询订单升级记录 -->
<select id="getMemberLevel" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
select cml.pk_member, bg.pk_id pk_grade, bg.grade_value
from cu_member_level cml
left join bd_grade bg
on bg.pk_id = cml.new_level
where cml.del_flag = 0
and cml.up_type = 4
and cml.pk_member = #{pkMember}
and cml.pk_order = #{pkOrder}
</select>
<!-- 删除等级 -->
<delete id="deleteCuMemberGrade">
update cu_member_grade

View File

@ -24,12 +24,16 @@ public class RetailConstants {
public static final List<String> BOX_PRODUCT_LIST = Arrays.asList(
// 注册
"SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006",
"SP02410007", "SP02410008", "SP02410009", "SP02410010", "SP02410011", "SP02410012",
// 升级
"SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006",
"SP02420007", "SP02420008", "SP02420009", "SP02420010", "SP02420011", "SP02420012",
// 复消
"SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005", "SP02430006",
"SP02430007", "SP02430008", "SP02430009", "SP02430010", "SP02430011", "SP02430012",
// 重消
"SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006"
"SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006",
"SP02440007", "SP02440008", "SP02440009", "SP02440010", "SP02440011", "SP02440012"
);
/**
@ -38,12 +42,16 @@ public class RetailConstants {
public static final List<String> ALL_BOX_WARES_LIST = Arrays.asList(
// 注册
"SP02410001", "SP02410002", "SP02410003", "SP02410004", "SP02410005", "SP02410006",
"SP02410007", "SP02410008", "SP02410009", "SP02410010", "SP02410011", "SP02410012",
// 升级
"SP02420001", "SP02420002", "SP02420003", "SP02420004", "SP02420005", "SP02420006",
"SP02420007", "SP02420008", "SP02420009", "SP02420010", "SP02420011", "SP02420012",
// 复消
"SP02430001", "SP02430002", "SP02430003", "SP02430004", "SP02430005", "SP02430006",
"SP02430007", "SP02430008", "SP02430009", "SP02430010", "SP02430011", "SP02430012",
// 重消
"SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006"
"SP02440001", "SP02440002", "SP02440003", "SP02440005", "SP02440005", "SP02440006",
"SP02440007", "SP02440008", "SP02440009", "SP02440010", "SP02440011", "SP02440012"
);
}