This commit is contained in:
张良(004796)
2024-02-19 17:21:30 +08:00
parent 083fac84bb
commit 1a7c01e5cc
14 changed files with 284 additions and 20 deletions

View File

@@ -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<Void> updateSensitiveConfig(@RequestBody SensitiveConfig sensitiveConfig){
sensitiveWordManager.updateSensitiveConfig(sensitiveConfig);
return R.ok();
}
@GetMapping("/getSensitiveConfig")
public R<SensitiveConfig> getSensitiveConfig(){
return R.ok(sensitiveWordManager.getSensitiveConfig());
}
@GetMapping("/lastRefresh")
public R<LocalDateTime> 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<Void> refresh() {
sensitiveWordBs.init();
cache.setRefreshTime();
return R.ok();
}
@PostMapping("/test")
public R<WordTestResp> test(@RequestBody Word word) {
return R.ok(sensitiveWordManager.test(word.getWord()));
}
}