## 奖金结算添加明细表补偿处理;
This commit is contained in:
		
							parent
							
								
									fb9a90a81e
								
							
						
					
					
						commit
						93960988a7
					
				|  | @ -12,7 +12,7 @@ public interface IBonusSettleService { | |||
|      * | ||||
|      * @param date 结算日期 | ||||
|      */ | ||||
|     void calculateCuMemberBonus(String date); | ||||
|     void calculateCuMemberBonus(String date, Integer period, String yesterday, Integer yesterdayPeriod); | ||||
| 
 | ||||
|     /** | ||||
|      * 根据订单计算新零售奖金 | ||||
|  | @ -21,6 +21,7 @@ public interface IBonusSettleService { | |||
| 
 | ||||
|     /** | ||||
|      * 计算秒结表数据 | ||||
|      * | ||||
|      * @param orderExt | ||||
|      */ | ||||
|     void calculateCuMemberRetailRangeBySaOrder(SaOrderExt orderExt); | ||||
|  |  | |||
|  | @ -80,16 +80,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService { | |||
| 
 | ||||
|     @Override | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void calculateCuMemberBonus(String settleDate) { | ||||
|         Integer period = null; | ||||
|         Integer yesterdayPeriod = null; | ||||
|     public void calculateCuMemberBonus(String settleDate, Integer period, String yesterday, Integer yesterdayPeriod) { | ||||
|         try { | ||||
|             // 结算期间 | ||||
|             period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); | ||||
|             String yesterday = DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, settleDate); | ||||
|             // 结算期间前一天期间 | ||||
|             yesterdayPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId(); | ||||
| 
 | ||||
|             // 获取所有国家的奖金项 key = 国家 + 奖金项的值 | ||||
|             BonusConfigDTO bonusConfigDTO = iBonusItemsServiceApi.queryBonusConfigDTO().getData(); | ||||
|             // 会员奖金map(key:会员ID, | ||||
|  | @ -106,9 +98,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService { | |||
|             // 保存当日计算的奖金 | ||||
|             insertCuMemberBonus(settleDate, period, cuMemberBonusMap, recordDetailVO); | ||||
|         } catch (Exception e) { | ||||
|             // 因为日结明细用的是直接清表,所以如果执行失败,先拿昨天的去填充,防止前台没数据 | ||||
|             bonusSettleRangeHandle.compensationRetailDetail(period, yesterdayPeriod, settleDate); | ||||
| 
 | ||||
|             log.error("奖金结算异常", e); | ||||
|             throw new RuntimeException(e); | ||||
|         } | ||||
|  |  | |||
|  | @ -54,6 +54,8 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C | |||
| 
 | ||||
|     @Autowired | ||||
|     private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; | ||||
|     @Autowired | ||||
|     private BonusSettleRangeHandle bonusSettleRangeHandle; | ||||
| 
 | ||||
|     @Resource | ||||
|     private CuMemberBonusDetailMapper cuMemberBonusDetailMapper; | ||||
|  | @ -535,8 +537,22 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C | |||
|         // 自动初始化表 | ||||
|         cuMemberTreeService.createCuMemberTree(settleDate); | ||||
|         log.info("初始化表完成"); | ||||
| 
 | ||||
|         // 结算期间 | ||||
|         Integer period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); | ||||
|         // 前一天 | ||||
|         String yesterday = DateUtils.beforeDateStr(1, ChronoUnit.DAYS, DateUtils.YYYY_MM_DD, settleDate); | ||||
|         // 前一天结算期间 | ||||
|         Integer yesterdayPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(yesterday).getPkId(); | ||||
| 
 | ||||
|         try { | ||||
|             // 奖金结算 | ||||
|         bonusSettleService.calculateCuMemberBonus(settleDate); | ||||
|             bonusSettleService.calculateCuMemberBonus(settleDate, period, yesterday, yesterdayPeriod); | ||||
|         } catch (Exception e) { | ||||
|             // 因为日结明细用的是直接清表,所以如果执行失败,拿昨天的去填充,防止前台没数据 | ||||
|             bonusSettleRangeHandle.compensationRetailDetail(period, yesterdayPeriod, settleDate); | ||||
|         } | ||||
| 
 | ||||
|         return Boolean.TRUE; | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue