Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
poc-api
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
poc
poc-api
Commits
94f4a2e9
Commit
94f4a2e9
authored
Jun 20, 2025
by
alex yao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:修复长文档接口异常
parent
36f468ff
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
103 additions
and
313 deletions
+103
-313
BizAgentApplicationDialoguesRecordConvert.java
...on/convert/BizAgentApplicationDialoguesRecordConvert.java
+4
-0
BizAgentApplicationDialoguesRecordDto.java
...pplication/dto/BizAgentApplicationDialoguesRecordDto.java
+15
-0
BizAgentApplicationDialoguesRecordEntity.java
...tion/entity/BizAgentApplicationDialoguesRecordEntity.java
+13
-0
BizAgentApplicationDialoguesRecordModel.java
...cation/model/BizAgentApplicationDialoguesRecordModel.java
+15
-0
LongTextDialoguesService.java
...poc/long_document/aggregate/LongTextDialoguesService.java
+0
-11
LongTextDialoguesServiceImpl.java
...document/aggregate/impl/LongTextDialoguesServiceImpl.java
+50
-181
LongTextDialoguesRest.java
.../cn/com/poc/long_document/rest/LongTextDialoguesRest.java
+3
-52
LongTextDialoguesRestImpl.java
...oc/long_document/rest/impl/LongTextDialoguesRestImpl.java
+3
-69
No files found.
src/main/java/cn/com/poc/agent_application/convert/BizAgentApplicationDialoguesRecordConvert.java
View file @
94f4a2e9
...
...
@@ -16,6 +16,7 @@ public class BizAgentApplicationDialoguesRecordConvert {
entity
.
setContent
(
model
.
getContent
());
entity
.
setReasoningContent
(
model
.
getReasoningContent
());
entity
.
setImageUrl
(
model
.
getImageUrl
());
entity
.
setFileUrl
(
model
.
getFileUrl
());
entity
.
setDialogsId
(
model
.
getDialogsId
());
entity
.
setTimestamp
(
model
.
getTimestamp
());
entity
.
setIsDeleted
(
model
.
getIsDeleted
());
...
...
@@ -37,6 +38,7 @@ public class BizAgentApplicationDialoguesRecordConvert {
model
.
setContent
(
entity
.
getContent
());
model
.
setReasoningContent
(
entity
.
getReasoningContent
());
model
.
setImageUrl
(
entity
.
getImageUrl
());
model
.
setFileUrl
(
entity
.
getFileUrl
());
model
.
setTimestamp
(
entity
.
getTimestamp
());
model
.
setIsDeleted
(
entity
.
getIsDeleted
());
model
.
setCreator
(
entity
.
getCreator
());
...
...
@@ -57,6 +59,7 @@ public class BizAgentApplicationDialoguesRecordConvert {
dto
.
setContent
(
entity
.
getContent
());
dto
.
setReasoningContent
(
entity
.
getReasoningContent
());
dto
.
setImageUrl
(
entity
.
getImageUrl
());
dto
.
setFileUrl
(
entity
.
getFileUrl
());
dto
.
setTimestamp
(
entity
.
getTimestamp
());
dto
.
setIsDeleted
(
entity
.
getIsDeleted
());
dto
.
setCreator
(
entity
.
getCreator
());
...
...
@@ -77,6 +80,7 @@ public class BizAgentApplicationDialoguesRecordConvert {
entity
.
setContent
(
dto
.
getContent
());
entity
.
setReasoningContent
(
dto
.
getReasoningContent
());
entity
.
setImageUrl
(
dto
.
getImageUrl
());
entity
.
setFileUrl
(
dto
.
getFileUrl
());
entity
.
setTimestamp
(
dto
.
getTimestamp
());
entity
.
setIsDeleted
(
dto
.
getIsDeleted
());
entity
.
setCreator
(
dto
.
getCreator
());
...
...
src/main/java/cn/com/poc/agent_application/dto/BizAgentApplicationDialoguesRecordDto.java
View file @
94f4a2e9
...
...
@@ -117,6 +117,21 @@ public class BizAgentApplicationDialoguesRecordDto {
this
.
imageUrl
=
imageUrl
;
}
/**
* file_url
* 文件地址
*/
private
java
.
lang
.
String
fileUrl
;
public
String
getFileUrl
()
{
return
fileUrl
;
}
public
void
setFileUrl
(
String
fileUrl
)
{
this
.
fileUrl
=
fileUrl
;
}
/**
* timestamp
* 时间戳
...
...
src/main/java/cn/com/poc/agent_application/entity/BizAgentApplicationDialoguesRecordEntity.java
View file @
94f4a2e9
...
...
@@ -103,6 +103,19 @@ public class BizAgentApplicationDialoguesRecordEntity {
this
.
imageUrl
=
imageUrl
;
}
/**
* 文件地址
*/
private
java
.
lang
.
String
fileUrl
;
public
String
getFileUrl
()
{
return
fileUrl
;
}
public
void
setFileUrl
(
String
fileUrl
)
{
this
.
fileUrl
=
fileUrl
;
}
/**
* dialogsId
* 对话ID
...
...
src/main/java/cn/com/poc/agent_application/model/BizAgentApplicationDialoguesRecordModel.java
View file @
94f4a2e9
...
...
@@ -161,6 +161,21 @@ public class BizAgentApplicationDialoguesRecordModel extends BaseModelClass impl
this
.
imageUrl
=
imageUrl
;
}
/**
* file_url
* 文件地址
*/
private
java
.
lang
.
String
fileUrl
;
@Column
(
name
=
"file_url"
,
length
=
120
)
public
String
getFileUrl
()
{
return
fileUrl
;
}
public
void
setFileUrl
(
String
fileUrl
)
{
this
.
fileUrl
=
fileUrl
;
}
/**
* timestamp
* 时间戳
...
...
src/main/java/cn/com/poc/long_document/aggregate/LongTextDialoguesService.java
View file @
94f4a2e9
package
cn
.
com
.
poc
.
long_document
.
aggregate
;
import
cn.com.poc.long_document.dto.DialoguesContextDto
;
import
cn.com.poc.long_document.dto.LongTextDialoguesDto
;
import
cn.com.poc.long_document.dto.LongTextExampleDto
;
import
cn.com.poc.long_document.dto.LongTextSummaryDto
;
...
...
@@ -13,20 +11,11 @@ import java.util.List;
*/
public
interface
LongTextDialoguesService
{
String
create
(
String
fileUrl
,
Long
userId
)
throws
Exception
;
void
call
(
String
dialoguesId
,
String
fileUrl
,
String
input
,
Integer
[]
knowledgeIds
,
Long
userId
)
throws
Exception
;
LongTextSummaryDto
summary
(
String
dialoguesId
,
Long
userId
)
throws
Exception
;
void
delete
(
String
dialoguesId
,
Long
userId
)
throws
Exception
;
LongTextDialoguesDto
dialoguesDetail
(
String
dialoguesId
,
Long
userId
)
throws
Exception
;
List
<
LongTextDialoguesDto
>
dialoguesList
(
Long
userId
)
throws
Exception
;
List
<
DialoguesContextDto
>
dialoguesContext
(
String
dialoguesId
,
Long
userId
)
throws
Exception
;
List
<
LongTextExampleDto
>
example
()
throws
Exception
;
}
src/main/java/cn/com/poc/long_document/aggregate/impl/LongTextDialoguesServiceImpl.java
View file @
94f4a2e9
package
cn
.
com
.
poc
.
long_document
.
aggregate
.
impl
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationDialoguesRecordEntity
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationGcConfigEntity
;
import
cn.com.poc.agent_application.entity.KnowledgeContentResult
;
import
cn.com.poc.agent_application.service.BizAgentApplicationDialoguesRecordService
;
import
cn.com.poc.agent_application.service.BizAgentApplicationGcConfigService
;
import
cn.com.poc.ai_dialogues.entity.BizAiDialoguesEntity
;
import
cn.com.poc.ai_dialogues.service.BizAiDialoguesService
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.model.BizFileUploadRecordModel
;
import
cn.com.poc.common.service.BizFileUploadRecordService
;
import
cn.com.poc.common.utils.DocumentLoad
;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.common.utils.SSEUtil
;
import
cn.com.poc.common.utils.UUIDTool
;
import
cn.com.poc.knowledge.aggregate.KnowledgeService
;
import
cn.com.poc.knowledge.constant.KnowledgeConstant
;
import
cn.com.poc.knowledge.entity.BizKnowledgeDocumentEntity
;
...
...
@@ -17,16 +20,11 @@ import cn.com.poc.knowledge.query.KnowledgeDocumentRelationQueryItem;
import
cn.com.poc.knowledge.service.BizKnowledgeDocumentService
;
import
cn.com.poc.long_document.aggregate.LongTextDialoguesService
;
import
cn.com.poc.long_document.domain.LongtextDialoguesResult
;
import
cn.com.poc.long_document.dto.DialoguesContextDto
;
import
cn.com.poc.long_document.dto.LongTextDialoguesDto
;
import
cn.com.poc.long_document.dto.LongTextExampleDto
;
import
cn.com.poc.long_document.dto.LongTextSummaryDto
;
import
cn.com.poc.long_document.entity.BizLongTextSummaryCacheEntity
;
import
cn.com.poc.long_document.model.BizLongTextDialoguesModel
;
import
cn.com.poc.long_document.model.BizLongTextDialoguesRecordModel
;
import
cn.com.poc.long_document.model.BizLongTextExampleModel
;
import
cn.com.poc.long_document.service.BizLongTextDialoguesRecordService
;
import
cn.com.poc.long_document.service.BizLongTextDialoguesService
;
import
cn.com.poc.long_document.service.BizLongTextExampleService
;
import
cn.com.poc.long_document.service.BizLongTextSummaryCacheService
;
import
cn.com.poc.thirdparty.resource.demand.ai.aggregate.DemandKnowledgeService
;
...
...
@@ -72,10 +70,10 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
private
BizFileUploadRecordService
bizFileUploadRecordService
;
@Resource
private
Biz
LongTextDialoguesService
bizLongText
DialoguesService
;
private
Biz
AiDialoguesService
bizAi
DialoguesService
;
@Resource
private
Biz
LongTextDialoguesRecordService
bizLongText
DialoguesRecordService
;
private
Biz
AgentApplicationDialoguesRecordService
bizAgentApplication
DialoguesRecordService
;
@Resource
private
BizLongTextExampleService
bizLongTextExampleService
;
...
...
@@ -92,68 +90,56 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
@Resource
private
DemandKnowledgeService
demandKnowledgeService
;
@Resource
private
BizLongTextSummaryCacheService
bizLongTextSummaryCacheService
;
@Override
public
String
create
(
String
fileUrl
,
Long
userId
)
throws
Exception
{
String
dialoguesId
=
UUIDTool
.
getUUID
();
BizLongTextDialoguesModel
model
=
new
BizLongTextDialoguesModel
();
model
.
setDialogsId
(
dialoguesId
);
model
.
setMemberId
(
userId
);
model
.
setFileUrl
(
fileUrl
);
model
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
bizLongTextDialoguesService
.
save
(
model
);
return
dialoguesId
;
}
@Override
public
void
call
(
String
dialoguesId
,
String
fileUrl
,
String
input
,
Integer
[]
knowledgeIds
,
Long
userId
)
throws
Exception
{
Biz
LongTextDialoguesModel
model
=
new
BizLongTextDialoguesModel
();
model
.
setDialog
sId
(
dialoguesId
);
model
.
setMemberId
(
userId
);
model
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
Biz
LongTextDialoguesModel
>
models
=
bizLongTextDialoguesService
.
findByExample
(
model
,
null
);
Biz
AiDialoguesEntity
bizAiDialoguesEntity
=
new
BizAiDialoguesEntity
();
bizAiDialoguesEntity
.
setDialogue
sId
(
dialoguesId
);
bizAiDialoguesEntity
.
setMemberId
(
userId
);
bizAiDialoguesEntity
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
Biz
AiDialoguesEntity
>
bizAiDialoguesEntities
=
bizAiDialoguesService
.
findByExample
(
bizAiDialoguesEntity
,
null
);
if
(
CollectionUtils
.
isEmpty
(
model
s
))
{
if
(
CollectionUtils
.
isEmpty
(
bizAiDialoguesEntitie
s
))
{
throw
new
BusinessException
(
"对话ID不存在"
);
}
Biz
LongTextDialoguesModel
bizLongTextDialoguesModel
=
model
s
.
get
(
0
);
Biz
AiDialoguesEntity
aiDialoguesEntity
=
bizAiDialoguesEntitie
s
.
get
(
0
);
//更新标题
if
(
StringUtils
.
isBlank
(
bizLongTextDialoguesModel
.
getTitle
()))
{
// 标题
bizLongTextDialoguesModel
.
setTitle
(
input
.
substring
(
0
,
Math
.
min
(
input
.
length
(),
150
)));
bizLongTextDialoguesModel
=
bizLongTextDialoguesService
.
save
(
bizLongTextDialoguesModel
);
if
(
StringUtils
.
isBlank
(
aiDialoguesEntity
.
getTitle
()))
{
// 标题
aiDialoguesEntity
.
setTitle
(
input
.
substring
(
0
,
Math
.
min
(
input
.
length
(),
150
)));
aiDialoguesEntity
=
bizAiDialoguesService
.
save
(
aiDialoguesEntity
);
}
Biz
LongTextDialoguesRecordModel
dialoguesRecordModel
=
new
BizLongTextDialoguesRecordModel
();
dialoguesRecord
Model
.
setDialogsId
(
dialoguesId
);
dialoguesRecord
Model
.
setMemberId
(
userId
);
dialoguesRecord
Model
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
Biz
LongTextDialoguesRecordModel
>
dialoguesRecordModelList
=
bizLongTextDialoguesRecordService
.
findByExample
(
dialoguesRecordModel
,
null
);
Biz
AgentApplicationDialoguesRecordEntity
dialoguesRecordEntity
=
new
BizAgentApplicationDialoguesRecordEntity
();
dialoguesRecord
Entity
.
setDialogsId
(
dialoguesId
);
dialoguesRecord
Entity
.
setMemberId
(
userId
);
dialoguesRecord
Entity
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
Biz
AgentApplicationDialoguesRecordEntity
>
dialoguesRecordEntities
=
bizAgentApplicationDialoguesRecordService
.
findByExample
(
dialoguesRecordEntity
,
null
);
boolean
isInit
=
false
;
if
(
CollectionUtils
.
isEmpty
(
dialoguesRecord
ModelList
))
{
if
(
StringUtils
.
isNoneBlank
(
bizLongTextDialoguesModel
.
getFileUrl
())
&&
StringUtils
.
isBlank
(
fileUrl
))
{
fileUrl
=
bizLongTextDialoguesModel
.
getFileUrl
();
if
(
CollectionUtils
.
isEmpty
(
dialoguesRecord
Entities
))
{
if
(
StringUtils
.
isNoneBlank
(
aiDialoguesEntity
.
getFileUrl
())
&&
StringUtils
.
isBlank
(
fileUrl
))
{
fileUrl
=
aiDialoguesEntity
.
getFileUrl
();
}
isInit
=
true
;
}
// 文件是否变更
boolean
isFileUrlChanged
=
(
StringUtils
.
isNotBlank
(
fileUrl
)
&&
!
bizLongTextDialoguesModel
.
getFileUrl
().
equals
(
fileUrl
))
boolean
isFileUrlChanged
=
(
StringUtils
.
isNotBlank
(
fileUrl
)
&&
!
aiDialoguesEntity
.
getFileUrl
().
equals
(
fileUrl
))
||
isInit
;
if
(
StringUtils
.
isBlank
(
fileUrl
))
{
fileUrl
=
bizLongTextDialoguesModel
.
getFileUrl
();
fileUrl
=
aiDialoguesEntity
.
getFileUrl
();
}
// 更新文件URL
if
(
isFileUrlChanged
)
{
if
(!
isInit
&&
StringUtils
.
isNotBlank
(
fileUrl
))
{
bizLongTextDialoguesModel
.
setFileUrl
(
fileUrl
);
biz
LongTextDialoguesService
.
save
(
bizLongTextDialoguesModel
);
aiDialoguesEntity
.
setFileUrl
(
fileUrl
);
biz
AiDialoguesService
.
save
(
aiDialoguesEntity
);
}
}
...
...
@@ -187,7 +173,7 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
// 保存用户输入记录
Biz
LongTextDialoguesRecordModel
inputRecord
=
new
BizLongTextDialoguesRecordModel
();
Biz
AgentApplicationDialoguesRecordEntity
inputRecord
=
new
BizAgentApplicationDialoguesRecordEntity
();
inputRecord
.
setMemberId
(
userId
);
inputRecord
.
setContent
(
input
);
if
(
isFileUrlChanged
)
{
...
...
@@ -198,38 +184,36 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
inputRecord
.
setTimestamp
(
inputTimestamp
);
// 保存AI回复记录
Biz
LongTextDialoguesRecordModel
assistantRecord
=
new
BizLongTextDialoguesRecordModel
();
Biz
AgentApplicationDialoguesRecordEntity
assistantRecord
=
new
BizAgentApplicationDialoguesRecordEntity
();
assistantRecord
.
setMemberId
(
userId
);
assistantRecord
.
setContent
(
longtextDialoguesResult
.
getMessage
());
assistantRecord
.
setReasoningContent
(
longtextDialoguesResult
.
getReasoningContent
());
assistantRecord
.
setDialogsId
(
dialoguesId
);
assistantRecord
.
setRole
(
"assistant"
);
assistantRecord
.
setTimestamp
(
System
.
currentTimeMillis
());
List
<
BizLongTextDialoguesRecordModel
>
recordModels
=
new
ArrayList
<>();
recordModels
.
add
(
inputRecord
);
recordModels
.
add
(
assistantRecord
);
bizLongTextDialoguesRecordService
.
saveAll
(
recordModels
);
bizAgentApplicationDialoguesRecordService
.
save
(
inputRecord
);
bizAgentApplicationDialoguesRecordService
.
save
(
inputRecord
);
}
@Override
public
LongTextSummaryDto
summary
(
String
dialoguesId
,
Long
userId
)
throws
Exception
{
Biz
LongTextDialoguesModel
longTextDialoguesModel
=
new
BizLongTextDialoguesModel
();
longTextDialoguesModel
.
setDialog
sId
(
dialoguesId
);
longTextDialoguesModel
.
setMemberId
(
userId
);
longTextDialoguesModel
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
Biz
LongTextDialoguesModel
>
models
=
bizLongTextDialoguesService
.
findByExample
(
longTextDialoguesModel
,
null
);
if
(
CollectionUtils
.
isEmpty
(
model
s
))
{
Biz
AiDialoguesEntity
bizAiDialoguesEntity
=
new
BizAiDialoguesEntity
();
bizAiDialoguesEntity
.
setDialogue
sId
(
dialoguesId
);
bizAiDialoguesEntity
.
setMemberId
(
userId
);
bizAiDialoguesEntity
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
Biz
AiDialoguesEntity
>
entities
=
bizAiDialoguesService
.
findByExample
(
bizAiDialoguesEntity
,
null
);
if
(
CollectionUtils
.
isEmpty
(
entitie
s
))
{
throw
new
BusinessException
(
"对话不存在"
);
}
Biz
LongTextDialoguesModel
bizLongTextDialoguesModel
=
model
s
.
get
(
0
);
String
fileUrl
=
bizLongTextDialoguesModel
.
getFileUrl
();
Biz
AiDialoguesEntity
aiDialoguesEntity
=
entitie
s
.
get
(
0
);
String
fileUrl
=
aiDialoguesEntity
.
getFileUrl
();
if
(
StringUtils
.
isBlank
(
fileUrl
))
{
throw
new
BusinessException
(
"对话文件不存在,重新创建对话"
);
}
String
summary
;
String
corePoint
;
File
file
=
DocumentLoad
.
downloadURLDocument
(
fileUrl
);
...
...
@@ -275,121 +259,6 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
return
longTextSummaryDto
;
}
@Override
public
void
delete
(
String
dialoguesId
,
Long
userId
)
throws
Exception
{
BizLongTextDialoguesModel
model
=
new
BizLongTextDialoguesModel
();
model
.
setDialogsId
(
dialoguesId
);
model
.
setMemberId
(
userId
);
model
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
BizLongTextDialoguesModel
>
models
=
bizLongTextDialoguesService
.
findByExample
(
model
,
null
);
if
(
CollectionUtils
.
isEmpty
(
models
))
{
throw
new
BusinessException
(
"对话ID不存在"
);
}
BizLongTextDialoguesModel
bizLongTextDialoguesModel
=
models
.
get
(
0
);
bizLongTextDialoguesModel
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
Y
);
bizLongTextDialoguesService
.
save
(
bizLongTextDialoguesModel
);
logger
.
info
(
"删除对话ID:{}"
,
dialoguesId
);
}
@Override
public
LongTextDialoguesDto
dialoguesDetail
(
String
dialoguesId
,
Long
userId
)
throws
Exception
{
BizLongTextDialoguesModel
model
=
new
BizLongTextDialoguesModel
();
model
.
setMemberId
(
userId
);
model
.
setDialogsId
(
dialoguesId
);
model
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
BizLongTextDialoguesModel
>
models
=
bizLongTextDialoguesService
.
findByExample
(
model
,
null
);
if
(
CollectionUtils
.
isEmpty
(
models
))
{
throw
new
BusinessException
(
"对话ID不存在"
);
}
BizLongTextDialoguesModel
bizLongTextDialoguesModel
=
models
.
get
(
0
);
LongTextDialoguesDto
dto
=
new
LongTextDialoguesDto
();
dto
.
setDialogsId
(
bizLongTextDialoguesModel
.
getDialogsId
());
dto
.
setTitle
(
bizLongTextDialoguesModel
.
getTitle
());
dto
.
setFileUrl
(
bizLongTextDialoguesModel
.
getFileUrl
());
if
(
StringUtils
.
isNotBlank
(
bizLongTextDialoguesModel
.
getFileUrl
()))
{
BizFileUploadRecordModel
bizFileUploadRecordModel
=
new
BizFileUploadRecordModel
();
bizFileUploadRecordModel
.
setFileUrl
(
bizLongTextDialoguesModel
.
getFileUrl
());
List
<
BizFileUploadRecordModel
>
fileUploadRecordModels
=
bizFileUploadRecordService
.
findByExample
(
bizFileUploadRecordModel
,
null
);
if
(
CollectionUtils
.
isNotEmpty
(
fileUploadRecordModels
))
{
dto
.
setFileName
(
fileUploadRecordModels
.
get
(
0
).
getFileName
());
}
}
dto
.
setMemberId
(
userId
);
dto
.
setCreatedTime
(
bizLongTextDialoguesModel
.
getCreatedTime
());
return
dto
;
}
@Override
public
List
<
LongTextDialoguesDto
>
dialoguesList
(
Long
userId
)
throws
Exception
{
List
<
LongTextDialoguesDto
>
dialoguesList
=
new
ArrayList
<>();
BizLongTextDialoguesModel
model
=
new
BizLongTextDialoguesModel
();
model
.
setMemberId
(
userId
);
model
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
BizLongTextDialoguesModel
>
models
=
bizLongTextDialoguesService
.
findByExample
(
model
,
null
);
if
(
CollectionUtils
.
isNotEmpty
(
models
))
{
for
(
BizLongTextDialoguesModel
bizLongTextDialoguesModel
:
models
)
{
if
(
StringUtils
.
isBlank
(
bizLongTextDialoguesModel
.
getTitle
()))
{
continue
;
}
LongTextDialoguesDto
dto
=
new
LongTextDialoguesDto
();
dto
.
setDialogsId
(
bizLongTextDialoguesModel
.
getDialogsId
());
dto
.
setTitle
(
bizLongTextDialoguesModel
.
getTitle
());
dto
.
setFileUrl
(
bizLongTextDialoguesModel
.
getFileUrl
());
if
(
StringUtils
.
isNotBlank
(
bizLongTextDialoguesModel
.
getFileUrl
()))
{
BizFileUploadRecordModel
bizFileUploadRecordModel
=
new
BizFileUploadRecordModel
();
bizFileUploadRecordModel
.
setFileUrl
(
bizLongTextDialoguesModel
.
getFileUrl
());
List
<
BizFileUploadRecordModel
>
fileUploadRecordModels
=
bizFileUploadRecordService
.
findByExample
(
bizFileUploadRecordModel
,
null
);
if
(
CollectionUtils
.
isNotEmpty
(
fileUploadRecordModels
))
{
dto
.
setFileName
(
fileUploadRecordModels
.
get
(
0
).
getFileName
());
}
}
dto
.
setMemberId
(
userId
);
dto
.
setCreatedTime
(
bizLongTextDialoguesModel
.
getCreatedTime
());
dialoguesList
.
add
(
dto
);
}
}
return
dialoguesList
;
}
@Override
public
List
<
DialoguesContextDto
>
dialoguesContext
(
String
dialoguesId
,
Long
userId
)
throws
Exception
{
BizLongTextDialoguesModel
model
=
new
BizLongTextDialoguesModel
();
model
.
setMemberId
(
userId
);
model
.
setDialogsId
(
dialoguesId
);
List
<
BizLongTextDialoguesModel
>
models
=
bizLongTextDialoguesService
.
findByExample
(
model
,
null
);
if
(
CollectionUtils
.
isEmpty
(
models
))
{
throw
new
BusinessException
(
"对话ID不存在"
);
}
BizLongTextDialoguesRecordModel
recordModel
=
new
BizLongTextDialoguesRecordModel
();
recordModel
.
setDialogsId
(
dialoguesId
);
recordModel
.
setMemberId
(
model
.
getMemberId
());
recordModel
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
BizLongTextDialoguesRecordModel
>
recordModels
=
bizLongTextDialoguesRecordService
.
findByExample
(
recordModel
,
null
);
List
<
DialoguesContextDto
>
dialoguesContextDtos
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
recordModels
))
{
for
(
BizLongTextDialoguesRecordModel
dialoguesRecordModel
:
recordModels
)
{
DialoguesContextDto
dialoguesContextDto
=
new
DialoguesContextDto
();
dialoguesContextDto
.
setRole
(
dialoguesRecordModel
.
getRole
());
dialoguesContextDto
.
setContent
(
dialoguesRecordModel
.
getContent
());
dialoguesContextDto
.
setReasoningContent
(
dialoguesRecordModel
.
getReasoningContent
());
dialoguesContextDto
.
setTimestamp
(
dialoguesRecordModel
.
getTimestamp
());
dialoguesContextDto
.
setFileUrl
(
dialoguesRecordModel
.
getFileUrl
());
if
(
StringUtils
.
isNotBlank
(
dialoguesRecordModel
.
getFileUrl
()))
{
BizFileUploadRecordModel
bizFileUploadRecordModel
=
new
BizFileUploadRecordModel
();
bizFileUploadRecordModel
.
setFileUrl
(
dialoguesRecordModel
.
getFileUrl
());
List
<
BizFileUploadRecordModel
>
fileUploadRecordModels
=
bizFileUploadRecordService
.
findByExample
(
bizFileUploadRecordModel
,
null
);
if
(
CollectionUtils
.
isNotEmpty
(
fileUploadRecordModels
))
{
dialoguesContextDto
.
setFileName
(
fileUploadRecordModels
.
get
(
0
).
getFileName
());
}
}
dialoguesContextDtos
.
add
(
dialoguesContextDto
);
}
}
return
dialoguesContextDtos
;
}
@Override
public
List
<
LongTextExampleDto
>
example
()
throws
Exception
{
List
<
LongTextExampleDto
>
result
=
new
ArrayList
<>();
...
...
@@ -456,13 +325,13 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
messages
.
add
(
fileSystemMessage
);
// 对话记录
Biz
LongTextDialoguesRecordModel
recordModel
=
new
BizLongTextDialoguesRecordModel
();
record
Model
.
setDialogsId
(
dialogsId
);
record
Model
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
record
Model
.
setMemberId
(
userId
);
List
<
Biz
LongTextDialoguesRecordModel
>
recordModels
=
bizLongTextDialoguesRecordService
.
findByExample
(
recordModel
,
null
);
if
(
CollectionUtils
.
isNotEmpty
(
record
Model
s
))
{
for
(
Biz
LongTextDialoguesRecordModel
entity
:
recordModel
s
)
{
Biz
AgentApplicationDialoguesRecordEntity
recordEntity
=
new
BizAgentApplicationDialoguesRecordEntity
();
record
Entity
.
setDialogsId
(
dialogsId
);
record
Entity
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
record
Entity
.
setMemberId
(
userId
);
List
<
Biz
AgentApplicationDialoguesRecordEntity
>
recordEntities
=
bizAgentApplicationDialoguesRecordService
.
findByExample
(
recordEntity
,
null
);
if
(
CollectionUtils
.
isNotEmpty
(
record
Entitie
s
))
{
for
(
Biz
AgentApplicationDialoguesRecordEntity
entity
:
recordEntitie
s
)
{
Message
message
=
new
Message
();
message
.
setContent
(
entity
.
getContent
());
message
.
setRole
(
entity
.
getRole
());
...
...
@@ -472,8 +341,8 @@ public class LongTextDialoguesServiceImpl implements LongTextDialoguesService {
//判断最后是否为User,若是则删除。
if
(
CollectionUtils
.
isNotEmpty
(
messages
))
{
if
(
LLMRoleEnum
.
USER
.
getRole
().
equals
(
messages
.
get
(
messages
.
size
()
-
1
).
getRole
()))
{
Long
recordId
=
record
Models
.
get
(
recordModel
s
.
size
()
-
1
).
getId
();
biz
LongTextDialoguesRecordService
.
delete
ById
(
recordId
);
Long
recordId
=
record
Entities
.
get
(
recordEntitie
s
.
size
()
-
1
).
getId
();
biz
AgentApplicationDialoguesRecordService
.
deleted
ById
(
recordId
);
messages
.
remove
(
messages
.
size
()
-
1
);
}
}
...
...
src/main/java/cn/com/poc/long_document/rest/LongTextDialoguesRest.java
View file @
94f4a2e9
package
cn
.
com
.
poc
.
long_document
.
rest
;
import
cn.com.poc.long_document.dto.*
;
import
cn.com.poc.long_document.dto.LongTextDialoguesCallDto
;
import
cn.com.poc.long_document.dto.LongTextExampleDto
;
import
cn.com.poc.long_document.dto.LongTextSummaryDto
;
import
cn.com.yict.framemax.core.rest.BaseRest
;
import
cn.com.yict.framemax.web.permission.Access
;
import
cn.com.yict.framemax.web.permission.Permission
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
/**
...
...
@@ -20,14 +21,6 @@ import java.util.List;
public
interface
LongTextDialoguesRest
extends
BaseRest
{
/**
* 创建对话
*
* @return
* @throws Exception
*/
String
create
(
@RequestBody
CreateDialoguesDto
dto
)
throws
Exception
;
/**
* 核心观点提取、总结摘要
*/
...
...
@@ -42,48 +35,6 @@ public interface LongTextDialoguesRest extends BaseRest {
void
call
(
@RequestBody
LongTextDialoguesCallDto
dto
)
throws
Exception
;
/**
* 删除对话
*
* @param dialoguesId
* @throws Exception
*/
void
delete
(
@RequestParam
String
dialoguesId
)
throws
Exception
;
/**
* 批量删除对话
*
* @param dto
* @throws Exception
*/
void
batchDelete
(
@RequestBody
BatchDelDialoguesDto
dto
)
throws
Exception
;
/**
* 对话详情
*
* @param dialoguesId
* @return
*/
LongTextDialoguesDto
dialoguesDetail
(
@RequestParam
String
dialoguesId
)
throws
Exception
;
/**
* 对话列表
*
* @return
* @throws Exception
*/
List
<
LongTextDialoguesDto
>
dialoguesList
()
throws
Exception
;
/**
* 对话上下文
*
* @param dialoguesId
* @return
* @throws Exception
*/
List
<
DialoguesContextDto
>
dialoguesContext
(
@RequestParam
String
dialoguesId
)
throws
Exception
;
/**
* 示例
*
...
...
src/main/java/cn/com/poc/long_document/rest/impl/LongTextDialoguesRestImpl.java
View file @
94f4a2e9
...
...
@@ -4,12 +4,13 @@ package cn.com.poc.long_document.rest.impl;
import
cn.com.poc.common.utils.Assert
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.long_document.aggregate.LongTextDialoguesService
;
import
cn.com.poc.long_document.dto.*
;
import
cn.com.poc.long_document.dto.LongTextDialoguesCallDto
;
import
cn.com.poc.long_document.dto.LongTextExampleDto
;
import
cn.com.poc.long_document.dto.LongTextSummaryDto
;
import
cn.com.poc.long_document.rest.LongTextDialoguesRest
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
import
cn.com.yict.framemax.core.exception.BusinessException
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
javax.annotation.Resource
;
import
java.util.List
;
...
...
@@ -25,16 +26,6 @@ public class LongTextDialoguesRestImpl implements LongTextDialoguesRest {
@Resource
private
LongTextDialoguesService
longTextDialoguesService
;
@Override
public
String
create
(
CreateDialoguesDto
dto
)
throws
Exception
{
Assert
.
notNull
(
dto
.
getFileUrl
(),
"文件URL不能为空"
);
UserBaseEntity
userBaseEntity
=
BlContext
.
getCurrentUserNotException
();
if
(
userBaseEntity
==
null
)
{
throw
new
BusinessException
(
"用户未登录"
);
}
return
longTextDialoguesService
.
create
(
dto
.
getFileUrl
(),
userBaseEntity
.
getUserId
());
}
@Override
public
void
call
(
LongTextDialoguesCallDto
dto
)
throws
Exception
{
Assert
.
notBlank
(
dto
.
getDialoguesId
(),
"对话ID不能为空"
);
...
...
@@ -61,63 +52,6 @@ public class LongTextDialoguesRestImpl implements LongTextDialoguesRest {
return
longTextDialoguesService
.
summary
(
dialoguesId
,
userBaseEntity
.
getUserId
());
}
@Override
public
void
delete
(
String
dialoguesId
)
throws
Exception
{
Assert
.
notBlank
(
dialoguesId
,
"对话ID不能为空"
);
UserBaseEntity
userBaseEntity
=
BlContext
.
getCurrentUserNotException
();
if
(
userBaseEntity
==
null
)
{
throw
new
BusinessException
(
"用户未登录"
);
}
longTextDialoguesService
.
delete
(
dialoguesId
,
userBaseEntity
.
getUserId
());
}
@Override
public
void
batchDelete
(
BatchDelDialoguesDto
dto
)
{
Assert
.
notNull
(
dto
,
"批量删除对话DTO不能为空"
);
Assert
.
notEmpty
(
dto
.
getDialoguesIds
(),
"对话ID列表不能为空"
);
UserBaseEntity
userBaseEntity
=
BlContext
.
getCurrentUserNotException
();
if
(
userBaseEntity
==
null
)
{
throw
new
BusinessException
(
"用户未登录"
);
}
dto
.
getDialoguesIds
().
parallelStream
().
forEach
(
dialoguesId
->
{
try
{
longTextDialoguesService
.
delete
(
dialoguesId
,
userBaseEntity
.
getUserId
());
}
catch
(
Exception
e
)
{
throw
new
BusinessException
(
"----批量删除对话失败----"
,
e
);
}
});
}
@Override
public
LongTextDialoguesDto
dialoguesDetail
(
String
dialoguesId
)
throws
Exception
{
Assert
.
notBlank
(
dialoguesId
,
"对话ID不能为空"
);
UserBaseEntity
userBaseEntity
=
BlContext
.
getCurrentUserNotException
();
if
(
userBaseEntity
==
null
)
{
throw
new
BusinessException
(
"用户未登录"
);
}
return
longTextDialoguesService
.
dialoguesDetail
(
dialoguesId
,
userBaseEntity
.
getUserId
());
}
@Override
public
List
<
LongTextDialoguesDto
>
dialoguesList
()
throws
Exception
{
UserBaseEntity
userBaseEntity
=
BlContext
.
getCurrentUserNotException
();
if
(
userBaseEntity
==
null
)
{
throw
new
BusinessException
(
"用户未登录"
);
}
return
longTextDialoguesService
.
dialoguesList
(
userBaseEntity
.
getUserId
());
}
@Override
public
List
<
DialoguesContextDto
>
dialoguesContext
(
String
dialoguesId
)
throws
Exception
{
Assert
.
notBlank
(
dialoguesId
,
"对话ID不能为空"
);
UserBaseEntity
userBaseEntity
=
BlContext
.
getCurrentUserNotException
();
if
(
userBaseEntity
==
null
)
{
throw
new
BusinessException
(
"用户未登录"
);
}
return
longTextDialoguesService
.
dialoguesContext
(
dialoguesId
,
userBaseEntity
.
getUserId
());
}
@Override
public
List
<
LongTextExampleDto
>
example
()
throws
Exception
{
return
longTextDialoguesService
.
example
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment