From 392b42c4891cf2e6beda57ab32c51598f290f4b7 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 14 三月 2025 20:56:27 +0800
Subject: [PATCH] bug修改

---
 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/SensitiveWordsServiceImpl.java |   92 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 84 insertions(+), 8 deletions(-)

diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/SensitiveWordsServiceImpl.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/SensitiveWordsServiceImpl.java
index 4f6387f..148aa4d 100644
--- a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/SensitiveWordsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/SensitiveWordsServiceImpl.java
@@ -1,18 +1,29 @@
 package com.ruoyi.article.service.impl;
 
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.article.domain.pojo.Article;
-import com.ruoyi.article.domain.pojo.SensitiveWords;
+import com.ruoyi.article.controller.management.dto.MgtSensitiveWordsDTO;
+import com.ruoyi.article.controller.management.dto.MgtSensitiveWordsQuery;
+import com.ruoyi.article.controller.management.vo.MgtSensitiveWordsVO;
+import com.ruoyi.article.domain.SensitiveWords;
+import com.ruoyi.article.listener.SensitiveWordsListener;
 import com.ruoyi.article.mapper.SensitiveWordsMapper;
 import com.ruoyi.article.service.ISensitiveWordsService;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.page.BeanUtils;
+import com.ruoyi.common.core.utils.page.CollUtils;
 import com.ruoyi.common.core.utils.page.PageDTO;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
+import com.ruoyi.system.api.domain.dto.judgeSensitiveWordsDTO;
+import com.ruoyi.system.api.domain.vo.judgeSensitiveWordsVO;
+import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Pattern;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * <p>
@@ -25,12 +36,77 @@
 @Service
 public class SensitiveWordsServiceImpl extends ServiceImpl<SensitiveWordsMapper, SensitiveWords> implements ISensitiveWordsService {
 
-    @Resource
-    private ISensitiveWordsService sensitiveWordsService;
     @Override
     public List<SensitiveWords> getMemberArticleList() {
         LambdaQueryWrapper<SensitiveWords> wrapper= Wrappers.lambdaQuery();
         wrapper.eq(SensitiveWords::getDelFlag,0);
-        return sensitiveWordsService.list(wrapper);
+        return this.list(wrapper);
+    }
+
+    @Override
+    public judgeSensitiveWordsVO judgeSensitiveWordsList(judgeSensitiveWordsDTO SensitiveWordsDTO) {
+        judgeSensitiveWordsVO SensitiveWordsVO = new judgeSensitiveWordsVO();
+        LambdaQueryWrapper<SensitiveWords> wrapper= Wrappers.lambdaQuery();
+        wrapper.eq(SensitiveWords::getDelFlag,0);
+        List<SensitiveWords> list = this.list(wrapper);
+        if (CollUtils.isNotEmpty(list)) {
+            List<String> sensitiveWords = new ArrayList<>();
+            for (SensitiveWords l : list) {
+                sensitiveWords.add(l.getWord());
+            }
+            Pattern pattern = Pattern.compile(String.join("|", sensitiveWords),
+                    Pattern.CASE_INSENSITIVE);
+            boolean b = pattern.matcher(SensitiveWordsDTO.getText()).find();
+            if (b) {
+                SensitiveWordsVO.setType(1);
+            } else {
+                SensitiveWordsVO.setType(2);
+            }
+        } else {
+            SensitiveWordsVO.setType(2);
+        }
+        return SensitiveWordsVO;
+    }
+    /**
+     * 获取敏感词列表的分页数据
+     *
+     * @param query 管理后台-敏感词查询对象
+     * @return PageDTO<MgtSensitiveWordsVO>
+     */
+    @Override
+    public PageDTO<MgtSensitiveWordsVO> getSensitiveWordsPage(MgtSensitiveWordsQuery query) {
+        PageDTO<MgtSensitiveWordsVO> pageVO;
+        Page<SensitiveWords> page = this.lambdaQuery()
+                .like(StringUtils.isNotBlank(query.getWord()), SensitiveWords::getWord,
+                        query.getWord()).orderByDesc(SensitiveWords::getCreateTime)
+                .page(new Page<>(query.getPageCurr(), query.getPageSize()));
+        if (StringUtils.isEmpty(page.getRecords())) {
+            pageVO = PageDTO.empty(page);
+        } else {
+            pageVO = PageDTO.of(page, MgtSensitiveWordsVO.class);
+        }
+        return pageVO;
+    }
+
+    /**
+     * 添加敏感词
+     *
+     * @param dto 敏感词数据传输对象
+     */
+    @Override
+    public void saveSensitiveWords(MgtSensitiveWordsDTO dto) {
+        this.save(BeanUtils.copyBean(dto, SensitiveWords.class));
+    }
+
+    /**
+     * 敏感词导入
+     *
+     * @param file 导入文件
+     * @return
+     */
+    @Override
+    public void importSensitiveWords(MultipartFile file) throws IOException {
+        EasyExcel.read(file.getInputStream(), MgtSensitiveWordsDTO.class,
+                new SensitiveWordsListener(this)).sheet().doRead();
     }
 }

--
Gitblit v1.7.1