luodangjia
2025-01-15 257d66798aa538f8737980f13d94c547bf0b51ea
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.ruoyi.order.account;
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.account.RuoYiAccountApplication;
import com.ruoyi.account.api.model.AppUser;
import com.ruoyi.account.service.AppUserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.util.CollectionUtils;
 
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
 
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiAccountApplication.class)
public class RuoYiAccountApplicationTests {
 
    @Autowired
    private AppUserService appUserService;
 
    @Test
    public void contextLoads() {
        List<AppUser> appUserList = appUserService.list(new LambdaQueryWrapper<AppUser>()
                .ne(AppUser::getStatus, 3)
                .eq(AppUser::getDelFlag, 0));
        AppUser user = appUserService.getById(1879046499735789569L);
        ArrayList<Long> userIds = new ArrayList<>();
        userIds.add(1879046499735789569L);
        getUserAncestorList(user,userIds, appUserList);
        System.err.println(user.getCount1());
        System.err.println(user.getCount2());
        System.err.println(user.getCount3());
        System.err.println(user.getCount4());
        System.err.println(user.getCount5());
        System.err.println(user.getCount6());
        System.err.println(user.getCount7());
    }
    public void getUserAncestorList(AppUser user,List<Long> userIds, List<AppUser> list) {
        List<AppUser> children = list.stream().filter(u -> userIds.contains(u.getInviteUserId()) || userIds.contains(u.getTopInviteId())).collect(Collectors.toList());
        if(!CollectionUtils.isEmpty(children)){
            user.setCount1((user.getCount1() == null ? 0L : user.getCount1()) + children.stream().filter(e->e.getVipId() == 1).count());
            user.setCount2((user.getCount2() == null ? 0L : user.getCount2()) + children.stream().filter(e->e.getVipId() == 2).count());
            user.setCount3((user.getCount3() == null ? 0L : user.getCount3()) + children.stream().filter(e->e.getVipId() == 3).count());
            user.setCount4((user.getCount4() == null ? 0L : user.getCount4()) + children.stream().filter(e->e.getVipId() == 4).count());
            user.setCount5((user.getCount5() == null ? 0L : user.getCount5()) + children.stream().filter(e->e.getVipId() == 5).count());
            user.setCount6((user.getCount6() == null ? 0L : user.getCount6()) + children.stream().filter(e->e.getVipId() == 6).count());
            user.setCount7((user.getCount7() == null ? 0L : user.getCount7()) + children.stream().filter(e->e.getVipId() == 7).count());
            List<Long> userIdList = children.stream().map(AppUser::getId).collect(Collectors.toList());
            getUserAncestorList(user,userIdList, children);
        }
    }
 
 
}