44323
2024-01-24 9c66102a4fae1922aac72dc153e3e76b5856bae3
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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
package com.ruoyi.member.controller.management;
 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.member.domain.dto.*;
import com.ruoyi.member.domain.vo.*;
import com.ruoyi.member.service.member.*;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import com.ruoyi.system.api.domain.dto.MgtFrozenMemberDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
 
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
 
/**
 * @author jqs34
 * @ClassName ShopController
 * @description: TODO
 * @date 2023年04月21日
 * @version: 1.0
 */
@Api(value = "管理台会员相关接口", tags = "管理台会员相关接口", description = "管理台会员相关接口")
@RestController
@RequestMapping("/mgt/member")
public class MgtMemberController {
 
 
    @Resource
    private MemberService memberService;
 
    @Resource
    private IntegralRecordService integralRecordService;
 
    @Resource
    private BrowseRecordService browseRecordService;
 
    @Resource
    private MemberArchiveFieldsService memberArchiveFieldsService;
 
    @Resource
    private MemberSuggestService memberSuggestService;
 
 
    @RequestMapping(value = "/pageMgtMember", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取会员列表")
    public R<Page<MgtMemberPageVo>> pageMgtMember(@RequestBody MgtMemberPageDto mgtMemberPageDto) {
        Page<MgtMemberPageVo> page = new Page<>();
        page.setSize(mgtMemberPageDto.getPageSize());
        page.setCurrent(mgtMemberPageDto.getPageNum());
        // 获取当前登陆人的可视权限
        Long userId = SecurityUtils.getUserId();
 
        List<MgtMemberPageVo> mgtShopPageVoList = memberService.pageMgtMember(page,mgtMemberPageDto);
        return R.ok(page.setRecords(mgtShopPageVoList));
    }
 
    @RequestMapping(value = "/exportPageMgtMember", method = RequestMethod.POST)
    @ApiOperation(value = "导出会员列表")
    public void exportPageMgtMember(MgtMemberPageDto mgtMemberPageDto, HttpServletResponse response) {
        Page<MgtMemberPageVo> page = new Page<>();
        if(mgtMemberPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtMemberPageDto.getPageSize());
            page.setCurrent(mgtMemberPageDto.getPageNum());
        }
        List<MgtMemberPageVo> mgtShopPageVoList = memberService.pageMgtMember(page,mgtMemberPageDto);
        ExcelUtil<MgtMemberPageVo> util = new ExcelUtil<MgtMemberPageVo>(MgtMemberPageVo.class);
        util.exportExcel(response, mgtShopPageVoList, "用户管理");
    }
 
