dos vor 3 Monaten
Ursprung
Commit
af640f3b93

+ 1 - 1
game-business/src/main/java/com/game/business/service/IAppUserCountDividendService.java

@@ -34,7 +34,7 @@ public interface IAppUserCountDividendService extends IService<AppUserCountDivid
      * @param appUserCountDividend 用户代理分红
      * @return 结果
      */
-    public int insertAppUserCountDividend(AppUserCountDividend appUserCountDividend);
+    public void insertAppUserCountDividend(AppUserCountDividend appUserCountDividend);
 
     /**
      * 修改用户代理分红

+ 1 - 1
game-business/src/main/java/com/game/business/service/IAppUserCountService.java

@@ -10,6 +10,6 @@ public interface IAppUserCountService extends IService<AppUserCount> {
 
     public List<AppUserCount> getAppUserCount(long userId,String beginTime,String endTIme);
 
-    public int createAppUserCount(AppUserCount appUserCount);
+    public void createAppUserCount(AppUserCount appUserCount);
 
 }

+ 2 - 2
game-business/src/main/java/com/game/business/service/impl/AppUserCountDividendServiceImpl.java

@@ -77,7 +77,7 @@ public class AppUserCountDividendServiceImpl extends ServiceImpl<AppUserCountDiv
      */
     @Override
     @Async
