提交 e3a41619 作者: 925993793@qq.com

定制专题-新增分页列表接口、优化描述接口

上级 29650ab8
......@@ -26,10 +26,9 @@ import com.zzsn.event.service.impl.ConfigurationMessageService;
import com.zzsn.event.util.HttpUtil;
import com.zzsn.event.util.ObjectUtil;
import com.zzsn.event.util.RedisUtil;
import com.zzsn.event.vo.InfoDataSearchCondition;
import com.zzsn.event.vo.SubjectDetailVO;
import com.zzsn.event.vo.SubjectSimpleVO;
import com.zzsn.event.vo.TranslateVO;
import com.zzsn.event.util.user.UserUtil;
import com.zzsn.event.util.user.UserVo;
import com.zzsn.event.vo.*;
import com.zzsn.event.vo.es.DisplayInfo;
import com.zzsn.event.xxljob.entity.XxlJobInfo;
import com.zzsn.event.xxljob.service.IXxlJobInfoService;
......@@ -48,10 +47,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.CompletableFuture;
/**
......@@ -94,6 +90,42 @@ public class ExternalController {
@Value("${kafka.topic.subject.run:}")
private String SUBJECT_MODEL_KAFKA_CHANNEL;
/**
* 分页列表查询-研究中心
*
* @param subjectCondition 搜索条件
* @param pageNo 当前页
* @param pageSize 每页返回条数
* @author lkg
* @date 2025/1/7
*/
@GetMapping(("/pageList"))
public Result<?> researchCenterPageList(SubjectCondition subjectCondition,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
@RequestParam(required = false) String flagCode, HttpServletRequest request) {
UserVo loginUser = UserUtil.getLoginUser();
Page<SubjectPage> pageList = subjectService.researchCenterPageList(subjectCondition, pageNo, pageSize, flagCode, request, loginUser.getUsername());
List<SubjectPage> records = pageList.getRecords();
if (CollectionUtils.isNotEmpty(records)) {
Date now = new Date();
for (SubjectPage record : records) {
Date timeDisable = record.getTimeDisable();
if (timeDisable != null) {
if (timeDisable.before(now)) {
record.setCollectStatus("采集中");
} else {
record.setCollectStatus("已完成");
}
} else {
record.setCollectStatus("采集中");
}
}
}
return Result.OK(pageList);
}
/**
* 创建专题
*
......@@ -170,6 +202,34 @@ public class ExternalController {
/**
* 优化描述
*
* @param remark 描述
* @author lkg
* @date 2025/8/25
*/
@GetMapping("/optimizeDescription")
public Result<?> optimizeDescription(@RequestParam String remark) {
String prompt = "【角色】 你是一名资深【行业分析师】和【技术文档撰写者】。你的任务是将一个简短的主题转化为一段定义清晰、内容充实、客观中立的专题概述。\n" +
"【核心任务】 根据用户提供的一个简短主题名称或初步想法,将其扩展成一段约150字的、详尽且准确的专题描述。这段描述需要全面覆盖该主题的核心定义、背景、关键组成部分、重要影响或相关应用场景,语言需保持专业、精炼和高信息密度,避免主观评价和浮夸修辞。\n" +
"【要求】\n" +
"客观全面:内容必须基于事实,涵盖主题,准确识别用户意图。\n" +
"意图扩展:识别用户意图,将意图扩展,而不是回答这个问题\n" +
"信息密集:优先使用名词和专业术语,尽量保留用户输入的关键词,确保段落内含大量关键实体和概念,为后续关键词提取提供丰富素材。\n" +
"逻辑连贯:语句之间逻辑顺畅,形成一段完整的概述,而非关键词罗列。\n" +
"精准简洁:严格控制字数在150字左右,直达核心,避免冗长。\n" +
"语种识别:识别用户输入的语种,例如中文、日文、英文,输出也要用对应的语种输出\n" +
"最终输出:请直接生成一段约150字的专题描述,无需任何前置说明、标题或分点。\n" +
"【输入输出示例】\n" +
"示例:\n" +
"输入: 特斯拉刹车失灵\n" +
"输出: 该专题聚焦于特斯拉电动汽车系列车型涉及的刹车系统性能与安全问题。近年来,全球多地车主报告在驾驶过程中遭遇疑似刹车失灵或制动距离异常延长的案例,引发了消费者对车辆安全性的广泛担忧。事件导致了多起交通事故,并促使美国国家公路交通安全管理局等权威机构启动缺陷调查。专题将涵盖相关事故报告、技术分析、监管机构的调查进展、特斯拉官方的回应及后续软件更新措施,旨在全面审视此类事件的真实性与潜在技术根源。";
String crawlerWord = llmService.model("qwen", "qwen-max-latest", prompt, remark);
return Result.OK(crawlerWord);
}
/**
* 采集词推荐
*
* @param remark 专题描述
......
......@@ -148,6 +148,8 @@
SELECT d.id,
d.subject_name,
d.subject_code,
d.time_enable,
d.time_disable,
d.library,
d.remark,
d.subject_type,
......
......@@ -203,4 +203,8 @@ public class SubjectPage {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date latestDataDate;
/**采集状态(定制专题)*/
private String collectStatus;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论