!2 完成敏感词接口

Merge pull request !2 from chenyuepan/master-develop
master
chenyuepan 1 month ago committed by Gitee
commit 757bc0e5fc
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

@ -0,0 +1,66 @@
package com.example.venue_reservation_service.controller;
import com.example.venue_reservation_service.dto.PageDTO;
import com.example.venue_reservation_service.dto.SensitiveWordDTO;
import com.example.venue_reservation_service.service.SensitiveWordService;
import com.example.venue_reservation_service.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
/**
* Controller
*/
@RestController
@RequestMapping("/sensitiveword")
@CrossOrigin
@Api("敏感词管理")
@Slf4j
public class SensitiveWordController {
@Resource
private SensitiveWordService sensitiveWordService;
/**
*
*/
@ApiOperation("获取敏感词数据")
@PostMapping("/query")
public Result query(@RequestBody PageDTO dto) {
return sensitiveWordService.getSensitiveWords(dto);
}
/**
*
*/
@ApiOperation("添加敏感词")
@PostMapping("/create")
public Result create(@RequestBody SensitiveWordDTO dto) {
log.info("添加敏感词{}", dto);
return sensitiveWordService.addSensitiveWord(dto);
}
/**
*
*/
@ApiOperation("修改敏感词")
@PostMapping("/update")
public Result update(@RequestParam("id") Integer id,
@RequestBody SensitiveWordDTO dto) {
return sensitiveWordService.updateSensitiveWord(id, dto);
}
/**
*
*/
@ApiOperation("移除敏感词")
@DeleteMapping("/remove")
public Result remove(@RequestParam("id") Integer id) {
log.info("移除敏感词{}", id);
return sensitiveWordService.removeSensitiveWord(id);
}
}

@ -0,0 +1,33 @@
package com.example.venue_reservation_service.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@TableName(value ="venue_word")
@Data
public class SensitiveWord {
@TableId(type = IdType.AUTO)
private Integer id;
private String word;
private String level;
private String status;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
}

@ -0,0 +1,14 @@
package com.example.venue_reservation_service.dto;
import lombok.Data;
@Data
public class SensitiveWordDTO {
//敏感词
private String word;
//敏感词等级
private String level;
}

@ -0,0 +1,9 @@
package com.example.venue_reservation_service.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.venue_reservation_service.domain.SensitiveWord;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SensitiveWordMapper extends BaseMapper<SensitiveWord> {
}

@ -0,0 +1,23 @@
package com.example.venue_reservation_service.service;
import com.example.venue_reservation_service.dto.PageDTO;
import com.example.venue_reservation_service.dto.SensitiveWordDTO;
import com.example.venue_reservation_service.vo.Result;
public interface SensitiveWordService {
// 获取敏感词数据
Result getSensitiveWords(PageDTO dto);
// 添加敏感词
Result addSensitiveWord(SensitiveWordDTO dto);
// 更新敏感词
Result updateSensitiveWord(Integer id, SensitiveWordDTO dto);
// 移除敏感词
Result removeSensitiveWord(Integer id);
}

@ -0,0 +1,97 @@
package com.example.venue_reservation_service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.venue_reservation_service.domain.SensitiveWord;
import com.example.venue_reservation_service.dto.PageDTO;
import com.example.venue_reservation_service.dto.SensitiveWordDTO;
import com.example.venue_reservation_service.mapper.SensitiveWordMapper;
import com.example.venue_reservation_service.service.SensitiveWordService;
import com.example.venue_reservation_service.vo.QueryVO;
import com.example.venue_reservation_service.vo.Result;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.time.LocalDateTime;
/**
*
*/
@Service
public class SensitiveWordServiceImpl extends ServiceImpl<SensitiveWordMapper, SensitiveWord> implements SensitiveWordService {
@Resource
private SensitiveWordMapper sensitiveWordMapper;
/**
*
*/
@Override
public Result getSensitiveWords(PageDTO dto) {
Page<SensitiveWord> page = new Page<>(dto.getCurrent(), dto.getSize());
page = page(page, null);
QueryVO<SensitiveWord> vo = new QueryVO<>();
vo.setList(page.getRecords());
vo.setTotal(page.getTotal());
return Result.ok(vo).message("查询成功");
}
/**
*
*/
@Override
public Result addSensitiveWord(SensitiveWordDTO sensitiveWordDTO) {
// 去空格后判断是否重复
String word = sensitiveWordDTO.getWord().trim();
if (count(new LambdaQueryWrapper<SensitiveWord>().eq(SensitiveWord::getWord, word)) > 0) {
return Result.fail().message("该敏感词已存在");
}
SensitiveWord sensitiveWord = new SensitiveWord();
sensitiveWord.setWord(word);
sensitiveWord.setLevel(sensitiveWordDTO.getLevel());
sensitiveWord.setStatus("0"); // 默认不启用
sensitiveWord.setCreateTime(LocalDateTime.now());
sensitiveWord.setUpdateTime(LocalDateTime.now());
save(sensitiveWord);
return Result.ok().message("添加成功");
}
/**
*
*/
@Override
public Result updateSensitiveWord(Integer id, SensitiveWordDTO sensitiveWordDTO) {
SensitiveWord sensitiveWord = getById(id);
if (sensitiveWord == null) {
return Result.fail().message("未找到对应敏感词");
}
sensitiveWord.setWord(sensitiveWordDTO.getWord().trim());
sensitiveWord.setLevel(sensitiveWordDTO.getLevel());
updateById(sensitiveWord);
return Result.ok().message("修改成功");
}
/**
*
*/
@Override
public Result removeSensitiveWord(Integer id) {
if (!exists(id)) {
return Result.fail().message("未找到对应敏感词");
}
removeById(id);
return Result.ok().message("删除成功");
}
// 辅助方法:检查是否存在
private boolean exists(Integer id) {
return count(new LambdaQueryWrapper<SensitiveWord>().eq(SensitiveWord::getId, id)) > 0;
}
}
Loading…
Cancel
Save