|
@@ -16,8 +16,7 @@ import com.zanxiang.game.module.manage.pojo.vo.UserCardVO;
|
|
import com.zanxiang.game.module.manage.pojo.vo.UserListVO;
|
|
import com.zanxiang.game.module.manage.pojo.vo.UserListVO;
|
|
import com.zanxiang.game.module.manage.pojo.vo.UserVO;
|
|
import com.zanxiang.game.module.manage.pojo.vo.UserVO;
|
|
import com.zanxiang.game.module.manage.service.*;
|
|
import com.zanxiang.game.module.manage.service.*;
|
|
-import com.zanxiang.game.module.mybatis.entity.PromoAccount;
|
|
|
|
-import com.zanxiang.game.module.mybatis.entity.PromoChannel;
|
|
|
|
|
|
+import com.zanxiang.game.module.mybatis.entity.Agent;
|
|
import com.zanxiang.game.module.mybatis.entity.User;
|
|
import com.zanxiang.game.module.mybatis.entity.User;
|
|
import com.zanxiang.game.module.mybatis.mapper.UserMapper;
|
|
import com.zanxiang.game.module.mybatis.mapper.UserMapper;
|
|
import com.zanxiang.module.util.encryption.Md5Util;
|
|
import com.zanxiang.module.util.encryption.Md5Util;
|
|
@@ -49,12 +48,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
@Autowired
|
|
@Autowired
|
|
private IGameUserService gameUserService;
|
|
private IGameUserService gameUserService;
|
|
|
|
|
|
- @Autowired
|
|
|
|
- private IPromoChannelService promoChannelService;
|
|
|
|
-
|
|
|
|
- @Autowired
|
|
|
|
- private IPromoAccountService promoAccountService;
|
|
|
|
-
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private IUserService userService;
|
|
private IUserService userService;
|
|
|
|
|
|
@@ -67,19 +60,19 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
@Autowired
|
|
@Autowired
|
|
private IUserCardService userCardService;
|
|
private IUserCardService userCardService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private IAgentService agentService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public IPage<UserListVO> list(UserListParam param) {
|
|
public IPage<UserListVO> list(UserListParam param) {
|
|
//渠道列表
|
|
//渠道列表
|
|
- List<Long> agentIdList;
|
|
|
|
- if (param.getChannelId() == null) {
|
|
|
|
- agentIdList = promoChannelService.listByAccountOrPitcherId(param.getAccountId(), param.getPitcherId());
|
|
|
|
- } else {
|
|
|
|
- agentIdList = Collections.singletonList(param.getChannelId());
|
|
|
|
- }
|
|
|
|
|
|
+ List<AgentDTO> agentDTOList = agentService.listUserAgent(param.getAccountId(), param.getPitcherId(), param.getChannelId());
|
|
//根据条件, 匹配渠道
|
|
//根据条件, 匹配渠道
|
|
- if (agentIdList != null && agentIdList.isEmpty()) {
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(agentDTOList)) {
|
|
return new Page<>();
|
|
return new Page<>();
|
|
}
|
|
}
|
|
|
|
+ //渠道id列表
|
|
|
|
+ List<Long> agentIdList = agentDTOList.stream().map(AgentDTO::getId).collect(Collectors.toList());
|
|
//游戏条件处理
|
|
//游戏条件处理
|
|
Map<Long, GameDTO> gameMap = gameService.gameCondition(param.getCpId(), param.getGameId(), param.getGameCategoryId());
|
|
Map<Long, GameDTO> gameMap = gameService.gameCondition(param.getCpId(), param.getGameId(), param.getGameCategoryId());
|
|
//根据条件, 匹配不到游戏
|
|
//根据条件, 匹配不到游戏
|
|
@@ -88,7 +81,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
}
|
|
}
|
|
//玩家条件处理
|
|
//玩家条件处理
|
|
Map<Long, UserDTO> userMap = userService.userCondition(param.getUserId(), agentIdList, param.getUserName(),
|
|
Map<Long, UserDTO> userMap = userService.userCondition(param.getUserId(), agentIdList, param.getUserName(),
|
|
- param.getNickname(), param.getRegIp(), param.getAdId());
|
|
|
|
|
|
+ param.getNickname(), param.getRegIp());
|
|
//根据条件, 匹配不到玩家
|
|
//根据条件, 匹配不到玩家
|
|
if (userMap != null && userMap.isEmpty()) {
|
|
if (userMap != null && userMap.isEmpty()) {
|
|
return new Page<>();
|
|
return new Page<>();
|
|
@@ -96,9 +89,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
//相关用户id
|
|
//相关用户id
|
|
Set<Long> userIdSet = userMap == null ? null : userMap.keySet();
|
|
Set<Long> userIdSet = userMap == null ? null : userMap.keySet();
|
|
Map<Long, CpDTO> cpMap = cpService.cpMap();
|
|
Map<Long, CpDTO> cpMap = cpService.cpMap();
|
|
- Map<Long, PromoChannelDTO> channelMap = promoChannelService.promoChannelMap();
|
|
|
|
|
|
+ Map<Long, AgentDTO> agentMap = agentDTOList.stream().collect(Collectors.toMap(AgentDTO::getId, Function.identity()));
|
|
Map<Long, GameCategoryDTO> gameCategoryMap = gameCategoryService.gameCategoryMap();
|
|
Map<Long, GameCategoryDTO> gameCategoryMap = gameCategoryService.gameCategoryMap();
|
|
- Map<Long, PromoAccountDTO> promoAccountMap = promoAccountService.promoAccountMap();
|
|
|
|
//执行查询
|
|
//执行查询
|
|
return page(param.toPage(), new QueryWrapper<User>().lambda()
|
|
return page(param.toPage(), new QueryWrapper<User>().lambda()
|
|
.eq(param.getUserId() != null, User::getId, param.getUserId())
|
|
.eq(param.getUserId() != null, User::getId, param.getUserId())
|
|
@@ -117,18 +109,14 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
.le(param.getRechargeEndDate() != null, User::getLastRechargeTime, param.getRechargeEndDate() == null ? null : LocalDateTime.of(param.getRechargeEndDate(), LocalTime.MAX))
|
|
.le(param.getRechargeEndDate() != null, User::getLastRechargeTime, param.getRechargeEndDate() == null ? null : LocalDateTime.of(param.getRechargeEndDate(), LocalTime.MAX))
|
|
.gt(Objects.equals(param.getIsRecharge(), Boolean.TRUE), User::getRechargeCount, 0)
|
|
.gt(Objects.equals(param.getIsRecharge(), Boolean.TRUE), User::getRechargeCount, 0)
|
|
.eq(Objects.equals(param.getIsRecharge(), Boolean.FALSE), User::getRechargeCount, 0)
|
|
.eq(Objects.equals(param.getIsRecharge(), Boolean.FALSE), User::getRechargeCount, 0)
|
|
- .eq(param.getVipLevel() != null && param.getVipLevel() <= 10, User::getVipMax, param.getVipLevel())
|
|
|
|
- .gt(param.getVipLevel() != null && param.getVipLevel() > 10, User::getVipMax, param.getVipLevel())
|
|
|
|
.eq(param.getStatus() != null, User::getStatus, param.getStatus())
|
|
.eq(param.getStatus() != null, User::getStatus, param.getStatus())
|
|
- .eq(param.getChannelId() != null, User::getAgentId, param.getChannelId())
|
|
|
|
- .eq(param.getCustomerId() != null, User::getCustomerId, param.getCustomerId())
|
|
|
|
- .eq(param.getIsGs() != null, User::getIsGs, param.getIsGs())
|
|
|
|
|
|
+ .eq(param.getChannelId() != null, User::getLastAgentId, param.getChannelId())
|
|
.orderByDesc(User::getCreateTime)
|
|
.orderByDesc(User::getCreateTime)
|
|
- ).convert(u -> this.toVo(u, userMap, gameMap, promoAccountMap, channelMap, cpMap, gameCategoryMap));
|
|
|
|
|
|
+ ).convert(u -> this.toVo(u, userMap, gameMap, cpMap, gameCategoryMap, agentMap));
|
|
}
|
|
}
|
|
|
|
|
|
- private UserListVO toVo(User user, Map<Long, UserDTO> userMap, Map<Long, GameDTO> gameMap, Map<Long, PromoAccountDTO> promoAccountMap,
|
|
|
|
- Map<Long, PromoChannelDTO> channelMap, Map<Long, CpDTO> cpMap, Map<Long, GameCategoryDTO> gameCategoryMap) {
|
|
|
|
|
|
+ private UserListVO toVo(User user, Map<Long, UserDTO> userMap, Map<Long, GameDTO> gameMap, Map<Long, CpDTO> cpMap,
|
|
|
|
+ Map<Long, GameCategoryDTO> gameCategoryMap, Map<Long, AgentDTO> agentMap) {
|
|
UserListVO userListVO = BeanUtils.copy(user, UserListVO.class);
|
|
UserListVO userListVO = BeanUtils.copy(user, UserListVO.class);
|
|
if (Objects.isNull(userListVO)) {
|
|
if (Objects.isNull(userListVO)) {
|
|
return null;
|
|
return null;
|
|
@@ -142,9 +130,23 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
userListVO.setRegIp(userDTO.getIp());
|
|
userListVO.setRegIp(userDTO.getIp());
|
|
userListVO.setUsername(userDTO.getUsername());
|
|
userListVO.setUsername(userDTO.getUsername());
|
|
userListVO.setNickname(userDTO.getNickname());
|
|
userListVO.setNickname(userDTO.getNickname());
|
|
- userListVO.setAgentId(userDTO.getAgentId());
|
|
|
|
- userListVO.setChannel(channelMap.get(userDTO.getAgentId()) == null ? null : channelMap.get(userDTO.getAgentId()).getChannel());
|
|
|
|
- userListVO.setAdId(userDTO.getAdId());
|
|
|
|
|
|
+ userListVO.setRegAgentId(userDTO.getRegAgentId());
|
|
|
|
+ //注册渠道
|
|
|
|
+ AgentDTO regAgentDTO = agentMap.get(userDTO.getRegAgentId());
|
|
|
|
+
|
|
|
|
+ if (regAgentDTO != null) {
|
|
|
|
+ userListVO.setRegAgentName(regAgentDTO.getAgentName());
|
|
|
|
+ }
|
|
|
|
+ userListVO.setAgentId(userDTO.getLastAgentId());
|
|
|
|
+ //最新渠道
|
|
|
|
+ AgentDTO lastAgentDTO = agentMap.get(userDTO.getLastAgentId());
|
|
|
|
+ if (lastAgentDTO != null) {
|
|
|
|
+ userListVO.setAgentName(lastAgentDTO.getAgentName());
|
|
|
|
+ userListVO.setAccountId(lastAgentDTO.getId());
|
|
|
|
+ userListVO.setPitcherId(lastAgentDTO.getCreateBy());
|
|
|
|
+ userListVO.setPitcherName(lastAgentDTO.getCreateByName());
|
|
|
|
+ userListVO.setAccountType(lastAgentDTO.getAccountType());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
GameDTO gameDTO = CollectionUtils.isEmpty(gameMap) ? null : gameMap.get(userListVO.getGameId());
|
|
GameDTO gameDTO = CollectionUtils.isEmpty(gameMap) ? null : gameMap.get(userListVO.getGameId());
|
|
if (gameDTO == null) {
|
|
if (gameDTO == null) {
|
|
@@ -157,18 +159,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
userListVO.setCpId(gameDTO.getCpId());
|
|
userListVO.setCpId(gameDTO.getCpId());
|
|
userListVO.setCpName(cpMap.get(gameDTO.getCpId()) == null ? null : cpMap.get(gameDTO.getCpId()).getCpName());
|
|
userListVO.setCpName(cpMap.get(gameDTO.getCpId()) == null ? null : cpMap.get(gameDTO.getCpId()).getCpName());
|
|
}
|
|
}
|
|
- PromoChannelDTO promoChannelDTO = channelMap.get(userListVO.getAgentId());
|
|
|
|
- if (promoChannelDTO != null) {
|
|
|
|
- PromoAccountDTO promoAccountDTO = promoAccountMap.get(promoChannelDTO.getAccountId());
|
|
|
|
- if (promoAccountDTO != null) {
|
|
|
|
- userListVO.setAccountId(promoAccountDTO.getId());
|
|
|
|
- userListVO.setAccountName(promoAccountDTO.getName());
|
|
|
|
- userListVO.setPitcherId(promoAccountDTO.getPitcherId());
|
|
|
|
- userListVO.setPitcherName(promoAccountDTO.getPitcherName());
|
|
|
|
- userListVO.setMediaId(promoAccountDTO.getMediaId());
|
|
|
|
- userListVO.setMediaName(promoAccountDTO.getMediaName());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
return userListVO;
|
|
return userListVO;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -222,11 +212,10 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
userVO.setRegGame(gameDTO.getName());
|
|
userVO.setRegGame(gameDTO.getName());
|
|
}
|
|
}
|
|
//渠道
|
|
//渠道
|
|
- PromoChannel promoChannel = promoChannelService.getById(user.getAgentId());
|
|
|
|
- if (promoChannel != null) {
|
|
|
|
- userVO.setChannelName(promoChannel.getChannel());
|
|
|
|
- PromoAccount promoAccount = promoAccountService.getById(promoChannel.getAccountId());
|
|
|
|
- userVO.setRegFrom(promoAccount.getAccount());
|
|
|
|
|
|
+ Agent agent = agentService.getById(user.getLastAgentId());
|
|
|
|
+ if (agent != null) {
|
|
|
|
+ userVO.setChannelName(agent.getAgentName());
|
|
|
|
+ userVO.setRegFrom(agent.getAccountType());
|
|
}
|
|
}
|
|
//vip等级
|
|
//vip等级
|
|
GameUserVO maxVipGameUser = gameUserService.getMaxVipGameUser(userId);
|
|
GameUserVO maxVipGameUser = gameUserService.getMaxVipGameUser(userId);
|
|
@@ -237,22 +226,20 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public Map<Long, UserDTO> userCondition(Long userId, List<Long> agentIdList, String userName, String nickname,
|
|
|
|
- String regIp, String adId) {
|
|
|
|
|
|
+ public Map<Long, UserDTO> userCondition(Long userId, List<Long> agentIdList, String userName, String nickname, String regIp) {
|
|
//用户信息条件处理
|
|
//用户信息条件处理
|
|
if (userId == null && CollectionUtils.isEmpty(agentIdList) && Strings.isBlank(userName)
|
|
if (userId == null && CollectionUtils.isEmpty(agentIdList) && Strings.isBlank(userName)
|
|
- && Strings.isBlank(nickname) && Strings.isBlank(regIp) && Strings.isBlank(adId)) {
|
|
|
|
|
|
+ && Strings.isBlank(nickname) && Strings.isBlank(regIp)) {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
//查询
|
|
//查询
|
|
List<User> userList = super.list(new LambdaQueryWrapper<User>()
|
|
List<User> userList = super.list(new LambdaQueryWrapper<User>()
|
|
.eq(userId != null, User::getId, userId)
|
|
.eq(userId != null, User::getId, userId)
|
|
- .eq(Strings.isNotBlank(adId), User::getAdId, adId)
|
|
|
|
- .in(CollectionUtils.isNotEmpty(agentIdList), User::getAgentId, agentIdList)
|
|
|
|
|
|
+ .in(CollectionUtils.isNotEmpty(agentIdList), User::getLastAgentId, agentIdList)
|
|
.eq(Strings.isNotBlank(regIp), User::getIp, regIp)
|
|
.eq(Strings.isNotBlank(regIp), User::getIp, regIp)
|
|
.like(Strings.isNotBlank(userName), User::getUsername, userName)
|
|
.like(Strings.isNotBlank(userName), User::getUsername, userName)
|
|
.like(Strings.isNotBlank(nickname), User::getNickname, nickname)
|
|
.like(Strings.isNotBlank(nickname), User::getNickname, nickname)
|
|
- .select(User::getId, User::getUsername, User::getNickname, User::getIp, User::getCreateTime, User::getAgentId, User::getAdId));
|
|
|
|
|
|
+ .select(User::getId, User::getUsername, User::getNickname, User::getIp, User::getCreateTime, User::getLastAgentId));
|
|
if (CollectionUtils.isEmpty(userList)) {
|
|
if (CollectionUtils.isEmpty(userList)) {
|
|
return Collections.emptyMap();
|
|
return Collections.emptyMap();
|
|
}
|
|
}
|