guohongjin
2024-05-01 1901fceb6ddaa56a57f3131191454554c3e77e68
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
package cn.stylefeng.guns.modular.business.controller;
 
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.StrUtil;
import cn.stylefeng.guns.modular.business.entity.MentalTestClass;
import cn.stylefeng.guns.modular.business.service.IMentalTestClassService;
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.rule.annotation.BusinessLog;
import cn.stylefeng.roses.kernel.rule.enums.ResBizTypeEnum;
import cn.stylefeng.roses.kernel.rule.pojo.response.ErrorResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import java.util.List;
 
/**
 * 心理测试分类管理
 * @author guo
 */
@RestController
@Api(tags = "心理测试分类管理")
@ApiResource(name = "心理测试分类管理", resBizType = ResBizTypeEnum.BUSINESS)
@RequestMapping("/business")
public class MentalTestClassController  {
 
    @Resource
    private IMentalTestClassService mentalTestClassService;
 
    /**
     * 添加心理测试分类     *
     */
    @ApiOperation("添加心理测试分类")
    @PostResource(name = "添加心理测试分类", path = "/mentalTestClass/add")
    @BusinessLog
    public ResponseData<?> add(@RequestBody MentalTestClass mentalTestClass) {
        this.mentalTestClassService.save(mentalTestClass);
        return new SuccessResponseData<>();
    }
 
    /**
     * 删除心理测试分类     *
     */
    @ApiOperation("删除心理测试分类")
    @PostResource(name = "删除心理测试分类", path = "/mentalTestClass/delete")
    @BusinessLog
    public ResponseData<?> delete(@RequestParam String ids) {
        if (StrUtil.isBlank(ids)){
            return new ErrorResponseData<>("500","id不能为空");
        }
        LambdaUpdateWrapper<MentalTestClass> lambdaUpdateWrapper = new LambdaUpdateWrapper<MentalTestClass>().set(MentalTestClass::getIsDelete,true);
        lambdaUpdateWrapper.in(MentalTestClass::getId, ListUtil.toList(ids.split(",")));
        this.mentalTestClassService.update(lambdaUpdateWrapper);
        return new SuccessResponseData<>();
    }
 
    /**
     * 修改心理测试分类     *
     */
    @ApiOperation("修改心理测试分类")
    @PostResource(name = "修改心理测试分类", path = "/mentalTestClass/edit")
    @BusinessLog
    public ResponseData<?> edit(@RequestBody MentalTestClass mentalTestClass) {
        this.mentalTestClassService.updateById(mentalTestClass);
        return new SuccessResponseData<>();
    }
 
    /**
     * 修改心理测试分类状态     *
     */
    @ApiOperation("修改心理测试分类状态")
    @PostResource(name = "修改心理测试分类状态", path = "/mentalTestClass/updateStatus")
    @BusinessLog
    public ResponseData<?> updateStatus(String ids, Integer status) {
        if (StrUtil.isBlank(ids)){
            return new ErrorResponseData<>("500","id不能为空");
        }
        LambdaUpdateWrapper<MentalTestClass> lambdaUpdateWrapper = new LambdaUpdateWrapper<MentalTestClass>().set(MentalTestClass::getStatusFlag,status);
        lambdaUpdateWrapper.in(MentalTestClass::getId, ListUtil.toList(ids.split(",")));
        this.mentalTestClassService.update(lambdaUpdateWrapper);
        return new SuccessResponseData<>();
    }
 
    /**
     * 获取心理测试分类详情
     */
    @ApiOperation("获取心理测试分类详情")
    @GetResource(name = "获取心理测试分类详情", path = "/mentalTestClass/detail/{id}", requiredPermission = false)
    public ResponseData<MentalTestClass> detail(@PathVariable("id") Long id) {
        MentalTestClass mentalTestClass = this.mentalTestClassService.getById(id);
        return new SuccessResponseData<>(mentalTestClass);
    }
 
    /**
     * 获取心理测试分类列表
     *
     */
    @ApiOperation("获取心理测试分类列表")
    @GetResource(name = "获取心理测试分类列表", path = "/mentalTestClass/list", requiredPermission = false)
    @ApiImplicitParams({
            @ApiImplicitParam(name = "name", value = "分类名称", dataTypeClass = String.class, paramType = "query"),
    })
    public ResponseData<List<MentalTestClass>> list(String name) {
        LambdaQueryWrapper<MentalTestClass> lambdaQueryWrapper = new LambdaQueryWrapper<MentalTestClass>()
                .like(StrUtil.isNotBlank(name), MentalTestClass::getName, name)
                .eq(MentalTestClass::getIsDelete, false)
                .orderByDesc(MentalTestClass::getId);
        return new SuccessResponseData<>(mentalTestClassService.list(lambdaQueryWrapper));
    }
 
    /**
     * 获取心理测试分类列表(分页)
     */
    @ApiOperation("获取心理测试分类列表(分页)")
    @GetResource(name = "获取心理测试分类列表(分页)", path = "/mentalTestClass/page", requiredPermission = false)
    @ApiImplicitParams({
            @ApiImplicitParam(name = "pageNo", value = "分页:第几页(从1开始)", dataTypeClass = Integer.class, paramType = "query"),
            @ApiImplicitParam(name = "pageSize", value = "分页:每页大小(默认20)", dataTypeClass = Integer.class, paramType = "query"),
            @ApiImplicitParam(name = "name", value = "分类名称", dataTypeClass = String.class, paramType = "query"),
    })
    public ResponseData<PageResult<MentalTestClass>> page(Integer pageNo, Integer pageSize, String name) {
        LambdaQueryWrapper<MentalTestClass> lambdaQueryWrapper = new LambdaQueryWrapper<MentalTestClass>()
                .like(StrUtil.isNotBlank(name), MentalTestClass::getName, name)
                .eq(MentalTestClass::getIsDelete, false)
                .orderByDesc(MentalTestClass::getId);
        Page<MentalTestClass> page = this.mentalTestClassService.page(PageFactory.page(pageNo, pageSize), lambdaQueryWrapper);
        return new SuccessResponseData<>(PageResultFactory.createPageResult(page));
    }
 
}