邀请列表

This commit is contained in:
GYJ
2025-01-04 14:38:50 +08:00
parent 02e33e7802
commit 8c3999219b

View File

@@ -1,5 +1,7 @@
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.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -10,14 +12,8 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sqx.common.utils.DateUtils;
import com.sqx.common.utils.PageUtils;
import com.sqx.modules.app.entity.UserEntity;
import com.sqx.modules.app.entity.UserMoney;
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.app.entity.*;
import com.sqx.modules.app.service.*;
import com.sqx.modules.common.service.CommonInfoService;
import com.sqx.modules.invite.dao.InviteDao;
import com.sqx.modules.invite.entity.Invite;
@@ -34,6 +30,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* 邀请记录
@@ -60,6 +57,8 @@ public class InviteServiceImpl extends ServiceImpl<InviteDao, Invite> implements
private UserVipService userVipService;
@Autowired
private SysUserService sysUserService;
@Autowired
private InviteAchievementService inviteAchievementService;
@Override
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) {
UserEntity userEntity = userService.queryByUserId(userId);
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