From 1a7c01e5cc5437060dad043b51669df640ade7ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=AF=28004796=29?= Date: Mon, 19 Feb 2024 17:21:30 +0800 Subject: [PATCH] 123333 --- .../controller/sensitive/WordController.java | 46 +++++++++++++++ ruoyi-cai/pom.xml | 4 ++ .../com/ruoyi/cai/domain/UserChatFilter.java | 3 +- .../java/com/ruoyi/cai/manager/ImService.java | 23 +++++++- .../cai/service/UserChatFilterService.java | 2 + .../impl/UserChatFilterServiceImpl.java | 9 +++ .../sensitive/cache/LastUpdateTimeCache.java | 42 +++++++++++--- .../cache/SensitiveWordConfigCache.java | 28 +++++++++ .../MySensitiveWordScheduleRefresh.java | 7 +-- .../sensitive/config/SensitiveWordConfig.java | 20 ++++++- .../ruoyi/sensitive/dto/SensitiveConfig.java | 57 +++++++++++++++++++ .../com/ruoyi/sensitive/dto/WordTestResp.java | 9 +++ .../service/SensitiveWordManager.java | 47 +++++++++++++++ .../service/impl/WordServiceImpl.java | 7 +-- 14 files changed, 284 insertions(+), 20 deletions(-) create mode 100644 ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/cache/SensitiveWordConfigCache.java create mode 100644 ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/dto/SensitiveConfig.java create mode 100644 ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/dto/WordTestResp.java create mode 100644 ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/service/SensitiveWordManager.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/sensitive/WordController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/sensitive/WordController.java index 98746eb7..07962320 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/sensitive/WordController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/sensitive/WordController.java @@ -3,6 +3,7 @@ package com.ruoyi.web.controller.sensitive; import cn.dev33.satoken.annotation.SaCheckPermission; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.houbb.sensitive.word.bs.SensitiveWordBs; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; @@ -13,15 +14,21 @@ import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.sensitive.cache.LastUpdateTimeCache; import com.ruoyi.sensitive.domain.Word; +import com.ruoyi.sensitive.dto.SensitiveConfig; +import com.ruoyi.sensitive.dto.WordTestResp; +import com.ruoyi.sensitive.service.SensitiveWordManager; import com.ruoyi.sensitive.service.WordService; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; import java.util.Arrays; import java.util.List; @@ -38,6 +45,30 @@ import java.util.List; public class WordController extends BaseController { private final WordService wordService; + @Autowired + private SensitiveWordBs sensitiveWordBs; + @Autowired + private LastUpdateTimeCache cache; + @Autowired + private SensitiveWordManager sensitiveWordManager; + + @PostMapping("/updateSensitiveConfig") + public R updateSensitiveConfig(@RequestBody SensitiveConfig sensitiveConfig){ + sensitiveWordManager.updateSensitiveConfig(sensitiveConfig); + return R.ok(); + } + + + @GetMapping("/getSensitiveConfig") + public R getSensitiveConfig(){ + return R.ok(sensitiveWordManager.getSensitiveConfig()); + } + + @GetMapping("/lastRefresh") + public R lastRefresh() { + LocalDateTime time = cache.getRefreshTime(); + return R.ok(time); + } /** * 查询敏感词列表 @@ -106,4 +137,19 @@ public class WordController extends BaseController { @PathVariable Integer[] ids) { return toAjax(wordService.removeWordBatchByIds(Arrays.asList(ids))); } + + + @Log(title = "刷新敏感词", businessType = BusinessType.OTHER) + @GetMapping("/refresh") + public R refresh() { + sensitiveWordBs.init(); + cache.setRefreshTime(); + return R.ok(); + } + + + @PostMapping("/test") + public R test(@RequestBody Word word) { + return R.ok(sensitiveWordManager.test(word.getWord())); + } } diff --git a/ruoyi-cai/pom.xml b/ruoyi-cai/pom.xml index 9dc6da46..f0f19220 100644 --- a/ruoyi-cai/pom.xml +++ b/ruoyi-cai/pom.xml @@ -45,6 +45,10 @@ IJPay-AliPay ${ijapy.version} + + com.ruoyi + ruoyi-sensitive-word + com.aliyun aliyun-java-sdk-core diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UserChatFilter.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UserChatFilter.java index 4fc3679a..5a707b38 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UserChatFilter.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/UserChatFilter.java @@ -1,5 +1,6 @@ package com.ruoyi.cai.domain; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -22,7 +23,7 @@ public class UserChatFilter implements Serializable { /** * */ - @TableId(value = "id") + @TableId(value = "id",type = IdType.AUTO) private Long id; /** * diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/ImService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/ImService.java index 7223c4d7..1c011b49 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/ImService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/ImService.java @@ -3,6 +3,7 @@ package com.ruoyi.cai.manager; import cn.hutool.core.lang.UUID; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.houbb.sensitive.word.bs.SensitiveWordBs; import com.ruoyi.cai.domain.Account; import com.ruoyi.cai.domain.User; import com.ruoyi.cai.domain.UserChatRecord; @@ -52,6 +53,10 @@ public class ImService { private AmqpProducer amqpProducer; @Autowired private ISysOssService sysOssService; + @Autowired + private SensitiveWordBs sensitiveWordBs; + @Autowired + private UserChatFilterService userChatFilterService; public ImResp sendMessage(Long fromUserId, ImMessageDTO message) { ChatTypeEnum typeEnum = ChatTypeEnum.getByType(message.getType()); @@ -129,15 +134,21 @@ public class ImService { if (fromUser.getIsAnchor().equals(0) && toUser.getIsAnchor().equals(0)) { throw new ServiceException("目前只能和女神私信!"); } + int filter = 0; + String content = message.getContent(); // 正则判断违规数据替换 if(typeEnum == ChatTypeEnum.MESSAGE){ - + boolean contains = sensitiveWordBs.contains(message.getContent()); + if(contains){ + filter = 1; + content = sensitiveWordBs.replace(message.getContent()); + } } if(fromUser.getIsAnchor().equals(1)){ // 女神发消息不要钱 Account account = accountService.getByUserId(fromUserId); ImResp resp = new ImResp(); resp.setCoin(account.getCoin()+ account.getIncomeCoin()); - resp.setContent(message.getContent()); + resp.setContent(content); return resp; } // 判断VIP获取价格 @@ -150,15 +161,21 @@ public class ImService { // 存储聊天记录 Account account = accountService.getByUserId(fromUserId); UserChatRecord record = userChatRecordService.saveRecord(fromUser, toUser, traceId, message); + if(filter == 1){ + userChatFilterService.saveFilter(fromUser, toUser, content); + } ImResp resp = new ImResp(); resp.setCut(imPrice > 0); resp.setCutCoin(imPrice); resp.setCoin(account.getCoin()+ account.getIncomeCoin()); resp.setRecordId(record.getId()); - resp.setContent(message.getContent()); + resp.setFilter(filter); + resp.setContent(content); return resp; } + + private Long getByImPrice(Long userId){ UserMemberTypeEnum userMemberType = userMemberService.checkUserIsMember(userId); if(userMemberType == null){ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserChatFilterService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserChatFilterService.java index cd7db59a..0ac10642 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserChatFilterService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserChatFilterService.java @@ -1,6 +1,7 @@ package com.ruoyi.cai.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.cai.domain.User; import com.ruoyi.cai.domain.UserChatFilter; /** @@ -11,4 +12,5 @@ import com.ruoyi.cai.domain.UserChatFilter; */ public interface UserChatFilterService extends IService { + void saveFilter(User fromUser, User toUser, String content); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserChatFilterServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserChatFilterServiceImpl.java index caaea2eb..faba277f 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserChatFilterServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/UserChatFilterServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.cai.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.cai.domain.User; import com.ruoyi.cai.domain.UserChatFilter; import com.ruoyi.cai.mapper.UserChatFilterMapper; import com.ruoyi.cai.service.UserChatFilterService; @@ -14,4 +15,12 @@ import org.springframework.stereotype.Service; */ @Service public class UserChatFilterServiceImpl extends ServiceImpl implements UserChatFilterService { + @Override + public void saveFilter(User fromUser, User toUser, String content) { + UserChatFilter chatFilter = new UserChatFilter(); + chatFilter.setFromUid(fromUser.getId()); + chatFilter.setToUid(toUser.getId()); + chatFilter.setContent(content); + this.save(chatFilter); + } } diff --git a/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/cache/LastUpdateTimeCache.java b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/cache/LastUpdateTimeCache.java index 6b027612..b23844bf 100644 --- a/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/cache/LastUpdateTimeCache.java +++ b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/cache/LastUpdateTimeCache.java @@ -1,26 +1,54 @@ package com.ruoyi.sensitive.cache; +import com.ruoyi.common.constant.DateConstant; import org.redisson.api.RBucket; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; @Component public class LastUpdateTimeCache { @Autowired private RedissonClient redissonClient; private String getKey(){ - return "sensitive-lastRefreshTime"; - } - public LocalDateTime getTime(){ - String key = getKey(); - RBucket bucket = redissonClient.getBucket(key); - return bucket.get(); + return "sensitive-lastUpdateTime"; } - public void setTime(){ + private String getRefreshKey(){ + return "sensitive-lastRefreshTime"; + } + + public void setRefreshTime(){ + String key = getRefreshKey(); + RBucket bucket = redissonClient.getBucket(key); + bucket.set(LocalDateTime.now()); + } + + public LocalDateTime getRefreshTime(){ + String key = getRefreshKey(); + RBucket bucket = redissonClient.getBucket(key); + String s = bucket.get(); + if(s == null){ + return null; + } + return LocalDateTime.parse(s, DateTimeFormatter.ofPattern(DateConstant.PATTERN_DATETIME)); + } + + + public LocalDateTime getUpdateTime(){ + String key = getKey(); + RBucket bucket = redissonClient.getBucket(key); + String s = bucket.get(); + if(s == null){ + return null; + } + return LocalDateTime.parse(s, DateTimeFormatter.ofPattern(DateConstant.PATTERN_DATETIME)); + } + + public void setUpdateTime(){ String key = getKey(); RBucket bucket = redissonClient.getBucket(key); bucket.set(LocalDateTime.now()); diff --git a/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/cache/SensitiveWordConfigCache.java b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/cache/SensitiveWordConfigCache.java new file mode 100644 index 00000000..673700ff --- /dev/null +++ b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/cache/SensitiveWordConfigCache.java @@ -0,0 +1,28 @@ +package com.ruoyi.sensitive.cache; + +import com.ruoyi.sensitive.dto.SensitiveConfig; +import org.redisson.api.RBucket; +import org.redisson.api.RedissonClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class SensitiveWordConfigCache { + @Autowired + private RedissonClient redissonClient; + private String getKey(){ + return "sensitive-config"; + } + + public void setConfig(SensitiveConfig config){ + String key = getKey(); + RBucket bucket = redissonClient.getBucket(key); + bucket.set(config); + } + + public SensitiveConfig getConfig(){ + String key = getKey(); + RBucket bucket = redissonClient.getBucket(key); + return bucket.get(); + } +} diff --git a/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/config/MySensitiveWordScheduleRefresh.java b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/config/MySensitiveWordScheduleRefresh.java index bd3e195d..a9631853 100644 --- a/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/config/MySensitiveWordScheduleRefresh.java +++ b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/config/MySensitiveWordScheduleRefresh.java @@ -18,19 +18,17 @@ public class MySensitiveWordScheduleRefresh { @Autowired private SensitiveWordBs sensitiveWordBs; @Autowired - private LastUpdateTimeCache lastUpdateTimeCache; + private LastUpdateTimeCache cache; @Scheduled(fixedDelay = 20,timeUnit = TimeUnit.SECONDS) public void job(){ try { - log.info("MySensitiveWordScheduleRefresh start"); - LocalDateTime time = lastUpdateTimeCache.getTime(); + LocalDateTime time = cache.getUpdateTime(); LocalDateTime now = LocalDateTime.now(); if(time == null || time.isBefore(now)){ return; } refresh(); - log.info("MySensitiveWordScheduleRefresh end"); } catch (Exception e) { log.error("MySensitiveWordScheduleRefresh meet ex", e); } @@ -42,6 +40,7 @@ public class MySensitiveWordScheduleRefresh { private void refresh() { sensitiveWordBs.init(); + cache.setRefreshTime(); } } diff --git a/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/config/SensitiveWordConfig.java b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/config/SensitiveWordConfig.java index 9c85b764..2f6c7500 100644 --- a/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/config/SensitiveWordConfig.java +++ b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/config/SensitiveWordConfig.java @@ -3,6 +3,8 @@ package com.ruoyi.sensitive.config; import com.github.houbb.sensitive.word.bs.SensitiveWordBs; import com.github.houbb.sensitive.word.support.allow.WordAllows; import com.github.houbb.sensitive.word.support.deny.WordDenys; +import com.ruoyi.sensitive.cache.SensitiveWordConfigCache; +import com.ruoyi.sensitive.dto.SensitiveConfig; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -19,6 +21,8 @@ public class SensitiveWordConfig { @Autowired private MyDdWordDeny myDdWordDeny; + @Autowired + private SensitiveWordConfigCache sensitiveWordConfigCache; /** * 初始化引导类 @@ -27,11 +31,25 @@ public class SensitiveWordConfig { */ @Bean public SensitiveWordBs sensitiveWordBs() { + SensitiveConfig sensitiveConfig = sensitiveWordConfigCache.getConfig(); + if(sensitiveConfig == null){ + sensitiveConfig = new SensitiveConfig(); + } return SensitiveWordBs.newInstance() .wordAllow(WordAllows.chains(WordAllows.defaults(), myDdWordAllow)) .wordDeny(WordDenys.chains(WordDenys.defaults(), myDdWordDeny)) - .ignoreRepeat(false) // 各种其他配置 + .ignoreCase(sensitiveConfig.isIgnoreCase()) + .ignoreWidth(sensitiveConfig.isIgnoreWidth()) + .ignoreNumStyle(sensitiveConfig.isIgnoreNumStyle()) + .ignoreChineseStyle(sensitiveConfig.isIgnoreChineseStyle()) + .ignoreEnglishStyle(sensitiveConfig.isIgnoreEnglishStyle()) + .ignoreRepeat(sensitiveConfig.isIgnoreRepeat()) + .enableNumCheck(sensitiveConfig.isEnableNumCheck()) + .enableEmailCheck(sensitiveConfig.isEnableEmailCheck()) + .enableUrlCheck(sensitiveConfig.isEnableUrlCheck()) + .enableWordCheck(sensitiveConfig.isEnableWordCheck()) + .numCheckLen(sensitiveConfig.getNumCheckLen()) .init(); } diff --git a/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/dto/SensitiveConfig.java b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/dto/SensitiveConfig.java new file mode 100644 index 00000000..c88e9ad5 --- /dev/null +++ b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/dto/SensitiveConfig.java @@ -0,0 +1,57 @@ +package com.ruoyi.sensitive.dto; + +import lombok.Data; + +@Data +public class SensitiveConfig { + /** + * 是否忽略大小写 + */ + private boolean ignoreCase = true; + /** + * 是否忽略全角、半角 + */ + private boolean ignoreWidth = true; + /** + * 是否忽略数字样式 + */ + private boolean ignoreNumStyle = true; + /** + * 是否忽略中文样式 + */ + private boolean ignoreChineseStyle = true; + /** + * 是否忽略英文样式 + */ + private boolean ignoreEnglishStyle = true; + /** + * 是否忽略重复 + */ + private boolean ignoreRepeat = false; + + // 开启校验 + /** + * 启用数字检测 + */ + private boolean enableNumCheck = true; + /** + * 启用邮箱检测 + */ + private boolean enableEmailCheck = true; + /** + * 启用 URL 检测 + */ + private boolean enableUrlCheck = true; + + /** + * 单词校验 + * @since 0.4.0 + */ + private boolean enableWordCheck = true; + + // 额外配置 + /** + * 检测数字时的长度 + */ + private int numCheckLen = 8; +} diff --git a/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/dto/WordTestResp.java b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/dto/WordTestResp.java new file mode 100644 index 00000000..5ff8acb2 --- /dev/null +++ b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/dto/WordTestResp.java @@ -0,0 +1,9 @@ +package com.ruoyi.sensitive.dto; + +import lombok.Data; + +@Data +public class WordTestResp { + private String sourceText; + private String targetText; +} diff --git a/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/service/SensitiveWordManager.java b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/service/SensitiveWordManager.java new file mode 100644 index 00000000..27976a13 --- /dev/null +++ b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/service/SensitiveWordManager.java @@ -0,0 +1,47 @@ +package com.ruoyi.sensitive.service; + +import com.github.houbb.sensitive.word.bs.SensitiveWordBs; +import com.ruoyi.sensitive.cache.SensitiveWordConfigCache; +import com.ruoyi.sensitive.dto.SensitiveConfig; +import com.ruoyi.sensitive.dto.WordTestResp; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class SensitiveWordManager { + + @Autowired + private SensitiveWordBs sensitiveWordBs; + @Autowired + private SensitiveWordConfigCache sensitiveWordConfigCache; + + public WordTestResp test(String text) { + String results = sensitiveWordBs.replace(text); + WordTestResp wordTestResp = new WordTestResp(); + wordTestResp.setSourceText(text); + wordTestResp.setTargetText(results); + return wordTestResp; + } + + public void updateSensitiveConfig(SensitiveConfig sensitiveConfig) { + sensitiveWordBs + .ignoreCase(sensitiveConfig.isIgnoreCase()) + .ignoreWidth(sensitiveConfig.isIgnoreWidth()) + .ignoreNumStyle(sensitiveConfig.isIgnoreNumStyle()) + .ignoreChineseStyle(sensitiveConfig.isIgnoreChineseStyle()) + .ignoreEnglishStyle(sensitiveConfig.isIgnoreEnglishStyle()) + .ignoreRepeat(sensitiveConfig.isIgnoreRepeat()) + .enableNumCheck(sensitiveConfig.isEnableNumCheck()) + .enableEmailCheck(sensitiveConfig.isEnableEmailCheck()) + .enableUrlCheck(sensitiveConfig.isEnableUrlCheck()) + .enableWordCheck(sensitiveConfig.isEnableWordCheck()) + .numCheckLen(sensitiveConfig.getNumCheckLen()) + .init(); + sensitiveWordConfigCache.setConfig(sensitiveConfig); + } + + public SensitiveConfig getSensitiveConfig(){ + return sensitiveWordConfigCache.getConfig(); + } + +} diff --git a/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/service/impl/WordServiceImpl.java b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/service/impl/WordServiceImpl.java index 425f9213..8827af33 100644 --- a/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/service/impl/WordServiceImpl.java +++ b/ruoyi-sensitive-word/src/main/java/com/ruoyi/sensitive/service/impl/WordServiceImpl.java @@ -1,7 +1,6 @@ package com.ruoyi.sensitive.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.github.houbb.sensitive.word.support.allow.WordAllows; import com.ruoyi.sensitive.cache.LastUpdateTimeCache; import com.ruoyi.sensitive.domain.Word; import com.ruoyi.sensitive.mapper.WordMapper; @@ -26,21 +25,21 @@ public class WordServiceImpl extends ServiceImpl implements Wor @Override public boolean removeWordBatchByIds(List asList) { boolean re = this.removeBatchByIds(asList); - lastUpdateTimeCache.setTime(); + lastUpdateTimeCache.setUpdateTime(); return re; } @Override public boolean updateWordById(Word bo) { boolean re = this.updateById(bo); - lastUpdateTimeCache.setTime(); + lastUpdateTimeCache.setUpdateTime(); return re; } @Override public boolean saveWord(Word bo) { boolean re = this.save(bo); - lastUpdateTimeCache.setTime(); + lastUpdateTimeCache.setUpdateTime(); return re; } }