| | |
| | | import com.ruoyi.im.out.UserAccountOut; |
| | | import com.ruoyi.im.service.ImApiServcie; |
| | | import com.ruoyi.im.service.UserKycService; |
| | | import com.ruoyi.im.service.UserPolicyService; |
| | | import com.ruoyi.im.util.ConverterUtil; |
| | | import com.ruoyi.im.util.PhoneNumberValidatorUtil; |
| | | import com.ruoyi.im.util.SymmetricCryptoUtil; |
| | | import com.ruoyi.system.domain.UserAccount; |
| | | import com.ruoyi.system.domain.UserKyc; |
| | | import com.ruoyi.system.domain.UserPolicy; |
| | | import com.ruoyi.system.domain.vo.UserAccountUpdateVo; |
| | | import com.ruoyi.system.domain.vo.UserAccountVo; |
| | | import com.ruoyi.system.service.UserAccountService; |
| | |
| | | |
| | | @Autowired |
| | | private UserKycService userKycService; |
| | | |
| | | @Autowired |
| | | UserPolicyService userPolicyService; |
| | | |
| | | /** |
| | | * 获取会员列表 |
| | |
| | | if (ObjectUtil.isEmpty(userAccounts) || maxLevel <= 0) { |
| | | return new ArrayList<>(); |
| | | } |
| | | // 收集用户ID用于查询激活状态 |
| | | List<Integer> idList = userAccounts.stream() |
| | | .map(UserAccount::getId) |
| | | .filter(ObjectUtil::isNotEmpty) |
| | | .collect(Collectors.toList()); |
| | | |
| | | // 先转换基础信息 |
| | | List<UserAccountOut> result = ConverterUtil.convertToList(userAccounts, UserAccountOut.class); |
| | | // 批量查询激活状态 |
| | | Set<Integer> activatedUserIds = Collections.emptySet(); |
| | | if (!idList.isEmpty()) { |
| | | LambdaQueryWrapper<UserPolicy> userPolicyWrapper = new LambdaQueryWrapper<>(); |
| | | userPolicyWrapper.in(UserPolicy::getUserId, idList) |
| | | .eq(UserPolicy::getApprovalStatus, 1) |
| | | .select(UserPolicy::getUserId); |
| | | |
| | | List<UserPolicy> policyList = userPolicyService.list(userPolicyWrapper); |
| | | activatedUserIds = policyList.stream() |
| | | .map(UserPolicy::getUserId) |
| | | .collect(Collectors.toSet()); |
| | | } |
| | | |
| | | // 转换基础信息并设置激活状态 |
| | | List<UserAccountOut> result = new ArrayList<>(); |
| | | for (UserAccount user : userAccounts) { |
| | | UserAccountOut out = ConverterUtil.convert(user, UserAccountOut.class); |
| | | // 设置激活状态 |
| | | out.setActivate(activatedUserIds.contains(user.getId())); |
| | | result.add(out); |
| | | } |
| | | |
| | | // 递归加载下级用户 |
| | | loadSubordinateUsersRecursive(result, maxLevel); |
| | |
| | | List<UserAccount> subordinates = userAccountService.list(queryWrapper); |
| | | |
| | | List<UserAccountOut> result = ConverterUtil.convertToList(subordinates, UserAccountOut.class); |
| | | |
| | | return AjaxResult.success(result); |
| | | } catch (Exception e) { |
| | | log.error("获取直接下级列表失败", e); |