|
@@ -1,5 +1,7 @@
|
|
package com.zanxiang.game.data.serve.service.impl;
|
|
package com.zanxiang.game.data.serve.service.impl;
|
|
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
+
|
|
import com.alibaba.fastjson2.JSON;
|
|
import com.alibaba.fastjson2.JSON;
|
|
import com.zanxiang.erp.base.ErpServer;
|
|
import com.zanxiang.erp.base.ErpServer;
|
|
import com.zanxiang.erp.base.rpc.ISysUserRpc;
|
|
import com.zanxiang.erp.base.rpc.ISysUserRpc;
|
|
@@ -369,7 +371,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
//客户手机号
|
|
//客户手机号
|
|
criA.where().andEquals("user_phone", dto.getPhone());
|
|
criA.where().andEquals("user_phone", dto.getPhone());
|
|
}
|
|
}
|
|
- if(dto.getUserPhoneStatus()!=null){
|
|
|
|
|
|
+ if (dto.getUserPhoneStatus() != null) {
|
|
//客服手机号绑定状态
|
|
//客服手机号绑定状态
|
|
criA.where().andEquals("user_phone_status", dto.getUserPhoneStatus());
|
|
criA.where().andEquals("user_phone_status", dto.getUserPhoneStatus());
|
|
}
|
|
}
|
|
@@ -440,17 +442,17 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
criA.where().andBetween("DATE(role_last_pay_time)", dto.getRoleLastPayTimeMin(), dto.getRoleLastPayTimeMax());
|
|
criA.where().andBetween("DATE(role_last_pay_time)", dto.getRoleLastPayTimeMin(), dto.getRoleLastPayTimeMax());
|
|
}
|
|
}
|
|
|
|
|
|
- if (StringUtils.isNotBlank(dto.getIpCity())){
|
|
|
|
- criA.where().andEquals("ip_city",dto.getIpCity());
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(dto.getIpCity())) {
|
|
|
|
+ criA.where().andEquals("ip_city", dto.getIpCity());
|
|
}
|
|
}
|
|
- if(StringUtils.isNotBlank(dto.getIpProv())){
|
|
|
|
- criA.where().andEquals("ip_prov",dto.getIpProv());
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(dto.getIpProv())) {
|
|
|
|
+ criA.where().andEquals("ip_prov", dto.getIpProv());
|
|
}
|
|
}
|
|
- if (StringUtils.isNotBlank(dto.getLoginIpCity())){
|
|
|
|
- criA.where().andEquals("login_ip_city",dto.getLoginIpCity());
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(dto.getLoginIpCity())) {
|
|
|
|
+ criA.where().andEquals("login_ip_city", dto.getLoginIpCity());
|
|
}
|
|
}
|
|
- if(StringUtils.isNotBlank(dto.getLoginIpProv())){
|
|
|
|
- criA.where().andEquals("login_ip_prov",dto.getLoginIpProv());
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(dto.getLoginIpProv())) {
|
|
|
|
+ criA.where().andEquals("login_ip_prov", dto.getLoginIpProv());
|
|
}
|
|
}
|
|
return criA;
|
|
return criA;
|
|
}
|
|
}
|
|
@@ -906,6 +908,99 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public Page<Map> levelListOfPage(RoleLevelParamDTO dto) {
|
|
|
|
+ //创建查询条件
|
|
|
|
+ Criteria criA = getSqlByQuery(dto);
|
|
|
|
+ //分页对象
|
|
|
|
+ Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
|
|
|
|
+ //查询总记录数
|
|
|
|
+ Sql countSql = Sqls.create(getLevelListCountSql(criA));
|
|
|
|
+ countSql.setCallback(Sqls.callback.integer());
|
|
|
|
+ dao.execute(countSql);
|
|
|
|
+ pager.setRecordCount(countSql.getInt());
|
|
|
|
+ //列表sql
|
|
|
|
+ String levelListSql = getLevelListSql(criA);
|
|
|
|
+ Sql sql = Sqls.create(levelListSql);
|
|
|
|
+ sql.setCallback(Sqls.callback.maps());
|
|
|
|
+ sql.setPager(pager);
|
|
|
|
+ dao.execute(sql);
|
|
|
|
+ //查询结果
|
|
|
|
+ List<Map> list = sql.getList(Map.class);
|
|
|
|
+ return new Page<>(list, pager);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private Criteria getSqlByQuery(RoleLevelParamDTO dto) {
|
|
|
|
+ Criteria criA = Cnd.cri();
|
|
|
|
+ if (StringUtils.isNotEmpty(dto.getServerName())) {
|
|
|
|
+ //区服名称
|
|
|
|
+ criA.where().andLike("server_name", dto.getServerName());
|
|
|
|
+ }
|
|
|
|
+ if(CollectionUtils.isNotEmpty(dto.getServerId())){
|
|
|
|
+ //区服id
|
|
|
|
+ criA.where().andInStrList("server_id", dto.getServerId());
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotEmpty(dto.getGameName())) {
|
|
|
|
+ //游戏名称
|
|
|
|
+ criA.where().andLike("game_name", dto.getGameName());
|
|
|
|
+ }
|
|
|
|
+ if(CollectionUtils.isNotEmpty(dto.getGameId())){
|
|
|
|
+ //游戏id
|
|
|
|
+ criA.where().andInList("game_id", dto.getGameId());
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotEmpty(dto.getRoleId())) {
|
|
|
|
+ //角色id
|
|
|
|
+ criA.where().andEquals("role_id", dto.getRoleId());
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotEmpty(dto.getRoleName())) {
|
|
|
|
+ //角色名称
|
|
|
|
+ criA.where().andLike("role_name", dto.getRoleName());
|
|
|
|
+ }
|
|
|
|
+ //角色等级区间筛选
|
|
|
|
+ if (dto.getRoleLevelMin() != null) {
|
|
|
|
+ criA.where().andGTE("role_level", dto.getRoleLevelMin());
|
|
|
|
+ }
|
|
|
|
+ if (dto.getRoleLevelMax() != null) {
|
|
|
|
+ criA.where().andLTE("role_level", dto.getRoleLevelMax());
|
|
|
|
+ }
|
|
|
|
+ //角色创建时间
|
|
|
|
+ if (dto.getCreateTimeMin() != null && dto.getCreateTimeMax() != null) {
|
|
|
|
+ criA.where().andBetween("create_time", dto.getCreateTimeMin(), dto.getCreateTimeMax());
|
|
|
|
+ }
|
|
|
|
+ //等级上报时间
|
|
|
|
+ if (dto.getLevelTimeMin() != null && dto.getLevelTimeMax() != null) {
|
|
|
|
+ criA.where().andBetween("level_time", dto.getLevelTimeMin(), dto.getLevelTimeMax());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return criA;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private String getLevelListSql(Criteria criA) {
|
|
|
|
+ return """
|
|
|
|
+ select
|
|
|
|
+ role_id,
|
|
|
|
+ user_id,
|
|
|
|
+ game_id,
|
|
|
|
+ role_level,
|
|
|
|
+ server_id,
|
|
|
|
+ role_name,
|
|
|
|
+ role_vip,
|
|
|
|
+ create_time,
|
|
|
|
+ level_time,
|
|
|
|
+ server_name,
|
|
|
|
+ game_name
|
|
|
|
+ from ads_role_level_log
|
|
|
|
+ """ + criA;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private String getLevelListCountSql(Criteria criA) {
|
|
|
|
+ return """
|
|
|
|
+ select
|
|
|
|
+ count(1)
|
|
|
|
+ from ads_role_level_log
|
|
|
|
+ """ + criA;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
/**
|
|
/**
|
|
* 补充查询发送消息任务结果sql
|
|
* 补充查询发送消息任务结果sql
|