    @RequestMapping(value = "/editMemberRelationShop", method = RequestMethod.POST)
    @Log(title = "会员管理", businessType = BusinessType.UPDATE,operContent = "修改会员关联商户")
    @ApiOperation(value = "修改会员关联商户")
    public R<MerMemberInfoVo> getMerMemberInfo(@RequestBody MgtMemberRelEditDto mgtMemberRelEditDto) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberRelEditDto.setUserId(userId);
        memberService.editMemberRelationShop(mgtMemberRelEditDto);
        return R.ok();
    }
 
    @RequestMapping(value = "/deleteMemberRelationShop", method = RequestMethod.POST)
    @Log(title = "会员管理", businessType = BusinessType.DELETE,operContent = "删除会员关联商户")
    @ApiOperation(value = "删除会员关联商户")
    public R<MerMemberInfoVo> deleteMemberRelationShop(@RequestBody MgtMemberRelDelDto mgtMemberRelDelDto) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberRelDelDto.setUserId(userId);
        memberService.deleteMemberRelationShop(mgtMemberRelDelDto);
        return R.ok();
    }
 
    @RequestMapping(value = "/editMemberIntegral", method = RequestMethod.POST)
    @Log(title = "会员管理", businessType = BusinessType.UPDATE,operContent = "修改会员积分")
    @ApiOperation(value = "修改会员积分")
    public R<MerMemberInfoVo> editMemberIntegral(@RequestBody MgtMemberIntEditDto mgtMemberIntEditDto) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberIntEditDto.setUserId(userId);
        memberService.editMemberIntegral(mgtMemberIntEditDto);
        return R.ok();
    }
 
    @RequestMapping(value = "/getMgtMemberInfo", method = RequestMethod.POST)
    @ApiOperation(value = "获取会员信息")
    public R<MgtMemberGetVo> getMgtMemberInfo(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
        mgtBaseGetDto.setUserId(userId);
        MgtMemberGetVo mgtMemberGetVo = memberService.getMgtMemberInfo(Long.valueOf(mgtBaseGetDto.getId()));
        return R.ok(mgtMemberGetVo);
    }
 
    @RequestMapping(value = "/listMgtArchiveFields", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取档案字段")
    public R<List<MgtArchiveFieldsListVo>> listMgtArchiveFields() {
        List<MgtArchiveFieldsListVo> archiveFieldsListVoList = memberArchiveFieldsService.listMgtArchiveFields();
        return R.ok(archiveFieldsListVoList);
    }
 
    @RequestMapping(value = "/pageMgtMemberIntegral", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取用户积分列表")
    public R<Page<MgtMemberIntegralPageVo>> pageMgtMemberIntegral(@RequestBody MgtMemberIntegralPageDto mgtMemberIntegralPageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberIntegralPageDto.setUserId(userId);
        Page<MgtMemberIntegralPageVo> page = new Page<>();
        if(mgtMemberIntegralPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtMemberIntegralPageDto.getPageSize());
            page.setCurrent(mgtMemberIntegralPageDto.getPageNum());
        }
        List<MgtMemberIntegralPageVo> mgtMemberIntegralPageVoList = integralRecordService.pageMgtMemberIntegral(page,mgtMemberIntegralPageDto);
        return R.ok(page.setRecords(mgtMemberIntegralPageVoList));
    }
 
    @RequestMapping(value = "/exportPageMgtMemberIntegral", method = RequestMethod.POST)
    @ApiOperation(value = "导出用户积分列表")
    public void exportPageMgtMemberIntegral( MgtMemberIntegralPageDto mgtMemberIntegralPageDto, HttpServletResponse response) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberIntegralPageDto.setUserId(userId);
        Page<MgtMemberIntegralPageVo> page = new Page<>();
        page.setSize(mgtMemberIntegralPageDto.getPageSize());
        page.setCurrent(mgtMemberIntegralPageDto.getPageNum());
        List<MgtMemberIntegralPageVo> mgtMemberIntegralPageVoList = integralRecordService.pageMgtMemberIntegral(page,mgtMemberIntegralPageDto);
        ExcelUtil<MgtMemberIntegralPageVo> util = new ExcelUtil<MgtMemberIntegralPageVo>(MgtMemberIntegralPageVo.class);
        util.exportExcel(response, mgtMemberIntegralPageVoList, "用户积分列表");
    }
 
    @RequestMapping(value = "/pageMgtMemberBrowse", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取用户浏览记录")
    public R<Page<MgtMemberBrowsePageVo>> pageMgtMemberBrowse(@RequestBody MgtMemberBrowsePageDto mgtMemberBrowsePageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberBrowsePageDto.setUserId(userId);
        Page<MgtMemberBrowsePageVo> page = new Page<>();
        page.setSize(mgtMemberBrowsePageDto.getPageSize());
        page.setCurrent(mgtMemberBrowsePageDto.getPageNum());
        List<MgtMemberBrowsePageVo> mgtMemberBrowsePageVoList = browseRecordService.pageMgtMemberBrowse(page,mgtMemberBrowsePageDto);
        return R.ok(page.setRecords(mgtMemberBrowsePageVoList));
    }
 
    @RequestMapping(value = "/exportPageMgtMemberBrowse", method = RequestMethod.POST)
    @ApiOperation(value = "导出用户浏览记录")
    public void exportPageMgtMemberBrowse( MgtMemberBrowsePageDto mgtMemberBrowsePageDto, HttpServletResponse response) {
        Long userId = SecurityUtils.getUserId();
        mgtMemberBrowsePageDto.setUserId(userId);
        Page<MgtMemberBrowsePageVo> page = new Page<>();
        if(mgtMemberBrowsePageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtMemberBrowsePageDto.getPageSize());
            page.setCurrent(mgtMemberBrowsePageDto.getPageNum());
        }
        List<MgtMemberBrowsePageVo> mgtMemberBrowsePageVoList = browseRecordService.pageMgtMemberBrowse(page,mgtMemberBrowsePageDto);
        ExcelUtil<MgtMemberBrowsePageVo> util = new ExcelUtil<MgtMemberBrowsePageVo>(MgtMemberBrowsePageVo.class);
        util.exportExcel(response, mgtMemberBrowsePageVoList, "用户浏览记录");
    }
 
    @RequestMapping(value = "/editMemberArchiveFields", method = RequestMethod.POST)
    @Log(title = "会员管理", businessType = BusinessType.UPDATE,operContent = "编辑会员档案")
    @ApiOperation(value = "编辑会员档案")
    public R editMemberArchiveFields(@RequestBody MgtArchiveFieldsEditDto mgtArchiveFieldsEditDto) {
        Long userId = SecurityUtils.getUserId();
        mgtArchiveFieldsEditDto.setUserId(userId);
        memberArchiveFieldsService.editMemberArchiveFields(mgtArchiveFieldsEditDto);
        return R.ok();
    }
 
    @RequestMapping(value = "/deleteMemberArchiveFields", method = RequestMethod.POST)
    @Log(title = "会员管理", businessType = BusinessType.UPDATE,operContent = "删除会员档案")
    @ApiOperation(value = "删除会员档案")
    public R deleteMemberArchiveFields(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
        mgtBaseGetDto.setUserId(userId);
        memberArchiveFieldsService.deleteMemberArchiveFields(mgtBaseGetDto);
        return R.ok();
    }
 
 
    @RequestMapping(value = "/pageMgtMemberSuggest", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取用户建议列表")
    public R<Page<MgtMemberSuggestPageVo>> pageMgtMemberSuggest(@RequestBody MgtMemberSuggestPageDto memberSuggestPageDto) {
        Long userId = SecurityUtils.getUserId();
        memberSuggestPageDto.setUserId(userId);
        Page<MgtMemberSuggestPageVo> page = new Page<>();
        page.setSize(memberSuggestPageDto.getPageSize());
        page.setCurrent(memberSuggestPageDto.getPageNum());
        List<MgtMemberSuggestPageVo> mgtMemberSuggestPageVoList = memberSuggestService.pageMgtMemberSuggest(page,memberSuggestPageDto);
        return R.ok(page.setRecords(mgtMemberSuggestPageVoList));
    }
 
    @RequestMapping(value = "/exportPageMgtMemberSuggest", method = RequestMethod.POST)
    @ApiOperation(value = "导出用户建议列表")
    public void exportPageMgtMemberSuggest( MgtMemberSuggestPageDto memberSuggestPageDto, HttpServletResponse response) {
        Long userId = SecurityUtils.getUserId();
        memberSuggestPageDto.setUserId(userId);
        Page<MgtMemberSuggestPageVo> page = new Page<>();
        if(memberSuggestPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(memberSuggestPageDto.getPageSize());
            page.setCurrent(memberSuggestPageDto.getPageNum());
        }
        List<MgtMemberSuggestPageVo> mgtMemberSuggestPageVoList = memberSuggestService.pageMgtMemberSuggest(page,memberSuggestPageDto);
        ExcelUtil<MgtMemberSuggestPageVo> util = new ExcelUtil<MgtMemberSuggestPageVo>(MgtMemberSuggestPageVo.class);
        util.exportExcel(response, mgtMemberSuggestPageVoList, "用户建议列表");
    }
 
    @RequestMapping(value = "/mgtReplayMemberSuggest", method = RequestMethod.POST)
    @Log(title = "会员建议管理", businessType = BusinessType.UPDATE,operContent = "回复会员建议")
    @ApiOperation(value = "平台回复会员建议")
    public R mgtReplayMemberSuggest(@RequestBody MgtReplayMemberSuggestDto mgtReplayMemberSuggestDto) {
        Long userId = SecurityUtils.getUserId();
        mgtReplayMemberSuggestDto.setUserId(userId);
        memberSuggestService.mgtReplayMemberSuggest(mgtReplayMemberSuggestDto);
        return R.ok();
    }
 
 
    @RequestMapping(value = "/listMgtMemberSuggestTag", method = RequestMethod.POST)
    @ApiOperation(value = "获取会员建议标签")
    public R<List<MgtMemberSuggestTagVo>> listMgtMemberSuggestTag(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        List<MgtMemberSuggestTagVo> mgtMemberSuggestTagVoList = memberSuggestService.listMgtMemberSuggestTag(Long.valueOf(mgtBaseGetDto.getId()));
        return R.ok(mgtMemberSuggestTagVoList);
    }
 
    @RequestMapping(value = "/mgtEditMemberSuggestTag", method = RequestMethod.POST)
    @Log(title = "会员建议管理", businessType = BusinessType.UPDATE,operContent = "编辑会员建议标签")
    @ApiOperation(value = "平台编辑会员建议标签")
    public R mgtEditMemberSuggestTag(@RequestBody MgtTagMemberSuggestDto mgtTagMemberSuggestDto) {
        Long userId = SecurityUtils.getUserId();
        mgtTagMemberSuggestDto.setUserId(userId);
        memberSuggestService.mgtEditMemberSuggestTag(mgtTagMemberSuggestDto);
        return R.ok();
    }
 
    @RequestMapping(value = "/mgtFrozenMember", method = RequestMethod.POST)
    @Log(title = "会员管理", businessType = BusinessType.UPDATE,operContent = "冻结会员")
    @ApiOperation(value = "冻结会员")
    public R mgtReplayMemberSuggest(@RequestBody MgtFrozenMemberDto mgtFrozenMemberDto) {
        Long userId = SecurityUtils.getUserId();
        mgtFrozenMemberDto.setUserId(userId);
        memberService.mgtFrozenMember(mgtFrozenMemberDto);
        return R.ok();
    }
}