diff --git a/ruoyi-ui/src/views/business/english/word/index.vue b/ruoyi-ui/src/views/business/english/word/index.vue index f6ffe057..87ac0868 100644 --- a/ruoyi-ui/src/views/business/english/word/index.vue +++ b/ruoyi-ui/src/views/business/english/word/index.vue @@ -6,6 +6,7 @@ v-model="queryParams.englishWord" placeholder="英语单词" clearable + maxlength="20" size="small" @keyup.enter.native="handleQuery" /> @@ -15,6 +16,7 @@ v-model="queryParams.chineseWord" placeholder="请输入中文" clearable + maxlength="10" size="small" @keyup.enter.native="handleQuery" /> @@ -314,34 +316,33 @@ export default { // 表单校验 rulesEdit: { englishWord: [ - {required: true, message: "英语单词不能为空", trigger: "blur"} + {required: true, message: "英语单词不能为空", trigger: "blur"}, + { min: 1, max: 20, message: '长度在 1 到 20 个字符', trigger: 'blur' } ], chineseWord: [ - {required: true, message: "中文不能为空", trigger: "blur"} + {required: true, message: "中文不能为空", trigger: "blur"}, + { min: 1, max: 10, message: '长度在 1 到 10 个字符', trigger: 'blur' } ], isCollect: [ - {required: true, message: "是否收藏 1收藏 2不收藏不能为空", trigger: "blur"} + {required: true, message: "收藏不能为空", trigger: "blur"} ], top: [ - {required: true, message: "置顶 1置顶 2不置顶不能为空", trigger: "blur"} + {required: true, message: "置顶不能为空", trigger: "blur"} ], - createTime: [ - {required: true, message: "创建时间不能为空", trigger: "blur"} - ] + }, rulesAdd: { content: [ - {required: true, message: "中英文不能为空", trigger: "blur"} + {required: true, message: "中英文不能为空", trigger: "blur"}, + { min: 1, max: 20, message: '长度在 1 到 20 个字符', trigger: 'blur' } ], isCollect: [ - {required: true, message: "是否收藏 1收藏 2不收藏不能为空", trigger: "blur"} + {required: true, message: "收藏不能为空", trigger: "blur"} ], top: [ - {required: true, message: "置顶 1置顶 2不置顶不能为空", trigger: "blur"} + {required: true, message: "置顶不能为空", trigger: "blur"} ], - createTime: [ - {required: true, message: "创建时间不能为空", trigger: "blur"} - ] + } }; }, diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/validation/AddGroup.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/validation/AddGroup.java index 6df9b287..6fbc44cd 100644 --- a/xjs-business/xjs-business-common/src/main/java/com/xjs/validation/AddGroup.java +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/validation/AddGroup.java @@ -1,9 +1,9 @@ package com.xjs.validation; /** + * 添加校验分组 * @author xiejs - * @desc 添加校验分组 - * @create 2021-12-30 + * @since 2021-12-30 */ public interface AddGroup { } diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/validation/SelectGroup.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/validation/SelectGroup.java new file mode 100644 index 00000000..58acc2fc --- /dev/null +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/validation/SelectGroup.java @@ -0,0 +1,9 @@ +package com.xjs.validation; + +/** + * 查询校验分组 + * @author xiejs + * @since 2022-02-18 + */ +public interface SelectGroup { +} diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/validation/UpdateGroup.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/validation/UpdateGroup.java index e7e267b4..eced3334 100644 --- a/xjs-business/xjs-business-common/src/main/java/com/xjs/validation/UpdateGroup.java +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/validation/UpdateGroup.java @@ -1,9 +1,10 @@ package com.xjs.validation; /** + * 修改校验分组 + * * @author xiejs - * @desc 修改校验分组 - * @create 2021-12-30 + * @since 2021-12-30 */ public interface UpdateGroup { } diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/word/controller/EnglishWordController.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/word/controller/EnglishWordController.java index 74789248..a6b9c14a 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/word/controller/EnglishWordController.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/word/controller/EnglishWordController.java @@ -8,6 +8,7 @@ import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.xjs.validation.AddGroup; +import com.xjs.validation.SelectGroup; import com.xjs.validation.UpdateGroup; import com.xjs.web.MyBaseController; import com.xjs.word.domain.EnglishWord; @@ -77,7 +78,7 @@ public class EnglishWordController extends MyBaseController { @RequiresPermissions("english:word:list") @GetMapping("/list") @ApiOperation("查询英语单词列表") - public TableDataInfo list(EnglishWord englishWord) { + public TableDataInfo list(@Validated({SelectGroup.class}) EnglishWord englishWord) { startPage(); List list = englishWordService.selectEnglishWordList(englishWord); return getDataTable(list); diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/word/domain/EnglishWord.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/word/domain/EnglishWord.java index 4ca28d7f..86cceeb4 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/word/domain/EnglishWord.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/word/domain/EnglishWord.java @@ -3,6 +3,7 @@ package com.xjs.word.domain; import com.baomidou.mybatisplus.annotation.*; import com.ruoyi.common.core.annotation.Excel; import com.xjs.validation.AddGroup; +import com.xjs.validation.SelectGroup; import com.xjs.validation.UpdateGroup; import lombok.Data; @@ -15,11 +16,11 @@ import java.util.Date; * 英语单词对象 english_word * * @author xjs - * @date 2021-12-29 + * @since 2021-12-29 */ @Data @TableName("english_word") -public class EnglishWord { +public class EnglishWord { /** * 主键id @@ -31,16 +32,16 @@ public class EnglishWord { * 英语单词 */ @Excel(name = "英语单词") - @NotBlank(message = "英语单词不能为空",groups = {UpdateGroup.class}) - @Size(max = 15,message = "请控制长度在5字符",groups = {UpdateGroup.class}) + @NotBlank(message = "英语单词不能为空", groups = {UpdateGroup.class}) + @Size(max = 20, message = "请控制英语长度在20字符", groups = {UpdateGroup.class, SelectGroup.class}) private String englishWord; /** * 对应的中文 */ @Excel(name = "中文") - @NotBlank(message = "中文不能为空",groups = {UpdateGroup.class}) - @Size(max = 5,message = "请控制长度在5字符",groups = {UpdateGroup.class}) + @NotBlank(message = "中文不能为空", groups = {UpdateGroup.class}) + @Size(max = 10, message = "请控制中文长度在10字符", groups = {UpdateGroup.class,SelectGroup.class}) private String chineseWord; @@ -48,8 +49,8 @@ public class EnglishWord { * 前端传递的内容(可能是中、英文) */ @TableField(exist = false) - @NotBlank(message = "内容不能为空",groups = {AddGroup.class}) - @Size(max = 15,message = "请控制长度在5字符",groups = {AddGroup.class}) + @NotBlank(message = "内容不能为空", groups = {AddGroup.class}) + @Size(max = 20, message = "请控制长度在20字符", groups = {AddGroup.class}) private String content; /** @@ -61,24 +62,24 @@ public class EnglishWord { /** * 是否收藏 1收藏 2不收藏 */ - @Excel(name = "是否收藏",readConverterExp = "1=收藏,2=不收藏") - @NotNull(message = "收藏字段不能为空",groups = {AddGroup.class, UpdateGroup.class}) + @Excel(name = "是否收藏", readConverterExp = "1=收藏,2=不收藏") + @NotNull(message = "收藏字段不能为空", groups = {AddGroup.class, UpdateGroup.class}) private Integer isCollect; /** * 置顶 1置顶 2不置顶 */ - @Excel(name = "置顶",readConverterExp = "1=置顶,2=不置顶") - @NotNull(message = "置顶字段不能为空",groups = {AddGroup.class, UpdateGroup.class}) + @Excel(name = "置顶", readConverterExp = "1=置顶,2=不置顶") + @NotNull(message = "置顶字段不能为空", groups = {AddGroup.class, UpdateGroup.class}) private Integer top; /** * 查看次数 */ @Excel(name = "查看次数") - private Long lookCount ; + private Long lookCount; - @Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss") @TableField(fill = FieldFill.INSERT) private Date createTime; diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/word/service/impl/EnglishWordServiceImpl.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/word/service/impl/EnglishWordServiceImpl.java index 09d9d306..fbe703e2 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/word/service/impl/EnglishWordServiceImpl.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/word/service/impl/EnglishWordServiceImpl.java @@ -31,7 +31,7 @@ import static com.xjs.consts.RedisConst.TRAN_DICT_EXPIRE; * 英语单词Service业务层处理 * * @author xjs - * @date 2021-12-29 + * @since 2021-12-29 */ @Service @Log4j2 @@ -106,9 +106,12 @@ public class EnglishWordServiceImpl implements IEnglishWordService { //校验数据库是否存在该单词 List englishWordList = englishWordMapper.selectList(new QueryWrapper() .eq("english_word", englishWord.getContent())); - if (CollUtil.isNotEmpty(englishWordList)) { - throw new BusinessException("该单词已存在!!!!"); + List chineseWordList = englishWordMapper.selectList(new QueryWrapper() + .eq("chinese_word", englishWord.getContent())); + if (CollUtil.isNotEmpty(englishWordList)|| CollUtil.isNotEmpty(chineseWordList)) { + throw new BusinessException("该词汇已存在!!!!"); } + //校验前端传入的是否英文或中文 boolean alpha = ChineseUtils.isAlpha(englishWord.getContent()); boolean chinese = ChineseUtils.checkNameChese(englishWord.getContent());