Commit 8b67111733a7222038dc11cc45885d965dbcde41

Authored by YunaiV
1 parent 2dd83589

🔧 简化 sensitiveWord 模块的 VO

Showing 12 changed files with 62 additions and 233 deletions
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/SensitiveWordController.java
1 1 package cn.iocoder.yudao.module.system.controller.admin.sensitiveword;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
  4 +import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  6 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
5 7 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
6 8 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
7   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.*;
8   -import cn.iocoder.yudao.module.system.convert.sensitiveword.SensitiveWordConvert;
  9 +import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordPageReqVO;
  10 +import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordRespVO;
  11 +import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordSaveVO;
9 12 import cn.iocoder.yudao.module.system.dal.dataobject.sensitiveword.SensitiveWordDO;
10 13 import cn.iocoder.yudao.module.system.service.sensitiveword.SensitiveWordService;
11   -import io.swagger.v3.oas.annotations.tags.Tag;
12   -import io.swagger.v3.oas.annotations.Parameter;
13 14 import io.swagger.v3.oas.annotations.Operation;
  15 +import io.swagger.v3.oas.annotations.Parameter;
  16 +import io.swagger.v3.oas.annotations.tags.Tag;
14 17 import org.springframework.security.access.prepost.PreAuthorize;
15 18 import org.springframework.validation.annotation.Validated;
16 19 import org.springframework.web.bind.annotation.*;
... ... @@ -37,14 +40,14 @@ public class SensitiveWordController {
37 40 @PostMapping("/create")
38 41 @Operation(summary = "创建敏感词")
39 42 @PreAuthorize("@ss.hasPermission('system:sensitive-word:create')")
40   - public CommonResult<Long> createSensitiveWord(@Valid @RequestBody SensitiveWordCreateReqVO createReqVO) {
  43 + public CommonResult<Long> createSensitiveWord(@Valid @RequestBody SensitiveWordSaveVO createReqVO) {
41 44 return success(sensitiveWordService.createSensitiveWord(createReqVO));
42 45 }
43 46  
44 47 @PutMapping("/update")
45 48 @Operation(summary = "更新敏感词")
46 49 @PreAuthorize("@ss.hasPermission('system:sensitive-word:update')")
47   - public CommonResult<Boolean> updateSensitiveWord(@Valid @RequestBody SensitiveWordUpdateReqVO updateReqVO) {
  50 + public CommonResult<Boolean> updateSensitiveWord(@Valid @RequestBody SensitiveWordSaveVO updateReqVO) {
48 51 sensitiveWordService.updateSensitiveWord(updateReqVO);
49 52 return success(true);
50 53 }
... ... @@ -64,7 +67,7 @@ public class SensitiveWordController {
64 67 @PreAuthorize("@ss.hasPermission('system:sensitive-word:query')")
65 68 public CommonResult<SensitiveWordRespVO> getSensitiveWord(@RequestParam("id") Long id) {
66 69 SensitiveWordDO sensitiveWord = sensitiveWordService.getSensitiveWord(id);
67   - return success(SensitiveWordConvert.INSTANCE.convert(sensitiveWord));
  70 + return success(BeanUtils.toBean(sensitiveWord, SensitiveWordRespVO.class));
68 71 }
69 72  
70 73 @GetMapping("/page")
... ... @@ -72,19 +75,20 @@ public class SensitiveWordController {
72 75 @PreAuthorize("@ss.hasPermission('system:sensitive-word:query')")
73 76 public CommonResult<PageResult<SensitiveWordRespVO>> getSensitiveWordPage(@Valid SensitiveWordPageReqVO pageVO) {
74 77 PageResult<SensitiveWordDO> pageResult = sensitiveWordService.getSensitiveWordPage(pageVO);
75   - return success(SensitiveWordConvert.INSTANCE.convertPage(pageResult));
  78 + return success(BeanUtils.toBean(pageResult, SensitiveWordRespVO.class));
76 79 }
77 80  
78 81 @GetMapping("/export-excel")
79 82 @Operation(summary = "导出敏感词 Excel")
80 83 @PreAuthorize("@ss.hasPermission('system:sensitive-word:export')")
81 84 @OperateLog(type = EXPORT)
82   - public void exportSensitiveWordExcel(@Valid SensitiveWordExportReqVO exportReqVO,
  85 + public void exportSensitiveWordExcel(@Valid SensitiveWordPageReqVO exportReqVO,
83 86 HttpServletResponse response) throws IOException {
84   - List<SensitiveWordDO> list = sensitiveWordService.getSensitiveWordList(exportReqVO);
  87 + exportReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
  88 + List<SensitiveWordDO> list = sensitiveWordService.getSensitiveWordPage(exportReqVO).getList();
85 89 // 导出 Excel
86   - List<SensitiveWordExcelVO> datas = SensitiveWordConvert.INSTANCE.convertList02(list);
87   - ExcelUtils.write(response, "敏感词.xls", "数据", SensitiveWordExcelVO.class, datas);
  90 + ExcelUtils.write(response, "敏感词.xls", "数据", SensitiveWordRespVO.class,
  91 + BeanUtils.toBean(list, SensitiveWordRespVO.class));
88 92 }
89 93  
90 94 @GetMapping("/get-tags")
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordCreateReqVO.java deleted
1   -package cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo;
2   -
3   -import io.swagger.v3.oas.annotations.media.Schema;
4   -import lombok.Data;
5   -import lombok.EqualsAndHashCode;
6   -import lombok.ToString;
7   -
8   -@Schema(description = "管理后台 - 敏感词创建 Request VO")
9   -@Data
10   -@EqualsAndHashCode(callSuper = true)
11   -@ToString(callSuper = true)
12   -public class SensitiveWordCreateReqVO extends SensitiveWordBaseVO {
13   -
14   -}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordExcelVO.java deleted
1   -package cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo;
2   -
3   -import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
4   -import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
5   -import cn.iocoder.yudao.framework.excel.core.convert.JsonConvert;
6   -import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
7   -import com.alibaba.excel.annotation.ExcelProperty;
8   -import lombok.Data;
9   -
10   -import java.time.LocalDateTime;
11   -import java.util.List;
12   -
13   -/**
14   - * 敏感词 Excel VO
15   - *
16   - * @author 永不言败
17   - */
18   -@Data
19   -public class SensitiveWordExcelVO {
20   -
21   - @ExcelProperty("编号")
22   - private Long id;
23   -
24   - @ExcelProperty("敏感词")
25   - private String name;
26   -
27   - @ExcelProperty(value = "标签", converter = JsonConvert.class)
28   - private List<String> tags;
29   -
30   - @ExcelProperty(value = "状态", converter = DictConvert.class)
31   - @DictFormat(DictTypeConstants.COMMON_STATUS)
32   - private Integer status;
33   -
34   - @ExcelProperty("描述")
35   - private String description;
36   -
37   - @ExcelProperty("创建时间")
38   - private LocalDateTime createTime;
39   -
40   -}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordExportReqVO.java deleted
1   -package cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo;
2   -
3   -import io.swagger.v3.oas.annotations.media.Schema;
4   -import lombok.Data;
5   -import org.springframework.format.annotation.DateTimeFormat;
6   -
7   -import java.time.LocalDateTime;
8   -
9   -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
10   -
11   -@Schema(description = "管理后台 - 敏感词 Excel 导出 Request VO,参数和 SensitiveWordPageReqVO 是一致的")
12   -@Data
13   -public class SensitiveWordExportReqVO {
14   -
15   - @Schema(description = "敏感词", example = "敏感词")
16   - private String name;
17   -
18   - @Schema(description = "标签", example = "短信,评论")
19   - private String tag;
20   -
21   - @Schema(description = "状态,参见 CommonStatusEnum 枚举类", example = "1")
22   - private Integer status;
23   -
24   - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
25   - @Schema(description = "创建时间")
26   - private LocalDateTime[] createTime;
27   -
28   -}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordRespVO.java
1 1 package cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo;
2 2  
  3 +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
  4 +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
  5 +import cn.iocoder.yudao.framework.excel.core.convert.JsonConvert;
  6 +import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
  7 +import com.alibaba.excel.annotation.ExcelProperty;
3 8 import io.swagger.v3.oas.annotations.media.Schema;
4 9 import lombok.Data;
5 10 import lombok.EqualsAndHashCode;
6 11 import lombok.ToString;
7 12  
8 13 import java.time.LocalDateTime;
  14 +import java.util.List;
9 15  
10 16 @Schema(description = "管理后台 - 敏感词 Response VO")
11 17 @Data
12   -@EqualsAndHashCode(callSuper = true)
13   -@ToString(callSuper = true)
14   -public class SensitiveWordRespVO extends SensitiveWordBaseVO {
  18 +public class SensitiveWordRespVO {
15 19  
16 20 @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
  21 + @ExcelProperty("编号")
17 22 private Long id;
18 23  
  24 + @Schema(description = "敏感词", requiredMode = Schema.RequiredMode.REQUIRED, example = "敏感词")
  25 + @ExcelProperty("敏感词")
  26 + private String name;
  27 +
  28 + @Schema(description = "标签", requiredMode = Schema.RequiredMode.REQUIRED, example = "短信,评论")
  29 + @ExcelProperty(value = "标签", converter = JsonConvert.class)
  30 + private List<String> tags;
  31 +
  32 + @Schema(description = "状态,参见 CommonStatusEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
  33 + @ExcelProperty(value = "状态", converter = DictConvert.class)
  34 + @DictFormat(DictTypeConstants.COMMON_STATUS)
  35 + private Integer status;
  36 +
  37 + @Schema(description = "描述", example = "污言秽语")
  38 + @ExcelProperty("描述")
  39 + private String description;
  40 +
19 41 @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
  42 + @ExcelProperty("创建时间")
20 43 private LocalDateTime createTime;
21 44  
22 45 }
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordBaseVO.java renamed to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordSaveVO.java
... ... @@ -6,12 +6,12 @@ import lombok.Data;
6 6 import javax.validation.constraints.NotNull;
7 7 import java.util.List;
8 8  
9   -/**
10   - * 敏感词 Base VO,提供给添加、修改、详细的子 VO 使用
11   - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
12   - */
  9 +@Schema(description = "管理后台 - 敏感词创建/修改 Request VO")
13 10 @Data
14   -public class SensitiveWordBaseVO {
  11 +public class SensitiveWordSaveVO {
  12 +
  13 + @Schema(description = "编号", example = "1")
  14 + private Long id;
15 15  
16 16 @Schema(description = "敏感词", requiredMode = Schema.RequiredMode.REQUIRED, example = "敏感词")
17 17 @NotNull(message = "敏感词不能为空")
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sensitiveword/vo/SensitiveWordUpdateReqVO.java deleted
1   -package cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo;
2   -
3   -import io.swagger.v3.oas.annotations.media.Schema;
4   -import lombok.Data;
5   -import lombok.EqualsAndHashCode;
6   -import lombok.ToString;
7   -
8   -import javax.validation.constraints.NotNull;
9   -
10   -@Schema(description = "管理后台 - 敏感词更新 Request VO")
11   -@Data
12   -@EqualsAndHashCode(callSuper = true)
13   -@ToString(callSuper = true)
14   -public class SensitiveWordUpdateReqVO extends SensitiveWordBaseVO {
15   -
16   - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
17   - @NotNull(message = "编号不能为空")
18   - private Long id;
19   -
20   -}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/sensitiveword/SensitiveWordConvert.java deleted
1   -package cn.iocoder.yudao.module.system.convert.sensitiveword;
2   -
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordCreateReqVO;
5   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordExcelVO;
6   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordRespVO;
7   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordUpdateReqVO;
8   -import cn.iocoder.yudao.module.system.dal.dataobject.sensitiveword.SensitiveWordDO;
9   -import org.mapstruct.Mapper;
10   -import org.mapstruct.factory.Mappers;
11   -
12   -import java.util.List;
13   -
14   -/**
15   - * 敏感词 Convert
16   - *
17   - * @author 永不言败
18   - */
19   -@Mapper
20   -public interface SensitiveWordConvert {
21   -
22   - SensitiveWordConvert INSTANCE = Mappers.getMapper(SensitiveWordConvert.class);
23   -
24   - SensitiveWordDO convert(SensitiveWordCreateReqVO bean);
25   -
26   - SensitiveWordDO convert(SensitiveWordUpdateReqVO bean);
27   -
28   - SensitiveWordRespVO convert(SensitiveWordDO bean);
29   -
30   - List<SensitiveWordRespVO> convertList(List<SensitiveWordDO> list);
31   -
32   - PageResult<SensitiveWordRespVO> convertPage(PageResult<SensitiveWordDO> page);
33   -
34   - List<SensitiveWordExcelVO> convertList02(List<SensitiveWordDO> list);
35   -
36   -}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sensitiveword/SensitiveWordMapper.java
... ... @@ -3,14 +3,12 @@ package cn.iocoder.yudao.module.system.dal.mysql.sensitiveword;
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 4 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
5 5 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
6   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordExportReqVO;
7 6 import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordPageReqVO;
8 7 import cn.iocoder.yudao.module.system.dal.dataobject.sensitiveword.SensitiveWordDO;
9 8 import org.apache.ibatis.annotations.Mapper;
10 9 import org.apache.ibatis.annotations.Select;
11 10  
12 11 import java.time.LocalDateTime;
13   -import java.util.List;
14 12  
15 13 /**
16 14 * 敏感词 Mapper
... ... @@ -28,16 +26,6 @@ public interface SensitiveWordMapper extends BaseMapperX&lt;SensitiveWordDO&gt; {
28 26 .betweenIfPresent(SensitiveWordDO::getCreateTime, reqVO.getCreateTime())
29 27 .orderByDesc(SensitiveWordDO::getId));
30 28 }
31   -
32   - default List<SensitiveWordDO> selectList(SensitiveWordExportReqVO reqVO) {
33   - return selectList(new LambdaQueryWrapperX<SensitiveWordDO>()
34   - .likeIfPresent(SensitiveWordDO::getName, reqVO.getName())
35   - .likeIfPresent(SensitiveWordDO::getTags, reqVO.getTag())
36   - .eqIfPresent(SensitiveWordDO::getStatus, reqVO.getStatus())
37   - .betweenIfPresent(SensitiveWordDO::getCreateTime, reqVO.getCreateTime())
38   - .orderByDesc(SensitiveWordDO::getId));
39   - }
40   -
41 29 default SensitiveWordDO selectByName(String name) {
42 30 return selectOne(SensitiveWordDO::getName, name);
43 31 }
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sensitiveword/SensitiveWordService.java
1 1 package cn.iocoder.yudao.module.system.service.sensitiveword;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordCreateReqVO;
5   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordExportReqVO;
6 4 import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordPageReqVO;
7   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordUpdateReqVO;
  5 +import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordSaveVO;
8 6 import cn.iocoder.yudao.module.system.dal.dataobject.sensitiveword.SensitiveWordDO;
9 7  
10 8 import javax.validation.Valid;
... ... @@ -24,14 +22,14 @@ public interface SensitiveWordService {
24 22 * @param createReqVO 创建信息
25 23 * @return 编号
26 24 */
27   - Long createSensitiveWord(@Valid SensitiveWordCreateReqVO createReqVO);
  25 + Long createSensitiveWord(@Valid SensitiveWordSaveVO createReqVO);
28 26  
29 27 /**
30 28 * 更新敏感词
31 29 *
32 30 * @param updateReqVO 更新信息
33 31 */
34   - void updateSensitiveWord(@Valid SensitiveWordUpdateReqVO updateReqVO);
  32 + void updateSensitiveWord(@Valid SensitiveWordSaveVO updateReqVO);
35 33  
36 34 /**
37 35 * 删除敏感词
... ... @@ -64,14 +62,6 @@ public interface SensitiveWordService {
64 62 PageResult<SensitiveWordDO> getSensitiveWordPage(SensitiveWordPageReqVO pageReqVO);
65 63  
66 64 /**
67   - * 获得敏感词列表, 用于 Excel 导出
68   - *
69   - * @param exportReqVO 查询条件
70   - * @return 敏感词列表
71   - */
72   - List<SensitiveWordDO> getSensitiveWordList(SensitiveWordExportReqVO exportReqVO);
73   -
74   - /**
75 65 * 获得所有敏感词的标签数组
76 66 *
77 67 * @return 标签数组
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sensitiveword/SensitiveWordServiceImpl.java
... ... @@ -4,11 +4,9 @@ import cn.hutool.core.collection.CollUtil;
4 4 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
5 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 6 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
7   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordCreateReqVO;
8   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordExportReqVO;
  7 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
9 8 import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordPageReqVO;
10   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordUpdateReqVO;
11   -import cn.iocoder.yudao.module.system.convert.sensitiveword.SensitiveWordConvert;
  9 +import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordSaveVO;
12 10 import cn.iocoder.yudao.module.system.dal.dataobject.sensitiveword.SensitiveWordDO;
13 11 import cn.iocoder.yudao.module.system.dal.mysql.sensitiveword.SensitiveWordMapper;
14 12 import cn.iocoder.yudao.module.system.util.collection.SimpleTrie;
... ... @@ -141,12 +139,12 @@ public class SensitiveWordServiceImpl implements SensitiveWordService {
141 139 }
142 140  
143 141 @Override
144   - public Long createSensitiveWord(SensitiveWordCreateReqVO createReqVO) {
  142 + public Long createSensitiveWord(SensitiveWordSaveVO createReqVO) {
145 143 // 校验唯一性
146 144 validateSensitiveWordNameUnique(null, createReqVO.getName());
147 145  
148 146 // 插入
149   - SensitiveWordDO sensitiveWord = SensitiveWordConvert.INSTANCE.convert(createReqVO);
  147 + SensitiveWordDO sensitiveWord = BeanUtils.toBean(createReqVO, SensitiveWordDO.class);
150 148 sensitiveWordMapper.insert(sensitiveWord);
151 149  
152 150 // 刷新缓存
... ... @@ -155,13 +153,13 @@ public class SensitiveWordServiceImpl implements SensitiveWordService {
155 153 }
156 154  
157 155 @Override
158   - public void updateSensitiveWord(SensitiveWordUpdateReqVO updateReqVO) {
  156 + public void updateSensitiveWord(SensitiveWordSaveVO updateReqVO) {
159 157 // 校验唯一性
160 158 validateSensitiveWordExists(updateReqVO.getId());
161 159 validateSensitiveWordNameUnique(updateReqVO.getId(), updateReqVO.getName());
162 160  
163 161 // 更新
164   - SensitiveWordDO updateObj = SensitiveWordConvert.INSTANCE.convert(updateReqVO);
  162 + SensitiveWordDO updateObj = BeanUtils.toBean(updateReqVO, SensitiveWordDO.class);
165 163 sensitiveWordMapper.updateById(updateObj);
166 164  
167 165 // 刷新缓存
... ... @@ -215,11 +213,6 @@ public class SensitiveWordServiceImpl implements SensitiveWordService {
215 213 }
216 214  
217 215 @Override
218   - public List<SensitiveWordDO> getSensitiveWordList(SensitiveWordExportReqVO exportReqVO) {
219   - return sensitiveWordMapper.selectList(exportReqVO);
220   - }
221   -
222   - @Override
223 216 public Set<String> getSensitiveWordTagSet() {
224 217 return sensitiveWordTagsCache;
225 218 }
... ...
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/sensitiveword/SensitiveWordServiceImplTest.java
... ... @@ -4,10 +4,8 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
4 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 5 import cn.iocoder.yudao.framework.common.util.collection.SetUtils;
6 6 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
7   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordCreateReqVO;
8   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordExportReqVO;
9 7 import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordPageReqVO;
10   -import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordUpdateReqVO;
  8 +import cn.iocoder.yudao.module.system.controller.admin.sensitiveword.vo.SensitiveWordSaveVO;
11 9 import cn.iocoder.yudao.module.system.dal.dataobject.sensitiveword.SensitiveWordDO;
12 10 import cn.iocoder.yudao.module.system.dal.mysql.sensitiveword.SensitiveWordMapper;
13 11 import org.junit.jupiter.api.BeforeEach;
... ... @@ -83,7 +81,8 @@ public class SensitiveWordServiceImplTest extends BaseDbUnitTest {
83 81 @Test
84 82 public void testCreateSensitiveWord_success() {
85 83 // 准备参数
86   - SensitiveWordCreateReqVO reqVO = randomPojo(SensitiveWordCreateReqVO.class);
  84 + SensitiveWordSaveVO reqVO = randomPojo(SensitiveWordSaveVO.class)
  85 + .setId(null); // 防止 id 被赋值
87 86  
88 87 // 调用
89 88 Long sensitiveWordId = sensitiveWordService.createSensitiveWord(reqVO);
... ... @@ -91,7 +90,7 @@ public class SensitiveWordServiceImplTest extends BaseDbUnitTest {
91 90 assertNotNull(sensitiveWordId);
92 91 // 校验记录的属性是否正确
93 92 SensitiveWordDO sensitiveWord = sensitiveWordMapper.selectById(sensitiveWordId);
94   - assertPojoEquals(reqVO, sensitiveWord);
  93 + assertPojoEquals(reqVO, sensitiveWord, "id");
95 94 }
96 95  
97 96 @Test
... ... @@ -100,7 +99,7 @@ public class SensitiveWordServiceImplTest extends BaseDbUnitTest {
100 99 SensitiveWordDO dbSensitiveWord = randomPojo(SensitiveWordDO.class);
101 100 sensitiveWordMapper.insert(dbSensitiveWord);// @Sql: 先插入出一条存在的数据
102 101 // 准备参数
103   - SensitiveWordUpdateReqVO reqVO = randomPojo(SensitiveWordUpdateReqVO.class, o -> {
  102 + SensitiveWordSaveVO reqVO = randomPojo(SensitiveWordSaveVO.class, o -> {
104 103 o.setId(dbSensitiveWord.getId()); // 设置更新的 ID
105 104 });
106 105  
... ... @@ -114,7 +113,7 @@ public class SensitiveWordServiceImplTest extends BaseDbUnitTest {
114 113 @Test
115 114 public void testUpdateSensitiveWord_notExists() {
116 115 // 准备参数
117   - SensitiveWordUpdateReqVO reqVO = randomPojo(SensitiveWordUpdateReqVO.class);
  116 + SensitiveWordSaveVO reqVO = randomPojo(SensitiveWordSaveVO.class);
118 117  
119 118 // 调用, 并断言异常
120 119 assertServiceException(() -> sensitiveWordService.updateSensitiveWord(reqVO), SENSITIVE_WORD_NOT_EXISTS);
... ... @@ -205,36 +204,6 @@ public class SensitiveWordServiceImplTest extends BaseDbUnitTest {
205 204 }
206 205  
207 206 @Test
208   - public void testGetSensitiveWordList_export() {
209   - // mock 数据
210   - SensitiveWordDO dbSensitiveWord = randomPojo(SensitiveWordDO.class, o -> { // 等会查询到
211   - o.setName("笨蛋");
212   - o.setTags(Arrays.asList("论坛", "蔬菜"));
213   - o.setStatus(CommonStatusEnum.ENABLE.getStatus());
214   - o.setCreateTime(buildTime(2022, 2, 8));
215   - });
216   - sensitiveWordMapper.insert(dbSensitiveWord);
217   - // 测试 name 不匹配
218   - sensitiveWordMapper.insert(cloneIgnoreId(dbSensitiveWord, o -> o.setName("傻瓜")));
219   - // 测试 tags 不匹配
220   - sensitiveWordMapper.insert(cloneIgnoreId(dbSensitiveWord, o -> o.setTags(Arrays.asList("短信", "日用品"))));
221   - // 测试 createTime 不匹配
222   - sensitiveWordMapper.insert(cloneIgnoreId(dbSensitiveWord, o -> o.setCreateTime(buildTime(2022, 2, 16))));
223   - // 准备参数
224   - SensitiveWordExportReqVO reqVO = new SensitiveWordExportReqVO();
225   - reqVO.setName("笨");
226   - reqVO.setTag("论坛");
227   - reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
228   - reqVO.setCreateTime(buildBetweenTime(2022, 2, 1, 2022, 2, 12));
229   -
230   - // 调用
231   - List<SensitiveWordDO> list = sensitiveWordService.getSensitiveWordList(reqVO);
232   - // 断言
233   - assertEquals(1, list.size());
234   - assertPojoEquals(dbSensitiveWord, list.get(0));
235   - }
236   -
237   - @Test
238 207 public void testValidateText_noTag() {
239 208 testInitLocalCache();
240 209 // 准备参数
... ...