Commit 8b67111733a7222038dc11cc45885d965dbcde41
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<SensitiveWordDO> { |
| 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 | // 准备参数 | ... | ... |