Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
E
event
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
陈世强
event
Commits
e037120b
提交
e037120b
authored
8月 15, 2025
作者:
925993793@qq.com
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
逻辑调整,优化
上级
23c6c69c
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
58 行增加
和
26 行删除
+58
-26
EventAnalysisController.java
...va/com/zzsn/event/controller/EventAnalysisController.java
+33
-14
EventAnalysisVersion.java
...main/java/com/zzsn/event/entity/EventAnalysisVersion.java
+4
-0
KafkaConsumer.java
src/main/java/com/zzsn/event/kafka/KafkaConsumer.java
+4
-2
AnalysisService.java
src/main/java/com/zzsn/event/service/AnalysisService.java
+2
-1
AnalysisServiceImpl.java
...java/com/zzsn/event/service/impl/AnalysisServiceImpl.java
+12
-6
NetWorkEventTask.java
src/main/java/com/zzsn/event/task/NetWorkEventTask.java
+3
-3
没有找到文件。
src/main/java/com/zzsn/event/controller/EventAnalysisController.java
浏览文件 @
e037120b
...
...
@@ -255,10 +255,10 @@ public class EventAnalysisController {
@RequestParam
(
required
=
false
)
String
startTime
,
@RequestParam
(
required
=
false
)
String
endTime
,
@RequestParam
(
required
=
false
)
String
versionId
)
{
if
(
StringUtils
.
isNotEmpty
(
versionId
))
{
String
versionData
=
eventAnalysisVersionRecordService
.
getVersionData
(
versionId
,
AnalysisColumnEnum
.
KEYWORD_TREND
.
getCode
());
return
Result
.
OK
(
JSON
.
parseArray
(
versionData
,
JSONObject
.
class
));
}
//
if (StringUtils.isNotEmpty(versionId)) {
//
String versionData = eventAnalysisVersionRecordService.getVersionData(versionId, AnalysisColumnEnum.KEYWORD_TREND.getCode());
//
return Result.OK(JSON.parseArray(versionData,JSONObject.class));
//
}
List
<
CountVO
>
versionData
=
analysisService
.
wordTrend
(
eventId
,
startTime
,
endTime
);
return
Result
.
OK
(
versionData
);
}
...
...
@@ -279,10 +279,10 @@ public class EventAnalysisController {
@RequestParam
(
required
=
false
)
String
startTime
,
@RequestParam
(
required
=
false
)
String
endTime
,
@RequestParam
(
required
=
false
)
String
versionId
)
{
if
(
StringUtils
.
isNotEmpty
(
versionId
))
{
String
versionData
=
eventAnalysisVersionRecordService
.
getVersionData
(
versionId
,
AnalysisColumnEnum
.
CO_OCCURRENCE
.
getCode
());
return
Result
.
OK
(
JSON
.
parseArray
(
versionData
,
JSONObject
.
class
));
}
//
if (StringUtils.isNotEmpty(versionId)) {
//
String versionData = eventAnalysisVersionRecordService.getVersionData(versionId, AnalysisColumnEnum.CO_OCCURRENCE.getCode());
//
return Result.OK(JSON.parseArray(versionData,JSONObject.class));
//
}
//增加缓存逻辑,提升查询效率
String
key
=
Constants
.
SUBJECT_ANALYSIS_PRE
+
Constants
.
CO_OCCURRENCE
+
eventId
;
Object
cacheObject
=
redisUtil
.
get
(
key
);
...
...
@@ -783,16 +783,35 @@ public class EventAnalysisController {
}
/**
* 导出ppt
*
* @param params 参数
* @author lkg
* @date 2025/8/15
*/
@PostMapping
(
"/exportPPT"
)
public
void
exportPPT
(
@RequestBody
JSONObject
params
,
HttpServletResponse
response
)
throws
IOException
{
String
eventId
=
params
.
getString
(
"eventId"
);
JSONArray
content
=
params
.
getJSONArray
(
"content"
);
String
ppt
=
analysisService
.
exportPPT
(
eventId
,
content
);
if
(
ppt
==
null
)
{
response
.
sendError
(
HttpServletResponse
.
SC_NOT_FOUND
,
"PPT文件生成失败"
);
String
versionId
=
params
.
getString
(
"versionId"
);
if
(
StringUtils
.
isEmpty
(
versionId
))
{
return
;
}
commonService
.
downloadTemplate
(
response
,
ppt
);
String
pptPath
;
EventAnalysisVersion
eventAnalysisVersion
=
eventAnalysisVersionService
.
getById
(
versionId
);
if
(
eventAnalysisVersion
!=
null
&&
StringUtils
.
isNotEmpty
(
eventAnalysisVersion
.
getPptPath
()))
{
pptPath
=
eventAnalysisVersion
.
getPptPath
();
}
else
{
String
eventId
=
params
.
getString
(
"eventId"
);
JSONArray
content
=
params
.
getJSONArray
(
"content"
);
String
ppt
=
analysisService
.
exportPPT
(
eventId
,
versionId
,
content
);
if
(
ppt
==
null
)
{
response
.
sendError
(
HttpServletResponse
.
SC_NOT_FOUND
,
"PPT文件生成失败"
);
return
;
}
else
{
pptPath
=
ppt
;
}
}
commonService
.
downloadTemplate
(
response
,
pptPath
);
}
/**
...
...
src/main/java/com/zzsn/event/entity/EventAnalysisVersion.java
浏览文件 @
e037120b
...
...
@@ -36,6 +36,10 @@ public class EventAnalysisVersion implements Serializable {
*/
private
String
versionName
;
/**
* ppt地址
*/
private
String
pptPath
;
/**
* 创建人
*/
private
String
createBy
;
...
...
src/main/java/com/zzsn/event/kafka/KafkaConsumer.java
浏览文件 @
e037120b
...
...
@@ -10,10 +10,13 @@ import org.apache.commons.collections4.CollectionUtils;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.kafka.clients.consumer.ConsumerRecord
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.kafka.annotation.KafkaListener
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author lkg
...
...
@@ -27,13 +30,12 @@ public class KafkaConsumer {
@Autowired
private
EventContextService
eventContextService
;
/**
* 获取-事件脉络-分析结果数据,并入库
*
* @param record 接收的kafka数据
*/
@KafkaListener
(
topics
=
{
"
eventContextTopic
"
})
@KafkaListener
(
topics
=
{
"
${kafka.topic.eventContext}
"
})
public
void
eventContext_new
(
ConsumerRecord
<
String
,
String
>
record
)
{
String
value
=
record
.
value
();
if
(
StringUtils
.
isEmpty
(
value
))
{
...
...
src/main/java/com/zzsn/event/service/AnalysisService.java
浏览文件 @
e037120b
...
...
@@ -107,9 +107,10 @@ public interface AnalysisService {
* 导出ppt
*
* @param eventId 事件id
* @param versionId 版本id
* @param content 导出内容
* @author lkg
* @date 2025/7/19
*/
String
exportPPT
(
String
eventId
,
JSONArray
content
);
String
exportPPT
(
String
eventId
,
String
versionId
,
JSONArray
content
);
}
src/main/java/com/zzsn/event/service/impl/AnalysisServiceImpl.java
浏览文件 @
e037120b
...
...
@@ -390,7 +390,7 @@ public class AnalysisServiceImpl implements AnalysisService {
// log.info("{}-事件分析【{}】重新生成逻辑完成。", eventName, AnalysisColumnEnum.EVENT_CONTEXT.getName());
//}
//关键词趋势分析
int
count
=
esService
.
count
(
eventId
,
null
,
null
);
/*
int count = esService.count(eventId, null, null);
if (count > 0) {
List<CountVO> wordTrend = this.wordTrend(eventId, null, null);
if (CollectionUtils.isNotEmpty(wordTrend)) {
...
...
@@ -405,7 +405,7 @@ public class AnalysisServiceImpl implements AnalysisService {
eventAnalysisVersionRecordService.save(record);
log.info("{}-事件分析【{}】重新生成逻辑完成。", eventName, AnalysisColumnEnum.CO_OCCURRENCE.getName());
}
}
}
*/
//大模型相关逻辑生成的结果(影响评估,举措建议等)
List
<
EventLlmConfig
>
collect
=
configList
.
stream
()
.
filter
(
e
->
!
e
.
getColumnCode
().
equals
(
AnalysisColumnEnum
.
CORE_SUMMARY
.
getCode
())
...
...
@@ -414,9 +414,12 @@ public class AnalysisServiceImpl implements AnalysisService {
String
content
=
"事件标题;"
+
eventName
+
"\n事件摘要:"
+
event
.
getEventDescribe
();
for
(
EventLlmConfig
config
:
collect
)
{
try
{
String
llmResult
=
this
.
llmResult
(
event
,
content
,
null
,
null
,
config
);
EventAnalysisVersionRecord
record
=
EventAnalysisVersionRecord
.
of
(
versionId
,
Objects
.
requireNonNull
(
AnalysisColumnEnum
.
getByCode
(
config
.
getColumnCode
())),
llmResult
);
eventAnalysisVersionRecordService
.
save
(
record
);
AnalysisColumnEnum
analysisColumnEnum
=
AnalysisColumnEnum
.
getByCode
(
config
.
getColumnCode
());
if
(
analysisColumnEnum
!=
null
)
{
String
llmResult
=
this
.
llmResult
(
event
,
content
,
null
,
null
,
config
);
EventAnalysisVersionRecord
record
=
EventAnalysisVersionRecord
.
of
(
versionId
,
analysisColumnEnum
,
llmResult
);
eventAnalysisVersionRecordService
.
save
(
record
);
}
log
.
info
(
"{}-事件分析【{}】重新生成逻辑完成。"
,
eventName
,
config
.
getColumnName
());
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
...
...
@@ -426,7 +429,7 @@ public class AnalysisServiceImpl implements AnalysisService {
}
@Override
public
String
exportPPT
(
String
eventId
,
JSONArray
content
)
{
public
String
exportPPT
(
String
eventId
,
String
versionId
,
JSONArray
content
)
{
String
pptFile
=
null
;
Event
event
=
eventService
.
getById
(
eventId
);
String
eventName
=
event
.
getEventName
();
...
...
@@ -492,6 +495,9 @@ public class AnalysisServiceImpl implements AnalysisService {
InputStream
inputStream
=
connection
.
getInputStream
();
PutObjectResult
putObjectResult
=
obsUtil
.
uploadFile
(
"event_ppt/"
+
eventId
+
"_"
+
timestamp
+
".pptx"
,
inputStream
);
pptFile
=
putObjectResult
.
getObjectKey
();
LambdaUpdateWrapper
<
EventAnalysisVersion
>
update
=
Wrappers
.
lambdaUpdate
();
update
.
set
(
EventAnalysisVersion:
:
getPptPath
,
pptFile
).
eq
(
EventAnalysisVersion:
:
getId
,
versionId
);
eventAnalysisVersionService
.
update
(
update
);
break
;
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
...
...
src/main/java/com/zzsn/event/task/NetWorkEventTask.java
浏览文件 @
e037120b
...
...
@@ -89,11 +89,11 @@ public class NetWorkEventTask {
if
(
CollectionUtils
.
isNotEmpty
(
finalList
))
{
finalList
.
forEach
(
network
->
network
.
setLatest
(
1
));
String
response
=
llmService
.
model
(
null
,
PROMPT
,
JSONObject
.
toJSONString
(
finalList
));
if
(
response
.
startsWith
(
"```json"
))
{
response
=
response
.
substring
(
7
,
response
.
length
()
-
3
);
}
if
(
StringUtils
.
isNotEmpty
(
response
))
{
try
{
if
(
response
.
contains
(
"```json"
))
{
response
=
response
.
substring
(
response
.
indexOf
(
"```json"
)
+
7
,
response
.
lastIndexOf
(
"```"
));
}
List
<
EventNetwork
>
hitList
=
JSON
.
parseArray
(
response
,
EventNetwork
.
class
);
finalList
.
forEach
(
network
->
{
List
<
String
>
titleLis
=
hitList
.
stream
().
map
(
EventNetwork:
:
getTitle
).
collect
(
Collectors
.
toList
());
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论