Helius
2020-12-23 9e899acb8d1176d279709079f1247bf246550700
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
package com.matrix.system.app.action;
 
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.AddVipDto;
import com.matrix.system.app.dto.ModifyVipDto;
import com.matrix.system.app.dto.VipInfoListDto;
import com.matrix.system.app.vo.VipInfoDetailVo;
import com.matrix.system.app.vo.VipInfoListVo;
import com.matrix.system.app.vo.VipInfoVo;
import com.matrix.system.common.bean.CustomerDataDictionary;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.CustomerDataDictionaryDao;
import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.hive.action.BaseController;
import com.matrix.system.hive.bean.SysVipInfo;
import com.matrix.system.hive.bean.SysVipLevel;
import com.matrix.system.hive.service.SysVipInfoService;
import com.matrix.system.hive.service.SysVipLevelService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
 
import java.util.List;
 
/**
 * @author wzy
 * @date 2020-12-21
 **/
@Api(value = "ApiVipInfoAction", tags = "会员接口类")
@RestController
@RequestMapping(value = "/api/vip")
public class ApiVipInfoAction extends BaseController {
 
    @Autowired
    private SysVipInfoService sysVipInfoService;
 
    @Autowired
    private SysVipLevelService sysVipLevelService;
 
    @Autowired
    private CustomerDataDictionaryDao customerDataDictionaryDao;
 
    @ApiOperation(value = "获取会员通讯录列表", notes = "获取会员通讯录列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = VipInfoListVo.class)
    })
    @PostMapping(value = "/findVipInfoList")
    public AjaxResult findVipInfoList(@RequestBody VipInfoListDto vipInfoListDto) {
        if (StringUtils.isBlank(vipInfoListDto.getSort())) {
            vipInfoListDto.setSort("zjm");
        }
 
        if (StringUtils.isBlank(vipInfoListDto.getOrder())) {
            vipInfoListDto.setOrder("asc");
        }
        return AjaxResult.buildSuccessInstance(sysVipInfoService.findVipAddressBook(vipInfoListDto));
    }
 
    @ApiOperation(value = "根据id查询用户信息(通讯录及个人中心)", notes = "根据id查询用户信息")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = VipInfoVo.class)
    })
    @GetMapping(value = "/findVipInfoById/{id}")
    public AjaxResult findVipInfoById(@PathVariable("id") Long id) {
        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
        VipInfoVo vipInfoVo = sysVipInfoService.findApiVipInfoById(id);
        ajaxResult.putInMap("vipInfo", vipInfoVo);
        return ajaxResult;
    }
 
    @ApiOperation(value = "根据id查询用户详细信息")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = VipInfoDetailVo.class)
    })
    @GetMapping(value = "/findVipInfoDetailById/{id}")
    public AjaxResult findVipInfoDetailById(@PathVariable("id") Long id) {
        VipInfoDetailVo vipInfoDetailVo = sysVipInfoService.findVipInfoDetail(id);
        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
        ajaxResult.putInMap("vipInfo", vipInfoDetailVo);
        return ajaxResult;
    }
 
    @ApiOperation(value = "查询会员类型", notes = "查询会员类型")
    @ApiResponses(
            @ApiResponse(code = 200, message = "ok", response = SysVipLevel.class)
    )
    @GetMapping(value = "/findVipType")
    public AjaxResult findVipType() {
        SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        SysVipLevel sysVipLevel = new SysVipLevel();
        if(!DataAuthUtil.hasAllShopAuth()) {
            sysVipLevel.setShopId(sysUsers.getShopId());
        }
 
        return AjaxResult.buildSuccessInstance(sysVipLevelService.findByModel(sysVipLevel));
    }
 
 
    @ApiOperation(value = "获取到店途径列表", notes = "获取到店途径列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = CustomerDataDictionary.class)
    })
    @GetMapping(value = "/findArrivalWayList")
    public AjaxResult findArrivalWayList() {
        List<CustomerDataDictionary> ddtj = customerDataDictionaryDao.selectByParentCode("DDTJ", getMe().getCompanyId());
        return AjaxResult.buildSuccessInstance(ddtj);
    }
 
    @ApiOperation(value = "添加会员", notes = "添加会员")
    @PostMapping(value = "/addVip")
    public AjaxResult addVip(@RequestBody @Validated AddVipDto addVipDto) {
        int i = sysVipInfoService.apiAddVip(addVipDto);
        if (i > 0) {
            return AjaxResult.buildSuccessInstance("新增成功");
        }
        return AjaxResult.buildFailInstance("新增失败");
    }
 
    @ApiOperation(value = "编辑会员", notes = "编辑会员")
    @PostMapping(value = "/modifyVip")
    public AjaxResult modifyVip(@RequestBody ModifyVipDto modifyVipDto) {
        int i = sysVipInfoService.apiModifyVip(modifyVipDto);
        if (i > 0) {
            return AjaxResult.buildSuccessInstance("修改成功");
        }
        return AjaxResult.buildFailInstance("修改失败");
    }
 
    @ApiOperation(value = "获取用户信息列表", notes = "获取用户信息列表")
    @GetMapping(value = "/findAllVipInfo")
    public AjaxResult findAllVipInfo() {
        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        SysVipInfo sysVipInfo = new SysVipInfo();
        if(!DataAuthUtil.hasAllShopAuth()) {
            sysVipInfo.setShopId(user.getShopId());
        }
 
        return AjaxResult.buildSuccessInstance(sysVipInfoService.findAll(sysVipInfo));
    }
}