Administrator
2025-05-27 53f83462c6b0b5cbf366a1a8eb2243d2927b300b
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
package cc.mrbird.febs.mall.controller.memberLevel;
 
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.FebsConstant;
import cc.mrbird.febs.common.utils.FebsUtil;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.AdminMemberLevelService;
import cc.mrbird.febs.mall.service.IAdminHappyActivityService;
import cc.mrbird.febs.mall.vo.AdminLabelSetVo;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
 
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
 
@Controller("levelView")
@RequestMapping(FebsConstant.VIEW_PREFIX + "modules/levelView")
@RequiredArgsConstructor
public class ViewHappyMemberLevelController extends BaseController {
 
    private final AdminMemberLevelService adminMemberLevelService;
    private final HappySaleLevelMapper happySaleLevelMapper;
    private final HappyMemberLabelMapper happyMemberLabelMapper;
    private final HappyMemberLabelRecordMapper happyMemberLabelRecordMapper;
    private final MallMemberMapper  mallMemberMapper;
 
    /**
     * 会员标识列表
     */
    @GetMapping("labelList")
    @RequiresPermissions("labelList:view")
    public String labelList() {
        return FebsUtil.view("modules/levelView/labelList");
    }
 
    /**
     * 会员标识新增
     * @return
     */
    @GetMapping(value = "/labelAdd")
    @RequiresPermissions("labelAdd:add")
    public String labelAdd() {
        return FebsUtil.view("modules/levelView/labelAdd");
    }
 
    /**
     * 会员标识编辑
     * @param id
     * @param model
     * @return
     */
    @GetMapping("labelInfo/{id}")
    @RequiresPermissions("labelInfo:view")
    public String labelInfo(@PathVariable long id, Model model) {
        HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(id);
        model.addAttribute("happyMemberLabel", happyMemberLabel);
        return FebsUtil.view("modules/levelView/labelInfo");
    }
 
    /**
     * 设置会员标识
     * @param id
     * @param model
     * @return
     */
    @GetMapping("labelSet/{id}")
    @RequiresPermissions("labelSet:view")
    public String labelSet(@PathVariable long id, Model model) {
        HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(id);
 
        //右侧数据
        List<HappyMemberLabelRecord> happyMemberLabelRecords = happyMemberLabelRecordMapper.selectList(
                new LambdaQueryWrapper<HappyMemberLabelRecord>()
                        .eq(HappyMemberLabelRecord::getLabelId, id)
        );
 
        //stream流操作happyMemberLabelRecords,获取memberId的set集合
        Set<Long> memberIds = happyMemberLabelRecords.stream().map(HappyMemberLabelRecord::getMemberId).collect(Collectors.toSet());
 
        //左侧数据
        List<MallMember> mallMembers = mallMemberMapper.selectList(
                new LambdaQueryWrapper<MallMember>()
                        .select(MallMember::getId, MallMember::getName,MallMember::getRealName, MallMember::getPhone)
                        .isNotNull(MallMember::getPhone)
                        .eq(MallMember::getAccountStatus, MallMember.ACCOUNT_STATUS_ENABLE)
        );
        //stream流操作mallMembers,生成一个新的List<MallMemberVo>
        List<AdminLabelSetVo> adminLabelSetVos = mallMembers.stream().map(mallMember -> {
            AdminLabelSetVo adminLabelSetVo = new AdminLabelSetVo();
            adminLabelSetVo.setId(mallMember.getId());
            adminLabelSetVo.setLabelName(mallMember.getName()+"("+mallMember.getRealName()+")"+mallMember.getPhone());
            return adminLabelSetVo;
        }).collect(Collectors.toList());
 
 
        model.addAttribute("adminLabelSetVos", adminLabelSetVos);
        model.addAttribute("memberIds", memberIds);
        model.addAttribute("labelId", id);
        return FebsUtil.view("modules/levelView/labelSet");
    }
 
    /**
     * 会员等级列表
     */
    @GetMapping("levelList")
    @RequiresPermissions("levelList:view")
    public String levelList() {
        return FebsUtil.view("modules/levelView/levelList");
    }
 
    /**
     * 会员等级新增
     * @return
     */
    @GetMapping(value = "/levelAdd")
    @RequiresPermissions("levelAdd:add")
    public String levelAdd() {
        return FebsUtil.view("modules/levelView/levelAdd");
    }
 
    /**
     * 会员等级编辑
     * @param id
     * @param model
     * @return
     */
    @GetMapping("levelInfo/{id}")
    @RequiresPermissions("levelInfo:view")
    public String levelInfo(@PathVariable long id, Model model) {
        HappyMemberLevel happyMemberLevel = adminMemberLevelService.getBaseMapper().selectById(id);
        model.addAttribute("happyMemberLevel", happyMemberLevel);
        return FebsUtil.view("modules/levelView/levelInfo");
    }
 
 
 
 
    /**
     * 分销等级列表
     */
    @GetMapping("saleList")
    @RequiresPermissions("saleList:view")
    public String saleList() {
        return FebsUtil.view("modules/levelView/saleList");
    }
 
    /**
     * 分销等级新增
     * @return
     */
    @GetMapping(value = "/saleAdd")
    @RequiresPermissions("saleAdd:add")
    public String saleAdd() {
        return FebsUtil.view("modules/levelView/saleAdd");
    }
 
    /**
     * 分销等级编辑
     * @param id
     * @param model
     * @return
     */
    @GetMapping("saleInfo/{id}")
    @RequiresPermissions("saleInfo:view")
    public String saleInfo(@PathVariable long id, Model model) {
        HappySaleLevel happySaleLevel = happySaleLevelMapper.selectById(id);
        model.addAttribute("happySaleLevel", happySaleLevel);
        return FebsUtil.view("modules/levelView/saleInfo");
    }
 
}