From 8c3999219b5abcfeacbf4ab0d8189e88fdb982a8 Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Sat, 4 Jan 2025 14:38:50 +0800 Subject: [PATCH] =?UTF-8?q?=E9=82=80=E8=AF=B7=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/InviteServiceImpl.java | 46 +++++++++++++++---- 1 file changed, 37 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/sqx/modules/invite/service/impl/InviteServiceImpl.java b/src/main/java/com/sqx/modules/invite/service/impl/InviteServiceImpl.java index f37a874b..b96e6ccf 100644 --- a/src/main/java/com/sqx/modules/invite/service/impl/InviteServiceImpl.java +++ b/src/main/java/com/sqx/modules/invite/service/impl/InviteServiceImpl.java @@ -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 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 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 queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.select(UserEntity::getUserId, UserEntity::getAvatar, UserEntity::getUserName); + queryWrapper.eq(UserEntity::getInviterCode, userEntity.getInvitationCode()); + List list = userService.list(queryWrapper); + PageInfo pageInfo = new PageInfo<>(list); + if (list.isEmpty()) { + return PageUtils.page(pageInfo); + } + + List userIds = list.stream().map(UserEntity::getUserId).collect(Collectors.toList()); + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.gt(InviteAchievement::getCount, 3); + queryWrapper1.eq(InviteAchievement::getUserId, userId); + queryWrapper1.in(InviteAchievement::getTargetUserId, userIds); + List achievementList = inviteAchievementService.list(queryWrapper1); + Set achievementUserIds = achievementList.stream().map(InviteAchievement::getTargetUserId).collect(Collectors.toSet()); + + List 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