Compare commits
	
		
			3 Commits
		
	
	
		
			564fb2bf12
			...
			fe382acca8
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | fe382acca8 | |
|  | 9f8b77867c | |
|  | ec0006a40c | 
|  | @ -76,11 +76,11 @@ public class CuMemberBonusController extends BaseController { | ||||||
|      */ |      */ | ||||||
|     @AccessPermissions("totalBonus") |     @AccessPermissions("totalBonus") | ||||||
|     @PostMapping("/query-bonus-total") |     @PostMapping("/query-bonus-total") | ||||||
|     @Log(module = EOperationModule.BONUS_TOTAL,business = EOperationBusiness.BONUS_TOTAL , method = EOperationMethod.SELECT) |     @Log(module = EOperationModule.BONUS_TOTAL, business = EOperationBusiness.BONUS_TOTAL, method = EOperationMethod.SELECT) | ||||||
|     @ColumnAuthority(perms = "totalBonus") |     @ColumnAuthority(perms = "totalBonus") | ||||||
|     public TableDataInfo listBonusTotal(@RequestBody BonusParam bonusParam){ |     public TableDataInfo listBonusTotal(@RequestBody BonusParam bonusParam) { | ||||||
|         List<Integer> pkVertex=new ArrayList<>(); |         List<Integer> pkVertex = new ArrayList<>(); | ||||||
|         if(StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())){ |         if (StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())) { | ||||||
|             pkVertex = Arrays.stream(bonusParam.getPkBdVertexStr().split(",")) |             pkVertex = Arrays.stream(bonusParam.getPkBdVertexStr().split(",")) | ||||||
|                     .map(Integer::parseInt) |                     .map(Integer::parseInt) | ||||||
|                     .collect(Collectors.toList()); |                     .collect(Collectors.toList()); | ||||||
|  | @ -99,10 +99,10 @@ public class CuMemberBonusController extends BaseController { | ||||||
|      * 分页查询会员某个时间段内的奖金汇总 |      * 分页查询会员某个时间段内的奖金汇总 | ||||||
|      */ |      */ | ||||||
|     @PostMapping("/export-bonus-total") |     @PostMapping("/export-bonus-total") | ||||||
|     @Log(module = EOperationModule.BONUS_TOTAL,business = EOperationBusiness.BONUS_TOTAL , method = EOperationMethod.EXPORT) |     @Log(module = EOperationModule.BONUS_TOTAL, business = EOperationBusiness.BONUS_TOTAL, method = EOperationMethod.EXPORT) | ||||||
|     public void exportBonusTotal(HttpServletResponse response, BonusParam bonusParam){ |     public void exportBonusTotal(HttpServletResponse response, BonusParam bonusParam) { | ||||||
|         List<Integer> pkVertex=new ArrayList<>(); |         List<Integer> pkVertex = new ArrayList<>(); | ||||||
|         if(StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())){ |         if (StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())) { | ||||||
|             pkVertex = Arrays.stream(bonusParam.getPkBdVertexStr().split(",")) |             pkVertex = Arrays.stream(bonusParam.getPkBdVertexStr().split(",")) | ||||||
|                     .map(Integer::parseInt) |                     .map(Integer::parseInt) | ||||||
|                     .collect(Collectors.toList()); |                     .collect(Collectors.toList()); | ||||||
|  | @ -121,7 +121,7 @@ public class CuMemberBonusController extends BaseController { | ||||||
|         List<BonusTotalVO> totalVoList = new ArrayList<>(); |         List<BonusTotalVO> totalVoList = new ArrayList<>(); | ||||||
|         cuMemberBonusList.forEach(cuMemberBonus -> { |         cuMemberBonusList.forEach(cuMemberBonus -> { | ||||||
|             BonusTotalVO bonusTotalVO = BeanUtil.copyProperties(cuMemberBonus, BonusTotalVO.class); |             BonusTotalVO bonusTotalVO = BeanUtil.copyProperties(cuMemberBonus, BonusTotalVO.class); | ||||||
|             for(String key : CuMemberBonusVO.INCOME_ARRAY){ |             for (String key : CuMemberBonusVO.INCOME_ARRAY) { | ||||||
|                 ReflectUtils.invokeSetter(bonusTotalVO, key + BonusFieldConstants.INCOME_SUFFIX, ComputeUtil.computeMultiply(ReflectUtils.invokeGetter(cuMemberBonus, key), cuMemberBonus.getOutExchangeRate())); |                 ReflectUtils.invokeSetter(bonusTotalVO, key + BonusFieldConstants.INCOME_SUFFIX, ComputeUtil.computeMultiply(ReflectUtils.invokeGetter(cuMemberBonus, key), cuMemberBonus.getOutExchangeRate())); | ||||||
|             } |             } | ||||||
|             totalVoList.add(bonusTotalVO); |             totalVoList.add(bonusTotalVO); | ||||||
|  | @ -135,9 +135,9 @@ public class CuMemberBonusController extends BaseController { | ||||||
|     @AccessPermissions("BonusDetail") |     @AccessPermissions("BonusDetail") | ||||||
|     @PostMapping("/query-bonus-detail") |     @PostMapping("/query-bonus-detail") | ||||||
|     @Log(module = EOperationModule.BONUS_DETAIL, method = EOperationMethod.SELECT) |     @Log(module = EOperationModule.BONUS_DETAIL, method = EOperationMethod.SELECT) | ||||||
|     public TableDataInfo listBonus(@RequestBody BonusParam bonusParam){ |     public TableDataInfo listBonus(@RequestBody BonusParam bonusParam) { | ||||||
|         List<Integer> pkVertex=new ArrayList<>(); |         List<Integer> pkVertex = new ArrayList<>(); | ||||||
|         if(StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())){ |         if (StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())) { | ||||||
|             pkVertex = Arrays.stream(bonusParam.getPkBdVertexStr().split(",")) |             pkVertex = Arrays.stream(bonusParam.getPkBdVertexStr().split(",")) | ||||||
|                     .map(Integer::parseInt) |                     .map(Integer::parseInt) | ||||||
|                     .collect(Collectors.toList()); |                     .collect(Collectors.toList()); | ||||||
|  | @ -145,16 +145,16 @@ public class CuMemberBonusController extends BaseController { | ||||||
|         bonusParam.setPkVertexList(pkVertex); |         bonusParam.setPkVertexList(pkVertex); | ||||||
|         bonusParam.setPkCountry(SecurityUtils.getPkCountry()); |         bonusParam.setPkCountry(SecurityUtils.getPkCountry()); | ||||||
|         //获取管理员权限《角色地区范围、 体系列表、团队列表) |         //获取管理员权限《角色地区范围、 体系列表、团队列表) | ||||||
|         Date date=DateUtils.currentDate(); |         Date date = DateUtils.currentDate(); | ||||||
|         if(bonusParam.getStartDate()==null||bonusParam.getEndDate()==null){ |         if (null == bonusParam.getStartDate() || null == bonusParam.getEndDate()) { | ||||||
|             bonusParam.setStartDate(DateUtils.currentMonthFirstDate()); |             bonusParam.setStartDate(DateUtils.currentMonthFirstDate()); | ||||||
|             bonusParam.setEndDate(DateUtils.beforeDate(1, ChronoUnit.DAYS,date)); |             bonusParam.setEndDate(DateUtils.beforeDate(1, ChronoUnit.DAYS, date)); | ||||||
|         } |         } | ||||||
|         packageBonusParam(bonusParam); |         packageBonusParam(bonusParam); | ||||||
|         startPage(); |         startPage(); | ||||||
|         List<CuMemberBonusExt> cuMemberBonusExtList = cuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam); |         List<CuMemberBonusExt> cuMemberBonusExtList = cuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam); | ||||||
|         CuMemberBonusExt cmb =cuMemberBonusService.queryMemberBonusByConditionForServerSum(bonusParam); |         CuMemberBonusExt cmb = cuMemberBonusService.queryMemberBonusByConditionForServerSum(bonusParam); | ||||||
|         if(cmb!=null){ |         if (cmb != null) { | ||||||
|             cmb.setMemberCode("合计"); |             cmb.setMemberCode("合计"); | ||||||
|             cuMemberBonusExtList.add(cmb); |             cuMemberBonusExtList.add(cmb); | ||||||
|         } |         } | ||||||
|  | @ -169,9 +169,9 @@ public class CuMemberBonusController extends BaseController { | ||||||
|      */ |      */ | ||||||
|     @PostMapping("/export-bonus-detail") |     @PostMapping("/export-bonus-detail") | ||||||
|     @Log(module = EOperationModule.BONUS_DETAIL, method = EOperationMethod.SELECT) |     @Log(module = EOperationModule.BONUS_DETAIL, method = EOperationMethod.SELECT) | ||||||
|     public void exportBonusDetail(HttpServletResponse response, BonusParam bonusParam){ |     public void exportBonusDetail(HttpServletResponse response, BonusParam bonusParam) { | ||||||
|         List<Integer> pkVertex=new ArrayList<>(); |         List<Integer> pkVertex = new ArrayList<>(); | ||||||
|         if(StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())){ |         if (StringUtils.isNotEmpty(bonusParam.getPkBdVertexStr())) { | ||||||
|             pkVertex = Arrays.stream(bonusParam.getPkBdVertexStr().split(",")) |             pkVertex = Arrays.stream(bonusParam.getPkBdVertexStr().split(",")) | ||||||
|                     .map(Integer::parseInt) |                     .map(Integer::parseInt) | ||||||
|                     .collect(Collectors.toList()); |                     .collect(Collectors.toList()); | ||||||
|  | @ -182,20 +182,20 @@ public class CuMemberBonusController extends BaseController { | ||||||
|         List<CuMemberBonusExt> cuMemberBonusExtList = cuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam); |         List<CuMemberBonusExt> cuMemberBonusExtList = cuMemberBonusService.queryMemberBonusVoByConditionForServer(bonusParam); | ||||||
|         CuMemberBonusExt cuMemberBonusExt = cuMemberBonusService.initCuMemberBonus(); |         CuMemberBonusExt cuMemberBonusExt = cuMemberBonusService.initCuMemberBonus(); | ||||||
|         cuMemberBonusExt.setMemberCode("小计:"); |         cuMemberBonusExt.setMemberCode("小计:"); | ||||||
|         if(CollectionUtil.isNotEmpty(cuMemberBonusExtList)) { |         if (CollectionUtil.isNotEmpty(cuMemberBonusExtList)) { | ||||||
|             cuMemberBonusExt.setOutExchangeRate(cuMemberBonusExtList.get(0).getOutExchangeRate()); |             cuMemberBonusExt.setOutExchangeRate(cuMemberBonusExtList.get(0).getOutExchangeRate()); | ||||||
|             for (CuMemberBonusExt memberBonusExt : cuMemberBonusExtList) { |             for (CuMemberBonusExt memberBonusExt : cuMemberBonusExtList) { | ||||||
|                 cuMemberBonusService.calculateBonusTotal(cuMemberBonusExt, memberBonusExt); |                 cuMemberBonusService.calculateBonusTotal(cuMemberBonusExt, memberBonusExt); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         cuMemberBonusExtList.add(cuMemberBonusExt); |         cuMemberBonusExtList.add(cuMemberBonusExt); | ||||||
|         List<CuMemberBonusVO> cuMemberBonusVoList =  getBonusDetail(cuMemberBonusExtList); |         List<CuMemberBonusVO> cuMemberBonusVoList = getBonusDetail(cuMemberBonusExtList); | ||||||
|         Map<String, Integer> bonusDetail = menuColumnServiceApi.queryMenuColumn("BonusDetail", SecurityUtils.getUserId()).getData(); |         Map<String, Integer> bonusDetail = menuColumnServiceApi.queryMenuColumn("BonusDetail", SecurityUtils.getUserId()).getData(); | ||||||
|         ExcelUtil<CuMemberBonusVO> util = new ExcelUtil<>(CuMemberBonusVO.class,bonusDetail); |         ExcelUtil<CuMemberBonusVO> util = new ExcelUtil<>(CuMemberBonusVO.class, bonusDetail); | ||||||
|         util.exportExcel(response, cuMemberBonusVoList, "奖金明细导出"); |         util.exportExcel(response, cuMemberBonusVoList, "奖金明细导出"); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private List<CuMemberBonusVO>  getBonusDetail(List<CuMemberBonusExt> cuMemberBonusExtList) { |     private List<CuMemberBonusVO> getBonusDetail(List<CuMemberBonusExt> cuMemberBonusExtList) { | ||||||
|         List<CuMemberBonusVO> cuMemberBonusVoList = new ArrayList<>(cuMemberBonusExtList.size()); |         List<CuMemberBonusVO> cuMemberBonusVoList = new ArrayList<>(cuMemberBonusExtList.size()); | ||||||
|         for (CuMemberBonusExt cuMemberBonusExt : cuMemberBonusExtList) { |         for (CuMemberBonusExt cuMemberBonusExt : cuMemberBonusExtList) { | ||||||
|             CuMemberBonusVO cuMemberBonusVO = BeanUtil.copyProperties(cuMemberBonusExt, CuMemberBonusVO.class); |             CuMemberBonusVO cuMemberBonusVO = BeanUtil.copyProperties(cuMemberBonusExt, CuMemberBonusVO.class); | ||||||
|  | @ -203,7 +203,7 @@ public class CuMemberBonusController extends BaseController { | ||||||
|             cuMemberBonusVO.setMemberCode(cuMemberBonusExt.getMemberCode()); |             cuMemberBonusVO.setMemberCode(cuMemberBonusExt.getMemberCode()); | ||||||
|             cuMemberBonusVO.setMemberName(cuMemberBonusExt.getMemberName()); |             cuMemberBonusVO.setMemberName(cuMemberBonusExt.getMemberName()); | ||||||
| 
 | 
 | ||||||
|             for(String key :CuMemberBonusVO.INCOME_ARRAY){ |             for (String key : CuMemberBonusVO.INCOME_ARRAY) { | ||||||
|                 ReflectUtils.invokeSetter(cuMemberBonusVO, key + BonusFieldConstants.INCOME_SUFFIX, ComputeUtil.computeMultiply(ReflectUtils.invokeGetter(cuMemberBonusExt, key), cuMemberBonusExt.getOutExchangeRate())); |                 ReflectUtils.invokeSetter(cuMemberBonusVO, key + BonusFieldConstants.INCOME_SUFFIX, ComputeUtil.computeMultiply(ReflectUtils.invokeGetter(cuMemberBonusExt, key), cuMemberBonusExt.getOutExchangeRate())); | ||||||
|             } |             } | ||||||
|             cuMemberBonusVoList.add(cuMemberBonusVO); |             cuMemberBonusVoList.add(cuMemberBonusVO); | ||||||
|  | @ -217,7 +217,7 @@ public class CuMemberBonusController extends BaseController { | ||||||
|     @AccessPermissions("sourceBonus") |     @AccessPermissions("sourceBonus") | ||||||
|     @PostMapping("/query-bonus-source") |     @PostMapping("/query-bonus-source") | ||||||
|     @Log(module = EOperationModule.BONUS_SOURCE, business = EOperationBusiness.BONUS_SOURCE, method = EOperationMethod.SELECT) |     @Log(module = EOperationModule.BONUS_SOURCE, business = EOperationBusiness.BONUS_SOURCE, method = EOperationMethod.SELECT) | ||||||
|     public TableDataInfo listBonusSource(@RequestBody BonusParam bonusParam){ |     public TableDataInfo listBonusSource(@RequestBody BonusParam bonusParam) { | ||||||
|         bonusParam.setPkCountry(SecurityUtils.getPkCountry()); |         bonusParam.setPkCountry(SecurityUtils.getPkCountry()); | ||||||
|         packageBonusParam(bonusParam); |         packageBonusParam(bonusParam); | ||||||
|         startPage(); |         startPage(); | ||||||
|  | @ -230,7 +230,7 @@ public class CuMemberBonusController extends BaseController { | ||||||
|      */ |      */ | ||||||
|     @PostMapping("/export-bonus-source") |     @PostMapping("/export-bonus-source") | ||||||
|     @Log(module = EOperationModule.BONUS_SOURCE, business = EOperationBusiness.BONUS_SOURCE, method = EOperationMethod.EXPORT) |     @Log(module = EOperationModule.BONUS_SOURCE, business = EOperationBusiness.BONUS_SOURCE, method = EOperationMethod.EXPORT) | ||||||
|     public void exportBonusSource(HttpServletResponse response, BonusParam bonusParam){ |     public void exportBonusSource(HttpServletResponse response, BonusParam bonusParam) { | ||||||
|         bonusParam.setPkCountry(SecurityUtils.getPkCountry()); |         bonusParam.setPkCountry(SecurityUtils.getPkCountry()); | ||||||
|         packageBonusParam(bonusParam); |         packageBonusParam(bonusParam); | ||||||
|         TableDataInfo tableDataInfo = cuMemberBonusService.queryMemberBonusDetailSerVoByCondition(bonusParam); |         TableDataInfo tableDataInfo = cuMemberBonusService.queryMemberBonusDetailSerVoByCondition(bonusParam); | ||||||
|  | @ -239,20 +239,20 @@ public class CuMemberBonusController extends BaseController { | ||||||
|         Map<String, String> transactionMap = transactionCommonService.exportEnumTransaction(EOrderType.values(), EBonusIncomeStatus.values()); |         Map<String, String> transactionMap = transactionCommonService.exportEnumTransaction(EOrderType.values(), EBonusIncomeStatus.values()); | ||||||
|         Map<Integer, String> transactionLongMap = transactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, EnumsPrefixConstants.KEY_AWARD); |         Map<Integer, String> transactionLongMap = transactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, EnumsPrefixConstants.KEY_AWARD); | ||||||
|         for (MemberBonusDetailSerVO memberBonusDetailSerVO : memberBonusDetailSerVOList) { |         for (MemberBonusDetailSerVO memberBonusDetailSerVO : memberBonusDetailSerVOList) { | ||||||
|             if(transactionMap.containsKey(EnumsPrefixConstants.ORDER_TYPE + memberBonusDetailSerVO.getOrderType().toString())) { |             if (transactionMap.containsKey(EnumsPrefixConstants.ORDER_TYPE + memberBonusDetailSerVO.getOrderType().toString())) { | ||||||
|                 memberBonusDetailSerVO.setOrderTypeVal(transactionMap.get(EnumsPrefixConstants.ORDER_TYPE + memberBonusDetailSerVO.getOrderType())); |                 memberBonusDetailSerVO.setOrderTypeVal(transactionMap.get(EnumsPrefixConstants.ORDER_TYPE + memberBonusDetailSerVO.getOrderType())); | ||||||
|             } |             } | ||||||
|             if(transactionMap.containsKey(EnumsPrefixConstants.BONUS_INCOME_STATUS + memberBonusDetailSerVO.getIncomeStatus())){ |             if (transactionMap.containsKey(EnumsPrefixConstants.BONUS_INCOME_STATUS + memberBonusDetailSerVO.getIncomeStatus())) { | ||||||
|                 memberBonusDetailSerVO.setIncomeStatusVal(transactionMap.get(EnumsPrefixConstants.BONUS_INCOME_STATUS + memberBonusDetailSerVO.getIncomeStatus())); |                 memberBonusDetailSerVO.setIncomeStatusVal(transactionMap.get(EnumsPrefixConstants.BONUS_INCOME_STATUS + memberBonusDetailSerVO.getIncomeStatus())); | ||||||
|             } |             } | ||||||
|             if(transactionLongMap.containsKey(memberBonusDetailSerVO.getPkSettleGrade())){ |             if (transactionLongMap.containsKey(memberBonusDetailSerVO.getPkSettleGrade())) { | ||||||
|                 memberBonusDetailSerVO.setPkSettleGradeVal(transactionLongMap.get(memberBonusDetailSerVO.getPkSettleGrade())); |                 memberBonusDetailSerVO.setPkSettleGradeVal(transactionLongMap.get(memberBonusDetailSerVO.getPkSettleGrade())); | ||||||
|             } |             } | ||||||
|             if(transactionLongMap.containsKey(memberBonusDetailSerVO.getPkAwards())){ |             if (transactionLongMap.containsKey(memberBonusDetailSerVO.getPkAwards())) { | ||||||
|                 memberBonusDetailSerVO.setPkAwardsVal(transactionLongMap.get(memberBonusDetailSerVO.getPkAwards())); |                 memberBonusDetailSerVO.setPkAwardsVal(transactionLongMap.get(memberBonusDetailSerVO.getPkAwards())); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         ExcelUtil<MemberBonusDetailSerVO> util = new ExcelUtil<>(MemberBonusDetailSerVO.class,menuColumnServiceApi.queryMenuColumn("sourceBonus", SecurityUtils.getUserId()).getData()); |         ExcelUtil<MemberBonusDetailSerVO> util = new ExcelUtil<>(MemberBonusDetailSerVO.class, menuColumnServiceApi.queryMenuColumn("sourceBonus", SecurityUtils.getUserId()).getData()); | ||||||
|         util.exportExcel(response, memberBonusDetailSerVOList, "奖金来源导出"); |         util.exportExcel(response, memberBonusDetailSerVOList, "奖金来源导出"); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -45,11 +45,11 @@ import java.util.*; | ||||||
| public abstract class BonusSettleHandle { | public abstract class BonusSettleHandle { | ||||||
| 
 | 
 | ||||||
|     @DubboReference |     @DubboReference | ||||||
|     protected ISaOrderServiceApi saOrderServiceApi; |     ISaOrderServiceApi saOrderServiceApi; | ||||||
|     @DubboReference |     @DubboReference | ||||||
|     protected IBonusItemsServiceApi bonusItemsServiceApi; |     IBonusItemsServiceApi bonusItemsServiceApi; | ||||||
|     @DubboReference |     @DubboReference | ||||||
|     private ICurrencyServiceApi currencyServiceApi; |     ICurrencyServiceApi currencyServiceApi; | ||||||
| 
 | 
 | ||||||
|     protected ICuMemberTreeService cuMemberTreeService; |     protected ICuMemberTreeService cuMemberTreeService; | ||||||
| 
 | 
 | ||||||
|  | @ -655,33 +655,12 @@ public abstract class BonusSettleHandle { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  |      * 获得 直推级差收益的备注 | ||||||
|  |      * | ||||||
|      * @param saOrderExt           订单编号 |      * @param saOrderExt           订单编号 | ||||||
|      * @param cuMemberBonusRange   报单服务费 |      * @param cuMemberBonusRange   报单服务费 | ||||||
|      * @param sourceMemberRangeExt 提供奖金的人 |      * @param sourceMemberRangeExt 提供奖金的人 | ||||||
|      * @param targetMemberRangeExt 获得奖金的人 |      * @param targetMemberRangeExt 获得奖金的人 | ||||||
|      * @Description: 获得 报单服务费收益的备注 |  | ||||||
|      * @return: String |  | ||||||
|      * @Author: sui q |  | ||||||
|      * @Date: 2022/11/17 11:22 |  | ||||||
|      */ |  | ||||||
|     protected void rangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRangeExt sourceMemberRangeExt, |  | ||||||
|                                CuMemberRangeExt targetMemberRangeExt) { |  | ||||||
|         String remark = String.format(BonusMsgConstants.RANGE, saOrderExt.getOrderCode(), |  | ||||||
|                 sourceMemberRangeExt.getMemberCode() + sourceMemberRangeExt.getMemberName(), |  | ||||||
|                 targetMemberRangeExt.getMemberCode() + targetMemberRangeExt.getMemberName(), |  | ||||||
|                 cuMemberBonusRange.getCalAchieve(), sourceMemberRangeExt.getRangeAwardsValue(), targetMemberRangeExt.getRangeAwardsValue()); |  | ||||||
|         cuMemberBonusRange.setRemark(remark); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     /** |  | ||||||
|      * @param saOrderExt           订单编号 |  | ||||||
|      * @param cuMemberBonusRange   报单服务费 |  | ||||||
|      * @param sourceMemberRangeExt 提供奖金的人 |  | ||||||
|      * @param targetMemberRangeExt 获得奖金的人 |  | ||||||
|      * @Description: 获得 报单服务费收益的备注 |  | ||||||
|      * @return: String |  | ||||||
|      * @Author: sui q |  | ||||||
|      * @Date: 2022/11/17 11:22 |  | ||||||
|      */ |      */ | ||||||
|     protected void rangeRetailRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRetailRangeExt sourceMemberRangeExt, |     protected void rangeRetailRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRetailRangeExt sourceMemberRangeExt, | ||||||
|                                      CuMemberRetailRangeExt targetMemberRangeExt) { |                                      CuMemberRetailRangeExt targetMemberRangeExt) { | ||||||
|  | @ -710,32 +689,13 @@ public abstract class BonusSettleHandle { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 获得 报单服务费收益的备注 |      * 获得 平级收益的备注 | ||||||
|      * |      * | ||||||
|      * @param saOrderExt           订单编号 |      * @param saOrderExt           订单编号 | ||||||
|      * @param cuMemberBonusRange   报单服务费 |      * @param cuMemberBonusRange   报单服务费 | ||||||
|      * @param sourceMemberRangeExt 提供奖金的人 |      * @param sourceMemberRangeExt 提供奖金的人 | ||||||
|      * @param targetMemberRangeExt 获得奖金的人 |      * @param targetMemberRangeExt 获得奖金的人 | ||||||
|      */ |      */ | ||||||
|     protected void oriRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRangeExt sourceMemberRangeExt, |  | ||||||
|                                   CuMemberRangeExt targetMemberRangeExt) { |  | ||||||
|         String remark = String.format(BonusMsgConstants.ORI_RANGE, saOrderExt.getOrderCode(), |  | ||||||
|                 sourceMemberRangeExt.getMemberCode() + sourceMemberRangeExt.getMemberName(), |  | ||||||
|                 targetMemberRangeExt.getMemberCode() + targetMemberRangeExt.getMemberName(), |  | ||||||
|                 cuMemberBonusRange.getCalAchieve(), targetMemberRangeExt.getRangeAwardsValue()); |  | ||||||
|         cuMemberBonusRange.setRemark(remark); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     /** |  | ||||||
|      * @param saOrderExt           订单编号 |  | ||||||
|      * @param cuMemberBonusRange   报单服务费 |  | ||||||
|      * @param sourceMemberRangeExt 提供奖金的人 |  | ||||||
|      * @param targetMemberRangeExt 获得奖金的人 |  | ||||||
|      * @Description: 获得 报单服务费收益的备注 |  | ||||||
|      * @return: String |  | ||||||
|      * @Author: sui q |  | ||||||
|      * @Date: 2022/11/17 11:22 |  | ||||||
|      */ |  | ||||||
|     protected void oriRetailRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRetailRangeExt sourceMemberRangeExt, |     protected void oriRetailRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRetailRangeExt sourceMemberRangeExt, | ||||||
|                                         CuMemberRetailRangeExt targetMemberRangeExt) { |                                         CuMemberRetailRangeExt targetMemberRangeExt) { | ||||||
|         String remark = String.format(BonusMsgConstants.ORI_RANGE, saOrderExt.getOrderCode(), |         String remark = String.format(BonusMsgConstants.ORI_RANGE, saOrderExt.getOrderCode(), | ||||||
|  |  | ||||||
|  | @ -77,8 +77,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|         // 会员结算map(key:会员ID,value:结算扩展) |         // 会员结算map(key:会员ID,value:结算扩展) | ||||||
|         Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>(); |         Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>(); | ||||||
| 
 | 
 | ||||||
|         // 购买升级等级map(key:等级值,value:等级对象) |  | ||||||
|         Map<Integer, BdGrade> retaiBuyGradeMap = new TreeMap<>(); |  | ||||||
|         // 团队升级等级map(key:等级值,value:等级对象) |         // 团队升级等级map(key:等级值,value:等级对象) | ||||||
|         Map<Integer, BdGrade> retailTeamGradeMap = new TreeMap<>(); |         Map<Integer, BdGrade> retailTeamGradeMap = new TreeMap<>(); | ||||||
|         // 等级map(key:等级值,value:等级对象) |         // 等级map(key:等级值,value:等级对象) | ||||||
|  | @ -86,9 +84,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|         // 等级列表 |         // 等级列表 | ||||||
|         List<BdGrade> retaiGradeList = bonusConfigDTO.getRetaiGradeList(); |         List<BdGrade> retaiGradeList = bonusConfigDTO.getRetaiGradeList(); | ||||||
|         for (BdGrade bdGrade : retaiGradeList) { |         for (BdGrade bdGrade : retaiGradeList) { | ||||||
|             if (bdGrade.getBoxNumber() > 0) { |  | ||||||
|                 retaiBuyGradeMap.put(bdGrade.getGradeValue(), bdGrade); |  | ||||||
|             } |  | ||||||
|             if (bdGrade.getBoxTotal() > 0) { |             if (bdGrade.getBoxTotal() > 0) { | ||||||
|                 retailTeamGradeMap.put(bdGrade.getGradeValue(), bdGrade); |                 retailTeamGradeMap.put(bdGrade.getGradeValue(), bdGrade); | ||||||
|             } |             } | ||||||
|  | @ -102,28 +97,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
| 
 | 
 | ||||||
|         for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) { |         for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) { | ||||||
|             if (!memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { |             if (!memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { | ||||||
|                 // 会员结算map不存在这个会员,则为新会员没处理过,需要处理 |  | ||||||
|                 cuMemberRetailRangeExt.setBuyNum(0); |  | ||||||
|                 // TODO new 目前一次性补差升级,不需要校验是不是当天了 |  | ||||||
|                 cuMemberRetailRangeExt.setSameDate(EYesNo.NO.getIntValue()); |  | ||||||
| //                if (cuMemberRetailRangeExt.getPayTime() != null && DateUtils.compareDateEqual(DateUtils.parseStringToDate(settleDate), cuMemberRetailRangeExt.getPayTime())) { |  | ||||||
| //                    cuMemberRetailRangeExt.setSameDate(EYesNo.YES.getIntValue()); |  | ||||||
| //                } else { |  | ||||||
| //                    cuMemberRetailRangeExt.setSameDate(EYesNo.NO.getIntValue()); |  | ||||||
| //                } |  | ||||||
|                 for (Integer gradeValue : retaiBuyGradeMap.keySet()) { |  | ||||||
|                     BdGrade bdGrade = retaiBuyGradeMap.get(gradeValue); |  | ||||||
|                     if (bdGrade.getBoxNumber() > 0 && cuMemberRetailRangeExt.getGradeValue().equals(gradeValue)) { |  | ||||||
|                         // TODO new 一次性补差,需要下个等级的盒数 - 当前等级盒数??? |  | ||||||
|                         cuMemberRetailRangeExt.setBuyNum(bdGrade.getBoxNumber()); |  | ||||||
| //                        if (cuMemberRetailRangeExt.getSameDate().equals(EYesNo.YES.getIntValue())) { |  | ||||||
| //                            cuMemberRetailRangeExt.setBuyNum(cuMemberRetailRangeExt.getNewBoxNum()); |  | ||||||
| //                        } else { |  | ||||||
| //                            cuMemberRetailRangeExt.setBuyNum(bdGrade.getBoxNumber()); |  | ||||||
| //                        } |  | ||||||
|                         break; |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|                 memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt); |                 memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | @ -159,7 +132,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|         // 计算团队业绩、盒数,计算等级、奖衔 |         // 计算团队业绩、盒数,计算等级、奖衔 | ||||||
|         cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, boxNum, cuMemberGradeList)); |         cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, boxNum, cuMemberGradeList)); | ||||||
| 
 | 
 | ||||||
|         // TODO new 奖金处理 |         // 奖金处理 | ||||||
|         List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>(); |         List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>(); | ||||||
|         if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() |         if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() | ||||||
|                 || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType() |                 || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType() | ||||||
|  | @ -171,11 +144,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                     // 计算直推级差收益 + 平级收益 |                     // 计算直推级差收益 + 平级收益 | ||||||
|                     cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, currentPeriod, saOrderItems, saOrderExt)); |                     cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, currentPeriod, saOrderItems, saOrderExt)); | ||||||
| 
 | 
 | ||||||
|                     if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() |                     // 注册、升级 并且有盒数商品,算激活 | ||||||
|                             || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { |                     sourceMemberRangeExt.setEnableStatus(EYesNo.YES.getIntValue()); | ||||||
|                         // 注册、升级,计算是否激活 |  | ||||||
|                         sourceMemberRangeExt.setEnableStatus(EYesNo.YES.getIntValue()); |  | ||||||
|                     } |  | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | @ -396,6 +366,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  |      * 日结: | ||||||
|      * 计算新零售团队的奖金,极差、平级、福利、福利分红、区域 |      * 计算新零售团队的奖金,极差、平级、福利、福利分红、区域 | ||||||
|      */ |      */ | ||||||
|     void calculateRetailBonusByDay(String settleDate, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, BonusRecordDetailVO bonusRecordDetailVO, |     void calculateRetailBonusByDay(String settleDate, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusConfigDTO bonusConfigDTO, BonusRecordDetailVO bonusRecordDetailVO, | ||||||
|  | @ -444,6 +415,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|             Map<Integer, BdGrade> retaiBuyGradeMap = new TreeMap<>(); |             Map<Integer, BdGrade> retaiBuyGradeMap = new TreeMap<>(); | ||||||
|             // 团队升级等级map(key:等级值,value:等级对象) |             // 团队升级等级map(key:等级值,value:等级对象) | ||||||
|             Map<Integer, BdGrade> retailTeamGradeMap = new TreeMap<>(); |             Map<Integer, BdGrade> retailTeamGradeMap = new TreeMap<>(); | ||||||
|  |             // 等级map(key:等级值,value:等级对象) | ||||||
|             Map<Integer, BdGrade> gradeMap = new HashMap<>(); |             Map<Integer, BdGrade> gradeMap = new HashMap<>(); | ||||||
|             // 等级map(key:等级ID,value:等级对象) |             // 等级map(key:等级ID,value:等级对象) | ||||||
|             Map<Integer, BdGrade> gradeIdMap = new HashMap<>(); |             Map<Integer, BdGrade> gradeIdMap = new HashMap<>(); | ||||||
|  | @ -470,21 +442,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                     cuMemberRetailRangeExt.setBuyNum(0); |                     cuMemberRetailRangeExt.setBuyNum(0); | ||||||
|                     // TODO new 目前一次性补差升级,不需要校验是不是当天了 |                     // TODO new 目前一次性补差升级,不需要校验是不是当天了 | ||||||
|                     cuMemberRetailRangeExt.setSameDate(EYesNo.NO.getIntValue()); |                     cuMemberRetailRangeExt.setSameDate(EYesNo.NO.getIntValue()); | ||||||
| //                    if (cuMemberRetailRangeExt.getPayTime() != null && DateUtils.compareDateEqual(DateUtils.parseStringToDate(settleDate), cuMemberRetailRangeExt.getPayTime())) { |  | ||||||
| //                        cuMemberRetailRangeExt.setSameDate(EYesNo.YES.getIntValue()); |  | ||||||
| //                    } else { |  | ||||||
| //                        cuMemberRetailRangeExt.setSameDate(EYesNo.NO.getIntValue()); |  | ||||||
| //                    } |  | ||||||
|                     for (Integer gradeValue : retaiBuyGradeMap.keySet()) { |                     for (Integer gradeValue : retaiBuyGradeMap.keySet()) { | ||||||
|                         BdGrade bdGrade = retaiBuyGradeMap.get(gradeValue); |                         BdGrade bdGrade = retaiBuyGradeMap.get(gradeValue); | ||||||
|                         if (bdGrade.getBoxNumber() > 0 && cuMemberRetailRangeExt.getGradeValue().equals(gradeValue)) { |                         if (bdGrade.getBoxNumber() > 0 && cuMemberRetailRangeExt.getGradeValue().equals(gradeValue)) { | ||||||
|                             // TODO new 一次性补差,需要下个等级的盒数 - 当前等级盒数??? |                             // TODO new 一次性补差,需要下个等级的盒数 - 当前等级盒数??? | ||||||
|                             cuMemberRetailRangeExt.setBuyNum(bdGrade.getBoxNumber()); |                             cuMemberRetailRangeExt.setBuyNum(bdGrade.getBoxNumber()); | ||||||
| //                            if (cuMemberRetailRangeExt.getSameDate().equals(EYesNo.YES.getIntValue())) { |  | ||||||
| //                                cuMemberRetailRangeExt.setBuyNum(cuMemberRetailRangeExt.getNewBoxNum()); |  | ||||||
| //                            } else { |  | ||||||
| //                                cuMemberRetailRangeExt.setBuyNum(bdGrade.getBoxNumber()); |  | ||||||
| //                            } |  | ||||||
|                             break; |                             break; | ||||||
|                         } |                         } | ||||||
|                     } |                     } | ||||||
|  | @ -541,8 +503,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                 // 计算团队业绩、盒数,计算等级、奖衔 |                 // 计算团队业绩、盒数,计算等级、奖衔 | ||||||
|                 cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, boxNum, cuMemberGradeList)); |                 cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, boxNum, cuMemberGradeList)); | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|                 // TODO new 奖金处理 |  | ||||||
|                 // 计算奖金 直推级差 + 平级收益 |                 // 计算奖金 直推级差 + 平级收益 | ||||||
|                 if ((EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() |                 if ((EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() | ||||||
|                         || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) |                         || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) | ||||||
|  | @ -1308,20 +1268,20 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|         CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); |         CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); | ||||||
|         // 推荐人 |         // 推荐人 | ||||||
|         long pkParent = sourceMemberRangeExt.getPkParent(); |         long pkParent = sourceMemberRangeExt.getPkParent(); | ||||||
|         // 商品价格(没有乘商品数量) | 
 | ||||||
|  | //        // 商品价格 | ||||||
|  | //        BigDecimal beginBuyPrice = saOrderItems.getWaresPrice(); | ||||||
|  | //        BigDecimal comBuyPrice = saOrderItems.getWaresPrice(); | ||||||
|  | // | ||||||
|  | //        // 开始计算等级值 | ||||||
|  | //        int beginGradeValue = sourceMemberRangeExt.getGradeValue(); | ||||||
|  | //        // 直推级差收益 | ||||||
|  | //        BigDecimal calBonusIncome = BigDecimal.ZERO; | ||||||
|  | 
 | ||||||
|  |         // 商品最终价格 | ||||||
|         BigDecimal waresPrice = saOrderItems.getWaresPrice(); |         BigDecimal waresPrice = saOrderItems.getWaresPrice(); | ||||||
|         // 商品数量 |         // 商品数量 | ||||||
|         Integer waresQuantity = saOrderItems.getWaresQuantity(); |         BigDecimal waresQuantityBig = new BigDecimal(saOrderItems.getWaresQuantity()); | ||||||
| 
 |  | ||||||
|         // 商品价格 |  | ||||||
|         BigDecimal beginBuyPrice = saOrderItems.getWaresPrice(); |  | ||||||
|         BigDecimal comBuyPrice = saOrderItems.getWaresPrice(); |  | ||||||
| 
 |  | ||||||
|         // 开始计算等级值 |  | ||||||
|         int beginGradeValue = sourceMemberRangeExt.getGradeValue(); |  | ||||||
|         // 直推级差收益 |  | ||||||
|         BigDecimal calBonusIncome = BigDecimal.ZERO; |  | ||||||
| 
 |  | ||||||
|         // 前一个会员等级 |         // 前一个会员等级 | ||||||
|         int beforeGradeValue = 0; |         int beforeGradeValue = 0; | ||||||
|         // 前一个会员等级的平级收益人数 |         // 前一个会员等级的平级收益人数 | ||||||
|  | @ -1348,6 +1308,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|             } |             } | ||||||
|             // 当前会员等级值 |             // 当前会员等级值 | ||||||
|             int calGradeValue = targetMemberRangeExt.getGradeValue(); |             int calGradeValue = targetMemberRangeExt.getGradeValue(); | ||||||
|  |             // 当前会员等级 | ||||||
|  |             BdGrade bdGrade = gradeMap.get(calGradeValue); | ||||||
| 
 | 
 | ||||||
|             // 直推级差税前收益 |             // 直推级差税前收益 | ||||||
|             BigDecimal rangeBonusIncome = null; |             BigDecimal rangeBonusIncome = null; | ||||||
|  | @ -1358,19 +1320,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                 // 前一个会员等级为0,肯定为第一次处理,直接处理直推级差收益 |                 // 前一个会员等级为0,肯定为第一次处理,直接处理直推级差收益 | ||||||
|                 if (EGrade.HAI_FAN.getValue() == calGradeValue) { |                 if (EGrade.HAI_FAN.getValue() == calGradeValue) { | ||||||
|                     // VIP,拿1份40 |                     // VIP,拿1份40 | ||||||
|                     rangeBonusIncome = RetailConstants.RANGE_BONUS; |                     rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig); | ||||||
|                 } else if (EGrade.YOU_KE.getValue() == calGradeValue) { |                 } else if (EGrade.YOU_KE.getValue() == calGradeValue) { | ||||||
|                     // SVIP,拿2份40 |                     // SVIP,拿2份40 | ||||||
|                     rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal("2")); |                     rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal("2")); | ||||||
|                 } else if (EGrade.MAKER.getValue() == calGradeValue) { |                 } else if (EGrade.MAKER.getValue() == calGradeValue) { | ||||||
|                     // 卓越,拿3份40 |                     // 卓越,拿3份40 | ||||||
|                     rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal("3")); |                     rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal("3")); | ||||||
|                 } else if (EGrade.VIP.getValue() == calGradeValue) { |                 } else if (EGrade.VIP.getValue() == calGradeValue) { | ||||||
|                     // 首席,拿4份40 |                     // 首席,拿4份40 | ||||||
|                     rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal("4")); |                     rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal("4")); | ||||||
|                 } else if (EGrade.S_VIP.getValue() == calGradeValue) { |                 } else if (EGrade.S_VIP.getValue() == calGradeValue) { | ||||||
|                     // 合伙人,拿5份40 |                     // 合伙人,拿5份40 | ||||||
|                     rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal("5")); |                     rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal("5")); | ||||||
|                 } |                 } | ||||||
|                 // 赋值前一个会员等级 |                 // 赋值前一个会员等级 | ||||||
|                 beforeGradeValue = calGradeValue; |                 beforeGradeValue = calGradeValue; | ||||||
|  | @ -1380,8 +1342,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                     // V1 没有平级收益 |                     // V1 没有平级收益 | ||||||
|                     continue; |                     continue; | ||||||
|                 } |                 } | ||||||
|                 if (beforeSameAlgebra >= RetailConstants.SAME_ALGEBRA) { |                 if (beforeSameAlgebra >= bdGrade.getAlgebra()) { | ||||||
|                     // 平级收益已经满10代,不继续处理平级收益 |                     // 平级收益已经满10代,不继续处理平级收益 | ||||||
|  |                     if (EGrade.S_VIP.getValue() == beforeGradeValue) { | ||||||
|  |                         // 平级处理等级为最高级V5,则结束处理 | ||||||
|  |                         break; | ||||||
|  |                     } | ||||||
|                     continue; |                     continue; | ||||||
|                 } |                 } | ||||||
|                 // 平级收益(商品价格 * 千分之五) -- 2位小数,四舍五入 |                 // 平级收益(商品价格 * 千分之五) -- 2位小数,四舍五入 | ||||||
|  | @ -1395,7 +1361,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                 int tmpGradeVal = (calGradeValue - beforeGradeValue) / 10; |                 int tmpGradeVal = (calGradeValue - beforeGradeValue) / 10; | ||||||
| 
 | 
 | ||||||
|                 // 新等级的直推级差收益 |                 // 新等级的直推级差收益 | ||||||
|                 rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(new BigDecimal(tmpGradeVal)); |                 rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal(tmpGradeVal)); | ||||||
|                 // 直推级差收益 = 新等级的直推级差收益 - 上一等级的平级收益 |                 // 直推级差收益 = 新等级的直推级差收益 - 上一等级的平级收益 | ||||||
|                 rangeBonusIncome = rangeBonusIncome.subtract(beforeSameBonus); |                 rangeBonusIncome = rangeBonusIncome.subtract(beforeSameBonus); | ||||||
| 
 | 
 | ||||||
|  | @ -1416,7 +1382,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                 int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_RANGE_INCOME.getValue()); |                 int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_RANGE_INCOME.getValue()); | ||||||
|                 CuMemberBonusRange cuMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems); |                 CuMemberBonusRange cuMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems); | ||||||
|                 cuMemberBonusRange.setCalValue(BigDecimal.ZERO); |                 cuMemberBonusRange.setCalValue(BigDecimal.ZERO); | ||||||
|                 cuMemberBonusRange.setPretaxIncome(rangeBonusIncome.multiply(new BigDecimal(waresQuantity))); |                 cuMemberBonusRange.setCalAchieve(waresPrice); | ||||||
|  |                 cuMemberBonusRange.setPretaxIncome(rangeBonusIncome); | ||||||
|                 cuMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade()); |                 cuMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade()); | ||||||
|                 cuMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade()); |                 cuMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade()); | ||||||
|                 cuMemberBonusRange.setPkOrderItems(saOrderItems.getPkId()); |                 cuMemberBonusRange.setPkOrderItems(saOrderItems.getPkId()); | ||||||
|  | @ -1434,8 +1401,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                         targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate()); |                         targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate()); | ||||||
|                 int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_SAME_LEVEL_INCOME.getValue()); |                 int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_SAME_LEVEL_INCOME.getValue()); | ||||||
|                 CuMemberBonusRange oriMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems); |                 CuMemberBonusRange oriMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems); | ||||||
|                 oriMemberBonusRange.setCalValue(BigDecimal.valueOf(2)); |                 oriMemberBonusRange.setCalValue(RetailConstants.SAME_RATIO); | ||||||
|                 oriMemberBonusRange.setPretaxIncome(sameBonusIncome.multiply(new BigDecimal(waresQuantity))); |                 oriMemberBonusRange.setCalAchieve(waresPrice); | ||||||
|  |                 oriMemberBonusRange.setPretaxIncome(sameBonusIncome); | ||||||
|                 oriMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade()); |                 oriMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade()); | ||||||
|                 oriMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade()); |                 oriMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade()); | ||||||
|                 oriMemberBonusRange.setPkOrderItems(saOrderItems.getPkId()); |                 oriMemberBonusRange.setPkOrderItems(saOrderItems.getPkId()); | ||||||
|  | @ -1448,135 +1416,127 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                 memberBonusRangeList.add(oriMemberBonusRange); |                 memberBonusRangeList.add(oriMemberBonusRange); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             /////////////////////////////////////////////////////////////// | //            // 如果价格是209,代表是第一单激活,只有平级收益,只有V5有平级收益 | ||||||
| 
 | //            if (beginBuyPrice.equals(BigDecimal.valueOf(209))) { | ||||||
| 
 | //                calGradeValue = EGrade.S_VIP.getValue(); | ||||||
|             // 如果价格是209,代表是第一单激活,只有平级收益,只有V5有平级收益 | //                if (beginGradeValue < EGrade.S_VIP.getValue()) { | ||||||
|             if (beginBuyPrice.equals(BigDecimal.valueOf(209))) { | //                    beginGradeValue = EGrade.S_VIP.getValue(); | ||||||
|                 calGradeValue = EGrade.S_VIP.getValue(); | //                } | ||||||
|                 if (beginGradeValue < EGrade.S_VIP.getValue()) { | //            } | ||||||
|                     beginGradeValue = EGrade.S_VIP.getValue(); | //            BdGrade bdGrade = gradeMap.get(calGradeValue); | ||||||
|                 } | //            BigDecimal buyPrice = bdGrade.getBuyPrice(); | ||||||
|             } | //            boolean isRange = Boolean.FALSE; | ||||||
|             BdGrade bdGrade = gradeMap.get(calGradeValue); | //            // 有极差或者有平级 | ||||||
|             BigDecimal buyPrice = bdGrade.getBuyPrice(); | //            if (ComputeUtil.compareGreaterThan(beginBuyPrice, buyPrice)) { | ||||||
|             boolean isRange = Boolean.FALSE; | //                // 计算极差 | ||||||
|             // 有极差或者有平级 | //                CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(), | ||||||
|             if (ComputeUtil.compareGreaterThan(beginBuyPrice, buyPrice)) { | //                        targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate()); | ||||||
|                 // 计算极差 | //                int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_RANGE_INCOME.getValue()); | ||||||
| 
 | //                CuMemberBonusRange cuMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems); | ||||||
|                 CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(), | //                cuMemberBonusRange.setCalValue(BigDecimal.ZERO); | ||||||
|                         targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate()); | //                cuMemberBonusRange.setPretaxIncome(ComputeUtil.computeDivide(ComputeUtil.computeMultiply(ComputeUtil.computeSubtract(ComputeUtil.computeSubtract(beginBuyPrice, buyPrice), calBonusIncome), saOrderItems.getWaresQuantity()), BigDecimal.ONE)); | ||||||
|                 int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_RANGE_INCOME.getValue()); | //                cuMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade()); | ||||||
|                 CuMemberBonusRange cuMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems); | //                cuMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade()); | ||||||
|                 cuMemberBonusRange.setCalValue(BigDecimal.ZERO); | //                cuMemberBonusRange.setPkOrderItems(saOrderItems.getPkId()); | ||||||
|                 cuMemberBonusRange.setPretaxIncome(ComputeUtil.computeDivide(ComputeUtil.computeMultiply(ComputeUtil.computeSubtract(ComputeUtil.computeSubtract(beginBuyPrice, buyPrice), calBonusIncome), saOrderItems.getWaresQuantity()), BigDecimal.ONE)); | //                rangeRetailRemark(saOrderExt, cuMemberBonusRange, sourceMemberRangeExt, targetMemberRangeExt); | ||||||
|                 cuMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade()); | //                BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); | ||||||
|                 cuMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade()); | //                if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) { | ||||||
|                 cuMemberBonusRange.setPkOrderItems(saOrderItems.getPkId()); | //                    cuMemberBonus.setRetailRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailRangeIncome(), cuMemberBonusRange.getPretaxIncome())); | ||||||
|                 rangeRetailRemark(saOrderExt, cuMemberBonusRange, sourceMemberRangeExt, targetMemberRangeExt); | //                    setRetailTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange); | ||||||
|                 BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); | //                } | ||||||
|                 if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) { | //                memberBonusRangeList.add(cuMemberBonusRange); | ||||||
|                     cuMemberBonus.setRetailRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailRangeIncome(), cuMemberBonusRange.getPretaxIncome())); | // | ||||||
|                     setRetailTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange); | //                beginBuyPrice = buyPrice; | ||||||
|                 } | //                comBuyPrice = buyPrice; | ||||||
|                 memberBonusRangeList.add(cuMemberBonusRange); | //                beginGradeValue = calGradeValue; | ||||||
| 
 | //                sourceMemberRangeExt = targetMemberRangeExt; | ||||||
