From 580d70b15ae47bc180a0b579af8c47c506eefac6 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期五, 11 七月 2025 20:13:38 +0800
Subject: [PATCH] 修改

---
 src/main/java/com/linghu/service/impl/KeywordServiceImpl.java |  106 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 96 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/linghu/service/impl/KeywordServiceImpl.java b/src/main/java/com/linghu/service/impl/KeywordServiceImpl.java
index 125bc52..3c848df 100644
--- a/src/main/java/com/linghu/service/impl/KeywordServiceImpl.java
+++ b/src/main/java/com/linghu/service/impl/KeywordServiceImpl.java
@@ -1,22 +1,108 @@
 package com.linghu.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.linghu.model.common.ResponseResult;
 import com.linghu.model.entity.Keyword;
+import com.linghu.model.vo.*;
+import com.linghu.model.vo.KeywordStaticsListVO;
 import com.linghu.service.KeywordService;
 import com.linghu.mapper.KeywordMapper;
+
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 /**
-* @author xy
-* @description 针对表【keyword】的数据库操作Service实现
-* @createDate 2025-07-04 20:17:33
-*/
+ * @author xy
+ * @description 针对表【keyword】的数据库操作Service实现
+ * @createDate 2025-07-04 20:17:33
+ */
 @Service
-public class KeywordServiceImpl extends ServiceImpl<KeywordMapper, Keyword>
-    implements KeywordService{
+public class KeywordServiceImpl extends ServiceImpl<KeywordMapper, Keyword> implements KeywordService {
+    @Autowired
+    private KeywordMapper keywordMapper;
+
+    @Override
+    public ResponseResult<KeywordStaticsListVO> statics(Integer keywordId, Integer questionId) {
+        KeywordStaticsListVO vo = new KeywordStaticsListVO();
+        // 1.关键词是否存在
+        Keyword keyword = this.getById(keywordId);
+        if (keyword == null) {
+            return ResponseResult.error("关键词不存在");
+        }
+        if (!"completed".equals(keyword.getStatus())) {
+            return ResponseResult.success();
+        }
+        List<KeywordStaticsVO> statics = this.getBaseMapper().statics(keywordId, questionId, keyword.getNum());
+        vo.setNowRecord(statics);
+        if (keyword.getNum() > 1) {
+            statics = this.getBaseMapper().statics(keywordId, questionId, 1);
+            vo.setBeforeRecord(statics);
+        }
+        return ResponseResult.success(vo);
+    }
+
+    @Override
+    public ResponseResult<List<PlatformProportionVO>> getResultByTypeId(Integer keywordId, Integer questionId,
+            Integer typeId) {
+        // 1.关键词是否存在
+        Keyword keyword = this.getById(keywordId);
+        if (keyword == null) {
+            return ResponseResult.error("关键词不存在");
+        }
+        if (!"completed".equals(keyword.getStatus())) {
+            return ResponseResult.error("关键词采集未完成");
+        }
+        List<PlatformProportionVO> result = this.getBaseMapper().getResultByTypeId(keywordId, questionId,
+                keyword.getNum(), typeId);
+        return ResponseResult.success(result);
+    }
+
+    @Override
+    public ResponseResult<List<ResultListVO>> getResultByPlatformId(Integer keywordId, Integer questionId,
+            Integer platformId) {
+        // 1.关键词是否存在
+        Keyword keyword = this.getById(keywordId);
+        if (keyword == null) {
+            return ResponseResult.error("关键词不存在");
+        }
+        if (!"completed".equals(keyword.getStatus())) {
+            return ResponseResult.error("关键词采集未完成");
+        }
+
+        List<ResultListVO> result = this.getBaseMapper().getResultByPlatformId(keywordId, questionId, keyword.getNum(),
+                platformId);
+        return ResponseResult.success(result);
+    }
+
+    @Override
+    public List<Keyword> getKeywordsByOrderId(String orderId) {
+        LambdaQueryWrapper<Keyword> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Keyword::getOrder_id, orderId);
+        return keywordMapper.selectList(queryWrapper);
+    }
+
+    @Override
+    public Boolean saveKeywords(String keywords, String order_id) {
+        if (StringUtils.hasText(keywords)) {
+            List<Keyword> keywordList = new ArrayList<>();
+            String[] keywordArray = keywords.split("\\n");
+            for (String keyword : keywordArray) {
+                Keyword newKeyword = new Keyword();
+                newKeyword.setKeyword_name(keyword);
+                newKeyword.setOrder_id(order_id);
+                newKeyword.setStatus("notSubmitted");
+                keywordList.add(newKeyword);
+            }
+            return this.saveBatch(keywordList);
+        }else {
+            return false;
+        }
+    }
 
 }
-
-
-
-

--
Gitblit v1.7.1