From 11ec7ac8f4832c4274cf61a19cc35cda3de9e0e5 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期三, 09 七月 2025 16:04:41 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- 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 dbd234b..b849f0e 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-02 16:32:19 -*/ + * @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.error("关键词采集未完成"); + } + List<KeywordStaticsVO> statics = this.getBaseMapper().statics(keywordId, questionId, keyword.getNum()); + vo.setNowRecord(statics); + if (keyword.getNum() != 0) { + statics = this.getBaseMapper().statics(keywordId, questionId, keyword.getNum() - 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