Compare commits
	
		
			No commits in common. "8986823f58c3d54d2497f53bc83e824454faca10" and "0fa7c1901e128bf69f7ec7612d49f7ccc03d2aa9" have entirely different histories.
		
	
	
		
			8986823f58
			...
			0fa7c1901e
		
	
		|  | @ -9,7 +9,11 @@ import java.io.Serializable; | ||||||
| import java.math.BigDecimal; | import java.math.BigDecimal; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * 新零售会员信息 |  * @Description: 新零售会员信息 | ||||||
|  |  * @Author: jiang chao | ||||||
|  |  * @Time: 2024/12/11 15:46 | ||||||
|  |  * @Classname: RetailMemberDataDTO | ||||||
|  |  * @PackageName: com.hzs.system.common.dto | ||||||
|  */ |  */ | ||||||
| @AllArgsConstructor | @AllArgsConstructor | ||||||
| @NoArgsConstructor | @NoArgsConstructor | ||||||
|  | @ -28,14 +32,14 @@ public class RetailMemberDataDTO implements Serializable { | ||||||
|     private Integer pkGrade; |     private Integer pkGrade; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 当月奖衔 |      * 极差奖衔 | ||||||
|      */ |      */ | ||||||
|     private Integer pkAwards; |     private Integer pkAwards; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 荣誉奖衔 |      * 荣誉奖衔 | ||||||
|      */ |      */ | ||||||
|     private Integer pkMaxAwards; |     private Integer pkRangeAwards; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 国家名称 |      * 国家名称 | ||||||
|  | @ -67,24 +71,23 @@ public class RetailMemberDataDTO implements Serializable { | ||||||
|      * 等级图标 |      * 等级图标 | ||||||
|      */ |      */ | ||||||
|     private String gradeIcon; |     private String gradeIcon; | ||||||
| 
 |  | ||||||
|     /** |     /** | ||||||
|      * 月度奖衔显示 |      * 极差奖衔显示 | ||||||
|      */ |      */ | ||||||
|     private String awardsVal; |     private String awardsVal; | ||||||
|     /** |     /** | ||||||
|      * 月度奖衔图标 |      * 极差奖衔图标 | ||||||
|      */ |      */ | ||||||
|     private String awardsIcon; |     private String awardsIcon; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 荣誉奖衔显示 |      * 荣誉奖衔显示 | ||||||
|      */ |      */ | ||||||
|     private String maxAwardsVal; |     private String rangeAwardsVal; | ||||||
|     /** |     /** | ||||||
|      * 荣誉奖衔图标 |      * 荣誉奖衔图标 | ||||||
|      */ |      */ | ||||||
|     private String maxAwardsIcon; |     private String rangeAwardsIcon; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 币种图标 |      * 币种图标 | ||||||
|  |  | ||||||
|  | @ -1,12 +1,20 @@ | ||||||
| package com.hzs.bonus.bonus.service; | package com.hzs.bonus.bonus.service; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * 奖金发放 |  * @Description: 奖金发放 | ||||||
|  |  * @Author: sui q | ||||||
|  |  * @Time: 2023/3/20 17:04 | ||||||
|  |  * @Classname: IBonusGrantService | ||||||
|  |  * @PackageName: com.hzs.member.bonus.service | ||||||
|  */ |  */ | ||||||
| public interface IBonusGrantService { | public interface IBonusGrantService { | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 每天公布奖金,定时任务 |      * 每天公布奖金,定时任务 | ||||||
|  |      * | ||||||
|  |      * @return: void | ||||||
|  |      * @Author: sui q | ||||||
|  |      * @Date: 2023/3/20 17:06 | ||||||
|      */ |      */ | ||||||
|     void publishBonusByPeriodEveryDay(); |     void publishBonusByPeriodEveryDay(); | ||||||
| 
 | 
 | ||||||
|  | @ -16,6 +24,9 @@ public interface IBonusGrantService { | ||||||
|      * 手动公布奖金 |      * 手动公布奖金 | ||||||
|      * |      * | ||||||
|      * @param settleDate 日期 |      * @param settleDate 日期 | ||||||
|  |      * @return: void | ||||||
|  |      * @Author: sui q | ||||||
|  |      * @Date: 2023/3/20 17:06 | ||||||
|      */ |      */ | ||||||
|     void publishBonusByPeriod(Integer pkCountry, String settleDate); |     void publishBonusByPeriod(Integer pkCountry, String settleDate); | ||||||
| 
 | 
 | ||||||
|  | @ -23,6 +34,9 @@ public interface IBonusGrantService { | ||||||
|      * 手动不公布奖金 |      * 手动不公布奖金 | ||||||
|      * |      * | ||||||
|      * @param settleDate 日期 |      * @param settleDate 日期 | ||||||
|  |      * @return: void | ||||||
|  |      * @Author: sui q | ||||||
|  |      * @Date: 2023/3/20 17:06 | ||||||
|      */ |      */ | ||||||
|     void noPublishBonusByPeriod(Integer pkCountry, String settleDate); |     void noPublishBonusByPeriod(Integer pkCountry, String settleDate); | ||||||
| 
 | 
 | ||||||
|  | @ -30,6 +44,9 @@ public interface IBonusGrantService { | ||||||
|      * 每天发放奖金 |      * 每天发放奖金 | ||||||
|      * |      * | ||||||
|      * @param settleDate 日期 |      * @param settleDate 日期 | ||||||
|  |      * @return: void | ||||||
|  |      * @Author: sui q | ||||||
|  |      * @Date: 2023/3/20 17:06 | ||||||
|      */ |      */ | ||||||
|     Boolean grantBonusByPeriod(Integer pkCountry, String settleDate); |     Boolean grantBonusByPeriod(Integer pkCountry, String settleDate); | ||||||
| 
 | 
 | ||||||
|  | @ -39,6 +56,9 @@ public interface IBonusGrantService { | ||||||
|      * 每天奖金提现 |      * 每天奖金提现 | ||||||
|      * |      * | ||||||
|      * @param settleDate 日期 |      * @param settleDate 日期 | ||||||
|  |      * @return: void | ||||||
|  |      * @Author: sui q | ||||||
|  |      * @Date: 2023/3/20 17:07 | ||||||
|      */ |      */ | ||||||
|     void withdrawalBonusByPeriod(Integer pkCountry, String settleDate); |     void withdrawalBonusByPeriod(Integer pkCountry, String settleDate); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| package com.hzs.bonus.bonus.service.impl; | package com.hzs.bonus.bonus.service.impl; | ||||||
| 
 | 
 | ||||||
|  | import com.hzs.activity.base.IActivityServiceApi; | ||||||
| import com.hzs.bonus.account.service.ICuMemberAccountService; | import com.hzs.bonus.account.service.ICuMemberAccountService; | ||||||
| import com.hzs.bonus.account.service.ICuMemberTradeDetailService; | import com.hzs.bonus.account.service.ICuMemberTradeDetailService; | ||||||
| import com.hzs.bonus.account.service.ICuMemberTradeService; | import com.hzs.bonus.account.service.ICuMemberTradeService; | ||||||
|  | @ -21,7 +22,6 @@ import com.hzs.system.base.ICountryServiceApi; | ||||||
| import com.hzs.system.base.ICurrencyServiceApi; | import com.hzs.system.base.ICurrencyServiceApi; | ||||||
| import com.hzs.system.base.dto.CurrencyDTO; | import com.hzs.system.base.dto.CurrencyDTO; | ||||||
| import com.hzs.system.config.IAccountServiceApi; | import com.hzs.system.config.IAccountServiceApi; | ||||||
| import lombok.extern.slf4j.Slf4j; |  | ||||||
| import org.apache.dubbo.config.annotation.DubboReference; | import org.apache.dubbo.config.annotation.DubboReference; | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
|  | @ -33,47 +33,70 @@ import java.time.temporal.ChronoUnit; | ||||||
| import java.util.*; | import java.util.*; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * 奖金发放实现类 |  * 金发放实现类 | ||||||
|  */ |  */ | ||||||
| @Slf4j |  | ||||||
| @Service | @Service | ||||||
| public class BonusGrantServiceImpl implements IBonusGrantService { | public class BonusGrantServiceImpl implements IBonusGrantService { | ||||||
| 
 | 
 | ||||||
|     @DubboReference |     @DubboReference | ||||||
|     IAccountServiceApi iAccountServiceApi; |     IAccountServiceApi accountServiceApi; | ||||||
|  |     @DubboReference | ||||||
|  |     IActivityServiceApi activityServiceApi; | ||||||
|  | 
 | ||||||
|  |     private ICuMemberBonusService cuMemberBonusService; | ||||||
|  | 
 | ||||||
|  |     private ICuMemberSettlePeriodService cuMemberSettlePeriodService; | ||||||
| 
 | 
 | ||||||
|     @Autowired |  | ||||||
|     private ICuMemberBonusService iCuMemberBonusService; |  | ||||||
|     @Autowired |  | ||||||
|     private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; |  | ||||||
|     @Autowired |     @Autowired | ||||||
|     private MemberToolsHandler memberToolsHandler; |     private MemberToolsHandler memberToolsHandler; | ||||||
|     @Autowired | 
 | ||||||
|     private ICuMemberTradeService iCuMemberTradeService; |     private ICuMemberTradeService cuMemberTradeService; | ||||||
|     @Autowired | 
 | ||||||
|     private ICuMemberTradeDetailService iCuMemberTradeDetailService; |     private ICuMemberTradeDetailService cuMemberTradeDetailService; | ||||||
|     @Autowired | 
 | ||||||
|     private ICuMemberAccountService iCuMemberAccountService; |     private ICuMemberAccountService cuMemberAccountService; | ||||||
| 
 | 
 | ||||||
|     @DubboReference |     @DubboReference | ||||||
|     ICountryServiceApi iCountryServiceApi; |     ICountryServiceApi countryServiceApi; | ||||||
|     @DubboReference |     @DubboReference | ||||||
|     ICurrencyServiceApi iCurrencyServiceApi; |     ICurrencyServiceApi currencyServiceApi; | ||||||
|  | 
 | ||||||
|  |     @Autowired | ||||||
|  |     public void setCuMemberAccountService(ICuMemberAccountService cuMemberAccountService) { | ||||||
|  |         this.cuMemberAccountService = cuMemberAccountService; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Autowired | ||||||
|  |     public void setCuMemberTradeDetailService(ICuMemberTradeDetailService cuMemberTradeDetailService) { | ||||||
|  |         this.cuMemberTradeDetailService = cuMemberTradeDetailService; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Autowired | ||||||
|  |     public void setCuMemberTradeService(ICuMemberTradeService cuMemberTradeService) { | ||||||
|  |         this.cuMemberTradeService = cuMemberTradeService; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Autowired | ||||||
|  |     public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) { | ||||||
|  |         this.cuMemberSettlePeriodService = cuMemberSettlePeriodService; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Autowired | ||||||
|  |     public void setCuMemberBonusService(ICuMemberBonusService cuMemberBonusService) { | ||||||
|  |         this.cuMemberBonusService = cuMemberBonusService; | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     @Transactional(rollbackFor = Exception.class) |  | ||||||
|     @Override |     @Override | ||||||
|     public void publishBonusByPeriodEveryDay() { |     public void publishBonusByPeriodEveryDay() { | ||||||
|         Map<Integer, BdCountry> integerBdCountryMap = iCountryServiceApi.getAllCountryMap().getData(); |         Map<Integer, BdCountry> integerBdCountryMap = countryServiceApi.getAllCountryMap().getData(); | ||||||
|         if (integerBdCountryMap.size() > 0) { |         if (integerBdCountryMap.size() > 0) { | ||||||
|             for (Integer pkCountry : integerBdCountryMap.keySet()) { |             for (Integer pkCountry : integerBdCountryMap.keySet()) { | ||||||
|                 String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, DateUtils.currentDate())); |                 String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, DateUtils.currentDate())); | ||||||
|                 CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate); |                 CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate); | ||||||
|                 log.info("公布奖金参数, settleDate: {}, ", settleDate); |  | ||||||
|                 // 设置不公布后不能自动公布奖金 |                 // 设置不公布后不能自动公布奖金 | ||||||
|                 if (EYesNo.PROHIBIT.getIntValue() == cuMemberSettlePeriod.getIsPublish()) { |                 if (EYesNo.PROHIBIT.getIntValue() == cuMemberSettlePeriod.getIsPublish()) { | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|                 log.info("公布奖金期数状态, isPublish: {}, ", cuMemberSettlePeriod.getIsPublish()); |  | ||||||
|                 publishBonus(cuMemberSettlePeriod); |                 publishBonus(cuMemberSettlePeriod); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | @ -82,16 +105,13 @@ public class BonusGrantServiceImpl implements IBonusGrantService { | ||||||
|     @Override |     @Override | ||||||
|     @Transactional(rollbackFor = Exception.class) |     @Transactional(rollbackFor = Exception.class) | ||||||
|     public void grantWithdrawBonusByPeriodEveryDay() { |     public void grantWithdrawBonusByPeriodEveryDay() { | ||||||
|         Map<Integer, BdCountry> integerBdCountryMap = iCountryServiceApi.getAllCountryMap().getData(); |         Map<Integer, BdCountry> integerBdCountryMap = countryServiceApi.getAllCountryMap().getData(); | ||||||
|         if (integerBdCountryMap.size() > 0) { |         if (integerBdCountryMap.size() > 0) { | ||||||
|             for (Integer pkCountry : integerBdCountryMap.keySet()) { |             for (Integer pkCountry : integerBdCountryMap.keySet()) { | ||||||
|                 // 先发放奖金,验证是否是周结,周结发放上周的,直接变为可提现 |                 // 先发放奖金,验证是否是周结,周结发放上周的,直接变为可提现 | ||||||
|                 Date grantDay = DateUtils.beforeDate(7, ChronoUnit.DAYS, DateUtils.currentDate()); |                 Date grantDay = DateUtils.beforeDate(7, ChronoUnit.DAYS, DateUtils.currentDate()); | ||||||
|                 String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, grantDay); |                 String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, grantDay); | ||||||
|                 grantBonusByPeriod(pkCountry, settleDate); |                 grantBonusByPeriod(pkCountry, settleDate); | ||||||
|                 // 设置奖金可以提现 |  | ||||||
|                 withdrawalBonusByPeriod(pkCountry, settleDate); |  | ||||||
| 
 |  | ||||||
|                 // 周奖发放上周的奖金 |                 // 周奖发放上周的奖金 | ||||||
| //                CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate); | //                CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate); | ||||||
| //                Date withdrawDay = DateUtils.beforeDate(7, ChronoUnit.DAYS, grantDay); | //                Date withdrawDay = DateUtils.beforeDate(7, ChronoUnit.DAYS, grantDay); | ||||||
|  | @ -99,26 +119,29 @@ public class BonusGrantServiceImpl implements IBonusGrantService { | ||||||
| //                        !CountryConstants.CHINA_COUNTRY.equals(pkCountry)) { | //                        !CountryConstants.CHINA_COUNTRY.equals(pkCountry)) { | ||||||
| //                    withdrawDay = grantDay; | //                    withdrawDay = grantDay; | ||||||
| //                } | //                } | ||||||
|  |                 withdrawalBonusByPeriod(pkCountry, DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, grantDay)); | ||||||
|  |                 // 设置奖金可以提现 | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /* |     /* | ||||||
|      * 公布奖金 |      * @description: 公布奖金 | ||||||
|  |      * @author: sui q | ||||||
|  |      * @date: 2023/4/24 14:19 | ||||||
|  |      * @param: null null | ||||||
|      **/ |      **/ | ||||||
|     private void publishBonus(CuMemberSettlePeriodExt cuMemberSettlePeriod) { |     private void publishBonus(CuMemberSettlePeriodExt cuMemberSettlePeriod) { | ||||||
|         if (EYesNo.YES.getIntValue() == cuMemberSettlePeriod.getIsPublish()) { |         if (EYesNo.YES.getIntValue() == cuMemberSettlePeriod.getIsPublish()) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
| 
 |         // 更新奖金状态 | ||||||
|         log.info("公布奖金开始, periodId: {}, ", cuMemberSettlePeriod.getPkId()); |         cuMemberBonusService.updateCuMemberBonusStatus(null, EGrantStatus.PUBLISHED.getValue(), EGrantStatus.SETTLED.getValue(), | ||||||
|         // 更新奖金状态(cu_member_bonus) |  | ||||||
|         iCuMemberBonusService.updateCuMemberBonusStatus(null, EGrantStatus.PUBLISHED.getValue(), EGrantStatus.SETTLED.getValue(), |  | ||||||
|                 cuMemberSettlePeriod.getPkId(), cuMemberSettlePeriod.getPkId()); |                 cuMemberSettlePeriod.getPkId(), cuMemberSettlePeriod.getPkId()); | ||||||
|         // 更新期间表状态(cu_member_settle_period_detail) |         // 更新期间表状态 | ||||||
|         cuMemberSettlePeriod.setIsPublish(EYesNo.YES.getIntValue()); |         cuMemberSettlePeriod.setIsPublish(EYesNo.YES.getIntValue()); | ||||||
|         cuMemberSettlePeriod.setPublishDate(DateUtils.currentDateTime()); |         cuMemberSettlePeriod.setPublishDate(DateUtils.currentDateTime()); | ||||||
|         iCuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); |         cuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|  | @ -137,11 +160,11 @@ public class BonusGrantServiceImpl implements IBonusGrantService { | ||||||
|         // 更新期间表状态 |         // 更新期间表状态 | ||||||
|         cuMemberSettlePeriod.setIsPublish(EYesNo.PROHIBIT.getIntValue()); |         cuMemberSettlePeriod.setIsPublish(EYesNo.PROHIBIT.getIntValue()); | ||||||
|         cuMemberSettlePeriod.setPublishDate(DateUtils.currentDateTime()); |         cuMemberSettlePeriod.setPublishDate(DateUtils.currentDateTime()); | ||||||
|         iCuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); |         cuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private CuMemberSettlePeriodExt getCuMemberSettlePeriod(Integer pkCountry, String settleDate) { |     private CuMemberSettlePeriodExt getCuMemberSettlePeriod(Integer pkCountry, String settleDate) { | ||||||
|         CuMemberSettlePeriodExt cuMemberSettlePeriodByDate = iCuMemberSettlePeriodService.getCuMemberSettlePeriod(pkCountry, DateUtils.parseStringToDate(settleDate)); |         CuMemberSettlePeriodExt cuMemberSettlePeriodByDate = cuMemberSettlePeriodService.getCuMemberSettlePeriod(pkCountry, DateUtils.parseStringToDate(settleDate)); | ||||||
|         cuMemberSettlePeriodByDate.setPkModified(MagicNumberConstants.PK_ADMIN); |         cuMemberSettlePeriodByDate.setPkModified(MagicNumberConstants.PK_ADMIN); | ||||||
|         cuMemberSettlePeriodByDate.setModifiedTime(DateUtils.currentDateTime()); |         cuMemberSettlePeriodByDate.setModifiedTime(DateUtils.currentDateTime()); | ||||||
|         return cuMemberSettlePeriodByDate; |         return cuMemberSettlePeriodByDate; | ||||||
|  | @ -166,16 +189,16 @@ public class BonusGrantServiceImpl implements IBonusGrantService { | ||||||
|                 return Boolean.FALSE; |                 return Boolean.FALSE; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         Map<Integer, BdAccount> bdAccountValueMap = iAccountServiceApi.getAccountMapByCountry(pkCountry).getData(); |         Map<Integer, BdAccount> bdAccountValueMap = accountServiceApi.getAccountMapByCountry(pkCountry).getData(); | ||||||
|         Date currentDateTime = DateUtils.currentDateTime(); |         Date currentDateTime = DateUtils.currentDateTime(); | ||||||
| 
 | 
 | ||||||
|         // 查询奖金表,查询未发放的奖金明细 |         // 查询奖金表,查询未发放的奖金明细 | ||||||
|         List<CuMemberBonus> cuMemberBonusList = iCuMemberBonusService.queryCuMemberBonusByCondition(pkCountry, EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); |         List<CuMemberBonus> cuMemberBonusList = cuMemberBonusService.queryCuMemberBonusByCondition(pkCountry, EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); | ||||||
|         if (cuMemberBonusList.size() > 0) { |         if (cuMemberBonusList.size() > 0) { | ||||||
|             // 新增交易流水 |             // 新增交易流水 | ||||||
|             List<CuMemberTrade> cuMemberTradeList = new ArrayList<>(); |             List<CuMemberTrade> cuMemberTradeList = new ArrayList<>(); | ||||||
|             cuMemberBonusList.forEach(cuMemberBonus -> { |             cuMemberBonusList.forEach(cuMemberBonus -> { | ||||||
|                 CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(cuMemberBonus.getPkCountry()).getData(); |                 CurrencyDTO currencyDTO = currencyServiceApi.getCurrency(cuMemberBonus.getPkCountry()).getData(); | ||||||
|                 // 奖金币(首购+复购+云代+海粉+嗨粉+店铺) |                 // 奖金币(首购+复购+云代+海粉+嗨粉+店铺) | ||||||
|                 packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.BONUS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRealIncomeTotal(), currencyDTO.getOutExchangeRate()), settleDate); |                 packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.BONUS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRealIncomeTotal(), currencyDTO.getOutExchangeRate()), settleDate); | ||||||
|                 // 重销币(商城重消+平台服务费) |                 // 重销币(商城重消+平台服务费) | ||||||
|  | @ -188,10 +211,10 @@ public class BonusGrantServiceImpl implements IBonusGrantService { | ||||||
|                 // 车奖积分 |                 // 车奖积分 | ||||||
| //                packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.CAR_AWARD_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getCarAwardPoints(), currencyDTO.getOutExchangeRate()), settleDate); | //                packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.CAR_AWARD_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getCarAwardPoints(), currencyDTO.getOutExchangeRate()), settleDate); | ||||||
|             }); |             }); | ||||||
|             List<Long> seqList = iCuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); |             List<Long> seqList = cuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); | ||||||
|             // 新增流水明细,记录奖金明细的发放状态、消费明细 |             // 新增流水明细,记录奖金明细的发放状态、消费明细 | ||||||
|             List<CuMemberTradeDetail> cuMemberTradeDetailList = new ArrayList<>(); |             List<CuMemberTradeDetail> cuMemberTradeDetailList = new ArrayList<>(); | ||||||
|             Map<Integer, BdAccount> bdAccountMap = iAccountServiceApi.getAccountListByCountry(pkCountry).getData(); |             Map<Integer, BdAccount> bdAccountMap = accountServiceApi.getAccountListByCountry(pkCountry).getData(); | ||||||
|             for (int i = 0; i < cuMemberTradeList.size(); i++) { |             for (int i = 0; i < cuMemberTradeList.size(); i++) { | ||||||
|                 CuMemberTrade cuMemberTrade = cuMemberTradeList.get(i); |                 CuMemberTrade cuMemberTrade = cuMemberTradeList.get(i); | ||||||
|                 cuMemberTrade.setPkId(seqList.get(i)); |                 cuMemberTrade.setPkId(seqList.get(i)); | ||||||
|  | @ -210,18 +233,18 @@ public class BonusGrantServiceImpl implements IBonusGrantService { | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|             // 批量保存交易流水,交易流水明细 |             // 批量保存交易流水,交易流水明细 | ||||||
|             iCuMemberTradeService.batchInsertCuMemberTrade(cuMemberTradeList); |             cuMemberTradeService.batchInsertCuMemberTrade(cuMemberTradeList); | ||||||
|             iCuMemberTradeDetailService.batchInsertCuMemberTradeDetail(cuMemberTradeDetailList); |             cuMemberTradeDetailService.batchInsertCuMemberTradeDetail(cuMemberTradeDetailList); | ||||||
|             // 批量更新会员账户,更新余额 |             // 批量更新会员账户,更新余额 | ||||||
|             iCuMemberAccountService.updateMemberAccountGrantByPeriod(pkCountry, cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); |             cuMemberAccountService.updateMemberAccountGrantByPeriod(pkCountry, cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); | ||||||
|             // 更新奖金表发放状态 |             // 更新奖金表发放状态 | ||||||
|             iCuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.GRANT.getValue(), EGrantStatus.PUBLISHED.getValue(), |             cuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.GRANT.getValue(), EGrantStatus.PUBLISHED.getValue(), | ||||||
|                     cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); |                     cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); | ||||||
|         } |         } | ||||||
|         // 更新期间表状态 |         // 更新期间表状态 | ||||||
|         cuMemberSettlePeriod.setIsGrant(EYesNo.YES.getIntValue()); |         cuMemberSettlePeriod.setIsGrant(EYesNo.YES.getIntValue()); | ||||||
|         cuMemberSettlePeriod.setGrantDate(DateUtils.currentDateTime()); |         cuMemberSettlePeriod.setGrantDate(DateUtils.currentDateTime()); | ||||||
|         iCuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); |         cuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); | ||||||
|         return Boolean.TRUE; |         return Boolean.TRUE; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -230,14 +253,14 @@ public class BonusGrantServiceImpl implements IBonusGrantService { | ||||||
|         // 奖金发放 |         // 奖金发放 | ||||||
|         CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate); |         CuMemberSettlePeriodExt cuMemberSettlePeriod = getCuMemberSettlePeriod(pkCountry, settleDate); | ||||||
|         // 查询奖金表,查询未发放的奖金明细 |         // 查询奖金表,查询未发放的奖金明细 | ||||||
|         List<CuMemberBonus> cuMemberBonusList = iCuMemberBonusService.queryCuMemberBonusByCondition(pkCountry, EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); |         List<CuMemberBonus> cuMemberBonusList = cuMemberBonusService.queryCuMemberBonusByCondition(pkCountry, EGrantStatus.PUBLISHED.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); | ||||||
|         Map<Integer, BdAccount> bdAccountValueMap = iAccountServiceApi.getAccountMapByCountry(pkCountry).getData(); |         Map<Integer, BdAccount> bdAccountValueMap = accountServiceApi.getAccountMapByCountry(pkCountry).getData(); | ||||||
|         Date currentDateTime = DateUtils.currentDateTime(); |         Date currentDateTime = DateUtils.currentDateTime(); | ||||||
|         if (cuMemberBonusList.size() > 0) { |         if (cuMemberBonusList.size() > 0) { | ||||||
|             // 新增交易流水 |             // 新增交易流水 | ||||||
|             List<CuMemberTrade> cuMemberTradeList = new ArrayList<>(); |             List<CuMemberTrade> cuMemberTradeList = new ArrayList<>(); | ||||||
|             cuMemberBonusList.forEach(cuMemberBonus -> { |             cuMemberBonusList.forEach(cuMemberBonus -> { | ||||||
|                 CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(cuMemberBonus.getPkCountry()).getData(); |                 CurrencyDTO currencyDTO = currencyServiceApi.getCurrency(cuMemberBonus.getPkCountry()).getData(); | ||||||
|                 // 奖金币(首购+复购+云代+海粉+嗨粉+店铺) |                 // 奖金币(首购+复购+云代+海粉+嗨粉+店铺) | ||||||
|                 packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.BONUS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRealIncomeTotal(), currencyDTO.getOutExchangeRate()), settleDate); |                 packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.BONUS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getRealIncomeTotal(), currencyDTO.getOutExchangeRate()), settleDate); | ||||||
|                 // 重销币(商城重消+平台服务费) |                 // 重销币(商城重消+平台服务费) | ||||||
|  | @ -250,10 +273,10 @@ public class BonusGrantServiceImpl implements IBonusGrantService { | ||||||
|                 // 车奖积分 |                 // 车奖积分 | ||||||
| //                packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.CAR_AWARD_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getCarAwardPoints(), currencyDTO.getOutExchangeRate()), settleDate); | //                packAccountTrade(cuMemberTradeList, bdAccountValueMap, EAccount.CAR_AWARD_POINTS.getValue(), currentDateTime, cuMemberBonus, ComputeUtil.computeMultiply(cuMemberBonus.getCarAwardPoints(), currencyDTO.getOutExchangeRate()), settleDate); | ||||||
|             }); |             }); | ||||||
|             List<Long> seqList = iCuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); |             List<Long> seqList = cuMemberTradeService.batchQueryCuMemberTradeSeq(cuMemberTradeList.size()); | ||||||
|             // 新增流水明细,记录奖金明细的发放状态、消费明细 |             // 新增流水明细,记录奖金明细的发放状态、消费明细 | ||||||
|             List<CuMemberTradeDetail> cuMemberTradeDetailList = new ArrayList<>(); |             List<CuMemberTradeDetail> cuMemberTradeDetailList = new ArrayList<>(); | ||||||
|             Map<Integer, BdAccount> bdAccountMap = iAccountServiceApi.getAccountListByCountry(pkCountry).getData(); |             Map<Integer, BdAccount> bdAccountMap = accountServiceApi.getAccountListByCountry(pkCountry).getData(); | ||||||
|             for (int i = 0; i < cuMemberTradeList.size(); i++) { |             for (int i = 0; i < cuMemberTradeList.size(); i++) { | ||||||
|                 CuMemberTrade cuMemberTrade = cuMemberTradeList.get(i); |                 CuMemberTrade cuMemberTrade = cuMemberTradeList.get(i); | ||||||
|                 cuMemberTrade.setPkId(seqList.get(i)); |                 cuMemberTrade.setPkId(seqList.get(i)); | ||||||
|  | @ -272,12 +295,12 @@ public class BonusGrantServiceImpl implements IBonusGrantService { | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|             // 批量保存交易流水,交易流水明细 |             // 批量保存交易流水,交易流水明细 | ||||||
|             iCuMemberTradeService.batchInsertCuMemberTrade(cuMemberTradeList); |             cuMemberTradeService.batchInsertCuMemberTrade(cuMemberTradeList); | ||||||
|             iCuMemberTradeDetailService.batchInsertCuMemberTradeDetail(cuMemberTradeDetailList); |             cuMemberTradeDetailService.batchInsertCuMemberTradeDetail(cuMemberTradeDetailList); | ||||||
|             // 批量更新会员账户,更新余额 |             // 批量更新会员账户,更新余额 | ||||||
|             iCuMemberAccountService.updateMemberAccountGrantByPeriod(pkCountry, cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); |             cuMemberAccountService.updateMemberAccountGrantByPeriod(pkCountry, cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); | ||||||
|             // 更新奖金表发放状态 |             // 更新奖金表发放状态 | ||||||
|             iCuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.GRANT.getValue(), EGrantStatus.PUBLISHED.getValue(), |             cuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.GRANT.getValue(), EGrantStatus.PUBLISHED.getValue(), | ||||||
|                     cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); |                     cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | @ -304,15 +327,15 @@ public class BonusGrantServiceImpl implements IBonusGrantService { | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         // 批量更新会员账户,更新余额 |         // 批量更新会员账户,更新余额 | ||||||
|         iCuMemberAccountService.updateMemberAccountWithdrawalByPeriod(cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod(), pkCountry); |         cuMemberAccountService.updateMemberAccountWithdrawalByPeriod(cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod(), pkCountry); | ||||||
|         // 更新交易明细表状态 cu_member_trade_detail |         // 更新交易明细表状态 cu_member_trade_detail | ||||||
|         iCuMemberTradeDetailService.updateCuMemberTradeDetailByPeriod(cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod(), pkCountry); |         cuMemberTradeDetailService.updateCuMemberTradeDetailByPeriod(cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod(), pkCountry); | ||||||
|         // 更新奖金表发放状态 |         // 更新奖金表发放状态 | ||||||
|         iCuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.WITHDRAWAL.getValue(), EGrantStatus.GRANT.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); |         cuMemberBonusService.updateCuMemberBonusStatus(pkCountry, EGrantStatus.WITHDRAWAL.getValue(), EGrantStatus.GRANT.getValue(), cuMemberSettlePeriod.getStartPeriod(), cuMemberSettlePeriod.getEndPeriod()); | ||||||
|         // 更新期间表状态 |         // 更新期间表状态 | ||||||
|         cuMemberSettlePeriod.setIsWithdrawal(EYesNo.YES.getIntValue()); |         cuMemberSettlePeriod.setIsWithdrawal(EYesNo.YES.getIntValue()); | ||||||
|         cuMemberSettlePeriod.setWithdrawalDate(DateUtils.currentDateTime()); |         cuMemberSettlePeriod.setWithdrawalDate(DateUtils.currentDateTime()); | ||||||
|         iCuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); |         cuMemberSettlePeriodService.updateCuMemberSettlePeriodByDate(cuMemberSettlePeriod); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  |  | ||||||
|  | @ -33,7 +33,6 @@ import com.hzs.common.domain.system.config.BdGrade; | ||||||
| import com.hzs.common.domain.system.config.BdRangeAwards; | import com.hzs.common.domain.system.config.BdRangeAwards; | ||||||
| import com.hzs.member.detail.ICuMemberServiceLogServiceApi; | import com.hzs.member.detail.ICuMemberServiceLogServiceApi; | ||||||
| import com.hzs.system.config.dto.BonusConfigDTO; | import com.hzs.system.config.dto.BonusConfigDTO; | ||||||
| import lombok.extern.slf4j.Slf4j; |  | ||||||
| import org.apache.dubbo.config.annotation.DubboReference; | import org.apache.dubbo.config.annotation.DubboReference; | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.stereotype.Component; | import org.springframework.stereotype.Component; | ||||||
|  | @ -45,9 +44,8 @@ import java.util.*; | ||||||
| import java.util.stream.Collectors; | import java.util.stream.Collectors; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * 计算新零售收益 |  * 计算乐享极差收益 | ||||||
|  */ |  */ | ||||||
| @Slf4j |  | ||||||
| @Component | @Component | ||||||
| public class BonusSettleRangeHandle extends BonusSettleHandle { | public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
| 
 | 
 | ||||||
|  | @ -922,10 +920,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                     if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { |                     if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { | ||||||
|                         cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); |                         cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); | ||||||
|                     } |                     } | ||||||
|                     // 最新确认逻辑,计算大小区时,需要去掉注水 |                     // 最新确认逻辑,计算大小区时,不需要去掉注水 | ||||||
|                     // 伞下团队累计盒数 + 自己消费盒数 |                     // 伞下团队累计盒数 + 自己消费盒数 | ||||||
|                     int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum() |                     int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum(); | ||||||
|                             - cuMemberRetailRangeExt.getBigBoxNum() - cuMemberRetailRangeExt.getSmallBoxNum(); |  | ||||||
|                     if (areaBoxNum > bigBoxNum) { |                     if (areaBoxNum > bigBoxNum) { | ||||||
|                         // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区 |                         // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区 | ||||||
|                         bigBoxNum = areaBoxNum; |                         bigBoxNum = areaBoxNum; | ||||||
|  | @ -944,9 +941,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         if (targetMemberRangeExt.getPkMember() == 201) { |  | ||||||
|             log.info("targetMemberRangeExt: {}", targetMemberRangeExt); |  | ||||||
|         } |  | ||||||
|         // 计算奖衔(荣誉级别) |         // 计算奖衔(荣誉级别) | ||||||
|         while (true) { |         while (true) { | ||||||
|             // 当前实时奖衔值 + 5,获取下一个奖衔值 |             // 当前实时奖衔值 + 5,获取下一个奖衔值 | ||||||
|  | @ -989,58 +983,58 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|             } |             } | ||||||
|             break; |             break; | ||||||
|         } |         } | ||||||
| //        // 计算分红奖衔(秒结不走这个地方) |         // 计算分红奖衔(秒结不走这个地方) | ||||||
| //        while (true) { |         while (true) { | ||||||
| //            if (null == targetMemberRangeExt.getShareAwardsValue()) { |             if (null == targetMemberRangeExt.getShareAwardsValue()) { | ||||||
| //                break; |                 break; | ||||||
| //            } |             } | ||||||
| //            int awardsValue = targetMemberRangeExt.getShareAwardsValue() + 5; |             int awardsValue = targetMemberRangeExt.getShareAwardsValue() + 5; | ||||||
| //            if (targetMemberRangeExt.getGradeValue().equals(EGrade.S_VIP.getValue()) && retailAwardsMap.containsKey(awardsValue)) { |             if (targetMemberRangeExt.getGradeValue().equals(EGrade.S_VIP.getValue()) && retailAwardsMap.containsKey(awardsValue)) { | ||||||
| //                BdAwards bdAwards = retailAwardsMap.get(awardsValue); |                 BdAwards bdAwards = retailAwardsMap.get(awardsValue); | ||||||
| //                // 先验证累计业绩 |                 // 先验证累计业绩 | ||||||
| //                if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getShareTotalCheck())) { |                 if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getShareTotalCheck())) { | ||||||
| //                    // 验证小区,计算小区业绩 |                     // 验证小区,计算小区业绩 | ||||||
| //                    List<CuMemberRetailRangeExt> cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); |                     List<CuMemberRetailRangeExt> cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); | ||||||
| //                    BigDecimal consumeBigPv = targetMemberRangeExt.getMonthConsumePv(); |                     BigDecimal consumeBigPv = targetMemberRangeExt.getMonthConsumePv(); | ||||||
| ////                    if (ComputeUtil.compareGreaterThan(targetMemberRangeExt.getBigTeamPv(), consumeBigPv)) { | //                    if (ComputeUtil.compareGreaterThan(targetMemberRangeExt.getBigTeamPv(), consumeBigPv)) { | ||||||
| ////                        consumeBigPv = targetMemberRangeExt.getBigTeamPv(); | //                        consumeBigPv = targetMemberRangeExt.getBigTeamPv(); | ||||||
| ////                    } |  | ||||||
| //                    for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) { |  | ||||||
| //                        if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { |  | ||||||
| //                            cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); |  | ||||||
| //                        } |  | ||||||
| //                        BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()); |  | ||||||
| //                        if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) { |  | ||||||
| //                            consumeBigPv = consumePv; |  | ||||||
| //                        } |  | ||||||
| //                    } | //                    } | ||||||
| //                    BigDecimal smallAreaPv = ComputeUtil.computeAdd(targetMemberRangeExt.getMonthConsumePv(), ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), consumeBigPv)); |                     for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) { | ||||||
| //                    if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getShareCommunityCheck())) { |                         if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { | ||||||
| //                        if (bdAwards.getPlaceDeptNum() > 0) { |                             cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); | ||||||
| //                            // 验证是否有多个区满足业绩 |                         } | ||||||
| //                            List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck()); |                         BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()); | ||||||
| //                            int enoughNum = 0; |                         if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) { | ||||||
| //                            for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRetailRangeExtList) { |                             consumeBigPv = consumePv; | ||||||
| //                                if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { |                         } | ||||||
| //                                    cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); |                     } | ||||||
| //                                } |                     BigDecimal smallAreaPv = ComputeUtil.computeAdd(targetMemberRangeExt.getMonthConsumePv(), ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), consumeBigPv)); | ||||||
| //                                if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()), bdAwards.getShareCommunityCheck())) { |                     if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getShareCommunityCheck())) { | ||||||
| //                                    enoughNum += 1; |                         if (bdAwards.getPlaceDeptNum() > 0) { | ||||||
| //                                } |                             // 验证是否有多个区满足业绩 | ||||||
| //                            } |                             List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck()); | ||||||
| //                            if (bdAwards.getPlaceDeptNum() > enoughNum) { |                             int enoughNum = 0; | ||||||
| //                                break; |                             for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRetailRangeExtList) { | ||||||
| //                            } |                                 if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { | ||||||
| //                        } |                                     cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); | ||||||
| //                        cuMemberAwardsList.add(getCuMemberRetailAwards(targetMemberRangeExt, period, saOrderExt, bdAwards, EAwardsType.SHARE_TYPE.getValue())); |                                 } | ||||||
| //                        targetMemberRangeExt.setShareAwardsValue(bdAwards.getAwardsValue()); |                                 if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()), bdAwards.getShareCommunityCheck())) { | ||||||
| //                        targetMemberRangeExt.setPkShareAwards(bdAwards.getPkId()); |                                     enoughNum += 1; | ||||||
| //                        continue; |                                 } | ||||||
| //                    } |                             } | ||||||
| //                } |                             if (bdAwards.getPlaceDeptNum() > enoughNum) { | ||||||
| //            } |                                 break; | ||||||
| //            break; |                             } | ||||||
| //        } |                         } | ||||||
|  |                         cuMemberAwardsList.add(getCuMemberRetailAwards(targetMemberRangeExt, period, saOrderExt, bdAwards, EAwardsType.SHARE_TYPE.getValue())); | ||||||
|  |                         targetMemberRangeExt.setShareAwardsValue(bdAwards.getAwardsValue()); | ||||||
|  |                         targetMemberRangeExt.setPkShareAwards(bdAwards.getPkId()); | ||||||
|  |                         continue; | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  | @ -1112,10 +1106,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { | ||||||
|                     if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { |                     if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { | ||||||
|                         cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); |                         cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); | ||||||
|                     } |                     } | ||||||
|                     // 最新确认逻辑,计算大小区时,需要去掉注水 |                     // 最新确认逻辑,计算大小区时,不需要去掉注水 | ||||||
|                     // 伞下团队累计盒数 + 自己消费盒数 |                     // 伞下团队累计盒数 + 自己消费盒数 | ||||||
|                     int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum() |                     int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum(); | ||||||
|                             - cuMemberRetailRangeExt.getBigBoxNum() - cuMemberRetailRangeExt.getSmallBoxNum(); |  | ||||||
|                     if (areaBoxNum > bigBoxNum) { |                     if (areaBoxNum > bigBoxNum) { | ||||||
|                         // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区 |                         // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区 | ||||||
|                         bigBoxNum = areaBoxNum; |                         bigBoxNum = areaBoxNum; | ||||||
|  |  | ||||||
|  | @ -37,7 +37,7 @@ public class MemberRetailServiceImpl implements IMemberRetailService { | ||||||
|                     .pkSettleCountry(CountryConstants.CHINA_COUNTRY) |                     .pkSettleCountry(CountryConstants.CHINA_COUNTRY) | ||||||
|                     .pkGrade(cuMember.getPkSettleGrade()) |                     .pkGrade(cuMember.getPkSettleGrade()) | ||||||
|                     .pkAwards(cuMember.getPkAwards()) |                     .pkAwards(cuMember.getPkAwards()) | ||||||
|                     .pkMaxAwards(cuMember.getPkMaxAwards()) |                     .pkRangeAwards(cuMember.getPkRangeAwards()) | ||||||
|                     .build()).getData(); |                     .build()).getData(); | ||||||
| 
 | 
 | ||||||
|             // 会员标记(0=正常会员,1=V0会员,2=V5会员) |             // 会员标记(0=正常会员,1=V0会员,2=V5会员) | ||||||
|  | @ -77,10 +77,8 @@ public class MemberRetailServiceImpl implements IMemberRetailService { | ||||||
|                     .gradeIcon(memberDataDTO.getGradeIcon()) |                     .gradeIcon(memberDataDTO.getGradeIcon()) | ||||||
|                     .pkAwardsVal(memberDataDTO.getAwardsVal()) |                     .pkAwardsVal(memberDataDTO.getAwardsVal()) | ||||||
|                     .awardsIcon(memberDataDTO.getAwardsIcon()) |                     .awardsIcon(memberDataDTO.getAwardsIcon()) | ||||||
|                     .pkMaxAwardsVal(memberDataDTO.getMaxAwardsVal()) |                     .pkRangeAwardsVal(memberDataDTO.getRangeAwardsVal()) | ||||||
|                     .maxAwardsIcon(memberDataDTO.getMaxAwardsIcon()) |                     .rangeAwardsIcon(memberDataDTO.getRangeAwardsIcon()) | ||||||
| //                    .pkRangeAwardsVal(memberDataDTO.getRangeAwardsVal()) |  | ||||||
| //                    .rangeAwardsIcon(memberDataDTO.getRangeAwardsIcon()) |  | ||||||
|                     .currencyIcon(memberDataDTO.getCurrencyIcon()) |                     .currencyIcon(memberDataDTO.getCurrencyIcon()) | ||||||
|                     .memberSign(memberSign) |                     .memberSign(memberSign) | ||||||
|                     .control(control) |                     .control(control) | ||||||
|  |  | ||||||
|  | @ -52,6 +52,8 @@ public class DataStatisticsUtil { | ||||||
|         calcDetailVOTotalField(detailVOList, pkId); |         calcDetailVOTotalField(detailVOList, pkId); | ||||||
|         addVirtualBranch(detailVOList, pkId); |         addVirtualBranch(detailVOList, pkId); | ||||||
|         CuMemberRetailDataStatisticsDetailVO total = getDetailVOByPKID(detailVOList, pkId); |         CuMemberRetailDataStatisticsDetailVO total = getDetailVOByPKID(detailVOList, pkId); | ||||||
|  |         CuMemberRetailDataStatisticsDetailVO bigRangeBox = getBigRangeBoxDetailVO(detailVOList, pkId); | ||||||
|  |         CuMemberRetailDataStatisticsDetailVO bigRangePv = getBigRangePVDetailVO(detailVOList, pkId); | ||||||
|         if(EYesNo.NO.getIntValue() == cuMember.getIsActivate()){ |         if(EYesNo.NO.getIntValue() == cuMember.getIsActivate()){ | ||||||
|             // 昨日非激活 排除昨日日结表数据 |             // 昨日非激活 排除昨日日结表数据 | ||||||
|             excludeDailySettlementData(detailVOList); |             excludeDailySettlementData(detailVOList); | ||||||
|  | @ -59,8 +61,6 @@ public class DataStatisticsUtil { | ||||||
|             // 排除注水数据 |             // 排除注水数据 | ||||||
|             excludeWaterInjectionData(detailVOList, pkId); |             excludeWaterInjectionData(detailVOList, pkId); | ||||||
|         } |         } | ||||||
|         CuMemberRetailDataStatisticsDetailVO bigRangeBox = getBigRangeBoxDetailVO(detailVOList, pkId); |  | ||||||
|         CuMemberRetailDataStatisticsDetailVO bigRangePv = getBigRangePVDetailVO(detailVOList, pkId); |  | ||||||
|         Integer smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRangeBox.getTotalBoxNum(); |         Integer smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRangeBox.getTotalBoxNum(); | ||||||
|         if(smallRangeTotalBoxNum < 0){ |         if(smallRangeTotalBoxNum < 0){ | ||||||
|             smallRangeTotalBoxNum = 0; |             smallRangeTotalBoxNum = 0; | ||||||
|  |  | ||||||
|  | @ -76,31 +76,22 @@ public class RetailMemberInfoVO implements Serializable { | ||||||
|     private String gradeIcon; |     private String gradeIcon; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 当月奖衔名称 |      * 极差奖衔名称 | ||||||
|      */ |      */ | ||||||
|     private String pkAwardsVal; |     private String pkAwardsVal; | ||||||
|     /** |     /** | ||||||
|      * 当月奖衔图标 |      * 极差奖衔图标 | ||||||
|      */ |      */ | ||||||
|     private String awardsIcon; |     private String awardsIcon; | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 荣誉奖衔名称 |      * 荣誉奖衔名称 | ||||||
|      */ |      */ | ||||||
|     private String pkMaxAwardsVal; |     private String pkRangeAwardsVal; | ||||||
|     /** |     /** | ||||||
|      * 荣誉奖衔图标 |      * 荣誉奖衔图标 | ||||||
|      */ |      */ | ||||||
|     private String maxAwardsIcon; |     private String rangeAwardsIcon; | ||||||
| 
 |  | ||||||
| //    /** |  | ||||||
| //     * 荣誉奖衔名称 |  | ||||||
| //     */ |  | ||||||
| //    private String pkRangeAwardsVal; |  | ||||||
| //    /** |  | ||||||
| //     * 荣誉奖衔图标 |  | ||||||
| //     */ |  | ||||||
| //    private String rangeAwardsIcon; |  | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 币种图标 |      * 币种图标 | ||||||
|  |  | ||||||
|  | @ -131,7 +131,7 @@ public class CommonServiceProvider implements ICommonServiceApi { | ||||||
|                 memberDataDTO.setGradeVal(bdGrade.getGradeName()); |                 memberDataDTO.setGradeVal(bdGrade.getGradeName()); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         // 当月奖衔 |         // 极差奖衔 | ||||||
|         if (null != memberDataDTO.getPkAwards()) { |         if (null != memberDataDTO.getPkAwards()) { | ||||||
|             BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkAwards()); |             BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkAwards()); | ||||||
|             if (null != bdAwards) { |             if (null != bdAwards) { | ||||||
|  | @ -143,15 +143,13 @@ public class CommonServiceProvider implements ICommonServiceApi { | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         // 荣誉奖衔 |         // 荣誉奖衔 | ||||||
|         if (null != memberDataDTO.getPkMaxAwards()) { |         if (null != memberDataDTO.getPkRangeAwards()) { | ||||||
|             BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkMaxAwards()); |             BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkRangeAwards()); | ||||||
|             if (null != bdAwards) { |             if (null != bdAwards) { | ||||||
|                 if (EAwards.MEMBER.getValue() == bdAwards.getAwardsValue()) { |                 memberDataDTO.setRangeAwardsVal(bdAwards.getAwardsName()); | ||||||
|                     memberDataDTO.setMaxAwardsVal(memberDataDTO.getAwardsVal()); |                 if (EAwards.MEMBER.getValue() != bdAwards.getAwardsValue()) { | ||||||
|                     memberDataDTO.setMaxAwardsIcon(memberDataDTO.getAwardsIcon()); |                     // 奖衔如果是会员级别不返回图标 | ||||||
|                 } else { |                     memberDataDTO.setRangeAwardsIcon(bdAwards.getImage()); | ||||||
|                     memberDataDTO.setMaxAwardsVal(bdAwards.getAwardsName()); |  | ||||||
|                     memberDataDTO.setMaxAwardsIcon(bdAwards.getImage()); |  | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue