|
@@ -19,6 +19,7 @@ import org.nutz.dao.sql.Sql;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -60,6 +61,10 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
if (StringUtils.isNotBlank(dto.getRoleName())) {
|
|
|
criA.where().andLike("role_name", dto.getRoleName());
|
|
|
}
|
|
|
+ if (dto.getServerIds() != null) {
|
|
|
+ //区服列表查询
|
|
|
+ criA.where().andInList("server_id", dto.getServerIds());
|
|
|
+ }
|
|
|
if (dto.getCreateRoleBeginDate() != null && dto.getCreateRoleEndDate() != null) {
|
|
|
//角色创建时间
|
|
|
criA.where().andBetween("role_create_time", dto.getCreateRoleBeginDate(), dto.getCreateRoleEndDate());
|
|
@@ -136,30 +141,39 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
*/
|
|
|
@Override
|
|
|
public Page<Map> getRoleCombatRanking(RoleCombatRankingDTO dto) {
|
|
|
- //查询条件
|
|
|
- Criteria cri = Cnd.cri();
|
|
|
+
|
|
|
+ //是否查询合服数据(默认查询合服数据)
|
|
|
+ Boolean isQueryMerge = true;
|
|
|
+ //是否查询父游戏数据(根据是否传递子游戏ID判断,默认查询父游戏ID)
|
|
|
+ Boolean isQueryParentGame = true;
|
|
|
+ //判断查询的条件
|
|
|
if (dto.getGameId() != null) {
|
|
|
- //父游戏ID
|
|
|
- cri.where().andEquals("parent_game_id", dto.getGameId());
|
|
|
- }
|
|
|
- if (dto.getBeginDate() != null && dto.getEndDate() != null) {
|
|
|
- //拼接区服开服时间
|
|
|
+ //子游戏ID
|
|
|
+ isQueryParentGame = false;
|
|
|
}
|
|
|
if (dto.getServerIds() != null) {
|
|
|
- cri.where().andInList("server_id", dto.getServerIds());
|
|
|
+ isQueryMerge = false;
|
|
|
}
|
|
|
- if (dto.getRankingNum() != null) {
|
|
|
- //排名的个数
|
|
|
- cri.where().andEquals("rank_num", dto.getRankingNum());
|
|
|
+ //查询区服相关数据
|
|
|
+ if (isQueryMerge) {
|
|
|
+ //查询合服
|
|
|
+ if (isQueryParentGame) {
|
|
|
+ //查询父游戏
|
|
|
+ return getMergeParentData(dto);
|
|
|
+ } else {
|
|
|
+ //查询子游戏
|
|
|
+ return getMergeSonData(dto);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //查询原始服
|
|
|
+ if (isQueryParentGame) {
|
|
|
+ //查询父游戏
|
|
|
+ return getOriginParentData(dto);
|
|
|
+ } else {
|
|
|
+ //查询子游戏
|
|
|
+ return getOriginSonData(dto);
|
|
|
+ }
|
|
|
}
|
|
|
- Sql serverDataSql = Sqls.create(getRoleCombatRankServerDataSql());
|
|
|
- serverDataSql.setCallback(Sqls.callback.maps());
|
|
|
- dao.execute(serverDataSql);
|
|
|
- //执行结果
|
|
|
- serverDataSql.getList(HashMap.class);
|
|
|
-
|
|
|
-
|
|
|
- return null;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -193,6 +207,394 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
return dataMap;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 合服-父游戏
|
|
|
+ * @param dto RoleCombatRankingDTO
|
|
|
+ * @return Page<Map>
|
|
|
+ */
|
|
|
+ private Page<Map> getMergeParentData(RoleCombatRankingDTO dto) {
|
|
|
+ //查询条件
|
|
|
+ Criteria cri = Cnd.cri();
|
|
|
+ if (dto.getParentGameId() != null) {
|
|
|
+ //父游戏ID
|
|
|
+ cri.where().andEquals("parent_game_id", dto.getParentGameId());
|
|
|
+ }
|
|
|
+ if (dto.getBeginDate() != null && dto.getEndDate() != null) {
|
|
|
+ //合服开服时间
|
|
|
+ cri.where().andBetween("DATE(merge_time)", dto.getBeginDate(), dto.getEndDate());
|
|
|
+ }
|
|
|
+ if (dto.getServerIds() != null) {
|
|
|
+ //合服区服列表
|
|
|
+ cri.where().andInList("boss_server_id", dto.getServerIds());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getSourceSystem())) {
|
|
|
+ cri.where().andEquals("source_system", dto.getSourceSystem());
|
|
|
+ }
|
|
|
+ //分页
|
|
|
+ Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
|
|
|
+ //拼接分组条件
|
|
|
+ cri.getGroupBy().groupBy("source_system" , "boss_server_id" , "parent_game_id");
|
|
|
+ Sql sql = Sqls.create(getRoleCombatRankServerDataSqlD() + cri);
|
|
|
+ sql.setCallback(Sqls.callback.maps());
|
|
|
+ sql.setPager(pager);
|
|
|
+ dao.execute(sql);
|
|
|
+
|
|
|
+ //获取角色信息
|
|
|
+ //查询条件
|
|
|
+ Criteria criRole = Cnd.cri();
|
|
|
+ if (dto.getParentGameId() != null) {
|
|
|
+ //父游戏ID
|
|
|
+ criRole.where().andEquals("parent_game_id", dto.getParentGameId());
|
|
|
+ }
|
|
|
+ if (dto.getBeginDate() != null && dto.getEndDate() != null) {
|
|
|
+ //开服时间
|
|
|
+ criRole.where().andBetween("DATE(merge_time)", dto.getBeginDate(), dto.getEndDate());
|
|
|
+ }
|
|
|
+ if (dto.getServerIds() != null) {
|
|
|
+ //合服区服列表
|
|
|
+ criRole.where().andInList("boss_server_id", dto.getServerIds());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getSourceSystem())) {
|
|
|
+ criRole.where().andEquals("source_system", dto.getSourceSystem());
|
|
|
+ }
|
|
|
+ if (dto.getRankingNum() != null) {
|
|
|
+ //排名的个数
|
|
|
+ criRole.where().andLTE("rank_num", dto.getRankingNum());
|
|
|
+ } else {
|
|
|
+ //排名的个数
|
|
|
+ criRole.where().andLTE("rank_num", 5);
|
|
|
+ }
|
|
|
+ Sql sqlRole = Sqls.create(getRoleCombatRankRoleDataSqlD() + criRole);
|
|
|
+ sqlRole.setCallback(Sqls.callback.maps());
|
|
|
+ dao.execute(sqlRole);
|
|
|
+ //得到数据Map (合服ID-父游戏ID)- (角色信息)
|
|
|
+ Map<String, List<Map<String, Object>>> roleDataMap = new HashMap<>();
|
|
|
+ //得到结果
|
|
|
+ List<Map> listRole = sqlRole.getList(Map.class).stream().map(map -> {
|
|
|
+ StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
|
|
|
+ sb.append((String)map.get("boss_server_id"))
|
|
|
+ .append("-")
|
|
|
+ .append((String)map.get("parent_game_id"));
|
|
|
+ if (roleDataMap.get(sb.toString()) != null) {
|
|
|
+ //含有改主键 添加数据
|
|
|
+ roleDataMap.get(sb.toString()).add(map);
|
|
|
+ } else {
|
|
|
+ //不含有该主键
|
|
|
+ List<Map<String, Object>> tempList = new ArrayList<>();
|
|
|
+ tempList.add(map);
|
|
|
+ roleDataMap.put(String.valueOf(sb), tempList);
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<Map> list = sql.getList(Map.class).stream().map(map -> {
|
|
|
+ StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
|
|
|
+ sb.append((String)map.get("boss_server_id"))
|
|
|
+ .append("-")
|
|
|
+ .append((String)map.get("parent_game_id"));
|
|
|
+
|
|
|
+ if (roleDataMap.get(sb.toString()) != null) {
|
|
|
+ //将排名信息添加
|
|
|
+ map.put("role_rank_date", roleDataMap.get(sb.toString()));
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ return new Page<>(list, pager);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 合服-子游戏
|
|
|
+ * @param dto RoleCombatRankingDTO
|
|
|
+ * @return Page<Map>
|
|
|
+ */
|
|
|
+ private Page<Map> getMergeSonData(RoleCombatRankingDTO dto) {
|
|
|
+ //查询条件
|
|
|
+ Criteria cri = Cnd.cri();
|
|
|
+ if (dto.getGameId() != null) {
|
|
|
+ //子游戏ID
|
|
|
+ cri.where().andEquals("game_id", dto.getGameId());
|
|
|
+ }
|
|
|
+ if (dto.getBeginDate() != null && dto.getEndDate() != null) {
|
|
|
+ //合服开服时间
|
|
|
+ cri.where().andBetween("DATE(merge_time)", dto.getBeginDate(), dto.getEndDate());
|
|
|
+ }
|
|
|
+ if (dto.getServerIds() != null) {
|
|
|
+ //合服区服列表
|
|
|
+ cri.where().andInList("boss_server_id", dto.getServerIds());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getSourceSystem())) {
|
|
|
+ cri.where().andEquals("source_system", dto.getSourceSystem());
|
|
|
+ }
|
|
|
+ //分页
|
|
|
+ Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
|
|
|
+ //拼接分组条件
|
|
|
+ cri.getGroupBy().groupBy("source_system" , "boss_server_id" , "game_id");
|
|
|
+ Sql sql = Sqls.create(getRoleCombatRankServerDataSqlC() + cri);
|
|
|
+ sql.setCallback(Sqls.callback.maps());
|
|
|
+ sql.setPager(pager);
|
|
|
+ dao.execute(sql);
|
|
|
+
|
|
|
+ //获取角色信息
|
|
|
+ //查询条件
|
|
|
+ Criteria criRole = Cnd.cri();
|
|
|
+ if (dto.getGameId() != null) {
|
|
|
+ //子游戏ID
|
|
|
+ criRole.where().andEquals("game_id", dto.getGameId());
|
|
|
+ }
|
|
|
+ if (dto.getBeginDate() != null && dto.getEndDate() != null) {
|
|
|
+ //合服开服时间
|
|
|
+ criRole.where().andBetween("DATE(merge_time)", dto.getBeginDate(), dto.getEndDate());
|
|
|
+ }
|
|
|
+ if (dto.getServerIds() != null) {
|
|
|
+ //合服区服列表
|
|
|
+ criRole.where().andInList("boss_server_id", dto.getServerIds());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getSourceSystem())) {
|
|
|
+ criRole.where().andEquals("source_system", dto.getSourceSystem());
|
|
|
+ }
|
|
|
+ if (dto.getRankingNum() != null) {
|
|
|
+ //排名的个数
|
|
|
+ criRole.where().andLTE("rank_num", dto.getRankingNum());
|
|
|
+ } else {
|
|
|
+ //排名的个数
|
|
|
+ criRole.where().andLTE("rank_num", 5);
|
|
|
+ }
|
|
|
+ Sql sqlRole = Sqls.create(getRoleCombatRankRoleDataSqlC() + criRole);
|
|
|
+ sqlRole.setCallback(Sqls.callback.maps());
|
|
|
+ dao.execute(sqlRole);
|
|
|
+ //得到数据Map (合服ID-子游戏ID)- (角色信息)
|
|
|
+ Map<String, List<Map<String, Object>>> roleDataMap = new HashMap<>();
|
|
|
+ //得到结果
|
|
|
+ List<Map> listRole = sqlRole.getList(Map.class).stream().map(map -> {
|
|
|
+ StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
|
|
|
+ sb.append((String)map.get("boss_server_id"))
|
|
|
+ .append("-")
|
|
|
+ .append(map.get("game_id"));
|
|
|
+ if (roleDataMap.get(sb.toString()) != null) {
|
|
|
+ //含有改主键 添加数据
|
|
|
+ roleDataMap.get(sb.toString()).add(map);
|
|
|
+ } else {
|
|
|
+ //不含有该主键
|
|
|
+ List<Map<String, Object>> tempList = new ArrayList<>();
|
|
|
+ tempList.add(map);
|
|
|
+ roleDataMap.put(String.valueOf(sb), tempList);
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<Map> list = sql.getList(Map.class).stream().map(map -> {
|
|
|
+ StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
|
|
|
+ sb.append((String)map.get("boss_server_id"))
|
|
|
+ .append("-")
|
|
|
+ .append(map.get("game_id"));
|
|
|
+
|
|
|
+ if (roleDataMap.get(sb.toString()) != null) {
|
|
|
+ //将排名信息添加
|
|
|
+ map.put("role_rank_date", roleDataMap.get(sb.toString()));
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ return new Page<>(list, pager);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 原始服-父游戏
|
|
|
+ * @param dto
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private Page<Map> getOriginParentData(RoleCombatRankingDTO dto) {
|
|
|
+ //查询条件
|
|
|
+ Criteria cri = Cnd.cri();
|
|
|
+ if (dto.getParentGameId() != null) {
|
|
|
+ //父游戏ID
|
|
|
+ cri.where().andEquals("parent_game_id", dto.getParentGameId());
|
|
|
+ }
|
|
|
+ if (dto.getBeginDate() != null && dto.getEndDate() != null) {
|
|
|
+ //原始服开服时间
|
|
|
+ cri.where().andBetween("dt", dto.getBeginDate(), dto.getEndDate());
|
|
|
+ }
|
|
|
+ if (dto.getServerIds() != null) {
|
|
|
+ //原始区服列表
|
|
|
+ cri.where().andInList("server_id", dto.getServerIds());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getSourceSystem())) {
|
|
|
+ cri.where().andEquals("source_system", dto.getSourceSystem());
|
|
|
+ }
|
|
|
+ //分页
|
|
|
+ Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
|
|
|
+ //拼接分组条件
|
|
|
+ cri.getGroupBy().groupBy("source_system" , "server_id" , "parent_game_id");
|
|
|
+ Sql sql = Sqls.create(getRoleCombatRankServerDataSqlB() + cri);
|
|
|
+ sql.setCallback(Sqls.callback.maps());
|
|
|
+ sql.setPager(pager);
|
|
|
+ dao.execute(sql);
|
|
|
+
|
|
|
+ //获取角色信息
|
|
|
+ //查询条件
|
|
|
+ Criteria criRole = Cnd.cri();
|
|
|
+ if (dto.getParentGameId() != null) {
|
|
|
+ //父游戏ID
|
|
|
+ criRole.where().andEquals("parent_game_id", dto.getParentGameId());
|
|
|
+ }
|
|
|
+ if (dto.getBeginDate() != null && dto.getEndDate() != null) {
|
|
|
+ //原始服开服时间
|
|
|
+ criRole.where().andBetween("dt", dto.getBeginDate(), dto.getEndDate());
|
|
|
+ }
|
|
|
+ if (dto.getServerIds() != null) {
|
|
|
+ //原始服区服列表
|
|
|
+ criRole.where().andInList("server_id", dto.getServerIds());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getSourceSystem())) {
|
|
|
+ criRole.where().andEquals("source_system", dto.getSourceSystem());
|
|
|
+ }
|
|
|
+ if (dto.getRankingNum() != null) {
|
|
|
+ //排名的个数
|
|
|
+ criRole.where().andLTE("rank_num", dto.getRankingNum());
|
|
|
+ } else {
|
|
|
+ //排名的个数
|
|
|
+ criRole.where().andLTE("rank_num", 5);
|
|
|
+ }
|
|
|
+ Sql sqlRole = Sqls.create(getRoleCombatRankRoleDataSqlB() + criRole);
|
|
|
+ sqlRole.setCallback(Sqls.callback.maps());
|
|
|
+ dao.execute(sqlRole);
|
|
|
+ //得到数据Map (原始服ID-父游戏ID)- (角色信息)
|
|
|
+ Map<String, List<Map<String, Object>>> roleDataMap = new HashMap<>();
|
|
|
+ //得到结果
|
|
|
+ List<Map> listRole = sqlRole.getList(Map.class).stream().map(map -> {
|
|
|
+ StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
|
|
|
+ sb.append(map.get("server_id"))
|
|
|
+ .append("-")
|
|
|
+ .append((String)map.get("parent_game_id"));
|
|
|
+ if (roleDataMap.get(sb.toString()) != null) {
|
|
|
+ //含有改主键 添加数据
|
|
|
+ roleDataMap.get(sb.toString()).add(map);
|
|
|
+ } else {
|
|
|
+ //不含有该主键
|
|
|
+ List<Map<String, Object>> tempList = new ArrayList<>();
|
|
|
+ tempList.add(map);
|
|
|
+ roleDataMap.put(String.valueOf(sb), tempList);
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<Map> list = sql.getList(Map.class).stream().map(map -> {
|
|
|
+ StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
|
|
|
+ sb.append(map.get("server_id"))
|
|
|
+ .append("-")
|
|
|
+ .append((String)map.get("parent_game_id"));
|
|
|
+
|
|
|
+ if (roleDataMap.get(sb.toString()) != null) {
|
|
|
+ //将排名信息添加
|
|
|
+ map.put("role_rank_date", roleDataMap.get(sb.toString()));
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ return new Page<>(list, pager);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 原始服-子游戏
|
|
|
+ * @param dto
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private Page<Map> getOriginSonData(RoleCombatRankingDTO dto) {
|
|
|
+ //查询条件
|
|
|
+ Criteria cri = Cnd.cri();
|
|
|
+ if (dto.getGameId() != null) {
|
|
|
+ //子游戏ID
|
|
|
+ cri.where().andEquals("game_id", dto.getGameId());
|
|
|
+ }
|
|
|
+ if (dto.getBeginDate() != null && dto.getEndDate() != null) {
|
|
|
+ //原始服开服时间
|
|
|
+ cri.where().andBetween("dt", dto.getBeginDate(), dto.getEndDate());
|
|
|
+ }
|
|
|
+ if (dto.getServerIds() != null) {
|
|
|
+ //原始区服列表
|
|
|
+ cri.where().andInList("server_id", dto.getServerIds());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getSourceSystem())) {
|
|
|
+ cri.where().andEquals("source_system", dto.getSourceSystem());
|
|
|
+ }
|
|
|
+ //分页
|
|
|
+ Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
|
|
|
+ //拼接分组条件
|
|
|
+ cri.getGroupBy().groupBy("source_system" , "server_id" , "game_id");
|
|
|
+ Sql sql = Sqls.create(getRoleCombatRankServerDataSqlA() + cri);
|
|
|
+ sql.setCallback(Sqls.callback.maps());
|
|
|
+ sql.setPager(pager);
|
|
|
+ dao.execute(sql);
|
|
|
+
|
|
|
+ //获取角色信息
|
|
|
+ //查询条件
|
|
|
+ Criteria criRole = Cnd.cri();
|
|
|
+ if (dto.getGameId() != null) {
|
|
|
+ //子游戏ID
|
|
|
+ criRole.where().andEquals("game_id", dto.getGameId());
|
|
|
+ }
|
|
|
+ if (dto.getBeginDate() != null && dto.getEndDate() != null) {
|
|
|
+ //原始服开服时间
|
|
|
+ criRole.where().andBetween("dt", dto.getBeginDate(), dto.getEndDate());
|
|
|
+ }
|
|
|
+ if (dto.getServerIds() != null) {
|
|
|
+ //原始服区服列表
|
|
|
+ criRole.where().andInList("server_id", dto.getServerIds());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getSourceSystem())) {
|
|
|
+ criRole.where().andEquals("source_system", dto.getSourceSystem());
|
|
|
+ }
|
|
|
+ if (dto.getRankingNum() != null) {
|
|
|
+ //排名的个数
|
|
|
+ criRole.where().andLTE("rank_num", dto.getRankingNum());
|
|
|
+ } else {
|
|
|
+ //排名的个数
|
|
|
+ criRole.where().andLTE("rank_num", 5);
|
|
|
+ }
|
|
|
+ Sql sqlRole = Sqls.create(getRoleCombatRankRoleDataSqlA() + criRole);
|
|
|
+ sqlRole.setCallback(Sqls.callback.maps());
|
|
|
+ dao.execute(sqlRole);
|
|
|
+ //得到数据Map (原始服ID-子游戏ID)- (角色信息)
|
|
|
+ Map<String, List<Map<String, Object>>> roleDataMap = new HashMap<>();
|
|
|
+ //得到结果
|
|
|
+ List<Map> listRole = sqlRole.getList(Map.class).stream().map(map -> {
|
|
|
+ StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
|
|
|
+ sb.append(map.get("server_id"))
|
|
|
+ .append("-")
|
|
|
+ .append(map.get("game_id"));
|
|
|
+ if (roleDataMap.get(sb.toString()) != null) {
|
|
|
+ //含有改主键 添加数据
|
|
|
+ roleDataMap.get(sb.toString()).add(map);
|
|
|
+ } else {
|
|
|
+ //不含有该主键
|
|
|
+ List<Map<String, Object>> tempList = new ArrayList<>();
|
|
|
+ tempList.add(map);
|
|
|
+ roleDataMap.put(String.valueOf(sb), tempList);
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<Map> list = sql.getList(Map.class).stream().map(map -> {
|
|
|
+ StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
|
|
|
+ sb.append(map.get("server_id"))
|
|
|
+ .append("-")
|
|
|
+ .append(map.get("game_id"));
|
|
|
+
|
|
|
+ if (roleDataMap.get(sb.toString()) != null) {
|
|
|
+ //将排名信息添加
|
|
|
+ map.put("role_rank_date", roleDataMap.get(sb.toString()));
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ return new Page<>(list, pager);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查询角色充值排行榜sql
|
|
|
* @param criA 主表查询条件
|
|
@@ -772,7 +1174,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
j.pitcher_id as put_user_id,
|
|
|
l.active_time as user_active_time,
|
|
|
m.user_last_recharge_game_id as user_last_recharge_game_id,
|
|
|
- n.game_name as user_last_recharge_game_name,\s
|
|
|
+ n.game_name as user_last_recharge_game_name,
|
|
|
m.pay_time as user_pay_time -- 玩家最近充值时间
|
|
|
FROM
|
|
|
(
|
|
@@ -897,53 +1299,414 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
""" + criA;
|
|
|
}
|
|
|
|
|
|
- private String getRoleCombatRankServerDataSql() {
|
|
|
+ /**
|
|
|
+ * 原始服-子游戏维度(区服相关信息)
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String getRoleCombatRankServerDataSqlA() {
|
|
|
return """
|
|
|
- SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
- SUM(new_user_count) as new_user_count, -- 新用户人数
|
|
|
- SUM(create_role_count) as create_role_count, -- 创角人数
|
|
|
- SUM(role_count) as role_count, -- 角色数量
|
|
|
- SUM(total_num) as total_num, -- 总付费人数
|
|
|
- SUM(total_amount) as total_amount, -- 总付费金额
|
|
|
- SUM(ba1) as ba1, -- 今日付费金额
|
|
|
- SUM(ba1_num) as ba1_num, -- 今日付费人数
|
|
|
- SUM(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
- SUM(ba1_active_num) as ba1_active_num, -- 今日活跃人数
|
|
|
- SUM(ba2) as ba2, -- 昨日付费金额
|
|
|
- SUM(ba2_num) as ba2_num, -- 昨日付费人数
|
|
|
- SUM(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
- SUM(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
|
|
|
- SUM(ba3) as ba3, -- 前天付费金额
|
|
|
- SUM(ba3_num) as ba3_num, -- 前天付费人数
|
|
|
- SUM(ba3_count) as ba3_count, -- 前天付费次数
|
|
|
- SUM(ba3_active_num) as ba3_active_num -- 前天活跃人数
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ server_id, -- 区服ID
|
|
|
+ MAX(`date`) as dt, -- 开服日期
|
|
|
+ MAX(start_day) as start_day, -- 开服天数
|
|
|
+ game_id, -- 子游戏ID
|
|
|
+ MAX(game_name) as game_name, -- 子游戏名
|
|
|
+ MAX(parent_game_id) as parent_game_id,
|
|
|
+ MAX(parent_game_name) as parent_game_name,
|
|
|
+ MAX(server_name) as server_name, -- 区服名
|
|
|
+ MAX(boss_server_id) as boss_server_id, -- 合服ID
|
|
|
+ MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
+ MAX(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
+ MAX(new_user_count) as new_user_count, -- 新用户人数
|
|
|
+ MAX(create_role_count) as create_role_count, -- 创角人数
|
|
|
+ MAX(role_count) as role_count, -- 角色数量
|
|
|
+ MAX(total_num) as total_num, -- 总付费人数
|
|
|
+ MAX(total_amount) as total_amount, -- 总付费金额
|
|
|
+ MAX(ba1) as ba1, -- 今日付费金额
|
|
|
+ MAX(ba1_num) as ba1_num, -- 今日付费人数
|
|
|
+ MAX(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
+ MAX(ba1_active_num) as ba1_active_num, -- 今日活跃人数
|
|
|
+ MAX(ba2) as ba2, -- 昨日付费金额
|
|
|
+ MAX(ba2_num) as ba2_num, -- 昨日付费人数
|
|
|
+ MAX(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
+ MAX(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
|
|
|
+ MAX(ba3) as ba3, -- 前天付费金额
|
|
|
+ MAX(ba3_num) as ba3_num, -- 前天付费人数
|
|
|
+ MAX(ba3_count) as ba3_count, -- 前天付费次数
|
|
|
+ MAX(ba3_active_num) as ba3_active_num -- 前天活跃人数
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
""";
|
|
|
}
|
|
|
|
|
|
- private String getRoleCombatRankRoleDataSql() {
|
|
|
+ /**
|
|
|
+ * 原始服-父游戏维度(区服相关信息)
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String getRoleCombatRankServerDataSqlB() {
|
|
|
return """
|
|
|
- SUM(parent_game_name) as parent_game_name,
|
|
|
- SUM(server_name) as server_name, -- 区服名
|
|
|
- SUM(boss_server_id) as boss_server_id, -- 合服ID
|
|
|
- SUM(boss_server_name) as boss_server_name, -- 合服名
|
|
|
- SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
- SUM(new_user_count) as new_user_count, -- 新用户人数
|
|
|
- SUM(create_role_count) as create_role_count, -- 创角人数
|
|
|
- SUM(role_count) as role_count, -- 角色数量
|
|
|
- SUM(total_num) as total_num, -- 总付费人数
|
|
|
- SUM(total_amount) as total_amount, -- 总付费金额
|
|
|
- SUM(ba1) as ba1, -- 今日付费金额
|
|
|
- SUM(ba1_num) as ba1_num, -- 今日付费人数
|
|
|
- SUM(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
- SUM(ba1_active_num) as ba1_active_num, -- 今日活跃人数
|
|
|
- SUM(ba2) as ba2, -- 昨日付费金额
|
|
|
- SUM(ba2_num) as ba2_num, -- 昨日付费人数
|
|
|
- SUM(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
- SUM(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
|
|
|
- SUM(ba3) as ba3, -- 前天付费金额
|
|
|
- SUM(ba3_num) as ba3_num, -- 前天付费人数
|
|
|
- SUM(ba3_count) as ba3_count, -- 前天付费次数
|
|
|
- SUM(ba3_active_num) as ba3_active_num -- 前天活跃人数
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ server_id, -- 区服ID
|
|
|
+ parent_game_id, -- 父游戏
|
|
|
+ MAX(parent_game_name) as parent_game_name, -- 合服名称
|
|
|
+ MAX(server_name) as server_name, -- 区服名
|
|
|
+ MAX(dt) as dt, -- 开服日期
|
|
|
+ MAX(start_day) as start_day, -- 开服天数
|
|
|
+ MAX(boss_server_id) as boss_server_id, -- 合服ID
|
|
|
+ MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
+ SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
+ SUM(new_user_count) as new_user_count, -- 新用户人数
|
|
|
+ SUM(create_role_count) as create_role_count, -- 创角人数
|
|
|
+ SUM(role_count) as role_count, -- 角色数量
|
|
|
+ SUM(total_num) as total_num, -- 总付费人数
|
|
|
+ SUM(total_amount) as total_amount, -- 总付费金额
|
|
|
+ SUM(ba1) as ba1, -- 今日付费金额
|
|
|
+ SUM(ba1_num) as ba1_num, -- 今日付费人数
|
|
|
+ SUM(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
+ SUM(ba1_active_num) as ba1_active_num, -- 今日活跃人数
|
|
|
+ SUM(ba2) as ba2, -- 昨日付费金额
|
|
|
+ SUM(ba2_num) as ba2_num, -- 昨日付费人数
|
|
|
+ SUM(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
+ SUM(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
|
|
|
+ SUM(ba3) as ba3, -- 前天付费金额
|
|
|
+ SUM(ba3_num) as ba3_num, -- 前天付费人数
|
|
|
+ SUM(ba3_count) as ba3_count, -- 前天付费次数
|
|
|
+ SUM(ba3_active_num) as ba3_active_num -- 前天活跃人数
|
|
|
+ FROM (
|
|
|
+ -- 子查询,查询每个子游戏-区服的信息
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ server_id, -- 区服ID
|
|
|
+ MAX(`date`) as dt, -- 开服日期
|
|
|
+ MAX(start_day) as start_day, -- 开服天数
|
|
|
+ game_id, -- 子游戏ID
|
|
|
+ MAX(game_name) as game_name, -- 子游戏名
|
|
|
+ MAX(parent_game_id) as parent_game_id,
|
|
|
+ MAX(parent_game_name) as parent_game_name,
|
|
|
+ MAX(game_name) as game_name,
|
|
|
+ MAX(server_name) as server_name, -- 区服名
|
|
|
+ MAX(boss_server_id) as boss_server_id, -- 合服ID
|
|
|
+ MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
+ MAX(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
+ MAX(new_user_count) as new_user_count, -- 新用户人数
|
|
|
+ MAX(create_role_count) as create_role_count, -- 创角人数
|
|
|
+ MAX(role_count) as role_count, -- 角色数量
|
|
|
+ MAX(total_num) as total_num, -- 总付费人数
|
|
|
+ MAX(total_amount) as total_amount, -- 总付费金额
|
|
|
+ MAX(ba1) as ba1, -- 今日付费金额
|
|
|
+ MAX(ba1_num) as ba1_num, -- 今日付费人数
|
|
|
+ MAX(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
+ MAX(ba1_active_num) as ba1_active_num, -- 今日活跃人数
|
|
|
+ MAX(ba2) as ba2, -- 昨日付费金额
|
|
|
+ MAX(ba2_num) as ba2_num, -- 昨日付费人数
|
|
|
+ MAX(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
+ MAX(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
|
|
|
+ MAX(ba3) as ba3, -- 前天付费金额
|
|
|
+ MAX(ba3_num) as ba3_num, -- 前天付费人数
|
|
|
+ MAX(ba3_count) as ba3_count, -- 前天付费次数
|
|
|
+ MAX(ba3_active_num) as ba3_active_num -- 前天活跃人数
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
+ GROUP BY server_id, source_system , game_id
|
|
|
+ ) a
|
|
|
+ """;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 合服-子游戏维度(区服相关信息)
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String getRoleCombatRankServerDataSqlC() {
|
|
|
+ return """
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ boss_server_id ,
|
|
|
+ game_id,
|
|
|
+ MAX(game_name) as game_name,
|
|
|
+ MAX(boss_server_name) as boss_server_name,
|
|
|
+ MAX(merge_time) as merge_time , -- 合服时间
|
|
|
+ SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
+ SUM(new_user_count) as new_user_count, -- 新用户人数
|
|
|
+ SUM(create_role_count) as create_role_count, -- 创角人数
|
|
|
+ SUM(role_count) as role_count, -- 角色数量
|
|
|
+ SUM(total_num) as total_num, -- 总付费人数
|
|
|
+ SUM(total_amount) as total_amount, -- 总付费金额
|
|
|
+ SUM(ba1) as ba1, -- 今日付费金额
|
|
|
+ SUM(ba1_num) as ba1_num, -- 今日付费人数
|
|
|
+ SUM(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
+ SUM(ba1_active_num) as ba1_active_num, -- 今日活跃人数
|
|
|
+ SUM(ba2) as ba2, -- 昨日付费金额
|
|
|
+ SUM(ba2_num) as ba2_num, -- 昨日付费人数
|
|
|
+ SUM(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
+ SUM(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
|
|
|
+ SUM(ba3) as ba3, -- 前天付费金额
|
|
|
+ SUM(ba3_num) as ba3_num, -- 前天付费人数
|
|
|
+ SUM(ba3_count) as ba3_count, -- 前天付费次数
|
|
|
+ SUM(ba3_active_num) as ba3_active_num -- 前天活跃人数
|
|
|
+ FROM (
|
|
|
+ -- 子查询,查询每个子游戏-区服维度的信息
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ server_id, -- 区服ID
|
|
|
+ game_id,
|
|
|
+ MAX(game_name) as game_name,
|
|
|
+ MAX(server_name) as server_name, -- 区服名
|
|
|
+ MAX(boss_server_id) as boss_server_id, -- 合服ID
|
|
|
+ MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
+ MAX(merge_time) as merge_time , -- 合服时间
|
|
|
+ MAX(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
+ MAX(new_user_count) as new_user_count, -- 新用户人数
|
|
|
+ MAX(create_role_count) as create_role_count, -- 创角人数
|
|
|
+ MAX(role_count) as role_count, -- 角色数量
|
|
|
+ MAX(total_num) as total_num, -- 总付费人数
|
|
|
+ MAX(total_amount) as total_amount, -- 总付费金额
|
|
|
+ MAX(ba1) as ba1, -- 今日付费金额
|
|
|
+ MAX(ba1_num) as ba1_num, -- 今日付费人数
|
|
|
+ MAX(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
+ MAX(ba1_active_num) as ba1_active_num, -- 今日活跃人数
|
|
|
+ MAX(ba2) as ba2, -- 昨日付费金额
|
|
|
+ MAX(ba2_num) as ba2_num, -- 昨日付费人数
|
|
|
+ MAX(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
+ MAX(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
|
|
|
+ MAX(ba3) as ba3, -- 前天付费金额
|
|
|
+ MAX(ba3_num) as ba3_num, -- 前天付费人数
|
|
|
+ MAX(ba3_count) as ba3_count, -- 前天付费次数
|
|
|
+ MAX(ba3_active_num) as ba3_active_num -- 前天活跃人数
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
+ GROUP BY server_id, source_system , game_id
|
|
|
+ ) a
|
|
|
+ """;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 合服-父游戏维度(区服相关信息)
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String getRoleCombatRankServerDataSqlD() {
|
|
|
+ return """
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ boss_server_id,
|
|
|
+ parent_game_id,
|
|
|
+ MAX(parent_game_name) as parent_game_name,
|
|
|
+ MAX(boss_server_name) as boss_server_name,
|
|
|
+ MAX(merge_time) as merge_time , -- 合服时间
|
|
|
+ SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
+ SUM(new_user_count) as new_user_count, -- 新用户人数
|
|
|
+ SUM(create_role_count) as create_role_count, -- 创角人数
|
|
|
+ SUM(role_count) as role_count, -- 角色数量
|
|
|
+ SUM(total_num) as total_num, -- 总付费人数
|
|
|
+ SUM(total_amount) as total_amount, -- 总付费金额
|
|
|
+ SUM(ba1) as ba1, -- 今日付费金额
|
|
|
+ SUM(ba1_num) as ba1_num, -- 今日付费人数
|
|
|
+ SUM(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
+ SUM(ba1_active_num) as ba1_active_num, -- 今日活跃人数
|
|
|
+ SUM(ba2) as ba2, -- 昨日付费金额
|
|
|
+ SUM(ba2_num) as ba2_num, -- 昨日付费人数
|
|
|
+ SUM(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
+ SUM(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
|
|
|
+ SUM(ba3) as ba3, -- 前天付费金额
|
|
|
+ SUM(ba3_num) as ba3_num, -- 前天付费人数
|
|
|
+ SUM(ba3_count) as ba3_count, -- 前天付费次数
|
|
|
+ SUM(ba3_active_num) as ba3_active_num -- 前天活跃人数
|
|
|
+ FROM (
|
|
|
+ -- 子查询,查询每个父游戏-区服维度的信息
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ server_id, -- 区服ID
|
|
|
+ parent_game_id,
|
|
|
+ MAX(parent_game_name) as parent_game_name,
|
|
|
+ MAX(server_name) as server_name, -- 区服名
|
|
|
+ MAX(boss_server_id) as boss_server_id, -- 合服ID
|
|
|
+ MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
+ MAX(merge_time) as merge_time , -- 合服时间
|
|
|
+ SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
+ SUM(new_user_count) as new_user_count, -- 新用户人数
|
|
|
+ SUM(create_role_count) as create_role_count, -- 创角人数
|
|
|
+ SUM(role_count) as role_count, -- 角色数量
|
|
|
+ SUM(total_num) as total_num, -- 总付费人数
|
|
|
+ SUM(total_amount) as total_amount, -- 总付费金额
|
|
|
+ SUM(ba1) as ba1, -- 今日付费金额
|
|
|
+ SUM(ba1_num) as ba1_num, -- 今日付费人数
|
|
|
+ SUM(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
+ SUM(ba1_active_num) as ba1_active_num, -- 今日活跃人数
|
|
|
+ SUM(ba2) as ba2, -- 昨日付费金额
|
|
|
+ SUM(ba2_num) as ba2_num, -- 昨日付费人数
|
|
|
+ SUM(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
+ SUM(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
|
|
|
+ SUM(ba3) as ba3, -- 前天付费金额
|
|
|
+ SUM(ba3_num) as ba3_num, -- 前天付费人数
|
|
|
+ SUM(ba3_count) as ba3_count, -- 前天付费次数
|
|
|
+ SUM(ba3_active_num) as ba3_active_num -- 前天活跃人数
|
|
|
+ FROM (
|
|
|
+ -- 子查询,查询每个子游戏-区服维度的信息
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ server_id, -- 区服ID
|
|
|
+ game_id, -- 子游戏ID
|
|
|
+ MAX(game_name) as game_name, -- 子游戏名
|
|
|
+ MAX(parent_game_id) as parent_game_id,
|
|
|
+ MAX(parent_game_name) as parent_game_name,
|
|
|
+ MAX(game_name) as game_name,
|
|
|
+ MAX(server_name) as server_name, -- 区服名
|
|
|
+ MAX(boss_server_id) as boss_server_id, -- 合服ID
|
|
|
+ MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
+ MAX(merge_time) as merge_time , -- 合服时间
|
|
|
+ MAX(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
+ MAX(new_user_count) as new_user_count, -- 新用户人数
|
|
|
+ MAX(create_role_count) as create_role_count, -- 创角人数
|
|
|
+ MAX(role_count) as role_count, -- 角色数量
|
|
|
+ MAX(total_num) as total_num, -- 总付费人数
|
|
|
+ MAX(total_amount) as total_amount, -- 总付费金额
|
|
|
+ MAX(ba1) as ba1, -- 今日付费金额
|
|
|
+ MAX(ba1_num) as ba1_num, -- 今日付费人数
|
|
|
+ MAX(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
+ MAX(ba1_active_num) as ba1_active_num, -- 今日活跃人数
|
|
|
+ MAX(ba2) as ba2, -- 昨日付费金额
|
|
|
+ MAX(ba2_num) as ba2_num, -- 昨日付费人数
|
|
|
+ MAX(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
+ MAX(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
|
|
|
+ MAX(ba3) as ba3, -- 前天付费金额
|
|
|
+ MAX(ba3_num) as ba3_num, -- 前天付费人数
|
|
|
+ MAX(ba3_count) as ba3_count, -- 前天付费次数
|
|
|
+ MAX(ba3_active_num) as ba3_active_num -- 前天活跃人数
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
+ GROUP BY server_id, source_system , game_id
|
|
|
+ ) a
|
|
|
+ GROUP BY server_id, source_system , parent_game_id
|
|
|
+ ) a
|
|
|
+ """;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 原始服-子游戏维度(角色排行相关信息)
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String getRoleCombatRankRoleDataSqlA() {
|
|
|
+ return """
|
|
|
+ SELECT
|
|
|
+ *
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ `date` as dt,
|
|
|
+ source_system ,
|
|
|
+ server_id ,
|
|
|
+ server_name ,
|
|
|
+ boss_server_id ,
|
|
|
+ boss_server_name ,
|
|
|
+ merge_time,
|
|
|
+ game_id,
|
|
|
+ game_name,
|
|
|
+ parent_game_id,
|
|
|
+ parent_game_name,
|
|
|
+ super_game_id,
|
|
|
+ super_game_name,
|
|
|
+ role_id,
|
|
|
+ role_name,
|
|
|
+ role_level,
|
|
|
+ combat_num,
|
|
|
+ ROW_NUMBER()over(partition by source_system ,server_id ,game_id order by combat_num desc) as rank_num
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
+ ) a
|
|
|
+ """;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 原始服-父游戏维度(角色排行相关信息)
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String getRoleCombatRankRoleDataSqlB() {
|
|
|
+ return """
|
|
|
+ SELECT
|
|
|
+ *
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ `date` as dt,
|
|
|
+ source_system ,
|
|
|
+ server_id ,
|
|
|
+ server_name ,
|
|
|
+ boss_server_id ,
|
|
|
+ boss_server_name ,
|
|
|
+ merge_time,
|
|
|
+ game_id,
|
|
|
+ game_name,
|
|
|
+ parent_game_id,
|
|
|
+ parent_game_name,
|
|
|
+ super_game_id,
|
|
|
+ super_game_name,
|
|
|
+ role_id,
|
|
|
+ role_name,
|
|
|
+ role_level,
|
|
|
+ combat_num,
|
|
|
+ ROW_NUMBER()over(partition by source_system ,server_id ,parent_game_id order by combat_num desc) as rank_num
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
+ ) a
|
|
|
+ """;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 合服-子游戏维度(角色排行相关信息)
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String getRoleCombatRankRoleDataSqlC() {
|
|
|
+ return """
|
|
|
+ SELECT
|
|
|
+ *
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ `date` as dt,
|
|
|
+ source_system ,
|
|
|
+ server_id ,
|
|
|
+ server_name ,
|
|
|
+ boss_server_id ,
|
|
|
+ boss_server_name ,
|
|
|
+ merge_time,
|
|
|
+ game_id,
|
|
|
+ game_name,
|
|
|
+ parent_game_id,
|
|
|
+ parent_game_name,
|
|
|
+ super_game_id,
|
|
|
+ super_game_name,
|
|
|
+ role_id,
|
|
|
+ role_name,
|
|
|
+ role_level,
|
|
|
+ combat_num,
|
|
|
+ ROW_NUMBER()over(partition by source_system ,boss_server_id ,game_id order by combat_num desc) as rank_num
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
+ ) a
|
|
|
+ """;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 合服-父游戏维度(角色排行相关信息)
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String getRoleCombatRankRoleDataSqlD() {
|
|
|
+ return """
|
|
|
+ SELECT
|
|
|
+ *
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ `date` as dt,
|
|
|
+ source_system ,
|
|
|
+ server_id ,
|
|
|
+ server_name ,
|
|
|
+ boss_server_id ,
|
|
|
+ boss_server_name ,
|
|
|
+ merge_time,
|
|
|
+ game_id,
|
|
|
+ game_name,
|
|
|
+ parent_game_id,
|
|
|
+ parent_game_name,
|
|
|
+ super_game_id,
|
|
|
+ super_game_name,
|
|
|
+ role_id,
|
|
|
+ role_name,
|
|
|
+ role_level,
|
|
|
+ combat_num,
|
|
|
+ ROW_NUMBER()over(partition by source_system ,boss_server_id ,parent_game_id order by combat_num desc) as rank_num
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
+ ) a
|
|
|
""";
|
|
|
}
|
|
|
|