|
@@ -237,9 +237,25 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
sql.setCallback(Sqls.callback.maps());
|
|
sql.setCallback(Sqls.callback.maps());
|
|
sql.setPager(pager);
|
|
sql.setPager(pager);
|
|
dao.execute(sql);
|
|
dao.execute(sql);
|
|
- List<Map> list = sql.getList(Map.class).stream().map(map -> {
|
|
|
|
- getNameById(map);
|
|
|
|
-
|
|
|
|
|
|
+ //查询结果
|
|
|
|
+ List<Map> list = sql.getList(Map.class);
|
|
|
|
+ //用户id列表
|
|
|
|
+ List<Long> userIds = new ArrayList<>();
|
|
|
|
+ for (Map map : list) {
|
|
|
|
+// getNameById(map);
|
|
|
|
+ //把投手id和运营id和GSID和客服人员ID 转成List
|
|
|
|
+ if(map.get("put_user_id") != null){
|
|
|
|
+ userIds.add(Long.valueOf(map.get("put_user_id").toString()));
|
|
|
|
+ }
|
|
|
|
+ if(map.get("oper_user_id") != null){
|
|
|
|
+ userIds.add(Long.valueOf(map.get("oper_user_id").toString()));
|
|
|
|
+ }
|
|
|
|
+ if(map.get("gs_id") != null){
|
|
|
|
+ userIds.add(Long.valueOf(map.get("gs_id").toString()));
|
|
|
|
+ }
|
|
|
|
+ if(map.get("customer_service_id") != null){
|
|
|
|
+ userIds.add(Long.valueOf(map.get("customer_service_id").toString()));
|
|
|
|
+ }
|
|
String str = (String) map.get("role_amount");
|
|
String str = (String) map.get("role_amount");
|
|
if(str!=null&&str.contains("[") && str.contains("]")){
|
|
if(str!=null&&str.contains("[") && str.contains("]")){
|
|
//去掉字符串中的‘[]’
|
|
//去掉字符串中的‘[]’
|
|
@@ -262,13 +278,44 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
if ("null".equals(map.get("country"))) {
|
|
if ("null".equals(map.get("country"))) {
|
|
map.put("country", null);
|
|
map.put("country", null);
|
|
}
|
|
}
|
|
- return map;
|
|
|
|
- }).collect(Collectors.toList());
|
|
|
|
-
|
|
|
|
|
|
+ }
|
|
|
|
+ //去重userIds
|
|
|
|
+ userIds = userIds.stream().distinct().collect(Collectors.toList());
|
|
|
|
+ //发送RPC接口查询所有用户
|
|
|
|
+ ResultVO<Map<Long, String>> userMap = sysUserRpc.getUserNameByIds(userIds);
|
|
|
|
+
|
|
|
|
+ for (Map map : list) {
|
|
|
|
+ //投手名
|
|
|
|
+ updateUserName(map, "put_user_id", "put_user_name", userMap);
|
|
|
|
+ //运营人员名
|
|
|
|
+ updateUserName(map, "oper_user_id", "oper_user_name", userMap);
|
|
|
|
+ //GS人员名
|
|
|
|
+ updateUserName(map, "gs_id", "gs_name", userMap);
|
|
|
|
+ //客服人员名
|
|
|
|
+ updateUserName(map, "customer_service_id", "customer_service_name", userMap);
|
|
|
|
+ }
|
|
//返回结果
|
|
//返回结果
|
|
return new Page<>(list, pager);
|
|
return new Page<>(list, pager);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 更新用户名称
|
|
|
|
+ private void updateUserName(Map<String, Object> map, String userIdKey, String userNameKey, ResultVO<Map<Long, String>> userMap) {
|
|
|
|
+ Object userIdObj = map.get(userIdKey);
|
|
|
|
+ if (userIdObj != null) {
|
|
|
|
+ try {
|
|
|
|
+ long userId = Long.parseLong(userIdObj.toString());
|
|
|
|
+ String userName = userMap.getData().get(userId);
|
|
|
|
+ if (userName != null) {
|
|
|
|
+ map.put(userNameKey, userName);
|
|
|
|
+ }
|
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
|
+ // 处理长整型转换异常
|
|
|
|
+ log.error("Error parsing user ID for key " + userIdKey + ": " + e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
private Criteria spliceRechargeTotalAmountWithin24h(RoleRechargeRankingDTO dto, Criteria criA) {
|
|
private Criteria spliceRechargeTotalAmountWithin24h(RoleRechargeRankingDTO dto, Criteria criA) {
|
|
switch (dto.getRechargeTotalAmountWithin24hUnit()) {
|
|
switch (dto.getRechargeTotalAmountWithin24hUnit()) {
|
|
case ">" -> criA.where().andGT("role_total_amount", dto.getRechargeTotalAmountWithin24h());
|
|
case ">" -> criA.where().andGT("role_total_amount", dto.getRechargeTotalAmountWithin24h());
|