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));
|
}
|
}
|