邀请列表
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
package com.sqx.modules.invite.service.impl;
|
package com.sqx.modules.invite.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||||
@@ -10,14 +12,8 @@ import com.github.pagehelper.PageHelper;
|
|||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.sqx.common.utils.DateUtils;
|
import com.sqx.common.utils.DateUtils;
|
||||||
import com.sqx.common.utils.PageUtils;
|
import com.sqx.common.utils.PageUtils;
|
||||||
import com.sqx.modules.app.entity.UserEntity;
|
import com.sqx.modules.app.entity.*;
|
||||||
import com.sqx.modules.app.entity.UserMoney;
|
import com.sqx.modules.app.service.*;
|
||||||
import com.sqx.modules.app.entity.UserMoneyDetails;
|
|
||||||
import com.sqx.modules.app.entity.UserVip;
|
|
||||||
import com.sqx.modules.app.service.UserMoneyDetailsService;
|
|
||||||
import com.sqx.modules.app.service.UserMoneyService;
|
|
||||||
import com.sqx.modules.app.service.UserService;
|
|
||||||
import com.sqx.modules.app.service.UserVipService;
|
|
||||||
import com.sqx.modules.common.service.CommonInfoService;
|
import com.sqx.modules.common.service.CommonInfoService;
|
||||||
import com.sqx.modules.invite.dao.InviteDao;
|
import com.sqx.modules.invite.dao.InviteDao;
|
||||||
import com.sqx.modules.invite.entity.Invite;
|
import com.sqx.modules.invite.entity.Invite;
|
||||||
@@ -34,6 +30,7 @@ import java.math.BigDecimal;
|
|||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 邀请记录
|
* 邀请记录
|
||||||
@@ -60,6 +57,8 @@ public class InviteServiceImpl extends ServiceImpl<InviteDao, Invite> implements
|
|||||||
private UserVipService userVipService;
|
private UserVipService userVipService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysUserService sysUserService;
|
private SysUserService sysUserService;
|
||||||
|
@Autowired
|
||||||
|
private InviteAchievementService inviteAchievementService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageUtils selectInviteList(int page, int limit, Integer state, Long userId) {
|
public PageUtils selectInviteList(int page, int limit, Integer state, Long userId) {
|
||||||
@@ -76,7 +75,36 @@ public class InviteServiceImpl extends ServiceImpl<InviteDao, Invite> implements
|
|||||||
public PageUtils selectInviteUser(int page, int limit, Long userId, Integer state, Integer userType) {
|
public PageUtils selectInviteUser(int page, int limit, Long userId, Integer state, Integer userType) {
|
||||||
UserEntity userEntity = userService.queryByUserId(userId);
|
UserEntity userEntity = userService.queryByUserId(userId);
|
||||||
PageHelper.startPage(page, limit);
|
PageHelper.startPage(page, limit);
|
||||||
return PageUtils.page(new PageInfo<>(inviteDao.selectInviteUser(userEntity.getInvitationCode())));
|
|
||||||
|
LambdaQueryWrapper<UserEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.select(UserEntity::getUserId, UserEntity::getAvatar, UserEntity::getUserName);
|
||||||
|
queryWrapper.eq(UserEntity::getInviterCode, userEntity.getInvitationCode());
|
||||||
|
List<UserEntity> list = userService.list(queryWrapper);
|
||||||
|
PageInfo<UserEntity> pageInfo = new PageInfo<>(list);
|
||||||
|
if (list.isEmpty()) {
|
||||||
|
return PageUtils.page(pageInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Long> userIds = list.stream().map(UserEntity::getUserId).collect(Collectors.toList());
|
||||||
|
LambdaQueryWrapper<InviteAchievement> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper1.gt(InviteAchievement::getCount, 3);
|
||||||
|
queryWrapper1.eq(InviteAchievement::getUserId, userId);
|
||||||
|
queryWrapper1.in(InviteAchievement::getTargetUserId, userIds);
|
||||||
|
List<InviteAchievement> achievementList = inviteAchievementService.list(queryWrapper1);
|
||||||
|
Set<Long> achievementUserIds = achievementList.stream().map(InviteAchievement::getTargetUserId).collect(Collectors.toSet());
|
||||||
|
|
||||||
|
List<JSONObject> jsonList = new ArrayList<>();
|
||||||
|
for (UserEntity entity : list) {
|
||||||
|
JSONObject item = new JSONObject();
|
||||||
|
item.put("userId", entity.getUserId());
|
||||||
|
item.put("avatar", entity.getAvatar());
|
||||||
|
item.put("userName", entity.getUserName());
|
||||||
|
item.put("recordNum", achievementUserIds.contains(entity.getUserId()) ? 1 : 0);
|
||||||
|
|
||||||
|
jsonList.add(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new PageUtils(jsonList, (int) pageInfo.getTotal(), pageInfo.getPageSize(), pageInfo.getPageNum());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user