|                 beginBuyPrice = buyPrice; | //                calBonusIncome = BigDecimal.ZERO; | ||||||
|                 comBuyPrice = buyPrice; | //            } else { | ||||||
|                 beginGradeValue = calGradeValue; | //                isRange = Boolean.TRUE; | ||||||
|                 sourceMemberRangeExt = targetMemberRangeExt; | //                pkParent = targetMemberRangeExt.getPkMember(); | ||||||
|                 calBonusIncome = BigDecimal.ZERO; | //            } | ||||||
|             } else { | //            if (saOrderExt.getOrderType().equals(EOrderType.RETAIL_CONSUME.getValue())) { | ||||||
|                 isRange = Boolean.TRUE; | //                if (isRange) { | ||||||
|                 pkParent = targetMemberRangeExt.getPkMember(); | //                    pkParent = targetMemberRangeExt.getPkParent(); | ||||||
|             } | //                } | ||||||
|             if (saOrderExt.getOrderType().equals(EOrderType.RETAIL_CONSUME.getValue())) { | //                continue; | ||||||
|                 if (isRange) { | //            } | ||||||
|                     pkParent = targetMemberRangeExt.getPkParent(); | //            if (bdGrade.getAlgebra() > 0) { | ||||||
|                 } | //                Long lastPkParent = pkParent; | ||||||
|                 continue; | //                for (int j = 0; j < bdGrade.getAlgebra(); j++) { | ||||||
|             } | //                    targetMemberRangeExt = memberRangeExtMap.get(lastPkParent); | ||||||
|             if (bdGrade.getAlgebra() > 0) { | //                    if (targetMemberRangeExt == null) { | ||||||
|                 Long lastPkParent = pkParent; | //                        if (memberRangeExtMap.get(pkParent) == null) { | ||||||
|                 for (int j = 0; j < bdGrade.getAlgebra(); j++) { | //                            break; | ||||||
|                     targetMemberRangeExt = memberRangeExtMap.get(lastPkParent); | //                        } | ||||||
|                     if (targetMemberRangeExt == null) { | //                        pkParent = memberRangeExtMap.get(pkParent).getPkParent(); | ||||||
|                         if (memberRangeExtMap.get(pkParent) == null) { | //                        break; | ||||||
|                             break; | //                    } | ||||||
|                         } | //                    calGradeValue = targetMemberRangeExt.getGradeValue(); | ||||||
|                         pkParent = memberRangeExtMap.get(pkParent).getPkParent(); | //                    BigDecimal sameBuyPrice = gradeMap.get(calGradeValue).getBuyPrice(); | ||||||
|                         break; | //                    // 有平级 | ||||||
|                     } | //                    if (ComputeUtil.compareGreaterThan(sameBuyPrice, comBuyPrice)) { | ||||||
|                     calGradeValue = targetMemberRangeExt.getGradeValue(); |  | ||||||
|                     BigDecimal sameBuyPrice = gradeMap.get(calGradeValue).getBuyPrice(); |  | ||||||
|                     // 有平级 |  | ||||||
| //                    if (calGradeValue < beginGradeValue) { |  | ||||||
|                     if (ComputeUtil.compareGreaterThan(sameBuyPrice, comBuyPrice)) { |  | ||||||
|                         lastPkParent = targetMemberRangeExt.getPkParent(); |  | ||||||
|                         pkParent = targetMemberRangeExt.getPkParent(); |  | ||||||
|                         j--; |  | ||||||
|                         continue; |  | ||||||
|                     } |  | ||||||
|                     if (ComputeUtil.compareGreaterThan(beginBuyPrice, sameBuyPrice)) { |  | ||||||
|                         pkParent = lastPkParent; |  | ||||||
|                         break; |  | ||||||
| //                        lastPkParent = targetMemberRangeExt.getPkParent(); | //                        lastPkParent = targetMemberRangeExt.getPkParent(); | ||||||
|  | //                        pkParent = targetMemberRangeExt.getPkParent(); | ||||||
| //                        j--; | //                        j--; | ||||||
| //                        continue; | //                        continue; | ||||||
|                     } | //                    } | ||||||
|                     lastPkParent = targetMemberRangeExt.getPkParent(); | //                    if (ComputeUtil.compareGreaterThan(beginBuyPrice, sameBuyPrice)) { | ||||||
|                     if (EAccountStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getAccountStatus() || | //                        pkParent = lastPkParent; | ||||||
|                             ECategory.NORMAL.getValue() != targetMemberRangeExt.getCategory() || | //                        break; | ||||||
|                             targetMemberRangeExt.getEnableStatus() == EYesNo.NO.getIntValue() || | //                    } | ||||||
|                             EIncomeStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getIncomeStatus()) { | //                    lastPkParent = targetMemberRangeExt.getPkParent(); | ||||||
|                         j--; | //                    if (EAccountStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getAccountStatus() || | ||||||
|                         continue; | //                            ECategory.NORMAL.getValue() != targetMemberRangeExt.getCategory() || | ||||||
|                     } | //                            targetMemberRangeExt.getEnableStatus() == EYesNo.NO.getIntValue() || | ||||||
|                     BigDecimal bonusIncome = BigDecimal.ZERO; | //                            EIncomeStatus.STOP_INCOME.getValue() == targetMemberRangeExt.getIncomeStatus()) { | ||||||
|                     if (j == 0) { | //                        j--; | ||||||
|                         bonusIncome = bdGrade.getFirstAlgebra(); | //                        continue; | ||||||
|                     } else if (j == 1) { | //                    } | ||||||
|                         bonusIncome = bdGrade.getSecondAlgebra(); | //                    BigDecimal bonusIncome = BigDecimal.ZERO; | ||||||
|                     } else if (j == 2) { | //                    if (j == 0) { | ||||||
|                         bonusIncome = bdGrade.getThirdAlgebra(); | //                        bonusIncome = bdGrade.getFirstAlgebra(); | ||||||
|                     } | //                    } else if (j == 1) { | ||||||
|                     if (ComputeUtil.compareEqual(beginBuyPrice, sameBuyPrice)) { | //                        bonusIncome = bdGrade.getSecondAlgebra(); | ||||||
|                         CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(), | //                    } else if (j == 2) { | ||||||
|                                 targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate()); | //                        bonusIncome = bdGrade.getThirdAlgebra(); | ||||||
|                         int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_SAME_LEVEL_INCOME.getValue()); | //                    } | ||||||
|                         CuMemberBonusRange oriMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems); | //                    if (ComputeUtil.compareEqual(beginBuyPrice, sameBuyPrice)) { | ||||||
|                         oriMemberBonusRange.setCalValue(BigDecimal.valueOf(10)); | //                        CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(), | ||||||
|                         oriMemberBonusRange.setPretaxIncome(ComputeUtil.computeDivide(ComputeUtil.computeMultiply(bonusIncome, saOrderItems.getWaresQuantity()), BigDecimal.ONE)); | //                                targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate()); | ||||||
|                         oriMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade()); | //                        int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_SAME_LEVEL_INCOME.getValue()); | ||||||
|                         oriMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade()); | //                        CuMemberBonusRange oriMemberBonusRange = getCuMemberRetailBonusRange(saOrderExt, targetMemberRangeExt, cuMemberBonus, pkBonusItems); | ||||||
|                         oriMemberBonusRange.setPkOrderItems(saOrderItems.getPkId()); | //                        oriMemberBonusRange.setCalValue(BigDecimal.valueOf(10)); | ||||||
|                         oriRetailRangeRemark(saOrderExt, oriMemberBonusRange, sourceMemberRangeExt, targetMemberRangeExt); | //                        oriMemberBonusRange.setPretaxIncome(ComputeUtil.computeDivide(ComputeUtil.computeMultiply(bonusIncome, saOrderItems.getWaresQuantity()), BigDecimal.ONE)); | ||||||
|                         BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, oriMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); | //                        oriMemberBonusRange.setPkRange(targetMemberRangeExt.getPkGrade()); | ||||||
|                         if (EBonusIncomeStatus.NORMAL.getValue() == oriMemberBonusRange.getIncomeStatus()) { | //                        oriMemberBonusRange.setPkBeforeRange(sourceMemberRangeExt.getPkGrade()); | ||||||
|                             cuMemberBonus.setRetailSameLevelIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailSameLevelIncome(), oriMemberBonusRange.getPretaxIncome())); | //                        oriMemberBonusRange.setPkOrderItems(saOrderItems.getPkId()); | ||||||
|                             setRetailTotal(bdBonusDeduct, cuMemberBonus, oriMemberBonusRange); | //                        oriRetailRangeRemark(saOrderExt, oriMemberBonusRange, sourceMemberRangeExt, targetMemberRangeExt); | ||||||
|                         } | //                        BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, oriMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate()); | ||||||
|                         memberBonusRangeList.add(oriMemberBonusRange); | //                        if (EBonusIncomeStatus.NORMAL.getValue() == oriMemberBonusRange.getIncomeStatus()) { | ||||||
|                         calBonusIncome = ComputeUtil.computeAdd(calBonusIncome, bonusIncome); | //                            cuMemberBonus.setRetailSameLevelIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailSameLevelIncome(), oriMemberBonusRange.getPretaxIncome())); | ||||||
|                         pkParent = lastPkParent; | //                            setRetailTotal(bdBonusDeduct, cuMemberBonus, oriMemberBonusRange); | ||||||
|                     } else { | //                        } | ||||||
|                         j--; | //                        memberBonusRangeList.add(oriMemberBonusRange); | ||||||
|                     } | //                        calBonusIncome = ComputeUtil.computeAdd(calBonusIncome, bonusIncome); | ||||||
|                     if (j == bdGrade.getAlgebra() - 1) { | //                        pkParent = lastPkParent; | ||||||
|                         beginGradeValue += 1; | //                    } else { | ||||||
|                         comBuyPrice = ComputeUtil.computeSubtract(comBuyPrice, BigDecimal.ONE); | //                        j--; | ||||||
|                         break; | //                    } | ||||||
|                     } | //                    if (j == bdGrade.getAlgebra() - 1) { | ||||||
|                 } | //                        beginGradeValue += 1; | ||||||
|             } else { | //                        comBuyPrice = ComputeUtil.computeSubtract(comBuyPrice, BigDecimal.ONE); | ||||||
|                 if (isRange) { | //                        break; | ||||||
|                     pkParent = targetMemberRangeExt.getPkParent(); | //                    } | ||||||
|                 } | //                } | ||||||
|             } | //            } else { | ||||||
|             if (beginGradeValue > EGrade.S_VIP.getValue()) { | //                if (isRange) { | ||||||
|                 break; | //                    pkParent = targetMemberRangeExt.getPkParent(); | ||||||
|             } | //                } | ||||||
|  | //            } | ||||||
|  | //            if (beginGradeValue > EGrade.S_VIP.getValue()) { | ||||||
|  | //                break; | ||||||
|  | //            } | ||||||
|         } |         } | ||||||
|         return memberBonusRangeList; |         return memberBonusRangeList; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | @ -9,27 +9,11 @@ import java.math.BigDecimal; | ||||||
| import java.util.Date; | import java.util.Date; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * @description: 奖金明细表 |  * 奖金明细表 | ||||||
|  * @author: sui q |  | ||||||
|  * @time: 2023/5/20 15:31 |  | ||||||
|  * @classname: CuMemberBonusVO |  | ||||||
|  * @package_name: com.hzs.member.bonus.vo |  | ||||||
|  * version 1.0.0 |  | ||||||
|  */ |  */ | ||||||
| @Data | @Data | ||||||
| public class CuMemberBonusVO implements Serializable { | public class CuMemberBonusVO implements Serializable { | ||||||
| 
 | 
 | ||||||
| //    /** |  | ||||||
| //     * 需要转换人民币的 |  | ||||||
| //     */ |  | ||||||
| //    public static final String[] INCOME_ARRAY = new String[]{ |  | ||||||
| //            "directIncome", "expandIncome", "expandNoCapping", "expandCapping", |  | ||||||
| //            "coachIncome", "shareIncome", "serviceIncome", "cloudDirectIncome", |  | ||||||
| //            "cloudPurIncome", "cloudRepurIncome", "repurPushIncome", "repurRangeIncome", "repurExpandIncome", |  | ||||||
| //            "repurCoupon", "repurCouponShare", "backPoints", "serviceSpend", |  | ||||||
| //            "globalPoints", "carAwardPoints", "storeIncome", "hiFunIncome", |  | ||||||
| //            "makerDirectIncome", "makerShareIncome", "makerRealSubtotal", "purRealSubtotal", |  | ||||||
| //            "cloudRealSubtotal", "repurRealSubtotal", "repurCouponSubtotal", "realIncomeTotal"}; |  | ||||||
|     /** |     /** | ||||||
|      * 主键 |      * 主键 | ||||||
|      */ |      */ | ||||||
|  | @ -102,185 +86,60 @@ public class CuMemberBonusVO implements Serializable { | ||||||
|      */ |      */ | ||||||
|     private Integer grantStatus; |     private Integer grantStatus; | ||||||
| 
 | 
 | ||||||
| //    /** |     /** | ||||||
| //     * 直推收益 |      * 需要转换人民币的 | ||||||
| //     */ |      */ | ||||||
| //    @Excel(name = "直推收益", scale = 2) |     public static final String[] INCOME_ARRAY = new String[]{ | ||||||
| //    private BigDecimal directIncomeOri; |             "backPoints", "retailRangeIncome", "retailSameLevelIncome", "retailAreaIncome", | ||||||
| // |             "retailBenefitRangeIncome", "retailBenefitAvgIncome", | ||||||
| //    /** |             "retailBenefitIncome", "retailRealSubtotal", "realIncomeTotal"}; | ||||||
| //     * 直推收益 | 
 | ||||||
| //     */ | 
 | ||||||
| //    @Excel(name = "直推收益($)", scale = 2) |     private BigDecimal retailRangeIncome; | ||||||
| //    private BigDecimal directIncome; |     /** | ||||||
| // |      * 直推收益 | ||||||
| //    /** |      */ | ||||||
| //     * 拓展收益 |     @Excel(name = "直推收益", scale = 2) | ||||||
| //     */ |     private BigDecimal retailRangeIncomeOri; | ||||||
| //    @Excel(name = "拓展收益", scale = 2) | 
 | ||||||
| //    private BigDecimal expandIncomeOri; |     private BigDecimal retailSameLevelIncome; | ||||||
| // |     /** | ||||||
| //    /** |      * 平级收益 | ||||||
| //     * 拓展收益 |      */ | ||||||
| //     */ |     @Excel(name = "平级收益", scale = 2) | ||||||
| //    @Excel(name = "拓展收益($)", scale = 2) |     private BigDecimal retailSameLevelIncomeOri; | ||||||
| //    private BigDecimal expandIncome; | 
 | ||||||
| // |     private BigDecimal retailAreaIncome; | ||||||
| //    /** |     /** | ||||||
| //     * 拓展无封 (拓展收益按等级正常比例结算,并 拓展收益按等级正常比例结算 无封顶) |      * 区域分红 | ||||||
| //     */ |      */ | ||||||
| //    private BigDecimal expandNoCapping; |     @Excel(name = "区域分红", scale = 2) | ||||||
| // |     private BigDecimal retailAreaIncomeOri; | ||||||
| //    /** | 
 | ||||||
| //     * 拓展封顶 (拓展收益按等级正常比例结算,不按4-N结算,根据配置的封顶值限制最大收益) |     /** | ||||||
| //     */ |      * 新零售福利极差收益 | ||||||
| //    private BigDecimal expandCapping; |      */ | ||||||
| // |     private BigDecimal retailBenefitRangeIncome; | ||||||
| // | 
 | ||||||
| //    /** |     @Excel(name = " 福利极差收益", scale = 2) | ||||||
| //     * 拓展无封 (拓展收益按等级正常比例结算,并 拓展收益按等级正常比例结算 无封顶) |     private BigDecimal retailBenefitRangeIncomeOri; | ||||||
| //     */ | 
 | ||||||
| //    private BigDecimal expandNoCappingOri; |     /** | ||||||
| // |      * 新零售福利平均收益 | ||||||
| //    /** |      */ | ||||||
| //     * 拓展封顶 (拓展收益按等级正常比例结算,不按4-N结算,根据配置的封顶值限制最大收益) |     private BigDecimal retailBenefitAvgIncome; | ||||||
| //     */ | 
 | ||||||
| //    private BigDecimal expandCappingOri; |     @Excel(name = " 福利平均收益", scale = 2) | ||||||
| // |     private BigDecimal retailBenefitAvgIncomeOri; | ||||||
| //    /** | 
 | ||||||
| //     * 辅导收益 |     /** | ||||||
| //     */ |      * 新零售福利加权收益 | ||||||
| //    @Excel(name = "辅导收益", scale = 2) |      */ | ||||||
| //    private BigDecimal coachIncomeOri; |     private BigDecimal retailBenefitIncome; | ||||||
| // | 
 | ||||||
| //    /** |     @Excel(name = " 福利加权收益", scale = 2) | ||||||
| //     * 辅导收益 |     private BigDecimal retailBenefitIncomeOri; | ||||||
| //     */ | 
 | ||||||
| //    @Excel(name = "辅导收益($)", scale = 2) |  | ||||||
| //    private BigDecimal coachIncome; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 分红收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "分红收益", scale = 2) |  | ||||||
| //    private BigDecimal shareIncomeOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 分红收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "分红收益($)", scale = 2) |  | ||||||
| //    private BigDecimal shareIncome; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 报单收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "报单收益", scale = 2) |  | ||||||
| //    private BigDecimal serviceIncomeOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 报单收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "服务收益($)", scale = 2) |  | ||||||
| //    private BigDecimal serviceIncome; |  | ||||||
| // |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 云代直推收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "云代直推收益", scale = 2) |  | ||||||
| //    private BigDecimal cloudDirectIncomeOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 云代直推收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "云代直推收益($)", scale = 2) |  | ||||||
| //    private BigDecimal cloudDirectIncome; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 云代首购收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "云代首购收益", scale = 2) |  | ||||||
| //    private BigDecimal cloudPurIncomeOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 云代首购收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "云代首购收益($)", scale = 2) |  | ||||||
| //    private BigDecimal cloudPurIncome; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 云代复购收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "云代复购收益", scale = 2) |  | ||||||
| //    private BigDecimal cloudRepurIncomeOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 云代复购收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "云代复购收益($)", scale = 2) |  | ||||||
| //    private BigDecimal cloudRepurIncome; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购级差收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购推荐收益", scale = 2) |  | ||||||
| //    private BigDecimal repurPushIncomeOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购级差收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购推荐收益", scale = 2) |  | ||||||
| //    private BigDecimal repurPushIncome; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购级差收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购级差收益", scale = 2) |  | ||||||
| //    private BigDecimal repurRangeIncomeOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购级差收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购级差收益($)", scale = 2) |  | ||||||
| //    private BigDecimal repurRangeIncome; |  | ||||||
| // |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购拓展收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购拓展收益", scale = 2) |  | ||||||
| //    private BigDecimal repurExpandIncomeOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购拓展收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购拓展收益($)", scale = 2) |  | ||||||
| //    private BigDecimal repurExpandIncome; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购卷 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购卷", scale = 2) |  | ||||||
| //    private BigDecimal repurCouponOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购卷 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购卷($)", scale = 2) |  | ||||||
| //    private BigDecimal repurCoupon; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购券均分收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购券均分", scale = 2) |  | ||||||
| //    private BigDecimal repurCouponShareOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购券均分收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购券均分($)", scale = 2) |  | ||||||
| //    private BigDecimal repurCouponShare; |  | ||||||
| // |  | ||||||
|     /** |     /** | ||||||
|      * 商城重消 |      * 商城重消 | ||||||
|      */ |      */ | ||||||
|  | @ -290,184 +149,11 @@ public class CuMemberBonusVO implements Serializable { | ||||||
|     /** |     /** | ||||||
|      * 商城重消 |      * 商城重消 | ||||||
|      */ |      */ | ||||||
|     @Excel(name = "商城重消($)", scale = 2) |  | ||||||
|     private BigDecimal backPoints; |     private BigDecimal backPoints; | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 平台服务费 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "平台服务费", scale = 2) |  | ||||||
| //    private BigDecimal serviceSpendOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 平台服务费 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "平台服务费($)", scale = 2) |  | ||||||
| //    private BigDecimal serviceSpend; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 环球积分 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "直推极差", scale = 2) |  | ||||||
| //    private BigDecimal globalPointsOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 环球积分 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "直推极差($)", scale = 2) |  | ||||||
| //    private BigDecimal globalPoints; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 车奖积分 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "车奖积分", scale = 2) |  | ||||||
| //    private BigDecimal carAwardPointsOri; |  | ||||||
| // |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 车奖积分 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "车奖积分($)", scale = 2) |  | ||||||
| //    private BigDecimal carAwardPoints; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 店铺收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "店铺收益", scale = 2) |  | ||||||
| //    private BigDecimal storeIncomeOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 店铺收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "店铺收益($)", scale = 2) |  | ||||||
| //    private BigDecimal storeIncome; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 嗨粉推荐收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "嗨粉推荐收益", scale = 2) |  | ||||||
| //    private BigDecimal hiFunIncomeOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 嗨粉推荐收益 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "嗨粉推荐收益($)", scale = 2) |  | ||||||
| //    private BigDecimal hiFunIncome; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 首购实发小计 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "首购实发小计", scale = 2) |  | ||||||
| //    private BigDecimal purRealSubtotalOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 首购实发小计 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "首购实发小计($)", scale = 2) |  | ||||||
| //    private BigDecimal purRealSubtotal; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 云代实发小计 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "云代实发小计", scale = 2) |  | ||||||
| //    private BigDecimal cloudRealSubtotalOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 云代实发小计 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "云代实发小计($)", scale = 2) |  | ||||||
| //    private BigDecimal cloudRealSubtotal; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购实发小计 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购实发小计", scale = 2) |  | ||||||
| //    private BigDecimal repurRealSubtotalOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购实发小计 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购实发小计($)", scale = 2) |  | ||||||
| //    private BigDecimal repurRealSubtotal; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购券小计 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购券实发小计", scale = 2) |  | ||||||
| //    private BigDecimal repurCouponSubtotalOri; |  | ||||||
| // |  | ||||||
| //    /** |  | ||||||
| //     * 复购券小计 |  | ||||||
| //     */ |  | ||||||
| //    @Excel(name = "复购券实发小计($)", scale = 2) |  | ||||||
| //    private BigDecimal repurCouponSubtotal; |  | ||||||
| 
 |  | ||||||
|     /** |  | ||||||
|      * 需要转换人民币的 |  | ||||||
|      */ |  | ||||||
|     public static final String[] INCOME_ARRAY = new String[]{ |  | ||||||
|             "backPoints","retailRangeIncome", "retailSameLevelIncome", "retailAreaIncome", |  | ||||||
|             "retailBenefitRangeIncome","retailBenefitAvgIncome", |  | ||||||
|             "retailBenefitIncome","retailRealSubtotal","realIncomeTotal"}; |  | ||||||
| 
 |  | ||||||
|     /** |  | ||||||
|      * 新零售极差收益 |  | ||||||
|      */ |  | ||||||
|     @Excel(name = "新零售极差收益($)", scale = 2) |  | ||||||
|     private BigDecimal retailRangeIncome; |  | ||||||
| 
 |  | ||||||
|     @Excel(name = " 新零售极差收益", scale = 2) |  | ||||||
|     private BigDecimal retailRangeIncomeOri; |  | ||||||
| 
 |  | ||||||
|     /** |  | ||||||
|      * 新零售平级收益 |  | ||||||
|      */ |  | ||||||
|     @Excel(name = "平级收益($)", scale = 2) |  | ||||||
|     private BigDecimal retailSameLevelIncome; |  | ||||||
| 
 |  | ||||||
|     @Excel(name = " 平级收益", scale = 2) |  | ||||||
|     private BigDecimal retailSameLevelIncomeOri; |  | ||||||
| 
 |  | ||||||
|     /** |  | ||||||
|      * 新零售区域收益 |  | ||||||
|      */ |  | ||||||
|     @Excel(name = "区域收益($)", scale = 2) |  | ||||||
|     private BigDecimal retailAreaIncome; |  | ||||||
| 
 |  | ||||||
|     @Excel(name = " 区域收益", scale = 2) |  | ||||||
|     private BigDecimal retailAreaIncomeOri; |  | ||||||
| 
 |  | ||||||
|     /** |  | ||||||
|      * 新零售福利极差收益 |  | ||||||
|      */ |  | ||||||
|     @Excel(name = "福利极差收益($)", scale = 2) |  | ||||||
|     private BigDecimal retailBenefitRangeIncome; |  | ||||||
| 
 |  | ||||||
|     @Excel(name = " 福利极差收益", scale = 2) |  | ||||||
|     private BigDecimal retailBenefitRangeIncomeOri; |  | ||||||
| 
 |  | ||||||
|     /** |  | ||||||
|      * 新零售福利平均收益 |  | ||||||
|      */ |  | ||||||
|     @Excel(name = "福利平均收益($)", scale = 2) |  | ||||||
|     private BigDecimal retailBenefitAvgIncome; |  | ||||||
| 
 |  | ||||||
|     @Excel(name = " 福利平均收益", scale = 2) |  | ||||||
|     private BigDecimal retailBenefitAvgIncomeOri; |  | ||||||
| 
 |  | ||||||
|     /** |  | ||||||
|      * 新零售福利加权收益 |  | ||||||
|      */ |  | ||||||
|     @Excel(name = "福利加权收益($)", scale = 2) |  | ||||||
|     private BigDecimal retailBenefitIncome; |  | ||||||
| 
 |  | ||||||
|     @Excel(name = " 福利加权收益", scale = 2) |  | ||||||
|     private BigDecimal retailBenefitIncomeOri; |  | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 新零售收益小计 |      * 新零售收益小计 | ||||||
|      */ |      */ | ||||||
|     @Excel(name = "收益小计($)", scale = 2) |  | ||||||
|     private BigDecimal retailRealSubtotal; |     private BigDecimal retailRealSubtotal; | ||||||
| 
 | 
 | ||||||
|     @Excel(name = " 收益小计", scale = 2) |     @Excel(name = " 收益小计", scale = 2) | ||||||
|  | @ -479,10 +165,8 @@ public class CuMemberBonusVO implements Serializable { | ||||||
|     @Excel(name = "实发收益总计", scale = 2) |     @Excel(name = "实发收益总计", scale = 2) | ||||||
|     private BigDecimal realIncomeTotalOri; |     private BigDecimal realIncomeTotalOri; | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|     /** |     /** | ||||||
|      * 实发收益总计 |      * 实发收益总计 | ||||||
|      */ |      */ | ||||||
|     @Excel(name = "实发收益总计($)", scale = 2) |  | ||||||
|     private BigDecimal realIncomeTotal; |     private BigDecimal realIncomeTotal; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -111,28 +111,29 @@ | ||||||
|         merge into ${rangeTableName} a |         merge into ${rangeTableName} a | ||||||
|         using ( |         using ( | ||||||
|         <foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union"> |         <foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union"> | ||||||
|             select #{item.pkMember} pk_member,#{item.pkAwards} pk_awards,#{item.pkGrade} pk_grade, |             select #{item.pkMember} pk_member, #{item.pkAwards} pk_awards, #{item.pkGrade} pk_grade, | ||||||
|             #{item.consumeBoxNum} consume_box_num,#{item.newBoxNum} new_bosx_num,#{item.pkShareAwards} pk_share_awards, |             #{item.consumeBoxNum} consume_box_num, #{item.newBoxNum} new_bosx_num, #{item.pkShareAwards} pk_share_awards, | ||||||
|             #{item.teamBoxNum} team_box_num,#{item.monthBoxNum} month_box_num,#{item.teamNewBoxNum} team_new_box_num, |             #{item.teamBoxNum} team_box_num, #{item.monthBoxNum} month_box_num, #{item.teamNewBoxNum} team_new_box_num, | ||||||
|             #{item.consumePv} consume_pv,#{item.monthConsumePv} month_consume_pv, |             #{item.consumePv} consume_pv, #{item.monthConsumePv} month_consume_pv, | ||||||
|             #{item.newConsumePv} new_consume_pv,#{item.teamConsumeAmount} team_consume_amount, |             #{item.newConsumePv} new_consume_pv, #{item.teamConsumeAmount} team_consume_amount, | ||||||
|             #{item.teamMonthAmount} team_month_amount,#{item.teamMonthPv} team_month_pv, |             #{item.teamMonthAmount} team_month_amount, #{item.teamMonthPv} team_month_pv, | ||||||
|             #{item.teamNewPv} team_new_pv,#{item.teamNewAmount} team_new_amount, |             #{item.teamNewPv} team_new_pv, #{item.teamNewAmount} team_new_amount, | ||||||
|             #{item.teamConsumePv} team_consume_pv,#{item.newBoxNum} new_box_num, |             #{item.teamConsumePv} team_consume_pv, #{item.newBoxNum} new_box_num, | ||||||
|             #{item.recommendNum} recommend_num,#{item.teamNum} team_num,#{item.enableStatus} enable_status |             #{item.recommendNum} recommend_num, #{item.teamNum} team_num, | ||||||
|  |             #{item.enableStatus} enable_status | ||||||
|             from dual |             from dual | ||||||
|         </foreach> |         </foreach> | ||||||
|         ) b |         ) b | ||||||
|         on (a.pk_member=b.pk_member) |         on (a.pk_member=b.pk_member) | ||||||
|         when matched then |         when matched then | ||||||
|         update set a.pk_awards=b.pk_awards,a.pk_grade=b.pk_grade,a.pk_share_awards=b.pk_share_awards, |         update set a.pk_awards = b.pk_awards, a.pk_grade = b.pk_grade, a.pk_share_awards = b.pk_share_awards, | ||||||
|         a.consume_box_num=b.consume_box_num,a.new_box_num=b.new_box_num,a.team_box_num=b.team_box_num, |         a.consume_box_num = b.consume_box_num, a.new_box_num = b.new_box_num, a.team_box_num = b.team_box_num, | ||||||
|         a.month_box_num=b.month_box_num,a.team_new_box_num=b.team_new_box_num, |         a.month_box_num = b.month_box_num, a.team_new_box_num = b.team_new_box_num, | ||||||
|         a.consume_pv=b.consume_pv,a.month_consume_pv=b.month_consume_pv,a.new_consume_pv=b.new_consume_pv, |         a.consume_pv = b.consume_pv, a.month_consume_pv = b.month_consume_pv, a.new_consume_pv = b.new_consume_pv, | ||||||
|         a.team_consume_amount=b.team_consume_amount,a.team_consume_pv=b.team_consume_pv, |         a.team_consume_amount = b.team_consume_amount, a.team_consume_pv = b.team_consume_pv, | ||||||
|         a.team_month_amount=b.team_month_amount,a.team_month_pv=b.team_month_pv, |         a.team_month_amount = b.team_month_amount, a.team_month_pv = b.team_month_pv, | ||||||
|         a.team_new_amount=b.team_new_amount,a.team_new_pv=b.team_new_pv, |         a.team_new_amount = b.team_new_amount, a.team_new_pv = b.team_new_pv, | ||||||
|         a.recommend_num=b.recommend_num,a.team_num=b.team_num,a.enable_status=b.enable_status |         a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.enable_status = b.enable_status | ||||||
|     </update> |     </update> | ||||||
| 
 | 
 | ||||||
|     <!-- 当前网体更新极差秒接表 --> |     <!-- 当前网体更新极差秒接表 --> | ||||||
|  | @ -190,18 +191,18 @@ | ||||||
|         using ( |         using ( | ||||||
|         <foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union"> |         <foreach collection="cuMemberRangeExtList" item="item" open=" " close=" " separator="union"> | ||||||
|             select #{item.pkMember} pk_member, #{item.pkGrade} pk_grade, #{item.pkAwards} pk_awards, |             select #{item.pkMember} pk_member, #{item.pkGrade} pk_grade, #{item.pkAwards} pk_awards, | ||||||
|             #{item.newConsumePv} new_consume_pv, #{item.teamNewAmount} team_new_amount, |             #{item.newBoxNum} new_box_num, #{item.newConsumePv} new_consume_pv, | ||||||
|             #{item.teamNewPv} team_new_pv, #{item.teamNewBoxNum} team_new_box_num, |             #{item.teamNewBoxNum} team_new_box_num, #{item.teamNewPv} team_new_pv, | ||||||
|             #{item.newBoxNum} new_box_num, #{item.enableStatus} enable_status |             #{item.teamNewAmount} team_new_amount, #{item.enableStatus} enable_status | ||||||
|             from dual |             from dual | ||||||
|         </foreach> |         </foreach> | ||||||
|         ) b |         ) b | ||||||
|         on (a.pk_member = b.pk_member) |         on (a.pk_member = b.pk_member) | ||||||
|         when matched then |         when matched then | ||||||
|         update set a.pk_grade = b.pk_grade, a.pk_awards = b.pk_awards, |         update set a.pk_grade = b.pk_grade, a.pk_awards = b.pk_awards, | ||||||
|         a.new_consume_pv = b.new_consume_pv, a.team_new_amount = b.team_new_amount, |         a.new_box_num = b.new_box_num, a.new_consume_pv = b.new_consume_pv, | ||||||
|         a.team_new_pv = b.team_new_pv, a.team_new_box_num = b.team_new_box_num, |         a.team_new_box_num = b.team_new_box_num,a.team_new_pv = b.team_new_pv, | ||||||
|         a.new_box_num = b.new_box_num, a.enable_status = b.enable_status |         a.team_new_amount = b.team_new_amount,a.enable_status = b.enable_status | ||||||
|     </update> |     </update> | ||||||
| 
 | 
 | ||||||
|     <update id="mergeMemberRetailGradeByMember"> |     <update id="mergeMemberRetailGradeByMember"> | ||||||
|  |  | ||||||
|  | @ -298,8 +298,11 @@ | ||||||
|         </if> |         </if> | ||||||
|         order by cp.settle_date desc |         order by cp.settle_date desc | ||||||
|     </select> |     </select> | ||||||
|  | 
 | ||||||
|     <select id="queryMemberBonusByConditionForServer" resultMap="CuMemberBonus"> |     <select id="queryMemberBonusByConditionForServer" resultMap="CuMemberBonus"> | ||||||
|         select cm.member_code,cm.member_name,cm.pk_settle_grade,cm.pk_awards,bv.vertex_name,ct.team_name, |         select cm.member_code, cm.member_name, | ||||||
|  |         cm.pk_settle_grade, cm.pk_awards, | ||||||
|  |         bv.vertex_name, ct.team_name, | ||||||
|         cb.period,cp.settle_date,cb.direct_income,cb.expand_income,cb.expand_no_capping, |         cb.period,cp.settle_date,cb.direct_income,cb.expand_income,cb.expand_no_capping, | ||||||
|         cb.expand_capping,cb.coach_income,cb.share_income,cb.service_income,cb.back_points,cb.service_spend, |         cb.expand_capping,cb.coach_income,cb.share_income,cb.service_income,cb.back_points,cb.service_spend, | ||||||
|         cb.pur_real_subtotal,cb.repur_push_income,cb.repur_range_income,cb.repur_expand_income,cb.repur_real_subtotal, |         cb.pur_real_subtotal,cb.repur_push_income,cb.repur_range_income,cb.repur_expand_income,cb.repur_real_subtotal, | ||||||
|  | @ -311,9 +314,7 @@ | ||||||
|         cb.retail_benefit_range_income,cb.retail_benefit_avg_income, |         cb.retail_benefit_range_income,cb.retail_benefit_avg_income, | ||||||
|         cb.retail_benefit_income,cb.retail_real_subtotal, |         cb.retail_benefit_income,cb.retail_real_subtotal, | ||||||
|         cb.real_income_total, |         cb.real_income_total, | ||||||
|         cm.pk_vertex, |         cm.pk_vertex, cm.service_code, cm.nick_name | ||||||
|         cm.service_code, |  | ||||||
|         cm.nick_name |  | ||||||
|         from cu_member_bonus cb |         from cu_member_bonus cb | ||||||
|         inner join cu_member cm |         inner join cu_member cm | ||||||
|         on cb.pk_member = cm.pk_id |         on cb.pk_member = cm.pk_id | ||||||
|  | @ -325,7 +326,7 @@ | ||||||
|         on ct.pk_id = cm.pk_team_code |         on ct.pk_id = cm.pk_team_code | ||||||
|         left join bd_currency bc |         left join bd_currency bc | ||||||
|         on bc.pk_country = cb.pk_country |         on bc.pk_country = cb.pk_country | ||||||
|         where cb.del_flag=0 and cm.del_flag=0 |         where cb.del_flag = 0 and cm.del_flag = 0 | ||||||
|         and cp.del_flag=0 |         and cp.del_flag=0 | ||||||
|         <if test="bonusParam.pkCountry != null"> |         <if test="bonusParam.pkCountry != null"> | ||||||
|             and cm.pk_settle_country = #{bonusParam.pkCountry} |             and cm.pk_settle_country = #{bonusParam.pkCountry} | ||||||
|  |  | ||||||
|  | @ -5,14 +5,13 @@ import com.hzs.common.core.web.controller.BaseController; | ||||||
| import com.hzs.common.core.web.domain.AjaxResult; | import com.hzs.common.core.web.domain.AjaxResult; | ||||||
| import com.hzs.common.core.web.page.TableDataInfo; | import com.hzs.common.core.web.page.TableDataInfo; | ||||||
| import com.hzs.common.security.utils.SecurityUtils; | import com.hzs.common.security.utils.SecurityUtils; | ||||||
| 
 |  | ||||||
| import com.hzs.retail.member.service.ICuMemberRetailAchieveService; | import com.hzs.retail.member.service.ICuMemberRetailAchieveService; | ||||||
| import com.hzs.retail.member.vo.CuMemberRetailAchieveVO; | import com.hzs.retail.member.vo.CuMemberRetailAchieveVO; | ||||||
|  | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; | ||||||
| import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.web.bind.annotation.*; | import org.springframework.web.bind.annotation.*; | ||||||
| 
 | 
 | ||||||
| import java.math.BigDecimal; |  | ||||||
| import java.util.List; | import java.util.List; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  | @ -44,7 +43,13 @@ public class ApiRetailHomePageController extends BaseController { | ||||||
|         Long pkMember = SecurityUtils.getUserId(); |         Long pkMember = SecurityUtils.getUserId(); | ||||||
|         Integer pkCountry = SecurityUtils.getPkCountry(); |         Integer pkCountry = SecurityUtils.getPkCountry(); | ||||||
|         Integer systemType = SecurityUtils.getSystemType(); |         Integer systemType = SecurityUtils.getSystemType(); | ||||||
|         return AjaxResult.success(retailAchieveService.selectMemberSmallBox(pkMember, pkCountry, systemType)); |         CuMemberRetailDataStatisticsResultVO result = retailAchieveService.getRetailDataStatisticsDetail(pkMember, pkCountry, systemType); | ||||||
|  |         CuMemberRetailAchieveVO vo = CuMemberRetailAchieveVO.builder() | ||||||
|  |                 .totalBox(result.getTotalBoxNum()) | ||||||
|  |                 .smallAreaBox(result.getSmallRangeTotalBoxNum()) | ||||||
|  |                 .build(); | ||||||
|  |         return AjaxResult.success(vo); | ||||||
|  | //        return AjaxResult.success(retailAchieveService.selectMemberSmallBox(pkMember, pkCountry, systemType)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  |  | ||||||
|  | @ -3,6 +3,7 @@ package com.hzs.retail.member.mapper; | ||||||
| import com.baomidou.mybatisplus.core.mapper.BaseMapper; | import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||||||
| import com.hzs.common.domain.member.achieve.CuMemberRetailRange; | import com.hzs.common.domain.member.achieve.CuMemberRetailRange; | ||||||
| import com.hzs.retail.member.vo.CuMemberRetailAchieveVO; | import com.hzs.retail.member.vo.CuMemberRetailAchieveVO; | ||||||
|  | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; | ||||||
| import org.apache.ibatis.annotations.Param; | import org.apache.ibatis.annotations.Param; | ||||||
| 
 | 
 | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  | @ -166,6 +167,13 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang | ||||||
|      */ |      */ | ||||||
|     List<CuMemberRetailAchieveVO> selectMemberSumAchieve(CuMemberRetailAchieveVO cuMemberAchieveVO); |     List<CuMemberRetailAchieveVO> selectMemberSumAchieve(CuMemberRetailAchieveVO cuMemberAchieveVO); | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * 获取会员结算明细 | ||||||
|  |      * @param cuMemberAchieveVO | ||||||
|  |      * @return | ||||||
|  |      */ | ||||||
|  |     List<CuMemberRetailDataStatisticsDetailVO> getRetailDataStatisticsDetail(CuMemberRetailAchieveVO cuMemberAchieveVO); | ||||||
|  | 
 | ||||||
|     /** |     /** | ||||||
|      * 查询当天自己新增盒数 |      * 查询当天自己新增盒数 | ||||||
|      * |      * | ||||||
|  |  | ||||||
|  | @ -3,8 +3,11 @@ package com.hzs.retail.member.service; | ||||||
| import com.baomidou.mybatisplus.extension.service.IService; | import com.baomidou.mybatisplus.extension.service.IService; | ||||||
| import com.hzs.common.domain.member.achieve.CuMemberRetailRange; | import com.hzs.common.domain.member.achieve.CuMemberRetailRange; | ||||||
| import com.hzs.retail.member.vo.CuMemberRetailAchieveVO; | import com.hzs.retail.member.vo.CuMemberRetailAchieveVO; | ||||||
|  | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; | ||||||
|  | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; | ||||||
| 
 | 
 | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
| 
 | 
 | ||||||
| public interface ICuMemberRetailAchieveService extends IService<CuMemberRetailRange> { | public interface ICuMemberRetailAchieveService extends IService<CuMemberRetailRange> { | ||||||
| 
 | 
 | ||||||
|  | @ -100,4 +103,12 @@ public interface ICuMemberRetailAchieveService extends IService<CuMemberRetailRa | ||||||
|      */ |      */ | ||||||
|     List<CuMemberRetailAchieveVO> selectMemberSmallBoxList(CuMemberRetailAchieveVO param); |     List<CuMemberRetailAchieveVO> selectMemberSmallBoxList(CuMemberRetailAchieveVO param); | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * 获取会员结算明细 | ||||||
|  |      * @param pkMember | ||||||
|  |      * @param pkCountry | ||||||
|  |      * @param systemType | ||||||
|  |      * @return | ||||||
|  |      */ | ||||||
|  |     CuMemberRetailDataStatisticsResultVO getRetailDataStatisticsDetail(Long pkMember, Integer pkCountry, Integer systemType); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,19 +1,26 @@ | ||||||
| package com.hzs.retail.member.service.impl; | package com.hzs.retail.member.service.impl; | ||||||
| 
 | 
 | ||||||
| import cn.hutool.core.collection.CollUtil; | import cn.hutool.core.collection.CollUtil; | ||||||
|  | import cn.hutool.core.util.ObjectUtil; | ||||||
|  | import cn.hutool.json.JSONUtil; | ||||||
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||||||
| import com.hzs.common.core.constant.TableNameConstants; | import com.hzs.common.core.constant.TableNameConstants; | ||||||
| import com.hzs.common.core.enums.EGrade; | import com.hzs.common.core.enums.EGrade; | ||||||
| import com.hzs.common.core.enums.EYesNo; | import com.hzs.common.core.enums.EYesNo; | ||||||
| import com.hzs.common.core.utils.DateUtils; | import com.hzs.common.core.utils.DateUtils; | ||||||
| import com.hzs.common.domain.member.achieve.CuMemberRetailRange; | import com.hzs.common.domain.member.achieve.CuMemberRetailRange; | ||||||
|  | import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod; | ||||||
| import com.hzs.common.domain.member.base.CuMember; | import com.hzs.common.domain.member.base.CuMember; | ||||||
|  | import com.hzs.common.security.utils.SecurityUtils; | ||||||
| import com.hzs.member.account.service.ICuMemberBaseService; | import com.hzs.member.account.service.ICuMemberBaseService; | ||||||
| import com.hzs.member.achieve.service.ICuMemberSettlePeriodService; | import com.hzs.member.achieve.service.ICuMemberSettlePeriodService; | ||||||
| import com.hzs.member.base.service.ICuMemberService; | import com.hzs.member.base.service.ICuMemberService; | ||||||
| import com.hzs.retail.member.mapper.CuMemberRetailRangeMapper; | import com.hzs.retail.member.mapper.CuMemberRetailRangeMapper; | ||||||
| import com.hzs.retail.member.service.ICuMemberRetailAchieveService; | import com.hzs.retail.member.service.ICuMemberRetailAchieveService; | ||||||
|  | import com.hzs.retail.member.utils.DataStatisticsUtil; | ||||||
| import com.hzs.retail.member.vo.CuMemberRetailAchieveVO; | import com.hzs.retail.member.vo.CuMemberRetailAchieveVO; | ||||||
|  | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; | ||||||
|  | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; | ||||||
| import com.hzs.system.config.IGradeServiceApi; | import com.hzs.system.config.IGradeServiceApi; | ||||||
| import com.hzs.system.config.dto.GradeDTO; | import com.hzs.system.config.dto.GradeDTO; | ||||||
| import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||||
|  | @ -388,9 +395,9 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail | ||||||
|         String memberRetailTable = getTableName(); |         String memberRetailTable = getTableName(); | ||||||
|         String memberSecondTable = getDayTableName(); |         String memberSecondTable = getDayTableName(); | ||||||
|         //查询直推会员 |         //查询直推会员 | ||||||
| //        List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType); |         List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType); | ||||||
|         // 2025年6月11日 取伞下 + 自己的ID |         // 2025年6月11日 取伞下 + 自己的ID | ||||||
|         List<Long> pkMemberList = baseMapper.selectSubMemberIdByRootMember(pkMember, systemType); | //        List<Long> pkMemberList = baseMapper.selectSubMemberIdByRootMember(pkMember, systemType); | ||||||
|         //根据国家查汇率 |         //根据国家查汇率 | ||||||
|         BigDecimal rate = iCuMemberBaseService.getCurrency(pkCountry).getInExchangeRate(); |         BigDecimal rate = iCuMemberBaseService.getCurrency(pkCountry).getInExchangeRate(); | ||||||
|         //查询自己业绩 |         //查询自己业绩 | ||||||
|  | @ -486,8 +493,12 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail | ||||||
|      * @return String |      * @return String | ||||||
|      */ |      */ | ||||||
|     private String getAchieveAndBoxTableName(String date) { |     private String getAchieveAndBoxTableName(String date) { | ||||||
|         int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(date).getPkId(); |         CuMemberSettlePeriod cuMemberSettlePeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(date); | ||||||
|         return TableNameConstants.CU_MEMBER_AMOUNT_BOX + period; |         if(ObjectUtil.isNotEmpty(cuMemberSettlePeriod)){ | ||||||
|  |             int period = cuMemberSettlePeriod.getPkId(); | ||||||
|  |             return TableNameConstants.CU_MEMBER_AMOUNT_BOX + period; | ||||||
|  |         } | ||||||
|  |         return ""; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|  | @ -546,6 +557,25 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail | ||||||
|         return new ArrayList<>(); |         return new ArrayList<>(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     @Override | ||||||
|  |     public CuMemberRetailDataStatisticsResultVO getRetailDataStatisticsDetail(Long pkMember, Integer pkCountry, Integer systemType) { | ||||||
|  |         Long userId = SecurityUtils.getUserId(); | ||||||
|  |         String memberRetailTable = getTableName(); | ||||||
|  |         String memberSecondTable = getDayTableName(); | ||||||
|  |         //查询直推会员 | ||||||
|  |         List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType); | ||||||
|  |         pkMemberList.add(userId); | ||||||
|  |         CuMemberRetailAchieveVO memberAchieveVO = CuMemberRetailAchieveVO.builder() | ||||||
|  |                 .memberRetailTable(memberRetailTable) | ||||||
|  |                 .memberRetailSTable(memberSecondTable) | ||||||
|  |                 .pkMemberList(pkMemberList).systemType(systemType).build(); | ||||||
|  |         List<CuMemberRetailDataStatisticsDetailVO> statisticsDetailVOList = baseMapper.getRetailDataStatisticsDetail(memberAchieveVO); | ||||||
|  |         CuMemberRetailDataStatisticsResultVO result = DataStatisticsUtil.getCalcMap(statisticsDetailVOList, userId); | ||||||
|  |         log.info("statisticsDetailVOList: {}", JSONUtil.toJsonStr(statisticsDetailVOList)); | ||||||
|  |         log.info("calcMap -> {}", JSONUtil.toJsonStr(result)); | ||||||
|  |         return result; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     /** |     /** | ||||||
|      * 查询会员是否激活 |      * 查询会员是否激活 | ||||||
|      * |      * | ||||||
|  |  | ||||||
|  | @ -0,0 +1,156 @@ | ||||||
|  | package com.hzs.retail.member.utils; | ||||||
|  | 
 | ||||||
|  | import cn.hutool.core.util.ObjectUtil; | ||||||
|  | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO; | ||||||
|  | import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsResultVO; | ||||||
|  | 
 | ||||||
|  | import java.math.BigDecimal; | ||||||
|  | import java.util.*; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 用户统计数据工具 | ||||||
|  |  * 主要用户统计用户的业绩/盒数/明细等 | ||||||
|  |  * 主要处理的类为 | ||||||
|  |  * @link com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO | ||||||
|  |  */ | ||||||
|  | public class DataStatisticsUtil { | ||||||
|  |     private static final Long SELF_VIRTUAL_ID = -1000L; | ||||||
|  |     private static final Long BIG_RANGE_VIRTUAL_ID = -2000L; | ||||||
|  |     private static final Long SMALL_RANGE_VIRTUAL_ID = -3000L; | ||||||
|  |     private static final String SELF_VIRTUAL_NAME = "个人消费虚拟分支"; | ||||||
|  |     private static final String BIG_RANGE_VIRTUAL_NAME = "注水大区虚拟分支"; | ||||||
|  |     private static final String SMALL_RANGE_VIRTUAL_NAME = "注水小区虚拟分支"; | ||||||
|  | 
 | ||||||
|  |     public static CuMemberRetailDataStatisticsResultVO getCalcMap(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){ | ||||||
|  |         calcDetailVOTotalField(detailVOList); | ||||||
|  |         addVirtualBranch(detailVOList, pkId); | ||||||
|  |         CuMemberRetailDataStatisticsDetailVO total = getDetailVOByPKID(detailVOList, pkId); | ||||||
|  |         CuMemberRetailDataStatisticsDetailVO bigRange = getBigRangeDetailVO(detailVOList, pkId); | ||||||
|  |         return CuMemberRetailDataStatisticsResultVO.builder() | ||||||
|  |                 .totalBoxNum(total.getTotalBoxNum()) | ||||||
|  |                 .totalPv(total.getTotalPv()) | ||||||
|  |                 .bigRangeTotalBoxNum(bigRange.getTotalBoxNum()) | ||||||
|  |                 .bigRangeTotalPv(bigRange.getTotalPv()) | ||||||
|  |                 .smallRangeTotalBoxNum(total.getTotalBoxNum() - bigRange.getTotalBoxNum()) | ||||||
|  |                 .smallRangeTotalPv(total.getTotalPv().subtract(bigRange.getTotalPv())) | ||||||
|  |                 .build(); | ||||||
|  |     } | ||||||
|  |     /** | ||||||
|  |      * 计算集合内数据总数 | ||||||
|  |      * @param detailVOList | ||||||
|  |      */ | ||||||
|  |     public static void calcDetailVOTotalField(List<CuMemberRetailDataStatisticsDetailVO> detailVOList){ | ||||||
|  |         detailVOList.parallelStream().forEach(detailVO -> { | ||||||
|  |             detailVO.setTotalBoxNum( | ||||||
|  |                     detailVO.getConsumeBoxNum()         // 个人累计消费盒数(日结) | ||||||
|  |                      + detailVO.getNewBoxNum()          // 个人新增盒数(日结) | ||||||
|  |                      + detailVO.getTeamBoxNum()         // 团队累计消费盒数(日结) | ||||||
|  |                      + detailVO.getTeamNewBoxNum()      // 团队新增盒数(日结) | ||||||
|  |                      + detailVO.getSNewBoxNum()         // 个人新增消费盒数(秒结) | ||||||
|  |                      + detailVO.getSTeamNewBoxNum()     // 团队新增盒数(秒结) | ||||||
|  | //                     - detailVO.getBigBoxNum()          // 个人注水大区盒数(日结) | ||||||
|  | //                     - detailVO.getSmallBoxNum()        // 个人注水小区盒数(日结) | ||||||
|  |             ); | ||||||
|  |             detailVO.setTotalPv(detailVO.getConsumePv() | ||||||
|  |                     .add(detailVO.getNewConsumePv()) | ||||||
|  |                     .add(detailVO.getTeamConsumePv()) | ||||||
|  |                     .add(detailVO.getTeamNewPv()) | ||||||
|  |                     .add(detailVO.getSNewConsumePv()) | ||||||
|  |                     .add(detailVO.getSTeamNewPv()) | ||||||
|  |             ); | ||||||
|  |         }); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 增加虚拟分支 主要为 | ||||||
|  |      * 1.自己的消费总数 | ||||||
|  |      * 2.注水的大小区 | ||||||
|  |      * | ||||||
|  |      * @param detailVOList | ||||||
|  |      */ | ||||||
|  |     public static void addVirtualBranch(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){ | ||||||
|  |         CuMemberRetailDataStatisticsDetailVO detailVO = getDetailVOByPKID(detailVOList, pkId); | ||||||
|  |         if(ObjectUtil.isNotEmpty(detailVO)){ | ||||||
|  |             CuMemberRetailDataStatisticsDetailVO selfVirtualDetailVO = getCuMemberRetailDataStatisticsDetailVO(detailVO); | ||||||
|  |             detailVOList.add(selfVirtualDetailVO); | ||||||
|  |             if(detailVO.getBigBoxNum() >0 || detailVO.getSmallBoxNum() > 0){ | ||||||
|  |                 CuMemberRetailDataStatisticsDetailVO bigRangeVirtualDetailVO = CuMemberRetailDataStatisticsDetailVO.builder() | ||||||
|  |                         .pkId(BIG_RANGE_VIRTUAL_ID) | ||||||
|  |                         .memberCode(BIG_RANGE_VIRTUAL_NAME) | ||||||
|  |                         .totalBoxNum(detailVO.getBigBoxNum()) | ||||||
|  |                         .totalPv(BigDecimal.ZERO) | ||||||
|  |                         .build(); | ||||||
|  |                 CuMemberRetailDataStatisticsDetailVO smallRangeVirtualDetailVO = CuMemberRetailDataStatisticsDetailVO.builder() | ||||||
|  |                         .pkId(SMALL_RANGE_VIRTUAL_ID) | ||||||
|  |                         .memberCode(SMALL_RANGE_VIRTUAL_NAME) | ||||||
|  |                         .totalBoxNum(detailVO.getBigBoxNum()) | ||||||
|  |                         .totalPv(BigDecimal.ZERO) | ||||||
|  |                         .build(); | ||||||
|  |                 detailVOList.add(bigRangeVirtualDetailVO); | ||||||
|  |                 detailVOList.add(smallRangeVirtualDetailVO); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private static CuMemberRetailDataStatisticsDetailVO getCuMemberRetailDataStatisticsDetailVO(CuMemberRetailDataStatisticsDetailVO detailVO) { | ||||||
|  |         return CuMemberRetailDataStatisticsDetailVO.builder() | ||||||
|  |                 .pkId(SELF_VIRTUAL_ID) | ||||||
|  |                 .memberCode(SELF_VIRTUAL_NAME) | ||||||
|  |                 .totalBoxNum( | ||||||
|  |                         detailVO.getConsumeBoxNum() | ||||||
|  |                         + detailVO.getNewBoxNum() | ||||||
|  |                         + detailVO.getSNewBoxNum() | ||||||
|  |                 ) | ||||||
|  |                 .totalPv( | ||||||
|  |                         detailVO.getConsumePv() | ||||||
|  |                                 .add(detailVO.getNewConsumePv()) | ||||||
|  |                                 .add(detailVO.getSNewConsumePv()) | ||||||
|  |                 ) | ||||||
|  |                 .build(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 移除总数Top1 | ||||||
|  |      * @param detailVOList | ||||||
|  |      */ | ||||||
|  |     public static List<CuMemberRetailDataStatisticsDetailVO> getSmallRangeList(List<CuMemberRetailDataStatisticsDetailVO> detailVOList){ | ||||||
|  |         List<CuMemberRetailDataStatisticsDetailVO> result = new ArrayList<>(); | ||||||
|  |         Integer maxTotalBoxNum = getMaxTotalBoxNum(detailVOList); | ||||||
|  |         if (maxTotalBoxNum == null) { | ||||||
|  |             return new ArrayList<>(detailVOList); | ||||||
|  |         } | ||||||
|  |         boolean removed = false; | ||||||
|  |         for (CuMemberRetailDataStatisticsDetailVO vo : detailVOList) { | ||||||
|  |             if (!removed && Objects.equals(vo.getTotalBoxNum(), maxTotalBoxNum)) { | ||||||
|  |                 removed = true; | ||||||
|  |             } else { | ||||||
|  |                 result.add(vo); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         return result; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 根据ID获取对应数据 | ||||||
|  |      * @param detailVOList | ||||||
|  |      * @return | ||||||
|  |      */ | ||||||
|  |     public static CuMemberRetailDataStatisticsDetailVO getDetailVOByPKID(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){ | ||||||
|  |         return detailVOList.stream().filter(o -> o.getPkId().equals(pkId)).findFirst().orElse(null); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private static Integer getMaxTotalBoxNum(List<CuMemberRetailDataStatisticsDetailVO> detailVOList) { | ||||||
|  |         return detailVOList.stream() | ||||||
|  |                 .map(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum) | ||||||
|  |                 .filter(Objects::nonNull) | ||||||
|  |                 .max(Integer::compare) | ||||||
|  |                 .orElse(null); | ||||||
|  |     } | ||||||
|  |     private static CuMemberRetailDataStatisticsDetailVO getBigRangeDetailVO(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){ | ||||||
|  |         return detailVOList.stream() | ||||||
|  |                 .filter(vo -> vo.getTotalBoxNum() != null && !vo.getPkId().equals(pkId)) | ||||||
|  |                 .max(Comparator.comparingInt(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum)) | ||||||
|  |                 .orElse(null); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -0,0 +1,104 @@ | ||||||
|  | package com.hzs.retail.member.vo; | ||||||
|  | 
 | ||||||
|  | import lombok.AllArgsConstructor; | ||||||
|  | import lombok.Builder; | ||||||
|  | import lombok.Data; | ||||||
|  | import lombok.NoArgsConstructor; | ||||||
|  | 
 | ||||||
|  | import java.io.Serializable; | ||||||
|  | import java.math.BigDecimal; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 会员数据统计 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @Builder | ||||||
|  | @AllArgsConstructor | ||||||
|  | @NoArgsConstructor | ||||||
|  | public class CuMemberRetailDataStatisticsDetailVO implements Serializable { | ||||||
|  | 
 | ||||||
|  |     private static final long serialVersionUID = 4225390345989552207L; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 用户主键 | ||||||
|  |      */ | ||||||
|  |     private Long pkId; | ||||||
|  |     /** | ||||||
|  |      * 用户编号 | ||||||
|  |      */ | ||||||
|  |     private String memberCode; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 日结表-个人累计消费pv | ||||||
|  |      */ | ||||||
|  |     private BigDecimal consumePv; | ||||||
|  |     /** | ||||||
|  |      * 日结表-个人当日新消费PV | ||||||
|  |      */ | ||||||
|  |     private BigDecimal newConsumePv; | ||||||
|  |     /** | ||||||
|  |      * 日结表-个人伞下累计消费pv | ||||||
|  |      */ | ||||||
|  |     private BigDecimal teamConsumePv; | ||||||
|  |     /** | ||||||
|  |      * 日结表-个人伞下新消费pv | ||||||
|  |      */ | ||||||
|  |     private BigDecimal teamNewPv; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 日结表-个人累计消费盒数 | ||||||
|  |      */ | ||||||
|  |     private Integer consumeBoxNum; | ||||||
|  |     /** | ||||||
|  |      * 日结表-个人当日新消费盒数 | ||||||
|  |      */ | ||||||
|  |     private Integer newBoxNum; | ||||||
|  |     /** | ||||||
|  |      * 日结表-个人伞下累计消费盒数 | ||||||
|  |      */ | ||||||
|  |     private Integer teamBoxNum; | ||||||
|  |     /** | ||||||
|  |      * 日结表-个人伞下新消费盒数 | ||||||
|  |      */ | ||||||
|  |     private Integer teamNewBoxNum; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 秒结表-个人新消费盒数 | ||||||
|  |      */ | ||||||
|  |     private Integer sNewBoxNum; | ||||||
|  |     /** | ||||||
|  |      * 秒结表-团队新消费盒数 | ||||||
|  |      */ | ||||||
|  |     private Integer sTeamNewBoxNum; | ||||||
|  |     /** | ||||||
|  |      * 秒结表-个人新消费pv | ||||||
|  |      */ | ||||||
|  |     private BigDecimal sNewConsumePv; | ||||||
|  |     /** | ||||||
|  |      * 秒结表-团队新消费pv | ||||||
|  |      */ | ||||||
|  |     private BigDecimal sTeamNewPv; | ||||||
|  | 
 | ||||||
|  |     private Integer sTeamBoxNum; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 个人总业绩 | ||||||
|  |      */ | ||||||
|  |     private BigDecimal totalPv; | ||||||
|  |     /** | ||||||
|  |      * 个人总盒数 | ||||||
|  |      */ | ||||||
|  |     private Integer totalBoxNum; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 注水大区 | ||||||
|  |      */ | ||||||
|  |     private Integer bigBoxNum; | ||||||
|  |     /** | ||||||
|  |      * 注水小区 | ||||||
|  |      */ | ||||||
|  |     private Integer smallBoxNum; | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,58 @@ | ||||||
|  | package com.hzs.retail.member.vo; | ||||||
|  | 
 | ||||||
|  | import lombok.AllArgsConstructor; | ||||||
|  | import lombok.Builder; | ||||||
|  | import lombok.Data; | ||||||
|  | import lombok.NoArgsConstructor; | ||||||
|  | 
 | ||||||
|  | import java.io.Serializable; | ||||||
|  | import java.math.BigDecimal; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 会员数据统计 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @Builder | ||||||
|  | @AllArgsConstructor | ||||||
|  | @NoArgsConstructor | ||||||
|  | public class CuMemberRetailDataStatisticsResultVO implements Serializable { | ||||||
|  | 
 | ||||||
|  |     private static final long serialVersionUID = 747472786422852424L; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 用户主键 | ||||||
|  |      */ | ||||||
|  |     private Long pkId; | ||||||
|  |     /** | ||||||
|  |      * 用户编号 | ||||||
|  |      */ | ||||||
|  |     private String memberCode; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      *  总盒数 | ||||||
|  |      */ | ||||||
|  |     private Integer totalBoxNum; | ||||||
|  |     /** | ||||||
|  |      * 大区盒数 | ||||||
|  |      */ | ||||||
|  |     private Integer bigRangeTotalBoxNum; | ||||||
|  |     /** | ||||||
|  |      * 小区盒数 | ||||||
|  |      */ | ||||||
|  |     private Integer smallRangeTotalBoxNum; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 总业绩 | ||||||
|  |      */ | ||||||
|  |     private BigDecimal totalPv; | ||||||
|  |     /** | ||||||
|  |      * 大区业绩 | ||||||
|  |      */ | ||||||
|  |     private BigDecimal bigRangeTotalPv; | ||||||
|  |     /** | ||||||
|  |      * 小区业绩 | ||||||
|  |      */ | ||||||
|  |     private BigDecimal smallRangeTotalPv; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @ -836,4 +836,39 @@ | ||||||
|         connect by prior cm.pk_id = cm.pk_parent |         connect by prior cm.pk_id = cm.pk_parent | ||||||
|         order by level |         order by level | ||||||
|     </select> |     </select> | ||||||
|  |     <select id="getRetailDataStatisticsDetail" | ||||||
|  |             resultType="com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO"> | ||||||
|  |         SELECT | ||||||
|  |             cu.pk_id, | ||||||
|  |             cu.MEMBER_CODE, | ||||||
|  |             NVL( mr.CONSUME_PV, 0 ) consumePv, | ||||||
|  |             NVL( mr.NEW_CONSUME_PV, 0 ) newConsumePv, | ||||||
|  |             NVL( mr.TEAM_CONSUME_PV, 0 ) teamConsumePv, | ||||||
|  |             NVL( mr.TEAM_NEW_PV, 0 ) teamNewPv, | ||||||
|  | 
 | ||||||
|  |             NVL( mr.CONSUME_BOX_NUM, 0 ) consumeBoxNum, | ||||||
|  |             NVL( mr.NEW_BOX_NUM, 0 ) newBoxNum, | ||||||
|  |             NVL( mr.TEAM_BOX_NUM, 0 ) teamBoxNum, | ||||||
|  |             NVL( mr.TEAM_NEW_BOX_NUM, 0 ) teamNewBoxNum, | ||||||
|  |             NVL( mr.BIG_BOX_NUM, 0 ) bigBoxNum, | ||||||
|  |             NVL( mr.SMALL_BOX_NUM, 0 ) smallBoxNum, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |             NVL( mrs.NEW_BOX_NUM, 0 ) sNewBoxNum, | ||||||
|  |             NVL( mrs.TEAM_NEW_BOX_NUM, 0 ) sTeamNewBoxNum, | ||||||
|  |             NVL( mrs.NEW_CONSUME_PV, 0 ) sNewConsumePv, | ||||||
|  |             NVL( mrs.TEAM_NEW_PV, 0 ) sTeamNewPv | ||||||
|  |         FROM | ||||||
|  |             cu_member cu | ||||||
|  |                 left join ${memberRetailTable} mr on cu.PK_ID = mr.PK_MEMBER and mr.CATEGORY = 0 | ||||||
|  |                 left JOIN ${memberRetailSTable} mrs on cu.PK_ID = mrs.PK_MEMBER | ||||||
|  |         <where> | ||||||
|  |             <if test="pkMemberList != null and pkMemberList.size > 0"> | ||||||
|  |                 cu.pk_id in | ||||||
|  |                 <foreach collection="pkMemberList" item="pkMember" separator="," open="(" close=")"> | ||||||
|  |                     #{pkMember} | ||||||
|  |                 </foreach> | ||||||
|  |             </if> | ||||||
|  |         </where> | ||||||
|  |     </select> | ||||||
| </mapper> | </mapper> | ||||||
|  |  | ||||||
|  | @ -1,13 +1,11 @@ | ||||||
| package com.hzs.system.config.controller.manage; | package com.hzs.system.config.controller.manage; | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| import cn.hutool.core.bean.BeanUtil; | import cn.hutool.core.bean.BeanUtil; | ||||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||||
| import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | ||||||
| import com.hzs.common.core.annotation.Log; | import com.hzs.common.core.annotation.Log; | ||||||
| import com.hzs.common.core.constant.CacheConstants; | import com.hzs.common.core.constant.CacheConstants; | ||||||
| import com.hzs.common.core.constant.msg.ConfigMsgConstants; | import com.hzs.common.core.constant.msg.ConfigMsgConstants; | ||||||
| import com.hzs.common.core.domain.R; |  | ||||||
| import com.hzs.common.core.enums.*; | import com.hzs.common.core.enums.*; | ||||||
| import com.hzs.common.core.service.RedisService; | import com.hzs.common.core.service.RedisService; | ||||||
| import com.hzs.common.core.utils.StringUtils; | import com.hzs.common.core.utils.StringUtils; | ||||||
|  | @ -19,10 +17,8 @@ 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; | ||||||
| import com.hzs.common.security.utils.SecurityUtils; | import com.hzs.common.security.utils.SecurityUtils; | ||||||
| import com.hzs.common.util.TransactionUtils; | import com.hzs.common.util.TransactionUtils; | ||||||
| import com.hzs.system.base.ITransactionServiceApi; |  | ||||||
| import com.hzs.system.config.service.IBdBonusItemsService; | import com.hzs.system.config.service.IBdBonusItemsService; | ||||||
| import com.hzs.system.config.vo.ApiBdBonusItemsVO; | import com.hzs.system.config.vo.ApiBdBonusItemsVO; | ||||||
| import org.apache.dubbo.config.annotation.DubboReference; |  | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.web.bind.annotation.*; | import org.springframework.web.bind.annotation.*; | ||||||
| 
 | 
 | ||||||
|  | @ -32,12 +28,7 @@ import java.util.Date; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * <p> |  | ||||||
|  * 奖项配置 前端控制器 |  * 奖项配置 前端控制器 | ||||||
|  * </p> |  | ||||||
|  * |  | ||||||
|  * @author zhangjing |  | ||||||
|  * @since 2022-11-09 |  | ||||||
|  */ |  */ | ||||||
| @RestController | @RestController | ||||||
| @RequestMapping("/manage/bd-bonus-items") | @RequestMapping("/manage/bd-bonus-items") | ||||||
|  | @ -45,79 +36,63 @@ public class BdBonusItemsController extends BaseController { | ||||||
| 
 | 
 | ||||||
|     @Autowired |     @Autowired | ||||||
|     private IBdBonusItemsService bonusItemsService; |     private IBdBonusItemsService bonusItemsService; | ||||||
|     @DubboReference |     @Autowired | ||||||
|     private ITransactionServiceApi iTransactionServiceApi; |  | ||||||
|     private RedisService redisService; |     private RedisService redisService; | ||||||
| 
 | 
 | ||||||
|     @Autowired |  | ||||||
|     public void setRedisService(RedisService redisService) { |  | ||||||
|         this.redisService = redisService; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     /** |     /** | ||||||
|      * @description: 查询奖项配置列表 |      * 查询奖项配置列表 | ||||||
|      * @author: zhang jing |  | ||||||
|      * @date: 2022/8/30 10:20 |  | ||||||
|      * @param: [bonusItems] |  | ||||||
|      * @return: com.hzs.common.core.web.page.TableDataInfo |  | ||||||
|      **/ |      **/ | ||||||
|     @Log(module = EOperationModule.BONUS_CONFIG, business=EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.SELECT) |     @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.SELECT) | ||||||
|     @GetMapping("/list") |     @GetMapping("/list") | ||||||
|     public TableDataInfo list(BdBonusItems bonusItems) { |     public TableDataInfo list(BdBonusItems bonusItems) { | ||||||
|         startPage(); |  | ||||||
|         QueryWrapper<BdBonusItems> queryWrapper = new QueryWrapper(); |  | ||||||
|         queryWrapper.eq("PK_COUNTRY", SecurityUtils.getPkCountry()); |  | ||||||
|         if(StringUtils.isNotNull(bonusItems.getBonusName())){ |  | ||||||
|             queryWrapper.eq("BONUS_NAME",bonusItems.getBonusName()); |  | ||||||
|         } |  | ||||||
|         queryWrapper.orderByAsc("PK_ID"); |  | ||||||
|         List<BdBonusItemsExt> listExt = new ArrayList<>(); |         List<BdBonusItemsExt> listExt = new ArrayList<>(); | ||||||
|  | 
 | ||||||
|  |         startPage(); | ||||||
|  |         LambdaQueryWrapper<BdBonusItems> queryWrapper = new LambdaQueryWrapper<>(); | ||||||
|  |         queryWrapper.eq(BdBonusItems::getPkCountry, SecurityUtils.getPkCountry()); | ||||||
|  |         if (StringUtils.isNotNull(bonusItems.getBonusName())) { | ||||||
|  |             queryWrapper.eq(BdBonusItems::getBonusName, bonusItems.getBonusName()); | ||||||
|  |         } | ||||||
|  |         queryWrapper.orderByAsc(BdBonusItems::getPkId); | ||||||
|         List<BdBonusItems> list = bonusItemsService.list(queryWrapper); |         List<BdBonusItems> list = bonusItemsService.list(queryWrapper); | ||||||
|         list.forEach(item -> listExt.add(BeanUtil.copyProperties(item, BdBonusItemsExt.class))); |         list.forEach(item -> listExt.add(BeanUtil.copyProperties(item, BdBonusItemsExt.class))); | ||||||
|  | 
 | ||||||
|         TableDataInfo tableDataInfo = getDataTable(list); |         TableDataInfo tableDataInfo = getDataTable(list); | ||||||
|         tableDataInfo.setRows(listExt); |         tableDataInfo.setRows(listExt); | ||||||
|         return tableDataInfo; |         return tableDataInfo; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * @description: 导出 |      * 导出 | ||||||
|      * @author: zhang jing |  | ||||||
|      * @date: 2023/4/4 9:56 |  | ||||||
|      * @param: [response, bonusItems] |  | ||||||
|      * @return: void |  | ||||||
|      **/ |      **/ | ||||||
|     @Log(module = EOperationModule.BONUS_CONFIG, business=EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.EXPORT) |     @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.EXPORT) | ||||||
|     @PostMapping("/export") |     @PostMapping("/export") | ||||||
|     public void export(HttpServletResponse response, BdBonusItems bonusItems) { |     public void export(HttpServletResponse response, BdBonusItems bonusItems) { | ||||||
|         QueryWrapper<BdBonusItems> queryWrapper = new QueryWrapper(); |         LambdaQueryWrapper<BdBonusItems> queryWrapper = new LambdaQueryWrapper<>(); | ||||||
|         queryWrapper.eq("PK_COUNTRY", SecurityUtils.getPkCountry()); |         queryWrapper.eq(BdBonusItems::getPkCountry, SecurityUtils.getPkCountry()); | ||||||
|         if(StringUtils.isNotNull(bonusItems.getBonusName())){ |         if (StringUtils.isNotNull(bonusItems.getBonusName())) { | ||||||
|             queryWrapper.eq("BONUS_NAME",bonusItems.getBonusName()); |             queryWrapper.eq(BdBonusItems::getBonusName, bonusItems.getBonusName()); | ||||||
|         } |         } | ||||||
|         queryWrapper.orderByAsc("PK_ID"); |         queryWrapper.orderByAsc(BdBonusItems::getPkId); | ||||||
|         List<BdBonusItemsExt> listExt = new ArrayList<>(); |         List<BdBonusItemsExt> listExt = new ArrayList<>(); | ||||||
|         List<BdBonusItems> list = bonusItemsService.list(queryWrapper); |         List<BdBonusItems> list = bonusItemsService.list(queryWrapper); | ||||||
|         list.forEach(item -> listExt.add(BeanUtil.copyProperties(item, BdBonusItemsExt.class))); |         list.forEach(item -> listExt.add(BeanUtil.copyProperties(item, BdBonusItemsExt.class))); | ||||||
|         ExcelUtil<BdBonusItemsExt> util = new ExcelUtil<>(BdBonusItemsExt.class); |         ExcelUtil<BdBonusItemsExt> util = new ExcelUtil<>(BdBonusItemsExt.class); | ||||||
|         util.exportExcel(response, listExt, "奖项配置"); |         util.exportExcel(response, listExt, "奖项配置"); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|     /** |     /** | ||||||
|      * @description: 查询奖项配置列表(下拉选) |      * 查询奖项配置列表(下拉选) | ||||||
|      * @author: zhang jing |  | ||||||
|      * @date: 2022/8/30 10:20 |  | ||||||
|      * @param: [bonusItems] |  | ||||||
|      * @return: com.hzs.common.core.web.page.TableDataInfo |  | ||||||
|      **/ |      **/ | ||||||
|     @Log(module = EOperationModule.BONUS_CONFIG, business=EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.SELECT) |     @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.SELECT) | ||||||
|     @GetMapping("/listNoPage") |     @GetMapping("/listNoPage") | ||||||
|     public TableDataInfo listNoPage(BdBonusItems bonusItems) { |     public TableDataInfo listNoPage(BdBonusItems bonusItems) { | ||||||
|         QueryWrapper<BdBonusItems> queryWrapper = new QueryWrapper(); |         LambdaQueryWrapper<BdBonusItems> queryWrapper = new LambdaQueryWrapper<>(); | ||||||
|         queryWrapper.eq("PK_COUNTRY", SecurityUtils.getPkCountry()); |         queryWrapper.eq(BdBonusItems::getPkCountry, SecurityUtils.getPkCountry()); | ||||||
|         if(StringUtils.isNotNull(bonusItems.getBonusName())){ |         if (StringUtils.isNotNull(bonusItems.getBonusName())) { | ||||||
|             queryWrapper.eq("BONUS_NAME",bonusItems.getBonusName()); |             queryWrapper.eq(BdBonusItems::getBonusName, bonusItems.getBonusName()); | ||||||
|         } |         } | ||||||
|         queryWrapper.orderByAsc("PK_ID"); |         queryWrapper.orderByAsc(BdBonusItems::getPkId); | ||||||
|         List<ApiBdBonusItemsVO> listVO = new ArrayList<>(); |         List<ApiBdBonusItemsVO> listVO = new ArrayList<>(); | ||||||
|         List<BdBonusItems> list = bonusItemsService.list(queryWrapper); |         List<BdBonusItems> list = bonusItemsService.list(queryWrapper); | ||||||
|         list.forEach(item -> listVO.add(BeanUtil.copyProperties(item, ApiBdBonusItemsVO.class))); |         list.forEach(item -> listVO.add(BeanUtil.copyProperties(item, ApiBdBonusItemsVO.class))); | ||||||
|  | @ -125,112 +100,71 @@ public class BdBonusItemsController extends BaseController { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * @description: 生成奖项 |      * 生成奖项 | ||||||
|      * @author: zhang jing |  | ||||||
|      * @date: 2022/10/22 9:54 |  | ||||||
|      * @param: [grade] |  | ||||||
|      * @return: com.hzs.common.core.web.domain.AjaxResult |  | ||||||
|      **/ |      **/ | ||||||
|     @Log(module = EOperationModule.BONUS_CONFIG, business=EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.INSERT) |     @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.INSERT) | ||||||
|     @PostMapping("/generate") |     @PostMapping("/generate") | ||||||
|     public AjaxResult generate(@RequestBody BdBonusItems bonusItems) { |     public AjaxResult generate(@RequestBody BdBonusItems bonusItems) { | ||||||
|         return AjaxResult.success(bonusItemsService.generate(bonusItems)); |         return AjaxResult.success(bonusItemsService.generate(bonusItems)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|     /** |     /** | ||||||
|      * @description: 修改奖项配置 |      * 修改奖项配置 | ||||||
|      * @author: zhang jing |  | ||||||
|      * @date: 2022/8/30 10:21 |  | ||||||
|      * @param: [bonusItems] |  | ||||||
|      * @return: com.hzs.common.core.web.domain.AjaxResult |  | ||||||
|      **/ |      **/ | ||||||
|     @Log(module = EOperationModule.BONUS_CONFIG, business=EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.UPDATE) |     @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.UPDATE) | ||||||
|     @PostMapping("/update") |     @PostMapping("/update") | ||||||
|     public AjaxResult update(@RequestBody BdBonusItems bonusItems) { |     public AjaxResult update(@RequestBody BdBonusItems bonusItems) { | ||||||
|         Integer pkCountry=SecurityUtils.getPkCountry(); |         Integer pkCountry = SecurityUtils.getPkCountry(); | ||||||
|         if(StringUtils.isEmpty(bonusItems.getBonusName())){ |         if (StringUtils.isEmpty(bonusItems.getBonusName())) { | ||||||
|             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.BONUS_NAME_NOT_NULL)); |             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.BONUS_NAME_NOT_NULL)); | ||||||
|         } |         } | ||||||
|         if(StringUtils.isNull(bonusItems.getEnableState())){ |         if (StringUtils.isNull(bonusItems.getEnableState())) { | ||||||
|             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.ENABLE_STATE_NOT_NULL)); |             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.ENABLE_STATE_NOT_NULL)); | ||||||
|         } |         } | ||||||
|         if(StringUtils.isNull(bonusItems.getSettleType())){ |         if (StringUtils.isNull(bonusItems.getSettleType())) { | ||||||
|             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.SETTLE_TYPE_NOT_NULL)); |             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.SETTLE_TYPE_NOT_NULL)); | ||||||
|         } |         } | ||||||
|         if(StringUtils.isNull(bonusItems.getPublishTime())){ |         if (StringUtils.isNull(bonusItems.getPublishTime())) { | ||||||
|             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.PUBLISH_TIME_NOT_NULL)); |             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.PUBLISH_TIME_NOT_NULL)); | ||||||
|         } |         } | ||||||
|         if(StringUtils.isNull(bonusItems.getPublishDate())){ |         if (StringUtils.isNull(bonusItems.getPublishDate())) { | ||||||
|             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.PUBLISH_DATE_NOT_NULL)); |             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.PUBLISH_DATE_NOT_NULL)); | ||||||
|         } |         } | ||||||
|         if(StringUtils.isNull(bonusItems.getGrantDate())){ |         if (StringUtils.isNull(bonusItems.getGrantDate())) { | ||||||
|             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.GRANT_DATE_NOT_NULL)); |             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.GRANT_DATE_NOT_NULL)); | ||||||
|         } |         } | ||||||
|         if(StringUtils.isNull(bonusItems.getWithdrawalDate())){ |         if (StringUtils.isNull(bonusItems.getWithdrawalDate())) { | ||||||
|             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.WITHDRAWAL_DATE_NOT_NULL)); |             return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.WITHDRAWAL_DATE_NOT_NULL)); | ||||||
|         } |         } | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|         //字段翻译保存到数据库 |  | ||||||
|         if(null!=bonusItems.getPkTransaction()){ |  | ||||||
|             R<Boolean> b = iTransactionServiceApi.updateTransaction(pkCountry, |  | ||||||
|                     bonusItems.getBonusName(),bonusItems.getPkTransaction(), true); |  | ||||||
|         }else{ |  | ||||||
|             //字段翻译保存到数据库 |  | ||||||
|             R<Integer> pkTransaction= iTransactionServiceApi.createTransaction(pkCountry, ETransactionKey.BD_BONUS_ITEMS, |  | ||||||
|                     bonusItems.getBonusName(), EYesNo.YES, EYesNo.NO); |  | ||||||
|             bonusItems.setPkTransaction(pkTransaction.getData()); |  | ||||||
|         } |  | ||||||
|         bonusItems.setPkModified(SecurityUtils.getUserId()); |         bonusItems.setPkModified(SecurityUtils.getUserId()); | ||||||
|         bonusItems.setModifiedTime(new Date()); |         bonusItems.setModifiedTime(new Date()); | ||||||
|         redisService.deleteObject(CacheConstants.BD_BONUS_ITEMS + pkCountry); |         redisService.deleteObject(CacheConstants.BD_BONUS_ITEMS + pkCountry); | ||||||
|         return toAjax(bonusItemsService.updateById(bonusItems)); |         return toAjax(bonusItemsService.updateById(bonusItems)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     /** |     /** | ||||||
|      * @description: 查询单条奖项配置 |      * 查询单条奖项配置 | ||||||
|      * @author: zhang jing |  | ||||||
|      * @date: 2022/8/30 10:21 |  | ||||||
|      * @param: [pkId] |  | ||||||
|      * @return: com.hzs.common.core.web.domain.AjaxResult |  | ||||||
|      **/ |      **/ | ||||||
|     @Log(module = EOperationModule.BONUS_CONFIG, business=EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.SELECT) |     @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.SELECT) | ||||||
|     @GetMapping("/getOne/{pkId}") |     @GetMapping("/getOne/{pkId}") | ||||||
|     public AjaxResult getOne(@PathVariable Long pkId) { |     public AjaxResult getOne(@PathVariable Long pkId) { | ||||||
|         BdBonusItems bonusItems = bonusItemsService.getById(pkId); |         BdBonusItems bonusItems = bonusItemsService.getById(pkId); | ||||||
|         BdBonusItemsExt bonusItemsExt=BeanUtil.copyProperties(bonusItems, BdBonusItemsExt.class); |         BdBonusItemsExt bonusItemsExt = BeanUtil.copyProperties(bonusItems, BdBonusItemsExt.class); | ||||||
|         return AjaxResult.success(bonusItemsExt); |         return AjaxResult.success(bonusItemsExt); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|     /** |     /** | ||||||
|      * @description: 删除奖项配置 |      * 删除奖项配置 | ||||||
|      * @author: zhang jing |  | ||||||
|      * @date: 2022/8/30 10:21 |  | ||||||
|      * @param: [pkId] |  | ||||||
|      * @return: com.hzs.common.core.web.domain.AjaxResult |  | ||||||
|      **/ |      **/ | ||||||
|     @Log(module = EOperationModule.BONUS_CONFIG, business=EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.DELETE) |     @Log(module = EOperationModule.BONUS_CONFIG, business = EOperationBusiness.BONUS_ITEMS, method = EOperationMethod.DELETE) | ||||||
|     @DeleteMapping("/{pkId}") |     @DeleteMapping("/{pkId}") | ||||||
|     public AjaxResult delete(@PathVariable Long pkId) { |     public AjaxResult delete(@PathVariable Long pkId) { | ||||||
|         UpdateWrapper<BdBonusItems> updateWrapper = new UpdateWrapper<>(); |         LambdaUpdateWrapper<BdBonusItems> updateWrapper = new LambdaUpdateWrapper<>(); | ||||||
|         updateWrapper.eq("PK_ID", pkId); |         updateWrapper.eq(BdBonusItems::getPkId, pkId); | ||||||
|         updateWrapper.set("DEL_FLAG", EDelFlag.DELETE.getValue()); |         updateWrapper.set(BdBonusItems::getDelFlag, EDelFlag.DELETE.getValue()); | ||||||
|         updateWrapper.set("PK_MODIFIED", SecurityUtils.getUserId()); |         updateWrapper.set(BdBonusItems::getPkModified, SecurityUtils.getUserId()); | ||||||
|         updateWrapper.set("MODIFIED_TIME", new Date()); |         updateWrapper.set(BdBonusItems::getModifiedTime, new Date()); | ||||||
|         redisService.deleteObject(CacheConstants.BD_BONUS_ITEMS + SecurityUtils.getPkCountry()); |         redisService.deleteObject(CacheConstants.BD_BONUS_ITEMS + SecurityUtils.getPkCountry()); | ||||||
|         //删除翻译 |  | ||||||
|         BdBonusItems bdBonusItems=bonusItemsService.getById(pkId); |  | ||||||
|         List<Long> pkIdList=new ArrayList<>(); |  | ||||||
|         if(null!=bdBonusItems.getPkTransaction()){ |  | ||||||
|             pkIdList.add(bdBonusItems.getPkTransaction().longValue()); |  | ||||||
|             R<Boolean> b=iTransactionServiceApi.removeTransactionByPkId(pkIdList); |  | ||||||
|         } |  | ||||||
|         return toAjax(bonusItemsService.update(updateWrapper)); |         return toAjax(bonusItemsService.update(updateWrapper)); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -17,15 +17,6 @@ public class RetailConstants { | ||||||
|      * 直推平级收益比例(每代拿商品价格的千分之五) |      * 直推平级收益比例(每代拿商品价格的千分之五) | ||||||
|      */ |      */ | ||||||
|     public static final BigDecimal SAME_RATIO = new BigDecimal("0.005"); |     public static final BigDecimal SAME_RATIO = new BigDecimal("0.005"); | ||||||
|     /** |  | ||||||
|      * 直推平缓收益代数(每级都是10代) |  | ||||||
|      */ |  | ||||||
|     public static final Integer SAME_ALGEBRA = 10; |  | ||||||
| 
 |  | ||||||
|     /** |  | ||||||
|      * 区域分红,每盒2元 |  | ||||||
|      */ |  | ||||||
|     public static final BigDecimal AREA_BOX_BONUS = new BigDecimal("2"); |  | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 盒数产品列表 |      * 盒数产品列表 | ||||||
|  |  | ||||||
|  | @ -52,7 +52,10 @@ public class BonusMsgConstants { | ||||||
| 
 | 
 | ||||||
|     public static String RETAIL_BENEFIT_AVG_INCOME = "获得%f月福利平均收益,结算月%s。"; |     public static String RETAIL_BENEFIT_AVG_INCOME = "获得%f月福利平均收益,结算月%s。"; | ||||||
| 
 | 
 | ||||||
|     public static String RETAIL_AREA_INCOME = "订单编号%s,%s为%s贡献了区域收益,区域收益%f,收益县%s。"; |     /** | ||||||
|  |      * 区域分红说明 | ||||||
|  |      */ | ||||||
|  |     public static String RETAIL_AREA_INCOME = "订单编号%s,%s为%s贡献了区域分红,区域分红%f,收益县%s。"; | ||||||
| 
 | 
 | ||||||
|     public static String RETAIL_BENEFIT_INCOME = "获得%f月福利加权收益,结算月%s。"; |     public static String RETAIL_BENEFIT_INCOME = "获得%f月福利加权收益,结算月%s。"; | ||||||
| 
 | 
 | ||||||
|  | @ -110,10 +113,16 @@ public class BonusMsgConstants { | ||||||
| //    public static String SHARE_RANGE = "MSG_BONUS_017"; | //    public static String SHARE_RANGE = "MSG_BONUS_017"; | ||||||
|     public static String SHARE_RANGE = "订单编号%s,%s为%s贡献了复购极差收益,计算业绩%f,前一极差等级名称%s,当前极差等级名称%s。"; |     public static String SHARE_RANGE = "订单编号%s,%s为%s贡献了复购极差收益,计算业绩%f,前一极差等级名称%s,当前极差等级名称%s。"; | ||||||
| 
 | 
 | ||||||
|     public static String RANGE = "订单编号%s,%s为%s贡献了极差收益,计算业绩%f,前一极差等级名称%s,当前极差等级名称%s。"; |  | ||||||
| 
 |  | ||||||
|     public static String RETAIL_RANGE = "订单编号%s,%s为%s贡献了福利极差收益,计算业绩%f,前一极差等级名称%s,当前极差等级名称%s。"; |     public static String RETAIL_RANGE = "订单编号%s,%s为%s贡献了福利极差收益,计算业绩%f,前一极差等级名称%s,当前极差等级名称%s。"; | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * 直推级差收益说明 | ||||||
|  |      */ | ||||||
|  |     public static String RANGE = "订单编号%s,%s为%s贡献了直推级差收益,计算金额%f,前一级差等级名称%s,当前级差等级名称%s。"; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 平级收益 | ||||||
|  |      */ | ||||||
|     public static String ORI_RANGE = "订单编号%s,%s为%s贡献了平级收益,计算业绩%f,等级名称%s。"; |     public static String ORI_RANGE = "订单编号%s,%s为%s贡献了平级收益,计算业绩%f,等级名称%s。"; | ||||||
| 
 | 
 | ||||||
|     public static String LE_SHARE_RANGE = "订单编号%s,%s为%s贡献了复购极差收益,收益%f。"; |     public static String LE_SHARE_RANGE = "订单编号%s,%s为%s贡献了复购极差收益,收益%f。"; | ||||||
|  |  | ||||||
|  | @ -5,18 +5,14 @@ import lombok.AllArgsConstructor; | ||||||
| import lombok.Getter; | import lombok.Getter; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * @Description: 奖金收益状态  奖金明细表 |  * 奖金收益状态  奖金明细表 | ||||||
|  * @Author: sui q |  | ||||||
|  * @Time: 2022/11/10 16:03 |  | ||||||
|  * @Classname: EBonusIncomeStatus |  | ||||||
|  * @PackageName: com.hzs.common.core.enums |  | ||||||
|  */ |  */ | ||||||
| @AllArgsConstructor | @AllArgsConstructor | ||||||
| @Getter | @Getter | ||||||
| public enum EBonusIncomeStatus { | public enum EBonusIncomeStatus { | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      *正常 |      * 正常 | ||||||
|      */ |      */ | ||||||
|     NORMAL(0, "正常", 0, EnumsPrefixConstants.BONUS_INCOME_STATUS + "0"), |     NORMAL(0, "正常", 0, EnumsPrefixConstants.BONUS_INCOME_STATUS + "0"), | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -224,7 +224,7 @@ public class CuMemberBonus extends BaseEntity { | ||||||
|     private BigDecimal makerRealSubtotal; |     private BigDecimal makerRealSubtotal; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 新零售极差收益 |      * 新零售直推收益 | ||||||
|      */ |      */ | ||||||
|     @TableField("RETAIL_RANGE_INCOME") |     @TableField("RETAIL_RANGE_INCOME") | ||||||
|     private BigDecimal retailRangeIncome; |     private BigDecimal retailRangeIncome; | ||||||
|  | @ -236,7 +236,7 @@ public class CuMemberBonus extends BaseEntity { | ||||||
|     private BigDecimal retailSameLevelIncome; |     private BigDecimal retailSameLevelIncome; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 新零售区域收益 |      * 新零售区域分红 | ||||||
|      */ |      */ | ||||||
|     @TableField("RETAIL_AREA_INCOME") |     @TableField("RETAIL_AREA_INCOME") | ||||||
|     private BigDecimal retailAreaIncome; |     private BigDecimal retailAreaIncome; | ||||||
|  |  | ||||||
|  | @ -381,7 +381,7 @@ public class CuBonusVertexStatis extends BaseEntity { | ||||||
|     private BigDecimal retailConsumePv; |     private BigDecimal retailConsumePv; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 新零售极差收益 |      * 新零售直推收益 | ||||||
|      */ |      */ | ||||||
|     @TableField("RETAIL_RANGE_INCOME") |     @TableField("RETAIL_RANGE_INCOME") | ||||||
|     private BigDecimal retailRangeIncome; |     private BigDecimal retailRangeIncome; | ||||||
|  |  | ||||||
|  | @ -6,12 +6,7 @@ import lombok.Data; | ||||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * <p> |  | ||||||
|  * 奖项配置 |  * 奖项配置 | ||||||
|  * </p> |  | ||||||
|  * |  | ||||||
|  * @author zhangjing |  | ||||||
|  * @since 2022-11-09 |  | ||||||
|  */ |  */ | ||||||
| @Data | @Data | ||||||
| @EqualsAndHashCode(callSuper = true) | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @ -22,28 +17,25 @@ public class BdBonusItemsExt extends BdBonusItems { | ||||||
|     /** |     /** | ||||||
|      * 结算周期 |      * 结算周期 | ||||||
|      */ |      */ | ||||||
|     @Excel(name = "结算周期",sort=2) |     @Excel(name = "结算周期", sort = 2) | ||||||
|     private String settleTypeVal; |     private String settleTypeVal; | ||||||
|  | 
 | ||||||
|     /** |     /** | ||||||
|      * 公布日期 |      * 公布日期 | ||||||
|      */ |      */ | ||||||
|     @Excel(name = "公布日期",sort=4) |     @Excel(name = "公布日期", sort = 4) | ||||||
|     private String publishDateVal; |     private String publishDateVal; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 发布日期 |      * 发布日期 | ||||||
|      */ |      */ | ||||||
|     @Excel(name = "公布日期",sort=5) |     @Excel(name = "公布日期", sort = 5) | ||||||
|     private String grantDateVal; |     private String grantDateVal; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 可提现日期 |      * 可提现日期 | ||||||
|      */ |      */ | ||||||
|     @Excel(name = "可提现日期",sort=6) |     @Excel(name = "可提现日期", sort = 6) | ||||||
|     private String withdrawalDateVal; |     private String withdrawalDateVal; | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue