Преглед на файлове

游戏每日数据、投手游戏每日数据修改默认值

Letianhua преди 1 година
родител
ревизия
d2a986c464

+ 72 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameDataServiceImpl.java

@@ -195,6 +195,10 @@ public class GameDataServiceImpl implements IGameDataService {
      */
     @Override
     public Page<GameDataDayVO> getGameDataDay(GameDataDayDTO dto) {
+        //如果不传游戏id,按照老的游戏每日数据查询数据
+        if (CollectionUtils.isEmpty(dto.getGameId())) {
+            return getGameDataDayForOld(dto);
+        }
         com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo(dto.getSourceSystem());
         List<Long> gameIds = CollectionUtils.isEmpty(dto.getGameId()) ? poerInfo.second : dto.getGameId();
 
@@ -273,6 +277,74 @@ public class GameDataServiceImpl implements IGameDataService {
         return new Page<>(gameDataDayVOList, pager);
     }
 
+    /**
+     * 游戏每日数据
+     *
+     * @param dto 前端传递查询参数
+     * @return 返回给前端的数据
+     */
+    private Page<GameDataDayVO> getGameDataDayForOld(GameDataDayDTO dto) {
+        com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo(dto.getSourceSystem());
+        List<Long> gameIds = CollectionUtils.isEmpty(dto.getGameId()) ? poerInfo.second : dto.getGameId();
+
+        //默认查询 total 总量数据
+        if (StringUtils.isBlank(dto.getTableTypes())) {
+            dto.setTableTypes("total");
+        }
+        //根据dto拼接查询条件
+        Criteria cri = Cnd.cri();
+        if (StringUtils.isNotBlank(dto.getGameName())) {
+            //拼接游戏名称查询条件
+            cri.where().andEquals("game_name", dto.getGameName());
+        }
+        if (CollectionUtils.isNotEmpty(gameIds)) {
+            //拼接游戏id查询条件
+            cri.where().andInList("game_id", gameIds);
+        }
+        if (dto.getGameClassify() != null) {
+            //拼接游戏类型查询条件
+            cri.where().andEquals("game_classify", dto.getGameClassify());
+        }
+        if (dto.getRegisteredBeginDate() != null && dto.getRegisteredEndDate() != null) {
+            cri.where().andBetween("dt", dto.getRegisteredBeginDate(), dto.getRegisteredEndDate());
+        }
+        if (StringUtils.isNotBlank(dto.getSourceSystem())) {
+            //拼接SDK来源
+            cri.where().andEquals("source_system", dto.getSourceSystem());
+        }
+        //拼接排序条件
+        if (StringUtils.isBlank(dto.getSortType())) {
+            dto.setSortType(OrderByEnum.DESC.getOrderType());
+        }
+        if (StringUtils.isBlank(dto.getSortFiled())) {
+            cri.getOrderBy().orderBy("cost_date", dto.getSortFiled());
+            cri.getOrderBy().orderBy("cost", dto.getSortFiled());
+        } else {
+            cri.getOrderBy().orderBy(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, dto.getSortFiled()), dto.getSortType());
+        }
+        //编写sql语句 拼接查询条件
+        Sql sql = Sqls.create(gameDataDaySql(dto.getTableTypes()) + cri);
+        //设置自定义回显对象
+        sql.setCallback(Sqls.callback.entities());
+        sql.setEntity(dao.getEntity(GameDataDayVO.class));
+        //设置pager对象
+        Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
+        sql.setPager(pager);
+        //执行sql
+        dao.execute(sql);
+        //得到结果集list
+        List<GameDataDayVO> list = sql.getList(GameDataDayVO.class);
+        //设置查询总数
+        pager.setRecordCount(dao.count(AdsGameDay.class, cri));
+        List<GameDataDayVO> gameDataDayVOList = list.stream().map(vo -> {
+            formatDayN(vo);
+            return vo;
+        }).collect(Collectors.toList());
+
+        //返回list结果 封装到page对象里
+        return new Page<>(gameDataDayVOList, pager);
+    }
+
     /**
      * 游戏每日数据总计
      *

+ 74 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/PitcherDataServiceImpl.java

@@ -487,6 +487,10 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
      */
     @Override
     public Page<PitcherGameDataDayVO> getPitcherGameDataDay(PitcherGameDataDayDTO dto) {
+        //不选游戏,默认按照直接的投手游戏每日数据去查数据
+        if (CollectionUtils.isEmpty(dto.getGameId())) {
+            return getPitcherGameDataDayForOld(dto);
+        }
         com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo(dto.getSourceSystem());
         List<Long> userIds = CollectionUtils.isEmpty(dto.getPitcherId()) ? poerInfo.first : dto.getPitcherId();
         List<Long> gameIds = CollectionUtils.isEmpty(dto.getGameId()) ? poerInfo.second : dto.getGameId();
@@ -566,6 +570,76 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
         return new Page<>(list, pager);
     }
 
+    /**
+     * 投手游戏每日数据
+     *
+     * @param dto PitcherGameDataDayDTO
+     * @return Page<PitcherGameDataDayVO>
+     */
+    public Page<PitcherGameDataDayVO> getPitcherGameDataDayForOld(PitcherGameDataDayDTO dto) {
+        com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo(dto.getSourceSystem());
+        List<Long> userIds = CollectionUtils.isEmpty(dto.getPitcherId()) ? poerInfo.first : dto.getPitcherId();
+        List<Long> gameIds = CollectionUtils.isEmpty(dto.getGameId()) ? poerInfo.second : dto.getGameId();
+
+        //不传递时间,默认查询当天
+        if (dto.getBeginDate() == null || dto.getEndDate() == null) {
+            dto.setBeginDate(LocalDate.now());
+            dto.setEndDate(LocalDate.now());
+        }
+        //创建查询条件
+        Criteria cri = Cnd.cri();
+        if (CollectionUtils.isNotEmpty(userIds)) {
+            cri.where().andInList("pitcher_id", userIds);
+        }
+        if (CollectionUtils.isNotEmpty(gameIds)) {
+            cri.where().andInList("game_id", gameIds);
+        }
+        if (StringUtils.isNotBlank(dto.getSourceSystem())) {
+            cri.where().andEquals("source_system", dto.getSourceSystem());
+        }
+        if (dto.getBeginDate() != null && dto.getEndDate() != null) {
+            cri.where().andBetween("dt", dto.getBeginDate(), dto.getEndDate());
+        }
+        if (StringUtils.isNotBlank(dto.getGameCp())) {
+            cri.where().andEquals("game_cp", dto.getGameCp());
+        }
+        if (dto.getGameType() != null) {
+            cri.where().andEquals("game_type", dto.getGameType());
+        }
+        //排序条件
+        //拼接排序条件,如果没有排序条件给默认值
+        if (StringUtils.isBlank(dto.getSortType())) {
+            dto.setSortType(OrderByEnum.DESC.getOrderType());
+        }
+        if (StringUtils.isBlank(dto.getSortFiled())) {
+            cri.getOrderBy().orderBy("dt", dto.getSortType());
+            cri.getOrderBy().orderBy("cost", dto.getSortType());
+        } else {
+            cri.getOrderBy().orderBy(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, dto.getSortFiled()), dto.getSortType());
+        }
+        //Pager对象
+        Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
+        //sql语句
+        Sql sql = Sqls.create(pitcherGameDataDaySql() + cri);
+        //设置回传对象
+        sql.setCallback(Sqls.callback.entities());
+        sql.setEntity(dao.getEntity(PitcherGameDataDayVO.class));
+        //设置pager
+        sql.setPager(pager);
+        //执行sql
+        dao.execute(sql);
+        //设置总记录数
+        pager.setRecordCount(dao.count(AdsGamePitcherDay.class, cri));
+        //处理dayN数据
+        List<PitcherGameDataDayVO> tempList = sql.getList(PitcherGameDataDayVO.class);
+        List<PitcherGameDataDayVO> list = tempList.stream().map(vo -> {
+            formatPitcherGameDataDayDayN(vo);
+            return vo;
+        }).collect(Collectors.toList());
+        //返回结果
+        return new Page<>(list, pager);
+    }
+
     /**
      * 投手游戏每日数据总计
      *