|  | @@ -7,10 +7,7 @@ import com.zanxiang.game.data.serve.pojo.dto.GameDataTotalDTO;
 | 
											
												
													
														|  |  import com.zanxiang.game.data.serve.pojo.dto.GameDataWaterDTO;
 |  |  import com.zanxiang.game.data.serve.pojo.dto.GameDataWaterDTO;
 | 
											
												
													
														|  |  import com.zanxiang.game.data.serve.pojo.entity.AdsEverydayWater;
 |  |  import com.zanxiang.game.data.serve.pojo.entity.AdsEverydayWater;
 | 
											
												
													
														|  |  import com.zanxiang.game.data.serve.pojo.enums.OrderByEnum;
 |  |  import com.zanxiang.game.data.serve.pojo.enums.OrderByEnum;
 | 
											
												
													
														|  | -import com.zanxiang.game.data.serve.pojo.vo.GameDataDayVO;
 |  | 
 | 
											
												
													
														|  | -import com.zanxiang.game.data.serve.pojo.vo.GameDataTotalVO;
 |  | 
 | 
											
												
													
														|  | -import com.zanxiang.game.data.serve.pojo.vo.GameDataWaterVO;
 |  | 
 | 
											
												
													
														|  | -import com.zanxiang.game.data.serve.pojo.vo.RechargeTrendVO;
 |  | 
 | 
											
												
													
														|  | 
 |  | +import com.zanxiang.game.data.serve.pojo.vo.*;
 | 
											
												
													
														|  |  import com.zanxiang.game.data.serve.service.IGameDataService;
 |  |  import com.zanxiang.game.data.serve.service.IGameDataService;
 | 
											
												
													
														|  |  import com.zanxiang.game.data.serve.utils.Page;
 |  |  import com.zanxiang.game.data.serve.utils.Page;
 | 
											
												
													
														|  |  import com.zanxiang.module.util.DateUtil;
 |  |  import com.zanxiang.module.util.DateUtil;
 | 
											
										
											
												
													
														|  | @@ -882,13 +879,13 @@ public class GameDataServiceImpl implements IGameDataService {
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      @Override
 |  |      @Override
 | 
											
												
													
														|  |      public Page<GameDataWaterVO> getGameDataWater(GameDataWaterDTO dto) {
 |  |      public Page<GameDataWaterVO> getGameDataWater(GameDataWaterDTO dto) {
 | 
											
												
													
														|  | -        if (null == dto.getRechargeDate()){
 |  | 
 | 
											
												
													
														|  | 
 |  | +        if (null == dto.getRechargeDate()) {
 | 
											
												
													
														|  |              dto.setRechargeDate(LocalDate.now());
 |  |              dto.setRechargeDate(LocalDate.now());
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  | -        if (StringUtils.isBlank(dto.getSortFiled())){
 |  | 
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isBlank(dto.getSortFiled())) {
 | 
											
												
													
														|  |              dto.setSortFiled("amount");
 |  |              dto.setSortFiled("amount");
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  | -        if (StringUtils.isBlank(dto.getSortType())){
 |  | 
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isBlank(dto.getSortType())) {
 | 
											
												
													
														|  |              dto.setSortType(OrderByEnum.DESC.getOrderType());
 |  |              dto.setSortType(OrderByEnum.DESC.getOrderType());
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |          Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
 |  |          Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
 | 
											
										
											
												
													
														|  | @@ -900,7 +897,7 @@ public class GameDataServiceImpl implements IGameDataService {
 | 
											
												
													
														|  |          if (StringUtils.isNotBlank(dto.getGameClassify())) {
 |  |          if (StringUtils.isNotBlank(dto.getGameClassify())) {
 | 
											
												
													
														|  |              cri.where().andEquals("game_classify", dto.getGameClassify());
 |  |              cri.where().andEquals("game_classify", dto.getGameClassify());
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  | -        cri.where().and("dt","=",dto.getRechargeDate());
 |  | 
 | 
											
												
													
														|  | 
 |  | +        cri.where().and("dt", "=", dto.getRechargeDate());
 | 
											
												
													
														|  |          cri.groupBy("game_id");
 |  |          cri.groupBy("game_id");
 | 
											
												
													
														|  |          cri.orderBy(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, dto.getSortFiled()), dto.getSortType());
 |  |          cri.orderBy(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, dto.getSortFiled()), dto.getSortType());
 | 
											
												
													
														|  |          Sql sql = Sqls.queryEntity(waterSql() + "$condition");
 |  |          Sql sql = Sqls.queryEntity(waterSql() + "$condition");
 | 
											
										
											
												
													
														|  | @@ -911,52 +908,61 @@ public class GameDataServiceImpl implements IGameDataService {
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          Sql sqlCount = Sqls.queryEntity("select count(*) from ads_everyday_water " + "$condition");
 |  |          Sql sqlCount = Sqls.queryEntity("select count(*) from ads_everyday_water " + "$condition");
 | 
											
												
													
														|  |          sqlCount.setCondition(cri);
 |  |          sqlCount.setCondition(cri);
 | 
											
												
													
														|  | -        pager.setRecordCount((int) Daos.queryCount(dao,sqlCount));
 |  | 
 | 
											
												
													
														|  | 
 |  | +        pager.setRecordCount((int) Daos.queryCount(dao, sqlCount));
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          List<Long> gameIds = sql.getList(GameDataWaterVO.class).stream()
 |  |          List<Long> gameIds = sql.getList(GameDataWaterVO.class).stream()
 | 
											
												
													
														|  |                  .map(GameDataWaterVO::getGameId)
 |  |                  .map(GameDataWaterVO::getGameId)
 | 
											
												
													
														|  |                  .collect(Collectors.toList());
 |  |                  .collect(Collectors.toList());
 | 
											
												
													
														|  | -        if (CollectionUtils.isEmpty(gameIds)){
 |  | 
 | 
											
												
													
														|  | 
 |  | +        if (CollectionUtils.isEmpty(gameIds)) {
 | 
											
												
													
														|  |              return new Page<>();
 |  |              return new Page<>();
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          SimpleCriteria templateCri = Cnd.cri();
 |  |          SimpleCriteria templateCri = Cnd.cri();
 | 
											
												
													
														|  | -        templateCri.where().and("dt","=",dto.getRechargeDate());
 |  | 
 | 
											
												
													
														|  | -        templateCri.where().andInList("game_id",gameIds);
 |  | 
 | 
											
												
													
														|  | 
 |  | +        templateCri.where().and("dt", "=", dto.getRechargeDate());
 | 
											
												
													
														|  | 
 |  | +        templateCri.where().andInList("game_id", gameIds);
 | 
											
												
													
														|  |          Sql templateSql = Sqls.queryEntity(waterTemplateSql() + "$condition");
 |  |          Sql templateSql = Sqls.queryEntity(waterTemplateSql() + "$condition");
 | 
											
												
													
														|  |          Entity<AdsEverydayWater> everydayWaterEntity = dao.getEntity(AdsEverydayWater.class);
 |  |          Entity<AdsEverydayWater> everydayWaterEntity = dao.getEntity(AdsEverydayWater.class);
 | 
											
												
													
														|  | -        templateSql.setEntity(everydayWaterEntity).setCondition(cri);
 |  | 
 | 
											
												
													
														|  | 
 |  | +        templateSql.setEntity(everydayWaterEntity).setCondition(templateCri);
 | 
											
												
													
														|  |          dao.execute(templateSql);
 |  |          dao.execute(templateSql);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          Map<Long, List<AdsEverydayWater>> collect = templateSql.getList(AdsEverydayWater.class).stream().collect(Collectors.groupingBy(AdsEverydayWater::getGameId));
 |  |          Map<Long, List<AdsEverydayWater>> collect = templateSql.getList(AdsEverydayWater.class).stream().collect(Collectors.groupingBy(AdsEverydayWater::getGameId));
 | 
											
												
													
														|  | -//        sql.getList(GameDataWaterVO.class).stream()
 |  | 
 | 
											
												
													
														|  | -//                .map(item->{
 |  | 
 | 
											
												
													
														|  | -//                    List<AdsEverydayWater> adsEverydayWaters = collect.get(item.getGameId());
 |  | 
 | 
											
												
													
														|  | -//                    if (CollectionUtils.isEmpty(adsEverydayWaters)){
 |  | 
 | 
											
												
													
														|  | -//                        List<RechargeTemplateVO> rechargeTemplateVOList = new ArrayList<>(10);
 |  | 
 | 
											
												
													
														|  | -//
 |  | 
 | 
											
												
													
														|  | -//                        List<PlayerTemplateVO> playerTemplateVOS = new ArrayList<>(10);
 |  | 
 | 
											
												
													
														|  | -//                        adsEverydayWaters.forEach(adsEverydayWater -> {
 |  | 
 | 
											
												
													
														|  | -//                            rechargeTemplateVOList.add(RechargeTemplateVO.builder()
 |  | 
 | 
											
												
													
														|  | -//                                .amountCount(adsEverydayWater.getAmountCount())
 |  | 
 | 
											
												
													
														|  | -//                                .amountNum(adsEverydayWater.getAmountNum())
 |  | 
 | 
											
												
													
														|  | -//                                .amountOrderBy(adsEverydayWater.getAmountOrderBy())
 |  | 
 | 
											
												
													
														|  | -//                                .amountPost(adsEverydayWater.getAmountPost())
 |  | 
 | 
											
												
													
														|  | -//                                    .build());
 |  | 
 | 
											
												
													
														|  | -//                            playerTemplateVOS.add(PlayerTemplateVO.builder()
 |  | 
 | 
											
												
													
														|  | -//                                            .userId(adsEverydayWater.getUserId())
 |  | 
 | 
											
												
													
														|  | -//                                            .userAmount(adsEverydayWater.getUserAmount())
 |  | 
 | 
											
												
													
														|  | -//                                            .userOrderBy(adsEverydayWater.getUserOrderBy())
 |  | 
 | 
											
												
													
														|  | -//                                            .userName(adsEverydayWater.getUserName())
 |  | 
 | 
											
												
													
														|  | -//                                            .proportion(adsEverydayWater.getUserAmount()/adsEverydayWater.getAmount())
 |  | 
 | 
											
												
													
														|  | -//                                    .build())
 |  | 
 | 
											
												
													
														|  | -//                        });
 |  | 
 | 
											
												
													
														|  | -//
 |  | 
 | 
											
												
													
														|  | -//                    }
 |  | 
 | 
											
												
													
														|  | -//                })
 |  | 
 | 
											
												
													
														|  | -//                .collect(Collectors.toList());
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -        return new Page<>(sql.getList(GameDataWaterVO.class),pager);
 |  | 
 | 
											
												
													
														|  | 
 |  | +        List<GameDataWaterVO> result = sql.getList(GameDataWaterVO.class).stream()
 | 
											
												
													
														|  | 
 |  | +                .map(item -> {
 | 
											
												
													
														|  | 
 |  | +                    List<AdsEverydayWater> adsEverydayWaters = collect.get(item.getGameId());
 | 
											
												
													
														|  | 
 |  | +                    if (!CollectionUtils.isEmpty(adsEverydayWaters)) {
 | 
											
												
													
														|  | 
 |  | +                        List<RechargeTemplateVO> rechargeTemplateVOList = new ArrayList<>(10);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +                        List<PlayerTemplateVO> playerTemplateVOS = new ArrayList<>(10);
 | 
											
												
													
														|  | 
 |  | +                        adsEverydayWaters.forEach(adsEverydayWater -> {
 | 
											
												
													
														|  | 
 |  | +                            if (StringUtils.isNotBlank(adsEverydayWater.getAmountOrderBy())) {
 | 
											
												
													
														|  | 
 |  | +                                rechargeTemplateVOList.add(RechargeTemplateVO.builder()
 | 
											
												
													
														|  | 
 |  | +                                        .amountCount(adsEverydayWater.getAmountCount())
 | 
											
												
													
														|  | 
 |  | +                                        .amountNum(adsEverydayWater.getAmountNum())
 | 
											
												
													
														|  | 
 |  | +                                        .amountOrderBy(adsEverydayWater.getAmountOrderBy())
 | 
											
												
													
														|  | 
 |  | +                                        .amountPost(adsEverydayWater.getAmountPost())
 | 
											
												
													
														|  | 
 |  | +                                        .build());
 | 
											
												
													
														|  | 
 |  | +                            }
 | 
											
												
													
														|  | 
 |  | +                            if (StringUtils.isNotBlank(adsEverydayWater.getUserOrderBy())) {
 | 
											
												
													
														|  | 
 |  | +                                playerTemplateVOS.add(PlayerTemplateVO.builder()
 | 
											
												
													
														|  | 
 |  | +                                        .userId(adsEverydayWater.getUserId())
 | 
											
												
													
														|  | 
 |  | +                                        .userAmount(adsEverydayWater.getUserAmount())
 | 
											
												
													
														|  | 
 |  | +                                        .userOrderBy(adsEverydayWater.getUserOrderBy())
 | 
											
												
													
														|  | 
 |  | +                                        .userName(adsEverydayWater.getUserName())
 | 
											
												
													
														|  | 
 |  | +                                        .proportion(
 | 
											
												
													
														|  | 
 |  | +                                                item.getAmount().compareTo(BigDecimal.ZERO) == 0 ?
 | 
											
												
													
														|  | 
 |  | +                                                        BigDecimal.ZERO :
 | 
											
												
													
														|  | 
 |  | +                                                        adsEverydayWater.getUserAmount().divide(item.getAmount(), 4, RoundingMode.DOWN)
 | 
											
												
													
														|  | 
 |  | +                                        )
 | 
											
												
													
														|  | 
 |  | +                                        .build());
 | 
											
												
													
														|  | 
 |  | +                            }
 | 
											
												
													
														|  | 
 |  | +                        });
 | 
											
												
													
														|  | 
 |  | +                        item.setRechargeTemplateVOList(rechargeTemplateVOList);
 | 
											
												
													
														|  | 
 |  | +                        item.setPlayerTemplateVOS(playerTemplateVOS);
 | 
											
												
													
														|  | 
 |  | +                    }
 | 
											
												
													
														|  | 
 |  | +                    return item;
 | 
											
												
													
														|  | 
 |  | +                }).collect(Collectors.toList());
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        return new Page<>(result, pager);
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      private String waterSql() {
 |  |      private String waterSql() {
 | 
											
										
											
												
													
														|  | @@ -965,10 +971,10 @@ public class GameDataServiceImpl implements IGameDataService {
 | 
											
												
													
														|  |                  game_id as id,
 |  |                  game_id as id,
 | 
											
												
													
														|  |                  game_id,
 |  |                  game_id,
 | 
											
												
													
														|  |                  max(game_name) as game_name,
 |  |                  max(game_name) as game_name,
 | 
											
												
													
														|  | -                max(game_classify) as game_name,
 |  | 
 | 
											
												
													
														|  | -                max(amount) as game_name,
 |  | 
 | 
											
												
													
														|  | -                max(buy_amount) as game_name,
 |  | 
 | 
											
												
													
														|  | -                max(nature_amount) as game_name
 |  | 
 | 
											
												
													
														|  | 
 |  | +                max(game_classify) as game_classify,
 | 
											
												
													
														|  | 
 |  | +                max(amount) as amount,
 | 
											
												
													
														|  | 
 |  | +                max(buy_amount) as buy_amount,
 | 
											
												
													
														|  | 
 |  | +                max(nature_amount) as nature_amount
 | 
											
												
													
														|  |                  from ads_everyday_water
 |  |                  from ads_everyday_water
 | 
											
												
													
														|  |                  """;
 |  |                  """;
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
										
											
												
													
														|  | @@ -976,6 +982,7 @@ public class GameDataServiceImpl implements IGameDataService {
 | 
											
												
													
														|  |      private String waterTemplateSql() {
 |  |      private String waterTemplateSql() {
 | 
											
												
													
														|  |          return """
 |  |          return """
 | 
											
												
													
														|  |                  select
 |  |                  select
 | 
											
												
													
														|  | 
 |  | +                game_id,
 | 
											
												
													
														|  |                  user_order_by,
 |  |                  user_order_by,
 | 
											
												
													
														|  |                  user_id,
 |  |                  user_id,
 | 
											
												
													
														|  |                  user_name,
 |  |                  user_name,
 | 
											
										
											
												
													
														|  | @@ -987,6 +994,4 @@ public class GameDataServiceImpl implements IGameDataService {
 | 
											
												
													
														|  |                  from ads_everyday_water
 |  |                  from ads_everyday_water
 | 
											
												
													
														|  |                  """;
 |  |                  """;
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |  }
 |  |  }
 |