Compare commits
	
		
			2 Commits
		
	
	
		
			f5584a64c7
			...
			883be1c8a7
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								
								 | 
						883be1c8a7 | |
| 
							
							
								
								 | 
						3e7c57c2a0 | 
| 
						 | 
					@ -563,8 +563,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        // 死点 或 停算收益 或 顾客 没有奖金
 | 
					        // 死点 或 停算收益 或 顾客 没有奖金
 | 
				
			||||||
        if (ECategory.NORMAL.getValue() != targetMember.getCategory()
 | 
					        if (ECategory.NORMAL.getValue() != targetMember.getCategory()
 | 
				
			||||||
 | 
					                || EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()
 | 
				
			||||||
                || EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
 | 
					                || EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
 | 
				
			||||||
            log.warn("直推收益:订单会员推荐人不满足计算奖金条件, memberCode: {}, category: {}, accountStatus: {}", targetMember.getMemberCode(), targetMember.getCategory(), targetMember.getAccountStatus());
 | 
					            // 非正常会员、停止收益、停算收益,直接跳过
 | 
				
			||||||
 | 
					            log.warn("直推收益:订单会员推荐人不满足计算奖金条件, memberCode: {}", targetMember.getMemberCode());
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        // 订单金额
 | 
					        // 订单金额
 | 
				
			||||||
| 
						 | 
					@ -616,8 +618,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            // 死点 或 停算收益 或 顾客 没有奖金
 | 
					            // 死点 或 停算收益 或 顾客 没有奖金
 | 
				
			||||||
            if (ECategory.NORMAL.getValue() != targetMember.getCategory()
 | 
					            if (ECategory.NORMAL.getValue() != targetMember.getCategory()
 | 
				
			||||||
 | 
					                    || EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()
 | 
				
			||||||
                    || EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
 | 
					                    || EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
 | 
				
			||||||
                log.warn("见点收益:订单会员血缘上推荐人不满足计算奖金条件, memberCode: {}, category: {}, accountStatus: {}", targetMember.getMemberCode(), targetMember.getCategory(), targetMember.getAccountStatus());
 | 
					                // 非正常会员、停止收益、停算收益,直接跳过
 | 
				
			||||||
 | 
					                log.warn("见点收益:订单会员血缘上推荐人不满足计算奖金条件, memberCode: {}", targetMember.getMemberCode());
 | 
				
			||||||
                return;
 | 
					                return;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            pkParent = targetMember.getPkParent();
 | 
					            pkParent = targetMember.getPkParent();
 | 
				
			||||||
| 
						 | 
					@ -846,6 +850,15 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
				
			||||||
                        giftPayTime = keyDate;
 | 
					                        giftPayTime = keyDate;
 | 
				
			||||||
                        // 需要填充的直推会员
 | 
					                        // 需要填充的直推会员
 | 
				
			||||||
                        CuMemberRetailRangeExt targetMember = childRetailMap.get(keyDate);
 | 
					                        CuMemberRetailRangeExt targetMember = childRetailMap.get(keyDate);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        if (ECategory.NORMAL.getValue() != targetMember.getCategory()
 | 
				
			||||||
 | 
					                                || EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()
 | 
				
			||||||
 | 
					                                || EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
 | 
				
			||||||
 | 
					                            // 非正常会员、停止收益、停算收益,直接跳过
 | 
				
			||||||
 | 
					                            log.warn("阶段收益:订单会员推荐人不满足计算奖金条件, memberCode: {}", targetMember.getMemberCode());
 | 
				
			||||||
 | 
					                            continue;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        // 推荐人一阶段子点位列表
 | 
					                        // 推荐人一阶段子点位列表
 | 
				
			||||||
                        LinkedHashMap<Integer, CuMemberRetailDetail> parentDetailList = targetMember.getOneDetailMap();
 | 
					                        LinkedHashMap<Integer, CuMemberRetailDetail> parentDetailList = targetMember.getOneDetailMap();
 | 
				
			||||||
                        if (CollectionUtil.isEmpty(parentDetailList)) {
 | 
					                        if (CollectionUtil.isEmpty(parentDetailList)) {
 | 
				
			||||||
| 
						 | 
					@ -894,6 +907,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                pkParent = targetMember.getPkParent();
 | 
					                pkParent = targetMember.getPkParent();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (ECategory.NORMAL.getValue() != targetMember.getCategory()
 | 
				
			||||||
 | 
					                        || EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()
 | 
				
			||||||
 | 
					                        || EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
 | 
				
			||||||
 | 
					                    // 非正常会员、停止收益、停算收益,直接跳过
 | 
				
			||||||
 | 
					                    log.warn("阶段收益:订单会员推荐人不满足计算奖金条件, memberCode: {}", targetMember.getMemberCode());
 | 
				
			||||||
 | 
					                    continue;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                // 推荐人一阶段子点位列表
 | 
					                // 推荐人一阶段子点位列表
 | 
				
			||||||
                LinkedHashMap<Integer, CuMemberRetailDetail> parentDetailList = null;
 | 
					                LinkedHashMap<Integer, CuMemberRetailDetail> parentDetailList = null;
 | 
				
			||||||
                if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
 | 
					                if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
 | 
				
			||||||
| 
						 | 
					@ -1132,15 +1153,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
				
			||||||
        while (true) {
 | 
					        while (true) {
 | 
				
			||||||
            // 推荐人
 | 
					            // 推荐人
 | 
				
			||||||
            CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(pkParent);
 | 
					            CuMemberRetailRangeExt targetMember = memberRangeExtMap.get(pkParent);
 | 
				
			||||||
            if (targetMember == null) {
 | 
					            if (null == targetMember) {
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            // 推荐人的推荐人
 | 
					            // 推荐人的推荐人
 | 
				
			||||||
            pkParent = targetMember.getPkParent();
 | 
					            pkParent = targetMember.getPkParent();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (ECategory.NORMAL.getValue() != targetMember.getCategory()
 | 
					            if (ECategory.NORMAL.getValue() != targetMember.getCategory()
 | 
				
			||||||
                    || EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()) {
 | 
					                    || EIncomeStatus.STOP_INCOME.getValue() == targetMember.getIncomeStatus()
 | 
				
			||||||
                // 非正常会员、停止收益,直接跳过
 | 
					                    || EAccountStatus.STOP_INCOME.getValue() == targetMember.getAccountStatus()) {
 | 
				
			||||||
 | 
					                // 非正常会员、停止收益、停算收益,直接跳过
 | 
				
			||||||
 | 
					                log.warn("领导奖或平级奖收益:订单会员推荐人不满足计算奖金条件, memberCode: {}", targetMember.getMemberCode());
 | 
				
			||||||
                continue;
 | 
					                continue;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            // 当前会员奖衔值
 | 
					            // 当前会员奖衔值
 | 
				
			||||||
| 
						 | 
					@ -1155,8 +1178,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (calAwardsValue > beforeAwardsValue) {
 | 
					            if (calAwardsValue > beforeAwardsValue) {
 | 
				
			||||||
                // 当前会员奖衔值大于前一个奖衔值,会有领导奖级差
 | 
					                // 当前会员奖衔值大于前一个奖衔值,会有领导奖级差
 | 
				
			||||||
                beforeRangeRatio = bdAwards.getRangeRatio().subtract(beforeRangeRatio);
 | 
					                rangeBonusIncome = orderAchieve.multiply(bdAwards.getRangeRatio().subtract(beforeRangeRatio));
 | 
				
			||||||
                rangeBonusIncome = orderAchieve.multiply(beforeRangeRatio);
 | 
					
 | 
				
			||||||
 | 
					                beforeRangeRatio = bdAwards.getRangeRatio();
 | 
				
			||||||
 | 
					                beforeAwardsValue = calAwardsValue;
 | 
				
			||||||
            } else if (EAwards.GLOBAL_CHAIRMAN.getValue() == beforeAwardsValue && beforeSameAlgebra < 3
 | 
					            } else if (EAwards.GLOBAL_CHAIRMAN.getValue() == beforeAwardsValue && beforeSameAlgebra < 3
 | 
				
			||||||
                    && EOrderType.DISCOUNT_ORDER.getValue() != saOrderExt.getOrderType()) {
 | 
					                    && EOrderType.DISCOUNT_ORDER.getValue() != saOrderExt.getOrderType()) {
 | 
				
			||||||
                // 前一个等级是皇冠大使,需要有3代平级(五折专区不走平级收益)
 | 
					                // 前一个等级是皇冠大使,需要有3代平级(五折专区不走平级收益)
 | 
				
			||||||
| 
						 | 
					@ -1200,6 +1225,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                cuMemberBonusRangeList.add(sameLevelMemberBonusRange);
 | 
					                cuMemberBonusRangeList.add(sameLevelMemberBonusRange);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (EOrderType.DISCOUNT_ORDER.getValue() != saOrderExt.getOrderType()
 | 
				
			||||||
 | 
					                    && EAwards.GLOBAL_CHAIRMAN.getValue() == beforeAwardsValue && beforeSameAlgebra >= 3) {
 | 
				
			||||||
 | 
					                // 非五折专区,有领导奖、平级奖,本次奖衔是最高,并且已经拿满3次,直接退回
 | 
				
			||||||
 | 
					                break;
 | 
				
			||||||
 | 
					            } else if (EOrderType.DISCOUNT_ORDER.getValue() == saOrderExt.getOrderType()
 | 
				
			||||||
 | 
					                    && EAwards.GLOBAL_CHAIRMAN.getValue() == beforeAwardsValue) {
 | 
				
			||||||
 | 
					                // 五折专区,只有领导奖,本次奖衔是最高,直接退回
 | 
				
			||||||
 | 
					                break;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,6 +22,7 @@ import com.hzs.common.core.utils.ComputeUtil;
 | 
				
			||||||
import com.hzs.common.core.utils.DateUtils;
 | 
					import com.hzs.common.core.utils.DateUtils;
 | 
				
			||||||
import com.hzs.common.core.web.page.TableDataInfo;
 | 
					import com.hzs.common.core.web.page.TableDataInfo;
 | 
				
			||||||
import com.hzs.common.domain.member.bonus.CuMemberBonus;
 | 
					import com.hzs.common.domain.member.bonus.CuMemberBonus;
 | 
				
			||||||
 | 
					import com.hzs.common.domain.member.bonus.CuMemberBonusRange;
 | 
				
			||||||
import com.hzs.common.domain.member.ext.*;
 | 
					import com.hzs.common.domain.member.ext.*;
 | 
				
			||||||
import com.hzs.common.domain.system.config.BdBonusItems;
 | 
					import com.hzs.common.domain.system.config.BdBonusItems;
 | 
				
			||||||
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
 | 
					import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
 | 
				
			||||||
| 
						 | 
					@ -400,6 +401,15 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
 | 
				
			||||||
//                MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusRange, MemberBonusDetailSerVO.class);
 | 
					//                MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusRange, MemberBonusDetailSerVO.class);
 | 
				
			||||||
//                memberBonusDetailSerVoS.add(memberBonusDetailVO);
 | 
					//                memberBonusDetailSerVoS.add(memberBonusDetailVO);
 | 
				
			||||||
//            });
 | 
					//            });
 | 
				
			||||||
 | 
					        } else if (EBonusItems.RANGE_INCOME.getValue() == bonusItemsValue
 | 
				
			||||||
 | 
					                || EBonusItems.SAME_LEVEL_INCOME.getValue() == bonusItemsValue) {
 | 
				
			||||||
 | 
					            // 领导奖收益、平级奖收益
 | 
				
			||||||
 | 
					            List<CuMemberBonusRangeExt> cuMemberBonusRangeList = cuMemberBonusRangeMapper.queryMemberBonusRangeByBonusItemsForServer(bonusParam);
 | 
				
			||||||
 | 
					            dataTable = getDataTable(cuMemberBonusRangeList);
 | 
				
			||||||
 | 
					            cuMemberBonusRangeList.forEach(cuMemberBonusRange -> {
 | 
				
			||||||
 | 
					                MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusRange, MemberBonusDetailSerVO.class);
 | 
				
			||||||
 | 
					                memberBonusDetailSerVoS.add(memberBonusDetailVO);
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
        } else if (EBonusItems.STAGE_INCOME.getValue() == bonusItemsValue) {
 | 
					        } else if (EBonusItems.STAGE_INCOME.getValue() == bonusItemsValue) {
 | 
				
			||||||
            // 阶段收益
 | 
					            // 阶段收益
 | 
				
			||||||
            List<CuMemberBonusDetailExt> cuMemberBonusDetailList = cuMemberBonusStageMapper.queryMemberBonusStageByBonusItemsFoServer(bonusParam);
 | 
					            List<CuMemberBonusDetailExt> cuMemberBonusDetailList = cuMemberBonusStageMapper.queryMemberBonusStageByBonusItemsFoServer(bonusParam);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -161,9 +161,10 @@
 | 
				
			||||||
        where so.del_flag = 0
 | 
					        where so.del_flag = 0
 | 
				
			||||||
        ) so
 | 
					        ) so
 | 
				
			||||||
        inner join (
 | 
					        inner join (
 | 
				
			||||||
        select
 | 
					        select cb.pk_member, cr.pk_order, cb.period, cb.pk_country, cr.pk_bonus_items,
 | 
				
			||||||
        cb.pk_member,cr.pk_order,cb.period,cb.pk_country,cr.pk_bonus_items,cr.income_status,cr.CAL_ACHIEVE,cr.pretax_income,cr.income_tax,cr.real_income,
 | 
					        cr.income_status, cr.cal_achieve, cr.remark,
 | 
				
			||||||
        cr.remark,cr.income_ratio,cr.income_dial_ratio,cr.order_dial_ratio
 | 
					        cr.pretax_income, cr.income_tax, cr.real_income,
 | 
				
			||||||
 | 
					        cr.income_ratio, cr.income_dial_ratio, cr.order_dial_ratio
 | 
				
			||||||
        from cu_member_bonus cb
 | 
					        from cu_member_bonus cb
 | 
				
			||||||
        inner join CU_MEMBER_BONUS_RANGE cr
 | 
					        inner join CU_MEMBER_BONUS_RANGE cr
 | 
				
			||||||
        on cb.pk_id = cr.pk_bonus
 | 
					        on cb.pk_id = cr.pk_bonus
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue