|
@@ -4,7 +4,9 @@ import com.google.common.base.CaseFormat;
|
|
|
import com.zanxiang.game.data.serve.component.DataPowerComponent;
|
|
|
import com.zanxiang.game.data.serve.pojo.dto.*;
|
|
|
import com.zanxiang.game.data.serve.pojo.entity.AdsGameServerDay;
|
|
|
+import com.zanxiang.game.data.serve.pojo.entity.AdsGameServerDayParent;
|
|
|
import com.zanxiang.game.data.serve.pojo.entity.AdsGameServerSumDay;
|
|
|
+import com.zanxiang.game.data.serve.pojo.entity.AdsGameServerSumDayParent;
|
|
|
import com.zanxiang.game.data.serve.pojo.enums.OrderByEnum;
|
|
|
import com.zanxiang.game.data.serve.pojo.vo.*;
|
|
|
import com.zanxiang.game.data.serve.service.IGameServerService;
|
|
@@ -198,13 +200,22 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
@Override
|
|
|
public Page<GameServerDayVO> getGameServerDataDay(GameServerDayDTO dto) {
|
|
|
com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo();
|
|
|
- List<Long> gameIds = dto.getGameId() == null ? poerInfo.second : Collections.singletonList(dto.getGameId());
|
|
|
+ List<Long> gameIds = dto.getGameId() == null ? poerInfo.second : dto.getGameId();
|
|
|
|
|
|
+ if (dto.getGameDimension() == null) {
|
|
|
+ //默认查询子游戏维度
|
|
|
+ dto.setGameDimension(1L);
|
|
|
+ }
|
|
|
+ //默认查询子游戏维度字段
|
|
|
+ String gameColumn = "game_id";
|
|
|
+ if (dto.getGameDimension() == 2L) {
|
|
|
+ gameColumn = "parent_game_id";
|
|
|
+ }
|
|
|
//创建查询条件
|
|
|
Criteria cri = Cnd.cri();
|
|
|
- if (gameIds != null) {
|
|
|
+ if (CollectionUtils.isNotEmpty(gameIds)) {
|
|
|
//拼接游戏ID查询条件
|
|
|
- cri.where().andInList("game_id", gameIds);
|
|
|
+ cri.where().andInList(gameColumn, gameIds);
|
|
|
}
|
|
|
if (dto.getServerId() != null) {
|
|
|
//拼接区服ID查询条件
|
|
@@ -233,18 +244,25 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
} else {
|
|
|
cri.getOrderBy().orderBy(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, dto.getSortFiled()), dto.getSortType());
|
|
|
}
|
|
|
+ //设置分页对象
|
|
|
+ Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
|
|
|
//创建sql语句查询数据
|
|
|
- Sql sql = Sqls.create(gameServerDaySql() + cri);
|
|
|
+ Sql sql;
|
|
|
+ if (dto.getGameDimension() == 1L) {
|
|
|
+ sql = Sqls.create(gameServerDaySql() + cri);
|
|
|
+ //设置总记录数
|
|
|
+ pager.setRecordCount(dao.count(AdsGameServerDay.class, cri));
|
|
|
+ } else {
|
|
|
+ sql = Sqls.create(gameServerDaySqlForParent() + cri);
|
|
|
+ //设置总记录数
|
|
|
+ pager.setRecordCount(dao.count(AdsGameServerDayParent.class, cri));
|
|
|
+ }
|
|
|
//设置自定义回传对象
|
|
|
sql.setCallback(Sqls.callback.entities());
|
|
|
sql.setEntity(dao.getEntity(GameServerDayVO.class));
|
|
|
- //设置分页对象
|
|
|
- Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
|
|
|
sql.setPager(pager);
|
|
|
//执行sql
|
|
|
dao.execute(sql);
|
|
|
- //设置总记录数
|
|
|
- pager.setRecordCount(dao.count(AdsGameServerDay.class, cri));
|
|
|
List<GameServerDayVO> tempList = sql.getList(GameServerDayVO.class);
|
|
|
List<GameServerDayVO> list = tempList.stream().map(vo -> {
|
|
|
formatDayN(vo);
|
|
@@ -263,16 +281,26 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
@Override
|
|
|
public GameServerDayTotalVO getGameServerDataDayTotal(GameServerDayTotalDTO dto) {
|
|
|
com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo();
|
|
|
- List<Long> gameIds = dto.getGameId() == null ? poerInfo.second : Collections.singletonList(dto.getGameId());
|
|
|
+ List<Long> gameIds = dto.getGameId() == null ? poerInfo.second : dto.getGameId();
|
|
|
+
|
|
|
//默认查询注册留存数据
|
|
|
if (StringUtils.isBlank(dto.getActiveTypes())) {
|
|
|
dto.setActiveTypes("reg");
|
|
|
}
|
|
|
+ if (dto.getGameDimension() == null) {
|
|
|
+ //默认查询子游戏维度
|
|
|
+ dto.setGameDimension(1L);
|
|
|
+ }
|
|
|
+ //默认查询子游戏维度字段
|
|
|
+ String gameColumn = "game_id";
|
|
|
+ if (dto.getGameDimension() == 2L) {
|
|
|
+ gameColumn = "parent_game_id";
|
|
|
+ }
|
|
|
//创建查询条件
|
|
|
Criteria cri = Cnd.cri();
|
|
|
- if (gameIds != null) {
|
|
|
+ if (CollectionUtils.isNotEmpty(gameIds)) {
|
|
|
//拼接游戏ID查询条件
|
|
|
- cri.where().andInList("game_id", gameIds);
|
|
|
+ cri.where().andInList(gameColumn, gameIds);
|
|
|
}
|
|
|
if (dto.getServerId() != null) {
|
|
|
//拼接区服ID查询条件
|
|
@@ -291,7 +319,12 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
cri.where().andEquals("source_system", dto.getSourceSystem());
|
|
|
}
|
|
|
//创建sql语句查询数据
|
|
|
- Sql sql = Sqls.create(gameServerDayTotalSql(dto.getActiveTypes()) + cri);
|
|
|
+ Sql sql;
|
|
|
+ if (dto.getGameDimension() == 1L) {
|
|
|
+ sql = Sqls.create(gameServerDayTotalSql(dto.getActiveTypes()) + cri);
|
|
|
+ } else {
|
|
|
+ sql = Sqls.create(gameServerDayTotalSqlForParent(dto.getActiveTypes()) + cri);
|
|
|
+ }
|
|
|
//设置自定义回传对象
|
|
|
sql.setCallback(Sqls.callback.entity());
|
|
|
sql.setEntity(dao.getEntity(GameServerDayTotalVO.class));
|
|
@@ -315,12 +348,22 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
public Page<GameServerSumDayVO> getGameServerDataSumDay(GameServerSumDayDTO dto) {
|
|
|
//添加权限
|
|
|
com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo();
|
|
|
- List<Long> gameIds = dto.getGameId() == null ? poerInfo.second : Collections.singletonList(dto.getGameId());
|
|
|
+ List<Long> gameIds = dto.getGameId() == null ? poerInfo.second : dto.getGameId();
|
|
|
+
|
|
|
+ if (dto.getGameDimension() == null) {
|
|
|
+ //默认查询子游戏维度
|
|
|
+ dto.setGameDimension(1L);
|
|
|
+ }
|
|
|
+ //默认查询子游戏维度字段
|
|
|
+ String gameColumn = "game_id";
|
|
|
+ if (dto.getGameDimension() == 2L) {
|
|
|
+ gameColumn = "parent_game_id";
|
|
|
+ }
|
|
|
//创建查询条件
|
|
|
Criteria cri = Cnd.cri();
|
|
|
- if (gameIds != null) {
|
|
|
+ if (CollectionUtils.isNotEmpty(gameIds)) {
|
|
|
//拼接游戏ID查询条件
|
|
|
- cri.where().andInList("game_id", gameIds);
|
|
|
+ cri.where().andInList(gameColumn, gameIds);
|
|
|
}
|
|
|
if (dto.getBeginDate() != null && dto.getEndDate() != null) {
|
|
|
//拼接开服时间查询条件
|
|
@@ -341,18 +384,25 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
} else {
|
|
|
cri.getOrderBy().orderBy(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, dto.getSortFiled()), dto.getSortType());
|
|
|
}
|
|
|
+ //设置分页对象
|
|
|
+ Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
|
|
|
//创建sql语句查询数据
|
|
|
- Sql sql = Sqls.create(gameServerSumDaySql() + cri);
|
|
|
+ Sql sql;
|
|
|
+ if (dto.getGameDimension() == 1L) {
|
|
|
+ sql = Sqls.create(gameServerSumDaySql() + cri);
|
|
|
+ //设置总记录数
|
|
|
+ pager.setRecordCount(dao.count(AdsGameServerSumDay.class, cri));
|
|
|
+ } else {
|
|
|
+ sql = Sqls.create(gameServerSumDaySqlForParent() + cri);
|
|
|
+ //设置总记录数
|
|
|
+ pager.setRecordCount(dao.count(AdsGameServerSumDayParent.class, cri));
|
|
|
+ }
|
|
|
//设置自定义回传对象
|
|
|
sql.setCallback(Sqls.callback.entities());
|
|
|
sql.setEntity(dao.getEntity(GameServerSumDayVO.class));
|
|
|
- //设置分页对象
|
|
|
- Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
|
|
|
sql.setPager(pager);
|
|
|
//执行sql
|
|
|
dao.execute(sql);
|
|
|
- //设置总记录数
|
|
|
- pager.setRecordCount(dao.count(AdsGameServerSumDay.class, cri));
|
|
|
List<GameServerSumDayVO> tempList = sql.getList(GameServerSumDayVO.class);
|
|
|
List<GameServerSumDayVO> list = tempList.stream().map(vo -> {
|
|
|
formatDayNForServerDay(vo);
|
|
@@ -371,13 +421,23 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
@Override
|
|
|
public GameServerSumDayTotalVO getGameServerDataSumDayTotal(GameServerSumDayTotalDTO dto) {
|
|
|
com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo();
|
|
|
- List<Long> gameIds = dto.getGameId() == null ? poerInfo.second : Collections.singletonList(dto.getGameId());
|
|
|
+ List<Long> gameIds = dto.getGameId() == null ? poerInfo.second : dto.getGameId();
|
|
|
+
|
|
|
+ if (dto.getGameDimension() == null) {
|
|
|
+ //默认查询子游戏维度
|
|
|
+ dto.setGameDimension(1L);
|
|
|
+ }
|
|
|
+ //默认查询子游戏维度字段
|
|
|
+ String gameColumn = "game_id";
|
|
|
+ if (dto.getGameDimension() == 2L) {
|
|
|
+ gameColumn = "parent_game_id";
|
|
|
+ }
|
|
|
|
|
|
//创建查询条件
|
|
|
Criteria cri = Cnd.cri();
|
|
|
- if (gameIds != null) {
|
|
|
+ if (CollectionUtils.isNotEmpty(gameIds)) {
|
|
|
//拼接游戏ID查询条件
|
|
|
- cri.where().andInList("game_id", gameIds);
|
|
|
+ cri.where().andInList(gameColumn, gameIds);
|
|
|
}
|
|
|
if (dto.getBeginDate() != null && dto.getEndDate() != null) {
|
|
|
//拼接开服时间查询条件
|
|
@@ -388,7 +448,12 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
cri.where().andEquals("source_system", dto.getSourceSystem());
|
|
|
}
|
|
|
//创建sql语句查询数据
|
|
|
- Sql sql = Sqls.create(gameServerSumDayTotalSql() + cri);
|
|
|
+ Sql sql;
|
|
|
+ if (dto.getGameDimension() == 1L) {
|
|
|
+ sql = Sqls.create(gameServerSumDayTotalSql() + cri);
|
|
|
+ } else {
|
|
|
+ sql = Sqls.create(gameServerSumDayTotalSqlForParent() + cri);
|
|
|
+ }
|
|
|
//设置自定义回传对象
|
|
|
sql.setCallback(Sqls.callback.entity());
|
|
|
sql.setEntity(dao.getEntity(GameServerSumDayTotalVO.class));
|
|
@@ -1003,6 +1068,133 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
""";
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 游戏区服数据SQL-父游戏维度
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String gameServerDaySqlForParent() {
|
|
|
+ return """
|
|
|
+ SELECT
|
|
|
+ dt,
|
|
|
+ source_system,
|
|
|
+ server_id,
|
|
|
+ server_name,
|
|
|
+ parent_game_id as game_id,
|
|
|
+ parent_game_name as game_name,
|
|
|
+ parent_game_classify as classify,
|
|
|
+ out_total_num,
|
|
|
+ out_total_amount_num,
|
|
|
+ out_total_amount,
|
|
|
+ out_total_rate,
|
|
|
+ total_role_num,
|
|
|
+ total_reg_num,
|
|
|
+ total_amount_num,
|
|
|
+ total_amount,
|
|
|
+ da1,
|
|
|
+ da2,
|
|
|
+ da3,
|
|
|
+ da4,
|
|
|
+ da5,
|
|
|
+ da6,
|
|
|
+ da7,
|
|
|
+ da8,
|
|
|
+ da9,
|
|
|
+ da10,
|
|
|
+ da11,
|
|
|
+ da12,
|
|
|
+ da13,
|
|
|
+ da14,
|
|
|
+ da15,
|
|
|
+ da16,
|
|
|
+ da17,
|
|
|
+ da18,
|
|
|
+ da19,
|
|
|
+ da20,
|
|
|
+ da21,
|
|
|
+ da22,
|
|
|
+ da23,
|
|
|
+ da24,
|
|
|
+ da25,
|
|
|
+ da26,
|
|
|
+ da27,
|
|
|
+ da28,
|
|
|
+ da29,
|
|
|
+ da30,
|
|
|
+ da31,
|
|
|
+ da32,
|
|
|
+ da33,
|
|
|
+ da34,
|
|
|
+ da35,
|
|
|
+ da36,
|
|
|
+ da37,
|
|
|
+ da38,
|
|
|
+ da39,
|
|
|
+ da40,
|
|
|
+ da41,
|
|
|
+ da42,
|
|
|
+ da43,
|
|
|
+ da44,
|
|
|
+ da45,
|
|
|
+ da46,
|
|
|
+ da47,
|
|
|
+ da48,
|
|
|
+ da49,
|
|
|
+ da50,
|
|
|
+ da51,
|
|
|
+ da52,
|
|
|
+ da53,
|
|
|
+ da54,
|
|
|
+ da55,
|
|
|
+ da56,
|
|
|
+ da57,
|
|
|
+ da58,
|
|
|
+ da59,
|
|
|
+ da60,
|
|
|
+ da61,
|
|
|
+ da62,
|
|
|
+ da63,
|
|
|
+ da64,
|
|
|
+ da65,
|
|
|
+ da66,
|
|
|
+ da67,
|
|
|
+ da68,
|
|
|
+ da69,
|
|
|
+ da70,
|
|
|
+ da71,
|
|
|
+ da72,
|
|
|
+ da73,
|
|
|
+ da74,
|
|
|
+ da75,
|
|
|
+ da76,
|
|
|
+ da77,
|
|
|
+ da78,
|
|
|
+ da79,
|
|
|
+ da80,
|
|
|
+ da81,
|
|
|
+ da82,
|
|
|
+ da83,
|
|
|
+ da84,
|
|
|
+ da85,
|
|
|
+ da86,
|
|
|
+ da87,
|
|
|
+ da88,
|
|
|
+ da89,
|
|
|
+ da90,
|
|
|
+ m4,
|
|
|
+ m5,
|
|
|
+ m6,
|
|
|
+ m7,
|
|
|
+ m8,
|
|
|
+ m9,
|
|
|
+ m10,
|
|
|
+ m11,
|
|
|
+ m12,
|
|
|
+ total
|
|
|
+ FROM
|
|
|
+ game_ads_parent.ads_game_server_day_parent
|
|
|
+ """;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 游戏区服每日数据SQL
|
|
|
* @return String
|
|
@@ -1132,118 +1324,246 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 游戏区服数据总计SQL
|
|
|
- * @param activeType 查询的留存类型 reg -> 注册留存 ; role -> 角色留存 ; amount -> 付费留存
|
|
|
- *
|
|
|
+ * 游戏区服每日数据SQL-父游戏维度
|
|
|
* @return String
|
|
|
*/
|
|
|
- private String gameServerDayTotalSql(String activeType) {
|
|
|
+ private String gameServerSumDaySqlForParent() {
|
|
|
return """
|
|
|
SELECT
|
|
|
- IFNULL(SUM(out_total_num), 0) as out_total_num,
|
|
|
- IFNULL(SUM(out_total_amount_num), 0) as out_total_amount_num,
|
|
|
- IFNULL(SUM(out_total_amount), 0) as out_total_amount,
|
|
|
- ROUND(IF(SUM(total_amount) > 0, SUM(out_total_amount) / SUM(total_amount), 0), 4) as out_total_rate,
|
|
|
- IFNULL(SUM(total_role_num), 0) as total_role_num,
|
|
|
- IFNULL(SUM(total_reg_num), 0) as total_reg_num,
|
|
|
- IFNULL(SUM(total_amount_num), 0) as total_amount_num,
|
|
|
- IFNULL(SUM(total_amount), 0) as total_amount,
|
|
|
- """ + trendDay(activeType) +
|
|
|
- """
|
|
|
- FROM (
|
|
|
- SELECT
|
|
|
- dt,
|
|
|
- source_system,
|
|
|
- server_id,
|
|
|
- server_name,
|
|
|
- game_id,
|
|
|
- game_name,
|
|
|
- classify,
|
|
|
- out_total_num,
|
|
|
- out_total_amount_num,
|
|
|
- out_total_amount,
|
|
|
- out_total_rate,
|
|
|
- total_role_num,
|
|
|
- total_reg_num,
|
|
|
- total_amount_num,
|
|
|
- total_amount,
|
|
|
- SPLIT(da1, '/') as da1,
|
|
|
- SPLIT(da2, '/') as da2,
|
|
|
- SPLIT(da3, '/') as da3,
|
|
|
- SPLIT(da4, '/') as da4,
|
|
|
- SPLIT(da5, '/') as da5,
|
|
|
- SPLIT(da6, '/') as da6,
|
|
|
- SPLIT(da7, '/') as da7,
|
|
|
- SPLIT(da8, '/') as da8,
|
|
|
- SPLIT(da9, '/') as da9,
|
|
|
- SPLIT(da10, '/') as da10,
|
|
|
- SPLIT(da11, '/') as da11,
|
|
|
- SPLIT(da12, '/') as da12,
|
|
|
- SPLIT(da13, '/') as da13,
|
|
|
- SPLIT(da14, '/') as da14,
|
|
|
- SPLIT(da15, '/') as da15,
|
|
|
- SPLIT(da16, '/') as da16,
|
|
|
- SPLIT(da17, '/') as da17,
|
|
|
- SPLIT(da18, '/') as da18,
|
|
|
- SPLIT(da19, '/') as da19,
|
|
|
- SPLIT(da20, '/') as da20,
|
|
|
- SPLIT(da21, '/') as da21,
|
|
|
- SPLIT(da22, '/') as da22,
|
|
|
- SPLIT(da23, '/') as da23,
|
|
|
- SPLIT(da24, '/') as da24,
|
|
|
- SPLIT(da25, '/') as da25,
|
|
|
- SPLIT(da26, '/') as da26,
|
|
|
- SPLIT(da27, '/') as da27,
|
|
|
- SPLIT(da28, '/') as da28,
|
|
|
- SPLIT(da29, '/') as da29,
|
|
|
- SPLIT(da30, '/') as da30,
|
|
|
- SPLIT(da31, '/') as da31,
|
|
|
- SPLIT(da32, '/') as da32,
|
|
|
- SPLIT(da33, '/') as da33,
|
|
|
- SPLIT(da34, '/') as da34,
|
|
|
- SPLIT(da35, '/') as da35,
|
|
|
- SPLIT(da36, '/') as da36,
|
|
|
- SPLIT(da37, '/') as da37,
|
|
|
- SPLIT(da38, '/') as da38,
|
|
|
- SPLIT(da39, '/') as da39,
|
|
|
- SPLIT(da40, '/') as da40,
|
|
|
- SPLIT(da41, '/') as da41,
|
|
|
- SPLIT(da42, '/') as da42,
|
|
|
- SPLIT(da43, '/') as da43,
|
|
|
- SPLIT(da44, '/') as da44,
|
|
|
- SPLIT(da45, '/') as da45,
|
|
|
- SPLIT(da46, '/') as da46,
|
|
|
- SPLIT(da47, '/') as da47,
|
|
|
- SPLIT(da48, '/') as da48,
|
|
|
- SPLIT(da49, '/') as da49,
|
|
|
- SPLIT(da50, '/') as da50,
|
|
|
- SPLIT(da51, '/') as da51,
|
|
|
- SPLIT(da52, '/') as da52,
|
|
|
- SPLIT(da53, '/') as da53,
|
|
|
- SPLIT(da54, '/') as da54,
|
|
|
- SPLIT(da55, '/') as da55,
|
|
|
- SPLIT(da56, '/') as da56,
|
|
|
- SPLIT(da57, '/') as da57,
|
|
|
- SPLIT(da58, '/') as da58,
|
|
|
- SPLIT(da59, '/') as da59,
|
|
|
- SPLIT(da60, '/') as da60,
|
|
|
- SPLIT(da61, '/') as da61,
|
|
|
- SPLIT(da62, '/') as da62,
|
|
|
- SPLIT(da63, '/') as da63,
|
|
|
- SPLIT(da64, '/') as da64,
|
|
|
- SPLIT(da65, '/') as da65,
|
|
|
- SPLIT(da66, '/') as da66,
|
|
|
- SPLIT(da67, '/') as da67,
|
|
|
- SPLIT(da68, '/') as da68,
|
|
|
- SPLIT(da69, '/') as da69,
|
|
|
- SPLIT(da70, '/') as da70,
|
|
|
- SPLIT(da71, '/') as da71,
|
|
|
- SPLIT(da72, '/') as da72,
|
|
|
- SPLIT(da73, '/') as da73,
|
|
|
- SPLIT(da74, '/') as da74,
|
|
|
- SPLIT(da75, '/') as da75,
|
|
|
- SPLIT(da76, '/') as da76,
|
|
|
- SPLIT(da77, '/') as da77,
|
|
|
+ id,
|
|
|
+ dt,
|
|
|
+ source_system,
|
|
|
+ server_id,
|
|
|
+ server_name,
|
|
|
+ parent_game_id as game_id,
|
|
|
+ parent_game_name as game_name,
|
|
|
+ parent_game_classify as classify,
|
|
|
+ out_total_num,
|
|
|
+ out_total_amount_num,
|
|
|
+ out_total_amount,
|
|
|
+ out_total_rate,
|
|
|
+ total_role_num,
|
|
|
+ total_reg_num,
|
|
|
+ total_amount_num,
|
|
|
+ total_amount,
|
|
|
+ da1,
|
|
|
+ da2,
|
|
|
+ da3,
|
|
|
+ da4,
|
|
|
+ da5,
|
|
|
+ da6,
|
|
|
+ da7,
|
|
|
+ da8,
|
|
|
+ da9,
|
|
|
+ da10,
|
|
|
+ da11,
|
|
|
+ da12,
|
|
|
+ da13,
|
|
|
+ da14,
|
|
|
+ da15,
|
|
|
+ da16,
|
|
|
+ da17,
|
|
|
+ da18,
|
|
|
+ da19,
|
|
|
+ da20,
|
|
|
+ da21,
|
|
|
+ da22,
|
|
|
+ da23,
|
|
|
+ da24,
|
|
|
+ da25,
|
|
|
+ da26,
|
|
|
+ da27,
|
|
|
+ da28,
|
|
|
+ da29,
|
|
|
+ da30,
|
|
|
+ da31,
|
|
|
+ da32,
|
|
|
+ da33,
|
|
|
+ da34,
|
|
|
+ da35,
|
|
|
+ da36,
|
|
|
+ da37,
|
|
|
+ da38,
|
|
|
+ da39,
|
|
|
+ da40,
|
|
|
+ da41,
|
|
|
+ da42,
|
|
|
+ da43,
|
|
|
+ da44,
|
|
|
+ da45,
|
|
|
+ da46,
|
|
|
+ da47,
|
|
|
+ da48,
|
|
|
+ da49,
|
|
|
+ da50,
|
|
|
+ da51,
|
|
|
+ da52,
|
|
|
+ da53,
|
|
|
+ da54,
|
|
|
+ da55,
|
|
|
+ da56,
|
|
|
+ da57,
|
|
|
+ da58,
|
|
|
+ da59,
|
|
|
+ da60,
|
|
|
+ da61,
|
|
|
+ da62,
|
|
|
+ da63,
|
|
|
+ da64,
|
|
|
+ da65,
|
|
|
+ da66,
|
|
|
+ da67,
|
|
|
+ da68,
|
|
|
+ da69,
|
|
|
+ da70,
|
|
|
+ da71,
|
|
|
+ da72,
|
|
|
+ da73,
|
|
|
+ da74,
|
|
|
+ da75,
|
|
|
+ da76,
|
|
|
+ da77,
|
|
|
+ da78,
|
|
|
+ da79,
|
|
|
+ da80,
|
|
|
+ da81,
|
|
|
+ da82,
|
|
|
+ da83,
|
|
|
+ da84,
|
|
|
+ da85,
|
|
|
+ da86,
|
|
|
+ da87,
|
|
|
+ da88,
|
|
|
+ da89,
|
|
|
+ da90,
|
|
|
+ m4,
|
|
|
+ m5,
|
|
|
+ m6,
|
|
|
+ m7,
|
|
|
+ m8,
|
|
|
+ m9,
|
|
|
+ m10,
|
|
|
+ m11,
|
|
|
+ m12,
|
|
|
+ total
|
|
|
+ FROM
|
|
|
+ game_ads_parent.ads_game_server_day_sum_parent
|
|
|
+ """;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 游戏区服数据总计SQL
|
|
|
+ * @param activeType 查询的留存类型 reg -> 注册留存 ; role -> 角色留存 ; amount -> 付费留存
|
|
|
+ *
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String gameServerDayTotalSql(String activeType) {
|
|
|
+ return """
|
|
|
+ SELECT
|
|
|
+ IFNULL(SUM(out_total_num), 0) as out_total_num,
|
|
|
+ IFNULL(SUM(out_total_amount_num), 0) as out_total_amount_num,
|
|
|
+ IFNULL(SUM(out_total_amount), 0) as out_total_amount,
|
|
|
+ ROUND(IF(SUM(total_amount) > 0, SUM(out_total_amount) / SUM(total_amount), 0), 4) as out_total_rate,
|
|
|
+ IFNULL(SUM(total_role_num), 0) as total_role_num,
|
|
|
+ IFNULL(SUM(total_reg_num), 0) as total_reg_num,
|
|
|
+ IFNULL(SUM(total_amount_num), 0) as total_amount_num,
|
|
|
+ IFNULL(SUM(total_amount), 0) as total_amount,
|
|
|
+ """ + trendDay(activeType) +
|
|
|
+ """
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ dt,
|
|
|
+ source_system,
|
|
|
+ server_id,
|
|
|
+ server_name,
|
|
|
+ game_id,
|
|
|
+ game_name,
|
|
|
+ classify,
|
|
|
+ out_total_num,
|
|
|
+ out_total_amount_num,
|
|
|
+ out_total_amount,
|
|
|
+ out_total_rate,
|
|
|
+ total_role_num,
|
|
|
+ total_reg_num,
|
|
|
+ total_amount_num,
|
|
|
+ total_amount,
|
|
|
+ SPLIT(da1, '/') as da1,
|
|
|
+ SPLIT(da2, '/') as da2,
|
|
|
+ SPLIT(da3, '/') as da3,
|
|
|
+ SPLIT(da4, '/') as da4,
|
|
|
+ SPLIT(da5, '/') as da5,
|
|
|
+ SPLIT(da6, '/') as da6,
|
|
|
+ SPLIT(da7, '/') as da7,
|
|
|
+ SPLIT(da8, '/') as da8,
|
|
|
+ SPLIT(da9, '/') as da9,
|
|
|
+ SPLIT(da10, '/') as da10,
|
|
|
+ SPLIT(da11, '/') as da11,
|
|
|
+ SPLIT(da12, '/') as da12,
|
|
|
+ SPLIT(da13, '/') as da13,
|
|
|
+ SPLIT(da14, '/') as da14,
|
|
|
+ SPLIT(da15, '/') as da15,
|
|
|
+ SPLIT(da16, '/') as da16,
|
|
|
+ SPLIT(da17, '/') as da17,
|
|
|
+ SPLIT(da18, '/') as da18,
|
|
|
+ SPLIT(da19, '/') as da19,
|
|
|
+ SPLIT(da20, '/') as da20,
|
|
|
+ SPLIT(da21, '/') as da21,
|
|
|
+ SPLIT(da22, '/') as da22,
|
|
|
+ SPLIT(da23, '/') as da23,
|
|
|
+ SPLIT(da24, '/') as da24,
|
|
|
+ SPLIT(da25, '/') as da25,
|
|
|
+ SPLIT(da26, '/') as da26,
|
|
|
+ SPLIT(da27, '/') as da27,
|
|
|
+ SPLIT(da28, '/') as da28,
|
|
|
+ SPLIT(da29, '/') as da29,
|
|
|
+ SPLIT(da30, '/') as da30,
|
|
|
+ SPLIT(da31, '/') as da31,
|
|
|
+ SPLIT(da32, '/') as da32,
|
|
|
+ SPLIT(da33, '/') as da33,
|
|
|
+ SPLIT(da34, '/') as da34,
|
|
|
+ SPLIT(da35, '/') as da35,
|
|
|
+ SPLIT(da36, '/') as da36,
|
|
|
+ SPLIT(da37, '/') as da37,
|
|
|
+ SPLIT(da38, '/') as da38,
|
|
|
+ SPLIT(da39, '/') as da39,
|
|
|
+ SPLIT(da40, '/') as da40,
|
|
|
+ SPLIT(da41, '/') as da41,
|
|
|
+ SPLIT(da42, '/') as da42,
|
|
|
+ SPLIT(da43, '/') as da43,
|
|
|
+ SPLIT(da44, '/') as da44,
|
|
|
+ SPLIT(da45, '/') as da45,
|
|
|
+ SPLIT(da46, '/') as da46,
|
|
|
+ SPLIT(da47, '/') as da47,
|
|
|
+ SPLIT(da48, '/') as da48,
|
|
|
+ SPLIT(da49, '/') as da49,
|
|
|
+ SPLIT(da50, '/') as da50,
|
|
|
+ SPLIT(da51, '/') as da51,
|
|
|
+ SPLIT(da52, '/') as da52,
|
|
|
+ SPLIT(da53, '/') as da53,
|
|
|
+ SPLIT(da54, '/') as da54,
|
|
|
+ SPLIT(da55, '/') as da55,
|
|
|
+ SPLIT(da56, '/') as da56,
|
|
|
+ SPLIT(da57, '/') as da57,
|
|
|
+ SPLIT(da58, '/') as da58,
|
|
|
+ SPLIT(da59, '/') as da59,
|
|
|
+ SPLIT(da60, '/') as da60,
|
|
|
+ SPLIT(da61, '/') as da61,
|
|
|
+ SPLIT(da62, '/') as da62,
|
|
|
+ SPLIT(da63, '/') as da63,
|
|
|
+ SPLIT(da64, '/') as da64,
|
|
|
+ SPLIT(da65, '/') as da65,
|
|
|
+ SPLIT(da66, '/') as da66,
|
|
|
+ SPLIT(da67, '/') as da67,
|
|
|
+ SPLIT(da68, '/') as da68,
|
|
|
+ SPLIT(da69, '/') as da69,
|
|
|
+ SPLIT(da70, '/') as da70,
|
|
|
+ SPLIT(da71, '/') as da71,
|
|
|
+ SPLIT(da72, '/') as da72,
|
|
|
+ SPLIT(da73, '/') as da73,
|
|
|
+ SPLIT(da74, '/') as da74,
|
|
|
+ SPLIT(da75, '/') as da75,
|
|
|
+ SPLIT(da76, '/') as da76,
|
|
|
+ SPLIT(da77, '/') as da77,
|
|
|
SPLIT(da78, '/') as da78,
|
|
|
SPLIT(da79, '/') as da79,
|
|
|
SPLIT(da80, '/') as da80,
|
|
@@ -1273,6 +1593,148 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
""";
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 游戏区服数据总计SQL-父游戏维度
|
|
|
+ * @param activeType 查询的留存类型 reg -> 注册留存 ; role -> 角色留存 ; amount -> 付费留存
|
|
|
+ *
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String gameServerDayTotalSqlForParent(String activeType) {
|
|
|
+ return """
|
|
|
+ SELECT
|
|
|
+ IFNULL(SUM(out_total_num), 0) as out_total_num,
|
|
|
+ IFNULL(SUM(out_total_amount_num), 0) as out_total_amount_num,
|
|
|
+ IFNULL(SUM(out_total_amount), 0) as out_total_amount,
|
|
|
+ ROUND(IF(SUM(total_amount) > 0, SUM(out_total_amount) / SUM(total_amount), 0), 4) as out_total_rate,
|
|
|
+ IFNULL(SUM(total_role_num), 0) as total_role_num,
|
|
|
+ IFNULL(SUM(total_reg_num), 0) as total_reg_num,
|
|
|
+ IFNULL(SUM(total_amount_num), 0) as total_amount_num,
|
|
|
+ IFNULL(SUM(total_amount), 0) as total_amount,
|
|
|
+ """ + trendDay(activeType) +
|
|
|
+ """
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ dt,
|
|
|
+ source_system,
|
|
|
+ server_id,
|
|
|
+ server_name,
|
|
|
+ parent_game_id,
|
|
|
+ parent_game_name,
|
|
|
+ parent_game_classify,
|
|
|
+ out_total_num,
|
|
|
+ out_total_amount_num,
|
|
|
+ out_total_amount,
|
|
|
+ out_total_rate,
|
|
|
+ total_role_num,
|
|
|
+ total_reg_num,
|
|
|
+ total_amount_num,
|
|
|
+ total_amount,
|
|
|
+ SPLIT(da1, '/') as da1,
|
|
|
+ SPLIT(da2, '/') as da2,
|
|
|
+ SPLIT(da3, '/') as da3,
|
|
|
+ SPLIT(da4, '/') as da4,
|
|
|
+ SPLIT(da5, '/') as da5,
|
|
|
+ SPLIT(da6, '/') as da6,
|
|
|
+ SPLIT(da7, '/') as da7,
|
|
|
+ SPLIT(da8, '/') as da8,
|
|
|
+ SPLIT(da9, '/') as da9,
|
|
|
+ SPLIT(da10, '/') as da10,
|
|
|
+ SPLIT(da11, '/') as da11,
|
|
|
+ SPLIT(da12, '/') as da12,
|
|
|
+ SPLIT(da13, '/') as da13,
|
|
|
+ SPLIT(da14, '/') as da14,
|
|
|
+ SPLIT(da15, '/') as da15,
|
|
|
+ SPLIT(da16, '/') as da16,
|
|
|
+ SPLIT(da17, '/') as da17,
|
|
|
+ SPLIT(da18, '/') as da18,
|
|
|
+ SPLIT(da19, '/') as da19,
|
|
|
+ SPLIT(da20, '/') as da20,
|
|
|
+ SPLIT(da21, '/') as da21,
|
|
|
+ SPLIT(da22, '/') as da22,
|
|
|
+ SPLIT(da23, '/') as da23,
|
|
|
+ SPLIT(da24, '/') as da24,
|
|
|
+ SPLIT(da25, '/') as da25,
|
|
|
+ SPLIT(da26, '/') as da26,
|
|
|
+ SPLIT(da27, '/') as da27,
|
|
|
+ SPLIT(da28, '/') as da28,
|
|
|
+ SPLIT(da29, '/') as da29,
|
|
|
+ SPLIT(da30, '/') as da30,
|
|
|
+ SPLIT(da31, '/') as da31,
|
|
|
+ SPLIT(da32, '/') as da32,
|
|
|
+ SPLIT(da33, '/') as da33,
|
|
|
+ SPLIT(da34, '/') as da34,
|
|
|
+ SPLIT(da35, '/') as da35,
|
|
|
+ SPLIT(da36, '/') as da36,
|
|
|
+ SPLIT(da37, '/') as da37,
|
|
|
+ SPLIT(da38, '/') as da38,
|
|
|
+ SPLIT(da39, '/') as da39,
|
|
|
+ SPLIT(da40, '/') as da40,
|
|
|
+ SPLIT(da41, '/') as da41,
|
|
|
+ SPLIT(da42, '/') as da42,
|
|
|
+ SPLIT(da43, '/') as da43,
|
|
|
+ SPLIT(da44, '/') as da44,
|
|
|
+ SPLIT(da45, '/') as da45,
|
|
|
+ SPLIT(da46, '/') as da46,
|
|
|
+ SPLIT(da47, '/') as da47,
|
|
|
+ SPLIT(da48, '/') as da48,
|
|
|
+ SPLIT(da49, '/') as da49,
|
|
|
+ SPLIT(da50, '/') as da50,
|
|
|
+ SPLIT(da51, '/') as da51,
|
|
|
+ SPLIT(da52, '/') as da52,
|
|
|
+ SPLIT(da53, '/') as da53,
|
|
|
+ SPLIT(da54, '/') as da54,
|
|
|
+ SPLIT(da55, '/') as da55,
|
|
|
+ SPLIT(da56, '/') as da56,
|
|
|
+ SPLIT(da57, '/') as da57,
|
|
|
+ SPLIT(da58, '/') as da58,
|
|
|
+ SPLIT(da59, '/') as da59,
|
|
|
+ SPLIT(da60, '/') as da60,
|
|
|
+ SPLIT(da61, '/') as da61,
|
|
|
+ SPLIT(da62, '/') as da62,
|
|
|
+ SPLIT(da63, '/') as da63,
|
|
|
+ SPLIT(da64, '/') as da64,
|
|
|
+ SPLIT(da65, '/') as da65,
|
|
|
+ SPLIT(da66, '/') as da66,
|
|
|
+ SPLIT(da67, '/') as da67,
|
|
|
+ SPLIT(da68, '/') as da68,
|
|
|
+ SPLIT(da69, '/') as da69,
|
|
|
+ SPLIT(da70, '/') as da70,
|
|
|
+ SPLIT(da71, '/') as da71,
|
|
|
+ SPLIT(da72, '/') as da72,
|
|
|
+ SPLIT(da73, '/') as da73,
|
|
|
+ SPLIT(da74, '/') as da74,
|
|
|
+ SPLIT(da75, '/') as da75,
|
|
|
+ SPLIT(da76, '/') as da76,
|
|
|
+ SPLIT(da77, '/') as da77,
|
|
|
+ SPLIT(da78, '/') as da78,
|
|
|
+ SPLIT(da79, '/') as da79,
|
|
|
+ SPLIT(da80, '/') as da80,
|
|
|
+ SPLIT(da81, '/') as da81,
|
|
|
+ SPLIT(da82, '/') as da82,
|
|
|
+ SPLIT(da83, '/') as da83,
|
|
|
+ SPLIT(da84, '/') as da84,
|
|
|
+ SPLIT(da85, '/') as da85,
|
|
|
+ SPLIT(da86, '/') as da86,
|
|
|
+ SPLIT(da87, '/') as da87,
|
|
|
+ SPLIT(da88, '/') as da88,
|
|
|
+ SPLIT(da89, '/') as da89,
|
|
|
+ SPLIT(da90, '/') as da90,
|
|
|
+ SPLIT(m4, '/') as m4,
|
|
|
+ SPLIT(m5, '/') as m5,
|
|
|
+ SPLIT(m6, '/') as m6,
|
|
|
+ SPLIT(m7, '/') as m7,
|
|
|
+ SPLIT(m8, '/') as m8,
|
|
|
+ SPLIT(m9, '/') as m9,
|
|
|
+ SPLIT(m10, '/') as m10,
|
|
|
+ SPLIT(m11, '/') as m11,
|
|
|
+ SPLIT(m12, '/') as m12,
|
|
|
+ SPLIT(total, '/') as total
|
|
|
+ FROM
|
|
|
+ game_ads_parent.ads_game_server_day_parent
|
|
|
+ ) a
|
|
|
+ """;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 游戏区服每日数据总计SQL
|
|
|
*
|
|
@@ -1414,6 +1876,147 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
""";
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 游戏区服每日数据总计SQL-父游戏维度
|
|
|
+ *
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String gameServerSumDayTotalSqlForParent() {
|
|
|
+ return """
|
|
|
+ SELECT
|
|
|
+ IFNULL(SUM(out_total_num), 0) as out_total_num,
|
|
|
+ IFNULL(SUM(out_total_amount_num), 0) as out_total_amount_num,
|
|
|
+ IFNULL(SUM(out_total_amount), 0) as out_total_amount,
|
|
|
+ ROUND(IF(SUM(total_amount) > 0, SUM(out_total_amount) / SUM(total_amount), 0), 4) as out_total_rate,
|
|
|
+ IFNULL(SUM(total_role_num), 0) as total_role_num,
|
|
|
+ IFNULL(SUM(total_reg_num), 0) as total_reg_num,
|
|
|
+ IFNULL(SUM(total_amount_num), 0) as total_amount_num,
|
|
|
+ IFNULL(SUM(total_amount), 0) as total_amount,
|
|
|
+ """ + trendDayForServerDay() +
|
|
|
+ """
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ dt,
|
|
|
+ source_system,
|
|
|
+ server_id,
|
|
|
+ server_name,
|
|
|
+ parent_game_id,
|
|
|
+ parent_game_name,
|
|
|
+ parent_game_classify,
|
|
|
+ out_total_num,
|
|
|
+ out_total_amount_num,
|
|
|
+ out_total_amount,
|
|
|
+ out_total_rate,
|
|
|
+ total_role_num,
|
|
|
+ total_reg_num,
|
|
|
+ total_amount_num,
|
|
|
+ total_amount,
|
|
|
+ SPLIT(da1, '/') as da1,
|
|
|
+ SPLIT(da2, '/') as da2,
|
|
|
+ SPLIT(da3, '/') as da3,
|
|
|
+ SPLIT(da4, '/') as da4,
|
|
|
+ SPLIT(da5, '/') as da5,
|
|
|
+ SPLIT(da6, '/') as da6,
|
|
|
+ SPLIT(da7, '/') as da7,
|
|
|
+ SPLIT(da8, '/') as da8,
|
|
|
+ SPLIT(da9, '/') as da9,
|
|
|
+ SPLIT(da10, '/') as da10,
|
|
|
+ SPLIT(da11, '/') as da11,
|
|
|
+ SPLIT(da12, '/') as da12,
|
|
|
+ SPLIT(da13, '/') as da13,
|
|
|
+ SPLIT(da14, '/') as da14,
|
|
|
+ SPLIT(da15, '/') as da15,
|
|
|
+ SPLIT(da16, '/') as da16,
|
|
|
+ SPLIT(da17, '/') as da17,
|
|
|
+ SPLIT(da18, '/') as da18,
|
|
|
+ SPLIT(da19, '/') as da19,
|
|
|
+ SPLIT(da20, '/') as da20,
|
|
|
+ SPLIT(da21, '/') as da21,
|
|
|
+ SPLIT(da22, '/') as da22,
|
|
|
+ SPLIT(da23, '/') as da23,
|
|
|
+ SPLIT(da24, '/') as da24,
|
|
|
+ SPLIT(da25, '/') as da25,
|
|
|
+ SPLIT(da26, '/') as da26,
|
|
|
+ SPLIT(da27, '/') as da27,
|
|
|
+ SPLIT(da28, '/') as da28,
|
|
|
+ SPLIT(da29, '/') as da29,
|
|
|
+ SPLIT(da30, '/') as da30,
|
|
|
+ SPLIT(da31, '/') as da31,
|
|
|
+ SPLIT(da32, '/') as da32,
|
|
|
+ SPLIT(da33, '/') as da33,
|
|
|
+ SPLIT(da34, '/') as da34,
|
|
|
+ SPLIT(da35, '/') as da35,
|
|
|
+ SPLIT(da36, '/') as da36,
|
|
|
+ SPLIT(da37, '/') as da37,
|
|
|
+ SPLIT(da38, '/') as da38,
|
|
|
+ SPLIT(da39, '/') as da39,
|
|
|
+ SPLIT(da40, '/') as da40,
|
|
|
+ SPLIT(da41, '/') as da41,
|
|
|
+ SPLIT(da42, '/') as da42,
|
|
|
+ SPLIT(da43, '/') as da43,
|
|
|
+ SPLIT(da44, '/') as da44,
|
|
|
+ SPLIT(da45, '/') as da45,
|
|
|
+ SPLIT(da46, '/') as da46,
|
|
|
+ SPLIT(da47, '/') as da47,
|
|
|
+ SPLIT(da48, '/') as da48,
|
|
|
+ SPLIT(da49, '/') as da49,
|
|
|
+ SPLIT(da50, '/') as da50,
|
|
|
+ SPLIT(da51, '/') as da51,
|
|
|
+ SPLIT(da52, '/') as da52,
|
|
|
+ SPLIT(da53, '/') as da53,
|
|
|
+ SPLIT(da54, '/') as da54,
|
|
|
+ SPLIT(da55, '/') as da55,
|
|
|
+ SPLIT(da56, '/') as da56,
|
|
|
+ SPLIT(da57, '/') as da57,
|
|
|
+ SPLIT(da58, '/') as da58,
|
|
|
+ SPLIT(da59, '/') as da59,
|
|
|
+ SPLIT(da60, '/') as da60,
|
|
|
+ SPLIT(da61, '/') as da61,
|
|
|
+ SPLIT(da62, '/') as da62,
|
|
|
+ SPLIT(da63, '/') as da63,
|
|
|
+ SPLIT(da64, '/') as da64,
|
|
|
+ SPLIT(da65, '/') as da65,
|
|
|
+ SPLIT(da66, '/') as da66,
|
|
|
+ SPLIT(da67, '/') as da67,
|
|
|
+ SPLIT(da68, '/') as da68,
|
|
|
+ SPLIT(da69, '/') as da69,
|
|
|
+ SPLIT(da70, '/') as da70,
|
|
|
+ SPLIT(da71, '/') as da71,
|
|
|
+ SPLIT(da72, '/') as da72,
|
|
|
+ SPLIT(da73, '/') as da73,
|
|
|
+ SPLIT(da74, '/') as da74,
|
|
|
+ SPLIT(da75, '/') as da75,
|
|
|
+ SPLIT(da76, '/') as da76,
|
|
|
+ SPLIT(da77, '/') as da77,
|
|
|
+ SPLIT(da78, '/') as da78,
|
|
|
+ SPLIT(da79, '/') as da79,
|
|
|
+ SPLIT(da80, '/') as da80,
|
|
|
+ SPLIT(da81, '/') as da81,
|
|
|
+ SPLIT(da82, '/') as da82,
|
|
|
+ SPLIT(da83, '/') as da83,
|
|
|
+ SPLIT(da84, '/') as da84,
|
|
|
+ SPLIT(da85, '/') as da85,
|
|
|
+ SPLIT(da86, '/') as da86,
|
|
|
+ SPLIT(da87, '/') as da87,
|
|
|
+ SPLIT(da88, '/') as da88,
|
|
|
+ SPLIT(da89, '/') as da89,
|
|
|
+ SPLIT(da90, '/') as da90,
|
|
|
+ SPLIT(m4, '/') as m4,
|
|
|
+ SPLIT(m5, '/') as m5,
|
|
|
+ SPLIT(m6, '/') as m6,
|
|
|
+ SPLIT(m7, '/') as m7,
|
|
|
+ SPLIT(m8, '/') as m8,
|
|
|
+ SPLIT(m9, '/') as m9,
|
|
|
+ SPLIT(m10, '/') as m10,
|
|
|
+ SPLIT(m11, '/') as m11,
|
|
|
+ SPLIT(m12, '/') as m12,
|
|
|
+ SPLIT(total, '/') as total
|
|
|
+ FROM
|
|
|
+ game_ads_parent.ads_game_server_day_sum_parent
|
|
|
+ ) a
|
|
|
+ """;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获取所有区服sql
|
|
|
* @return
|