|
@@ -196,8 +196,122 @@ public class PlayerDataServiceImpl implements IPlayerDataService {
|
|
|
*/
|
|
|
@Override
|
|
|
public Page<PlayerRoleDataVO> getPlayerRoleDataList(PlayerRoleDataListDTO dto) {
|
|
|
+ //查询条件
|
|
|
+ Criteria cri = Cnd.cri();
|
|
|
+ if (dto.getUserId() != null) {
|
|
|
+ cri.where().andEquals("user_id", dto.getUserId());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getUserName())) {
|
|
|
+ //玩家账号
|
|
|
+ cri.where().andEquals("user_name", dto.getUserName());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getNickname())) {
|
|
|
+ //玩家昵称
|
|
|
+ cri.where().andLike("nickName", dto.getNickname());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getRegIp())) {
|
|
|
+ //玩家注册IP
|
|
|
+ cri.where().andEquals("reg_ip", dto.getRegIp());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getServerName())) {
|
|
|
+ //游戏区服
|
|
|
+ cri.where().andLike("server_name", dto.getServerName());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getRoleName())) {
|
|
|
+ cri.where().andLike("role_name", dto.getRoleName());
|
|
|
+ }
|
|
|
+ if (dto.getCpId() != null) {
|
|
|
+ cri.where().andEquals("cp_id", dto.getCpId());
|
|
|
+ }
|
|
|
+ if (dto.getGameId() != null) {
|
|
|
+ cri.where().andEquals("game_id", dto.getGameId());
|
|
|
+ }
|
|
|
+ if (dto.getGameCategoryId() != null) {
|
|
|
+ //游戏应用类型
|
|
|
+ cri.where().andEquals("game_classify", dto.getGameCategoryId());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getAccountId())) {
|
|
|
+ //推广账号ID
|
|
|
+ cri.where().andEquals("account_id", dto.getAccountId());
|
|
|
+ }
|
|
|
+ if (dto.getChannelId() != null) {
|
|
|
+ //渠道ID
|
|
|
+ cri.where().andEquals("agent_id", dto.getChannelId());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getPitcherId())) {
|
|
|
+ cri.where().andEquals("pitcher_id", dto.getPitcherId());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(dto.getOs())) {
|
|
|
+ cri.where().andEquals("os", dto.getOs());
|
|
|
+ }
|
|
|
+ //判断是否充值
|
|
|
+ if (BooleanUtils.isFalse(dto.getIsRecharge())) {
|
|
|
+ //未充值 充值金额为0
|
|
|
+ cri.where().andEquals("recharge_money", 0);
|
|
|
+ }
|
|
|
+ if (BooleanUtils.isTrue(dto.getIsRecharge())) {
|
|
|
+ //充值金额大于0
|
|
|
+ cri.where().andNotEquals("recharge_money", 0);
|
|
|
+ }
|
|
|
+ if (dto.getVipLevel() != null) {
|
|
|
+ cri.where().andEquals("vip_level", dto.getVipLevel());
|
|
|
+ }
|
|
|
+ if (dto.getRoleLevelMin() != null) {
|
|
|
+ //玩家最小等级
|
|
|
+ cri.where().andGTE("role_level", dto.getRoleLevelMin());
|
|
|
+ }
|
|
|
+ if (dto.getRoleLevelMax() != null) {
|
|
|
+ //玩家最大等级
|
|
|
+ cri.where().andLTE("role_level", dto.getRoleLevelMax());
|
|
|
+ }
|
|
|
+ if (dto.getBeginDate() != null && dto.getEndDate() != null) {
|
|
|
+ //角色创建时间
|
|
|
+ cri.where().andBetween("DATE(role_create_time)", dto.getBeginDate(), dto.getEndDate());
|
|
|
+ }
|
|
|
+ if (dto.getRechargeBeginDate() != null && dto.getRechargeEndDate() != null) {
|
|
|
+ //最近充值时间
|
|
|
+ cri.where().andBetween("DATE(last_recharge_time)", dto.getRechargeBeginDate(), dto.getRechargeEndDate());
|
|
|
+ }
|
|
|
+ if (dto.getRegTimeBeginDate() != null && dto.getRegTimeEndDate() != null) {
|
|
|
+ //玩家注册时间
|
|
|
+ cri.where().andBetween("DATE(user_reg_time)", dto.getRegTimeBeginDate(), dto.getRegTimeEndDate());
|
|
|
+ }
|
|
|
+ if (dto.getRegPayIntervalTimeMin() != null) {
|
|
|
+ //充值到注册的最小间隔时间(分)
|
|
|
+ cri.where().andGTE("TIMESTAMPDIFF(MINUTE, user_reg_time, last_recharge_time)", dto.getRegPayIntervalTimeMin());
|
|
|
+ }
|
|
|
+ if (dto.getRegPayIntervalTimeMax() != null) {
|
|
|
+ //充值到注册的最大间隔时间(分)
|
|
|
+ cri.where().andLTE("TIMESTAMPDIFF(MINUTE, user_reg_time, last_recharge_time)", dto.getRegPayIntervalTimeMax());
|
|
|
+ }
|
|
|
+ //pager对象
|
|
|
+ Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
|
|
|
+ //总记录数
|
|
|
+ Sql countSql = Sqls.create(getUserRoleDataListCountSql() + cri);
|
|
|
+ countSql.setCallback(Sqls.callback.integer());
|
|
|
+ dao.execute(countSql);
|
|
|
+ pager.setRecordCount(countSql.getInt());
|
|
|
+
|
|
|
+ //默认排序
|
|
|
+ if (StringUtils.isBlank(dto.getSortType())) {
|
|
|
+ dto.setSortType(OrderByEnum.DESC.getOrderType());
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(dto.getSortFiled())) {
|
|
|
+ //默认游戏角色创建时间排序
|
|
|
+ cri.getOrderBy().orderBy("role_create_time", dto.getSortType());
|
|
|
+ } else {
|
|
|
+ cri.getOrderBy().orderBy(dto.getSortFiled(), dto.getSortFiled());
|
|
|
+ }
|
|
|
+ //查询sql
|
|
|
+ Sql sql = Sqls.create(getUserRoleDataListSql() + cri);
|
|
|
+ sql.setCallback(Sqls.callback.entities());
|
|
|
+ sql.setEntity(dao.getEntity(PlayerRoleDataVO.class));
|
|
|
+ sql.setPager(pager);
|
|
|
+ //执行sql 得到结果
|
|
|
+ dao.execute(sql);
|
|
|
+ List<PlayerRoleDataVO> list = sql.getList(PlayerRoleDataVO.class);
|
|
|
|
|
|
- return null;
|
|
|
+ return new Page<>(list, pager);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -400,4 +514,22 @@ public class PlayerDataServiceImpl implements IPlayerDataService {
|
|
|
""";
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 玩家角色列表查询sql
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String getUserRoleDataListSql() {
|
|
|
+ return """
|
|
|
+ """;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 玩家角色列表查询sql(总记录数)
|
|
|
+ * @return String
|
|
|
+ */
|
|
|
+ private String getUserRoleDataListCountSql() {
|
|
|
+ return """
|
|
|
+ """;
|
|
|
+ }
|
|
|
+
|
|
|
}
|