无关风月
2025-04-03 b01f752252eaadd1fa31eda6a9ad43146660b721
xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java
@@ -16,6 +16,7 @@
import com.xinquan.common.core.utils.page.CollUtils;
import com.xinquan.common.core.utils.page.PageDTO;
import com.xinquan.common.core.web.domain.BaseModel;
import com.xinquan.common.core.web.page.PageInfo;
import com.xinquan.common.log.annotation.Log;
import com.xinquan.common.log.enums.BusinessType;
import com.xinquan.common.redis.service.RedisService;
@@ -128,7 +129,26 @@
    private NoticeRecordService noticeRecordService;
    @Resource
    private AppUserBlackService appUserBlackService;
    /**
     * 远程调用 保存邀请码
     */
    @PostMapping("/saveQrCode")
    public R saveQrCode(@RequestBody AppUser appUser){
      appUserService.updateById(appUser);
       return R.ok();
    }
    /**
     * 远程调用 查询用户信息
     */
    @GetMapping("/getUserById/{id}")
    public R<AppUser> getUserById(@PathVariable("id") Long id){
        AppUser byId = appUserService.getById(id);
        if (byId==null){
            return R.fail();
        }else{
            return R.ok(byId);
        }
    }
    /**
     * 远程调用 查询当前登陆人拉黑列表
     * @param appUserId
@@ -420,6 +440,7 @@
        StringBuilder stringBuilder = new StringBuilder();
        List<AppUser> list = appUserService.lambdaQuery()
                .eq(BaseModel::getDelFlag, 0)
                .isNotNull(AppUser::getCellPhone)
                .ne(AppUser::getUserStatus, 3).list();
        stringBuilder.append(list.size()).append(",");
        List<AppUser> memberList = list.stream().filter(appUser ->
@@ -734,6 +755,7 @@
        appUserWalletRecordLambdaQueryWrapper.like(org.springframework.util.StringUtils.hasLength(dto.getCellPhone()),AppUser::getCellPhone,dto.getCellPhone());
        appUserWalletRecordLambdaQueryWrapper.like(org.springframework.util.StringUtils.hasLength(dto.getNickName()),AppUser::getNickname,dto.getNickName());
        appUserWalletRecordLambdaQueryWrapper.orderByDesc(BaseModel::getCreateTime);
        appUserWalletRecordLambdaQueryWrapper.isNotNull(AppUser::getCellPhone);
        List<AppUser> page = appUserService
                .list(appUserWalletRecordLambdaQueryWrapper);
        List<UserInfoExport> userInfoExports = new ArrayList<>();
@@ -809,7 +831,8 @@
                .eq(Objects.nonNull(courseDTO.getGender()), AppUser::getGender, courseDTO.getGender())
                .eq(Objects.nonNull(courseDTO.getUserStatus()), AppUser::getUserStatus, courseDTO.getUserStatus())
                .between(Objects.nonNull(startTime),AppUser::getVipExpireTime,startTime,endTime)
                .between(Objects.nonNull(startTime1),AppUser::getRegisterTime,startTime1,endTime1)
                .between(Objects.nonNull(startTime1),AppUser::getRegisterTime,startTime1,endTime1);
        courseLambdaQueryWrapper.isNotNull(AppUser::getCellPhone)
                .orderByDesc(AppUser::getRegisterTime);
        if (org.springframework.util.StringUtils.hasLength(courseDTO.getVipType())){
            String[] split = courseDTO.getVipType().split(",");
@@ -1182,7 +1205,7 @@
        byId.setUserStatus(3);
        byId.setLogoutTime(LocalDateTime.now());
        appUserService.updateById(byId);
        appUserService.removeById(byId);
//        appUserService.removeById(byId);
        remoteUserService.removeByAppUserId(byId.getUserId());
        return R.ok();
    }
@@ -1248,9 +1271,14 @@
                .list();
        // 查询登录用户邀请了哪些人
        List<Long> collect = page.stream().map(AppUser::getId).collect(Collectors.toList());
        List<AppUserWalletRecord> list1 = appUserWalletRecordService.lambdaQuery().list();
        for (AppUser record : page) {
            List<AppUserWalletRecord> list = appUserWalletRecordService.lambdaQuery().eq(AppUserWalletRecord::getAppUserId, userId)
                    .like(AppUserWalletRecord::getReason,"分佣").eq(AppUserWalletRecord::getChildAppUserId, record.getId()).list();
            List<AppUserWalletRecord> list = list1.stream().filter(e -> e.getAppUserId().equals(userId) && e.getReason().contains("分佣")
                    && e.getChildAppUserId().equals(record.getId())
            ).collect(Collectors.toList());
//            List<AppUserWalletRecord> list = appUserWalletRecordService.lambdaQuery().eq(AppUserWalletRecord::getAppUserId, userId)
//                    .like(AppUserWalletRecord::getReason,"分佣").eq(AppUserWalletRecord::getChildAppUserId, record.getId()).list();
            BigDecimal reduce = list.stream().map(AppUserWalletRecord::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
            record.setMoney(reduce);
        }
@@ -1279,9 +1307,17 @@
                .list();
        // 查询登录用户邀请了哪些人
        List<Long> collect = page.stream().map(AppUser::getId).collect(Collectors.toList());
        List<AppUserWalletRecord> list1 = appUserWalletRecordService.lambdaQuery().list();
        for (AppUser record : page) {
            List<AppUserWalletRecord> list = appUserWalletRecordService.lambdaQuery().eq(AppUserWalletRecord::getAppUserId, userId)
                    .like(AppUserWalletRecord::getReason,"分佣").eq(AppUserWalletRecord::getChildAppUserId, record.getId()).list();
            List<AppUserWalletRecord> list = list1.stream().filter(e -> e.getAppUserId().equals(Long.valueOf(userId))
                    && e.getReason().contains("分佣")
                    && e.getChildAppUserId().equals(record.getId())
            ).collect(Collectors.toList());
//            List<AppUserWalletRecord> list = appUserWalletRecordService.lambdaQuery().eq(AppUserWalletRecord::getAppUserId, userId)
//                    .like(AppUserWalletRecord::getReason,"分佣")
//                    .eq(AppUserWalletRecord::getChildAppUserId, record.getId()).list();
            BigDecimal reduce = list.stream().map(AppUserWalletRecord::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
            record.setMoney(reduce);
        }
@@ -1311,26 +1347,30 @@
    public R<PageDTO<InviteRankListVO>> inviteRankList(
            @RequestParam(value = "pageCurr", defaultValue = "1") Integer pageCurr,
            @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
        Page<AppUser> objectPage = new Page<>(pageCurr, pageSize);
        Page<InviteRankListVO> objectPage = new Page<>(pageCurr, pageSize);
        int pageNo = (pageCurr - 1) * pageSize;
        List<AppUser> page = appUserService.lambdaQuery().ne(AppUser::getUserStatus, 3)
                .list();
        List<AppUser> res = new ArrayList<>();
        for (AppUser appUser : page) {
            int size = appUserService.lambdaQuery().ne(AppUser::getUserStatus, 3)
                    .eq(AppUser::getInviteUserId, appUser.getId())
                    .list().size();
            appUser.setCount(size);
            if (size>0){
                res.add(appUser);
            }
        }
        // 根据帮助人数 从大到小排序
        res.sort((o1, o2) -> o2.getCount() - o1.getCount());
        List<AppUser> testing = testing(res.size(), pageCurr, pageSize, res);
        objectPage.setRecords(testing);
        objectPage.setTotal(res.size());
        List<InviteRankListVO> list = appUserService.inviteRankList(pageNo,pageSize);
        int size = appUserService.inviteRankListNolimit().size();
        objectPage.setRecords(list);
        objectPage.setTotal(size);
        return R.ok(PageDTO.of(objectPage, InviteRankListVO.class)) ;
//        List<AppUser> page = appUserService.lambdaQuery().ne(AppUser::getUserStatus, 3)
//                .list();
//        List<AppUser> res = new ArrayList<>();
//        for (AppUser appUser : page) {
//            int size = appUserService.lambdaQuery().ne(AppUser::getUserStatus, 3)
//                    .eq(AppUser::getInviteUserId, appUser.getId())
//                    .list().size();
//            appUser.setCount(size);
//            if (size>0){
//                res.add(appUser);
//            }
//        }
//        // 根据帮助人数 从大到小排序
//        res.sort((o1, o2) -> o2.getCount() - o1.getCount());
//        List<AppUser> testing = testing(res.size(), pageCurr, pageSize, res);
    }
    public static List<AppUser> testing(long total, long current, long size, List<AppUser> str){
        List<AppUser> result = new ArrayList<>();
@@ -1362,25 +1402,13 @@
    public R<PageDTO<InviteRankListVO>> inviteRankListShare(
            @RequestParam(value = "pageCurr", defaultValue = "1") Integer pageCurr,
            @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
        Page<AppUser> objectPage = new Page<>(pageCurr, pageSize);
        Page<InviteRankListVO> objectPage = new Page<>(pageCurr, pageSize);
        int pageNo = (pageCurr - 1) * pageSize;
        List<AppUser> page = appUserService.lambdaQuery().ne(AppUser::getUserStatus, 3)
                .list();
        List<AppUser> res = new ArrayList<>();
        for (AppUser appUser : page) {
            int size = appUserService.lambdaQuery().ne(AppUser::getUserStatus, 3)
                    .eq(AppUser::getInviteUserId, appUser.getId())
                    .list().size();
            appUser.setCount(size);
            if (size>0){
                res.add(appUser);
            }
        }
        // 根据帮助人数 从大到小排序
        res.sort((o1, o2) -> o2.getCount() - o1.getCount());
        List<AppUser> testing = testing(res.size(), pageCurr, pageSize, res);
        objectPage.setRecords(testing);
        objectPage.setTotal(res.size());
        List<InviteRankListVO> list = appUserService.inviteRankList(pageNo,pageSize);
        int size = appUserService.inviteRankListNolimit().size();
        objectPage.setRecords(list);
        objectPage.setTotal(size);
        return R.ok(PageDTO.of(objectPage, InviteRankListVO.class)) ;
    }
    @PostMapping("/inviteRankListShareInfo")