青羊经侦大队-数据平台
安瑾然
2022-07-13 68985c22a03d280a96e89f4d0e67f144259fab92
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
package com.example.jz.controller;
 
 
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.jz.modle.PageParam;
import com.example.jz.modle.R;
import com.example.jz.modle.entity.Sensitive;
import com.example.jz.modle.dto.SensitiveDto;
import com.example.jz.modle.vo.SensitiveVO;
import com.example.jz.service.SensitiveService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
 
/**
 * 敏感词表(Sensitive)表控制层
 *
 * @author 安瑾然
 * @since 2022-07-13 09:54:49
 */
@RestController
@RequestMapping("sensitive")
@ApiOperation("敏感词表(Sensitive)表控制层")
@Api(tags = "敏感词表(Sensitive)表接口")
public class SensitiveController extends ApiController {
    /**
     * 服务对象
     */
    @Resource
    private SensitiveService sensitiveService;
 
    /**
     * 分页查询所有数据
     *
     * @param page      分页对象
     * @param sensitive 查询实体
     * @return 所有数据
     */
    @GetMapping
    @ApiOperation("分页查询所有数据")
    public R<Page<SensitiveVO>> selectAll(PageParam<Sensitive> page, Sensitive sensitive) {
        Page<Sensitive> sensitivePage = sensitiveService.page(page, new QueryWrapper<>(sensitive));
        // 将sensitive转换成sensitiveVO
        List<SensitiveVO> sensitiveVOList = new ArrayList<>();
        for (Sensitive s : sensitivePage.getRecords()) {
            SensitiveVO sensitiveVO = new SensitiveVO();
            BeanUtil.copyProperties(s, sensitiveVO);
            sensitiveVO.setWords(Arrays.asList(s.getWord().split(",")));
            sensitiveVOList.add(sensitiveVO);
        }
        // 封装分页数据
        Page<SensitiveVO> sensitiveVOPage = new PageParam<SensitiveVO>();
        BeanUtil.copyProperties(sensitivePage, sensitiveVOPage);
        sensitiveVOPage.setRecords(sensitiveVOList);
        return R.ok(sensitiveVOPage);
    }
 
    /**
     * 通过主键查询单条数据
     *
     * @param id 主键
     * @return 单条数据
     */
    @GetMapping("{id}")
    @ApiOperation("通过主键查询单条数据")
    public R<SensitiveVO> selectOne(@PathVariable Serializable id) {
        Sensitive sensitive = sensitiveService.getById(id);
        SensitiveVO sensitiveVO = new SensitiveVO();
        BeanUtil.copyProperties(sensitive, sensitiveVO);
        sensitiveVO.setWords(Arrays.asList(sensitive.getWord().split(",")));
        return R.ok(sensitiveVO);
    }
 
    /**
     * 新增数据
     *
     * @param sensitiveDto 实体对象
     * @return 新增结果
     */
    @PostMapping
    @ApiOperation("新增数据")
    public R<Boolean> insert(@RequestBody SensitiveDto sensitiveDto) {
        Sensitive sensitive = new Sensitive().setCreator(sensitiveDto.getCreator()).setCtime(new Date()).setWord(String.join(",", sensitiveDto.getWords()));
        return R.ok(sensitiveService.save(sensitive));
    }
 
    /**
     * 修改数据
     *
     * @param sensitiveDto 实体对象
     * @return 修改结果
     */
    @PutMapping
    @ApiOperation("修改数据")
    public R<Boolean> update(@RequestBody SensitiveDto sensitiveDto) {
        Sensitive sensitive = new Sensitive().setId(sensitiveDto.getId()).setCreator(sensitiveDto.getCreator()).setWord(String.join(",", sensitiveDto.getWords()));
        return R.ok(sensitiveService.updateById(sensitive));
    }
 
    /**
     * 删除数据
     *
     * @param id 主键
     * @return 删除结果
     */
    @DeleteMapping
    @ApiOperation("删除数据")
    public R<Boolean> delete(@RequestParam("id") Serializable id) {
        return R.ok(sensitiveService.removeById(id));
    }
}