-    public int insertAppUserCountDividend(AppUserCountDividend appUserCountDividend) {
+    public void insertAppUserCountDividend(AppUserCountDividend appUserCountDividend) {
                 appUserCountDividend.setCreateTime(DateUtils.getNowDate());
           LambdaQueryWrapper<AppUserCountDividend> queryWrapper = new LambdaQueryWrapper<>();
           queryWrapper.eq(AppUserCountDividend::getUserId, appUserCountDividend.getUserId());
@@ -93,7 +93,7 @@ public class AppUserCountDividendServiceImpl extends ServiceImpl<AppUserCountDiv
           }else{
               log.warn("当前用户已发放分红,无法更新未发放");
           }
-          return appUserCountDividendMapper.insertAppUserCountDividend(appUserCountDividend);
+          appUserCountDividendMapper.insertAppUserCountDividend(appUserCountDividend);
     }
 
     /**

+ 1 - 2
game-business/src/main/java/com/game/business/service/impl/AppUserCountServiceImpl.java

@@ -28,7 +28,7 @@ public class AppUserCountServiceImpl extends ServiceImpl<AppUserCountMapper, App
 
     @Override
     @Async
-    public int createAppUserCount(AppUserCount appUserCount) {
+    public void createAppUserCount(AppUserCount appUserCount) {
         //查询当前用户当日是否已经生成记录
         LambdaQueryWrapper<AppUserCount> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(AppUserCount::getStrDate,appUserCount.getStrDate());
@@ -41,7 +41,6 @@ public class AppUserCountServiceImpl extends ServiceImpl<AppUserCountMapper, App
             appUserCount.setId(userCount.getId());
             res = appUserCountMapper.updateById(appUserCount);
         }
-        return res;
     }
 
 }

+ 168 - 155
game-business/src/main/java/com/game/business/task/AppUserCountTask.java

@@ -17,7 +17,7 @@ import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
-@Component
+@Component("appUserCountTask")
 @Log4j2
 public class AppUserCountTask {
 
@@ -59,91 +59,97 @@ public class AppUserCountTask {
      * 统计用户前一天
      * */
     public void statistics(String dateTime){
-        Date curDate = DateUtil.offsetDay(DateUtils.getNowDate(),-1);
-        if(StringUtils.isNotBlank(dateTime)){
-            curDate = DateUtil.parse(dateTime,"yyyy-MM-dd");
-        }else{
-            dateTime = DateUtils.parseDateToStr("yyyy-MM-dd",curDate);
-        }
-        AppUser queryUser = new AppUser();
-        queryUser.setAgentFlag(1);
-        List<AppUser> list = appUserService.selectAppUserList(queryUser);//查询所有代理用户
-        List<AppUsersCharge> appUsersChargeList = appUsersChargeService.getChargeList(null,dateTime.concat(" 00:00:00"),dateTime.concat(" 23:59:59"));
-        List<AppUsersCashrecord> appUsersCashrecords = appUsersCashrecordService.getUserCashList(null,dateTime.concat(" 00:00:00"),dateTime.concat(" 23:59:59"));
-        List<FinTranRecord> finTranRecordList = finTranRecordService.getUserRecordList(null,dateTime.concat(" 00:00:00"),dateTime.concat(" 23:59:59"));
-        List<AppUserLiveDividedRecord> liveDividedRecordList = appUserLiveDividedRecordService.selectByDate(null,dateTime.concat(" 00:00:00"),dateTime.concat(" 23:59:59"));
-        List<AppUserGameRecordCount> gameRecordCountList = appUserGameRecordCountService.selectByDate(null,dateTime.concat(" 00:00:00"),dateTime.concat(" 23:59:59"));
-        List<AppGameBetting> gameBettingList = appGameBettingService.selectListByDate(null,dateTime.concat(" 00:00:00"),dateTime.concat(" 23:59:59"));
-        if(null != list && list.size()>0){
-            List<AppUserCount> appUserCountList = new ArrayList<>();
-            String finalDateTime = dateTime;
-            list.forEach(appUser -> {
-                AppUserCount appUserCount = new AppUserCount();
-                appUserCount.setUserId(appUser.getUserid());
-                appUserCount.setStrDate(finalDateTime);
-                appUserCount.setAgentUserId(appUser.getPid());
-                //充值总额
-                appUserCount.setRechargeAmount(appUsersChargeList.stream().filter(e->e.getUid().equals(appUser.getUserid())).mapToDouble(e->e.getMoney().doubleValue()).sum());
-                //提现金额
-                appUserCount.setWithdrawalAmount(appUsersCashrecords.stream().filter(e->e.getUid().equals(appUser.getUserid())).mapToDouble(e->e.getMoney().doubleValue()).sum());
-                //提现服务费/手续费
-                appUserCount.setWithdrawalCommission(appUsersCashrecords.stream().filter(e->e.getUid().equals(appUser.getUserid())).mapToDouble(e->e.getService().doubleValue()).sum());
-                //直播消费金额
-                Map<String,KeyValue> type1Keys = Arrays.stream(FinTranType1.getKeyValues(1)).collect(Collectors.toMap(e->e.a, Function.identity(),(k1,k2)->k2)); //支出交易类型
-                Map<String,KeyValue> type3Keys = Arrays.stream(FinTranType3.getKeyValues(1)).collect(Collectors.toMap(e->e.a, Function.identity(),(k1,k2)->k2)); //支出交易类型
-                appUserCount.setLiveUseAmount(finTranRecordList.stream().filter(e->{
-                    return e.getUid().equals(appUser.getUserid()) &&
-                            null != type1Keys.get(String.valueOf(e.getTranType1().intValue())) &&
-                            null != type3Keys.get(String.valueOf(e.getTranType3().intValue()));
-                }).mapToDouble(e->e.getCoinChange()).sum());
-                //直播佣金
-                appUserCount.setLiveCommission(liveDividedRecordList.stream().filter(e->e.getUserId().equals(appUser.getUserid())).mapToDouble(e->e.getMoney().doubleValue()).sum());
-                //游戏佣金
-                appUserCount.setGameCommission(gameRecordCountList.stream().filter(e->e.getUserId().equals(appUser.getUserid())).mapToDouble(e->e.getCommission()).sum());
-                //游戏输
-                appUserCount.setGameLoseAmount(gameBettingList.stream().filter(
-                        e->e.getUserId().equals(appUser.getUserid()) && e.getIsWinning().intValue() == 2
-                ).mapToDouble(e->
-                        e.getBettingAmount()
-                ).sum());
-                //游戏赢
-                appUserCount.setGameLoseAmount(gameBettingList.stream().filter(
-                        e->e.getUserId().equals(appUser.getUserid()) && e.getIsWinning().intValue() == 1
-                ).mapToDouble(e->
-                        e.getBettingAmount() * e.getBettingMultiple()
-                ).sum());
-                appUserCountService.createAppUserCount(appUserCount);
-            });
-        }
+        log.info("开始统计用户每日直播、游戏、佣金");
+        try {
+            Date curDate = DateUtil.offsetDay(DateUtils.getNowDate(), -1);
+            if (StringUtils.isNotBlank(dateTime)) {
+                curDate = DateUtil.parse(dateTime, "yyyy-MM-dd");
+            } else {
+                dateTime = DateUtils.parseDateToStr("yyyy-MM-dd", curDate);
+            }
+            AppUser queryUser = new AppUser();
+            queryUser.setAgentFlag(1);
+            List<AppUser> list = appUserService.selectAppUserList(queryUser);//查询所有代理用户
+            List<AppUsersCharge> appUsersChargeList = appUsersChargeService.getChargeList(null, dateTime.concat(" 00:00:00"), dateTime.concat(" 23:59:59"));
+            List<AppUsersCashrecord> appUsersCashrecords = appUsersCashrecordService.getUserCashList(null, dateTime.concat(" 00:00:00"), dateTime.concat(" 23:59:59"));
+            List<FinTranRecord> finTranRecordList = finTranRecordService.getUserRecordList(null, dateTime.concat(" 00:00:00"), dateTime.concat(" 23:59:59"));
+            List<AppUserLiveDividedRecord> liveDividedRecordList = appUserLiveDividedRecordService.selectByDate(null, dateTime.concat(" 00:00:00"), dateTime.concat(" 23:59:59"));
+            List<AppUserGameRecordCount> gameRecordCountList = appUserGameRecordCountService.selectByDate(null, dateTime.concat(" 00:00:00"), dateTime.concat(" 23:59:59"));
+            List<AppGameBetting> gameBettingList = appGameBettingService.selectListByDate(null, dateTime.concat(" 00:00:00"), dateTime.concat(" 23:59:59"));
+            if (null != list && list.size() > 0) {
+                List<AppUserCount> appUserCountList = new ArrayList<>();
+                String finalDateTime = dateTime;
+                list.forEach(appUser -> {
+                    AppUserCount appUserCount = new AppUserCount();
+                    appUserCount.setUserId(appUser.getUserid());
+                    appUserCount.setStrDate(finalDateTime);
+                    appUserCount.setAgentUserId(appUser.getPid());
+                    //充值总额
+                    appUserCount.setRechargeAmount(appUsersChargeList.stream().filter(e -> e.getUid().equals(appUser.getUserid())).mapToDouble(e -> e.getMoney().doubleValue()).sum());
+                    //提现金额
+                    appUserCount.setWithdrawalAmount(appUsersCashrecords.stream().filter(e -> e.getUid().equals(appUser.getUserid())).mapToDouble(e -> e.getMoney().doubleValue()).sum());
+                    //提现服务费/手续费
+                    appUserCount.setWithdrawalCommission(appUsersCashrecords.stream().filter(e -> e.getUid().equals(appUser.getUserid())).mapToDouble(e -> e.getService().doubleValue()).sum());
+                    //直播消费金额
+                    Map<String, KeyValue> type1Keys = Arrays.stream(FinTranType1.getKeyValues(1)).collect(Collectors.toMap(e -> e.a, Function.identity(), (k1, k2) -> k2)); //支出交易类型
+                    Map<String, KeyValue> type3Keys = Arrays.stream(FinTranType3.getKeyValues(1)).collect(Collectors.toMap(e -> e.a, Function.identity(), (k1, k2) -> k2)); //支出交易类型
+                    appUserCount.setLiveUseAmount(finTranRecordList.stream().filter(e -> {
+                        return e.getUid().equals(appUser.getUserid()) &&
+                                null != type1Keys.get(String.valueOf(e.getTranType1().intValue())) &&
+                                null != type3Keys.get(String.valueOf(e.getTranType3().intValue()));
+                    }).mapToDouble(e -> e.getCoinChange()).sum());
+                    //直播佣金
+                    appUserCount.setLiveCommission(liveDividedRecordList.stream().filter(e -> e.getUserId().equals(appUser.getUserid())).mapToDouble(e -> e.getMoney().doubleValue()).sum());
+                    //游戏佣金
+                    appUserCount.setGameCommission(gameRecordCountList.stream().filter(e -> e.getUserId().equals(appUser.getUserid())).mapToDouble(e -> e.getCommission()).sum());
+                    //游戏输
+                    appUserCount.setGameLoseAmount(gameBettingList.stream().filter(
+                            e -> e.getUserId().equals(appUser.getUserid()) && e.getIsWinning().intValue() == 2
+                    ).mapToDouble(e ->
+                            e.getBettingAmount()
+                    ).sum());
+                    //游戏赢
+                    appUserCount.setGameLoseAmount(gameBettingList.stream().filter(
+                            e -> e.getUserId().equals(appUser.getUserid()) && e.getIsWinning().intValue() == 1
+                    ).mapToDouble(e ->
+                            e.getBettingAmount() * e.getBettingMultiple()
+                    ).sum());
+                    appUserCountService.createAppUserCount(appUserCount);
+                });
+            }
 
-        //统计当日用户游戏输赢
-        if(null != gameBettingList && gameBettingList.size() > 0){
-            Map<String,List<AppGameBetting>> map = gameBettingList.stream().
-                    collect(Collectors.groupingBy(
-                            e->String.valueOf(e.getUserId()).concat("_").
-                                    concat(String.valueOf(e.getGameId())).
-                                    concat("_").concat(String.valueOf(e.getIsWinning()))
-                    ));
-            for(String key : map.keySet()){
-                List<AppGameBetting> appGameBettingList = map.get(key);
-                Long userId = Long.valueOf(key.split("_")[0]);
-                Long gameId = Long.valueOf(key.split("_")[1]);
-                AppUserGameCount appUserGameCount = new AppUserGameCount();
-                appUserGameCount.setUserId(userId);
-                appUserGameCount.setGameId(gameId);
-                appUserGameCount.setStrDate(dateTime);
-                appUserGameCount.setGameLoseAmount(appGameBettingList.stream().filter(e->2==e.getIsWinning()).mapToDouble(
-                        e->e.getBettingAmount()
-                ).sum());
-                appUserGameCount.setGameWinAmount(appGameBettingList.stream().filter(e->2==e.getIsWinning()).mapToDouble(
-                        e->e.getBettingAmount() * e.getBettingMultiple()
-                ).sum());
-                appUserGameCount.setGameCommission(gameRecordCountList.stream().filter(
-                        e->e.getUserId().equals(userId) && e.getGameId().equals(gameId)
-                ).mapToDouble(e->e.getCommission()).sum());//自己得到的佣金
-                appUserGameCountService.save(appUserGameCount);
+            //统计当日用户游戏输赢
+            if (null != gameBettingList && gameBettingList.size() > 0) {
+                Map<String, List<AppGameBetting>> map = gameBettingList.stream().
+                        collect(Collectors.groupingBy(
+                                e -> String.valueOf(e.getUserId()).concat("_").
+                                        concat(String.valueOf(e.getGameId())).
+                                        concat("_").concat(String.valueOf(e.getIsWinning()))
+                        ));
+                for (String key : map.keySet()) {
+                    List<AppGameBetting> appGameBettingList = map.get(key);
+                    Long userId = Long.valueOf(key.split("_")[0]);
+                    Long gameId = Long.valueOf(key.split("_")[1]);
+                    AppUserGameCount appUserGameCount = new AppUserGameCount();
+                    appUserGameCount.setUserId(userId);
+                    appUserGameCount.setGameId(gameId);
+                    appUserGameCount.setStrDate(dateTime);
+                    appUserGameCount.setGameLoseAmount(appGameBettingList.stream().filter(e -> 2 == e.getIsWinning()).mapToDouble(
+                            e -> e.getBettingAmount()
+                    ).sum());
+                    appUserGameCount.setGameWinAmount(appGameBettingList.stream().filter(e -> 2 == e.getIsWinning()).mapToDouble(
+                            e -> e.getBettingAmount() * e.getBettingMultiple()
+                    ).sum());
+                    appUserGameCount.setGameCommission(gameRecordCountList.stream().filter(
+                            e -> e.getUserId().equals(userId) && e.getGameId().equals(gameId)
+                    ).mapToDouble(e -> e.getCommission()).sum());//自己得到的佣金
+                    appUserGameCountService.save(appUserGameCount);
+                }
             }
+        }catch (Exception e){
+            log.info("用户每日直播、游戏、佣金统计异常:{}",e.getMessage());
         }
+        log.info("用户每日直播、游戏、佣金统计完成");
 
     }
 
@@ -152,80 +158,87 @@ public class AppUserCountTask {
      * @param dateTime 格式yyyy-MM-dd
      * */
     public void calculateDividends(String dateTime){
-        Date curDate = DateUtil.offsetDay(DateUtils.getNowDate(),-1);
-        if(StringUtils.isNotBlank(dateTime)){
-            curDate = DateUtil.parse(dateTime,"yyyy-MM-dd");
-        }else{
-            dateTime = DateUtils.parseDateToStr("yyyy-MM-dd",curDate);
-        }
-        Date beginTime = DateUtil.beginOfWeek(curDate);
-        Date endTime = DateUtil.endOfWeek(curDate);
-        //查询所有代理用户
-        AppUser queryUser = new AppUser();
-        queryUser.setAgentFlag(1);
-        List<AppUser> list = appUserService.selectAppUserList(queryUser);
-        if(null != list && list.size() > 0){
-            list.forEach(appUser -> {
-                //查询用户所有下级本周盈亏
-                LambdaQueryWrapper<AppUserCount> queryWrapper = new LambdaQueryWrapper<>();
-                queryWrapper.ge(AppUserCount::getStrDate,beginTime);
-                queryWrapper.le(AppUserCount::getStrDate,endTime);
-                queryWrapper.eq(AppUserCount::getAgentUserId,appUser.getUserid());
-                List<AppUserCount> appUserCountList = appUserCountService.list(queryWrapper);
-                if(null != appUserCountList && appUserCountList.size() > 0){
-                    //游戏输钱
-                    double loseAmount = appUserCountList.stream().mapToDouble(e->e.getGameLoseAmount()).sum();
-                    //游戏赢钱
-                    double winAmount = appUserCountList.stream().mapToDouble(e->e.getGameWinAmount()).sum();
-                    //提现手续费
-                    double withdrawalCommission = appUserCountList.stream().mapToDouble(e->e.getWithdrawalCommission()).sum();
-                    //游戏佣金
-                    double gameCommission = appUserCountList.stream().mapToDouble(e->e.getGameCommission()).sum();
-                    //直播佣金
-                    double liveCommission = appUserCountList.stream().mapToDouble(e->e.getLiveCommission()).sum();
-
-                    //计算分红金额
-                    double money = (loseAmount - winAmount) - withdrawalCommission - gameCommission - liveCommission;
-                    if(money > 0){
-                        //金额大于0 满足分红
-
-                        //查询用户所有下级
-                        LambdaQueryWrapper<AppUserAgent> userAgentLambdaQueryWrapper = new LambdaQueryWrapper<>();
-                        userAgentLambdaQueryWrapper.eq(AppUserAgent::getPid,appUser.getUserid());
-                        userAgentLambdaQueryWrapper.eq(AppUserAgent::getAuditStatus,1);
-                        List<AppUserAgent> appUserAgentList = appUserAgentService.list(userAgentLambdaQueryWrapper);
-                        if(null != appUserAgentList && appUserAgentList.size() > 0){
-                            appUserAgentList.forEach(userAgent ->{
-                                //查询用户分红比例
-                                LambdaQueryWrapper<AppUserAgent> queryAgentWrapper = new LambdaQueryWrapper<>();
-                                queryAgentWrapper.eq(AppUserAgent::getUserId,userAgent.getUserId());
-                                queryAgentWrapper.eq(AppUserAgent::getAuditStatus,1);
-                                AppUserAgent appUserAgent = appUserAgentService.getOne(queryAgentWrapper);
-                                if(null == appUserAgent){
-                                    log.info("用户{},所有下级亏损{},查询下级为空,停止分红",appUserAgent.getUserId(),money);
-                                }
-                                double rate = appUserAgent.getDividendGuaranteeRate();
-                                double dividends = money * rate;
-                                AppUserCountDividend appUserCountDividend = new AppUserCountDividend();
-                                appUserCountDividend.setUserId(userAgent.getUserId());
-                                appUserCountDividend.setDateNo(DateUtil.format(endTime,"yyyy-MM-dd"));
-                                appUserCountDividend.setBeginTime(beginTime);
-                                appUserCountDividend.setEndTime(endTime);
-                                appUserCountDividend.setProfitLoss(money);
-                                appUserCountDividend.setRate(rate);
-                                appUserCountDividend.setCoin(0.00);
-                                appUserCountDividend.setDiamondCoin(dividends);
-                                appUserCountDividend.setStatus(0);
-                                appUserCountDividendService.insertAppUserCountDividend(appUserCountDividend);
-                            });
-                        }else{
-                            log.info("用户{},所有下级亏损{},查询下级为空,停止分红",appUser.getUserid(),money);
+        try {
+            log.info("开始每周代理分红");
+            Date curDate = DateUtil.offsetDay(DateUtils.getNowDate(), -1);
+            if (StringUtils.isNotBlank(dateTime)) {
+                curDate = DateUtil.parse(dateTime, "yyyy-MM-dd");
+            } else {
+                dateTime = DateUtils.parseDateToStr("yyyy-MM-dd", curDate);
+            }
+            Date beginTime = DateUtil.beginOfWeek(curDate);
+            Date endTime = DateUtil.endOfWeek(curDate);
+            //查询所有代理用户
+            AppUser queryUser = new AppUser();
+            queryUser.setAgentFlag(1);
+            List<AppUser> list = appUserService.selectAppUserList(queryUser);
+            if (null != list && list.size() > 0) {
+                list.forEach(appUser -> {
+                    //查询用户所有下级本周盈亏
+                    LambdaQueryWrapper<AppUserCount> queryWrapper = new LambdaQueryWrapper<>();
+                    queryWrapper.ge(AppUserCount::getStrDate, beginTime);
+                    queryWrapper.le(AppUserCount::getStrDate, endTime);
+                    queryWrapper.eq(AppUserCount::getAgentUserId, appUser.getUserid());
+                    List<AppUserCount> appUserCountList = appUserCountService.list(queryWrapper);
+                    if (null != appUserCountList && appUserCountList.size() > 0) {
+                        //游戏输钱
+                        double loseAmount = appUserCountList.stream().mapToDouble(e -> e.getGameLoseAmount()).sum();
+                        //游戏赢钱
+                        double winAmount = appUserCountList.stream().mapToDouble(e -> e.getGameWinAmount()).sum();
+                        //提现手续费
+                        double withdrawalCommission = appUserCountList.stream().mapToDouble(e -> e.getWithdrawalCommission()).sum();
+                        //游戏佣金
+                        double gameCommission = appUserCountList.stream().mapToDouble(e -> e.getGameCommission()).sum();
+                        //直播佣金
+                        double liveCommission = appUserCountList.stream().mapToDouble(e -> e.getLiveCommission()).sum();
+
+                        //计算分红金额
+                        double money = (loseAmount - winAmount) - withdrawalCommission - gameCommission - liveCommission;
+                        if (money > 0) {
+                            //金额大于0 满足分红
+
+                            //查询用户所有下级
+                            LambdaQueryWrapper<AppUserAgent> userAgentLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                            userAgentLambdaQueryWrapper.eq(AppUserAgent::getPid, appUser.getUserid());
+                            userAgentLambdaQueryWrapper.eq(AppUserAgent::getAuditStatus, 1);
+                            List<AppUserAgent> appUserAgentList = appUserAgentService.list(userAgentLambdaQueryWrapper);
+                            if (null != appUserAgentList && appUserAgentList.size() > 0) {
+                                appUserAgentList.forEach(userAgent -> {
+                                    //查询用户分红比例
+                                    LambdaQueryWrapper<AppUserAgent> queryAgentWrapper = new LambdaQueryWrapper<>();
+                                    queryAgentWrapper.eq(AppUserAgent::getUserId, userAgent.getUserId());
+                                    queryAgentWrapper.eq(AppUserAgent::getAuditStatus, 1);
+                                    AppUserAgent appUserAgent = appUserAgentService.getOne(queryAgentWrapper);
+                                    if (null == appUserAgent || appUserAgent.getDividendGuaranteeRate() > 0.00) {
+                                        log.info("用户{},所有下级亏损{},查询下级为空或者未设置分红比例,停止分红", appUserAgent.getUserId(), money);
+                                        return;
+                                    }
+                                    double rate = appUserAgent.getDividendGuaranteeRate();
+                                    double dividends = money * rate;
+                                    AppUserCountDividend appUserCountDividend = new AppUserCountDividend();
+                                    appUserCountDividend.setUserId(userAgent.getUserId());
+                                    appUserCountDividend.setDateNo(DateUtil.format(endTime, "yyyy-MM-dd"));
+                                    appUserCountDividend.setBeginTime(beginTime);
+                                    appUserCountDividend.setEndTime(endTime);
+                                    appUserCountDividend.setProfitLoss(money);
+                                    appUserCountDividend.setRate(rate);
+                                    appUserCountDividend.setCoin(0.00);
+                                    appUserCountDividend.setDiamondCoin(dividends);
+                                    appUserCountDividend.setStatus(0);
+                                    appUserCountDividendService.insertAppUserCountDividend(appUserCountDividend);
+                                });
+                            } else {
+                                log.info("用户{},所有下级亏损{},查询下级为空,停止分红", appUser.getUserid(), money);
+                            }
+                        } else {
+                            log.info("用户{},所有下级亏损{},不满足分红条件", appUser.getUserid(), money);
                         }
-                    }else{
-                        log.info("用户{},所有下级亏损{},不满足分红条件",appUser.getUserid(),money);
                     }
-                }
-            });
+                });
+            }
+            log.info("每周代理分红完成");
+        }catch (Exception e){
+            log.info("每周分红失败:{}",e.getMessage());
         }
 
     }

+ 1 - 1
game-common/src/main/java/com/game/common/constant/Constants.java

@@ -163,7 +163,7 @@ public class Constants
     /**
      * 定时任务白名单配置(仅允许访问的包名,如其他需要可以自行添加)
      */
-    public static final String[] JOB_WHITELIST_STR = { "com.game.quartz.task" };
+    public static final String[] JOB_WHITELIST_STR = { "com.game.quartz.task","com.game.business.task" };
 
     /**
      * 定时任务违规的字符