Commit dad21e4d authored by alex yao's avatar alex yao

feat: ai写作 优化

parent da5a7be2
package cn.com.poc.writing.aggregate; package cn.com.poc.writing.aggregate;
import cn.com.poc.writing.dto.AiWritingDialoguesContextDto;
import cn.com.poc.writing.dto.AiWritingExampleDto; import cn.com.poc.writing.dto.AiWritingExampleDto;
import cn.com.poc.writing.dto.AiWritingExampleTypeDto; import cn.com.poc.writing.dto.AiWritingExampleTypeDto;
import cn.com.poc.writing.dto.AiWritingTitleGenerationDto; import cn.com.poc.writing.dto.AiWritingTitleGenerationDto;
...@@ -48,4 +49,13 @@ public interface AiWritingService { ...@@ -48,4 +49,13 @@ public interface AiWritingService {
AiWritingTitleGenerationDto titleGeneration(String input); AiWritingTitleGenerationDto titleGeneration(String input);
/**
* 获取对话上下文
*
* @param dialogueId
* @return
*/
List<AiWritingDialoguesContextDto> getDialogueContext(String dialogueId);
} }
package cn.com.poc.writing.convert;
import cn.com.poc.writing.model.BizAiWritingDialoguesRecordModel;
import cn.com.poc.writing.entity.BizAiWritingDialoguesRecordEntity;
import cn.com.poc.writing.dto.BizAiWritingDialoguesRecordDto;
public class BizAiWritingDialoguesRecordConvert {
public static BizAiWritingDialoguesRecordEntity modelToEntity(BizAiWritingDialoguesRecordModel model){
BizAiWritingDialoguesRecordEntity entity = new BizAiWritingDialoguesRecordEntity();
entity.setId(model.getId());
entity.setRole(model.getRole());
entity.setAgentId(model.getAgentId());
entity.setDialogsId(model.getDialogsId());
entity.setMemberId(model.getMemberId());
entity.setContent(model.getContent());
entity.setDocumentTitle(model.getDocumentTitle());
entity.setTimestamp(model.getTimestamp());
entity.setIsDeleted(model.getIsDeleted());
entity.setCreator(model.getCreator());
entity.setCreatedTime(model.getCreatedTime());
entity.setModifier(model.getModifier());
entity.setModifiedTime(model.getModifiedTime());
entity.setSysVersion(model.getSysVersion());
entity.setReasoningContent(model.getReasoningContent());
entity.setFileUrl(model.getFileUrl());
return entity;
}
public static BizAiWritingDialoguesRecordModel entityToModel(BizAiWritingDialoguesRecordEntity entity){
BizAiWritingDialoguesRecordModel model = new BizAiWritingDialoguesRecordModel();
model.setId(entity.getId());
model.setRole(entity.getRole());
model.setAgentId(entity.getAgentId());
model.setDialogsId(entity.getDialogsId());
model.setMemberId(entity.getMemberId());
model.setContent(entity.getContent());
model.setDocumentTitle(entity.getDocumentTitle());
model.setTimestamp(entity.getTimestamp());
model.setIsDeleted(entity.getIsDeleted());
model.setCreator(entity.getCreator());
model.setCreatedTime(entity.getCreatedTime());
model.setModifier(entity.getModifier());
model.setModifiedTime(entity.getModifiedTime());
model.setSysVersion(entity.getSysVersion());
model.setReasoningContent(entity.getReasoningContent());
model.setFileUrl(entity.getFileUrl());
return model;
}
public static BizAiWritingDialoguesRecordDto entityToDto(BizAiWritingDialoguesRecordEntity entity){
BizAiWritingDialoguesRecordDto dto = new BizAiWritingDialoguesRecordDto();
dto.setId(entity.getId());
dto.setRole(entity.getRole());
dto.setAgentId(entity.getAgentId());
dto.setDialogsId(entity.getDialogsId());
dto.setMemberId(entity.getMemberId());
dto.setContent(entity.getContent());
dto.setDocumentTitle(entity.getDocumentTitle());
dto.setTimestamp(entity.getTimestamp());
dto.setIsDeleted(entity.getIsDeleted());
dto.setCreator(entity.getCreator());
dto.setCreatedTime(entity.getCreatedTime());
dto.setModifier(entity.getModifier());
dto.setModifiedTime(entity.getModifiedTime());
dto.setSysVersion(entity.getSysVersion());
dto.setReasoningContent(entity.getReasoningContent());
dto.setFileUrl(entity.getFileUrl());
return dto;
}
public static BizAiWritingDialoguesRecordEntity dtoToEntity(BizAiWritingDialoguesRecordDto dto){
BizAiWritingDialoguesRecordEntity entity = new BizAiWritingDialoguesRecordEntity();
entity.setId(dto.getId());
entity.setRole(dto.getRole());
entity.setAgentId(dto.getAgentId());
entity.setDialogsId(dto.getDialogsId());
entity.setMemberId(dto.getMemberId());
entity.setContent(dto.getContent());
entity.setDocumentTitle(dto.getDocumentTitle());
entity.setTimestamp(dto.getTimestamp());
entity.setIsDeleted(dto.getIsDeleted());
entity.setCreator(dto.getCreator());
entity.setCreatedTime(dto.getCreatedTime());
entity.setModifier(dto.getModifier());
entity.setModifiedTime(dto.getModifiedTime());
entity.setSysVersion(dto.getSysVersion());
entity.setReasoningContent(dto.getReasoningContent());
entity.setFileUrl(dto.getFileUrl());
return entity;
}
}
\ No newline at end of file
package cn.com.poc.writing.dto;
import java.io.Serializable;
public class AiWritingDialoguesContextDto implements Serializable {
/**
* role
* 角色 user-用户 assistant-助手
*/
private String role;
public String getRole() {
return this.role;
}
public void setRole(String role) {
this.role = role;
}
/**
* agent_id
* agent应用ID
*/
private String agentId;
public String getAgentId() {
return this.agentId;
}
public void setAgentId(String agentId) {
this.agentId = agentId;
}
/**
* 文档标题
*/
private String documentTitle;
public String getDocumentTitle() {
return documentTitle;
}
public void setDocumentTitle(String documentTitle) {
this.documentTitle = documentTitle;
}
/**
* content
* 内容
*/
private String content;
public String getContent() {
return this.content;
}
public void setContent(String content) {
this.content = content;
}
/**
* 推理内容
*/
private String reasoningContent;
public String getReasoningContent() {
return reasoningContent;
}
public void setReasoningContent(String reasoningContent) {
this.reasoningContent = reasoningContent;
}
/**
* timestamp
* 时间戳
*/
private Long timestamp;
public Long getTimestamp() {
return this.timestamp;
}
public void setTimestamp(Long timestamp) {
this.timestamp = timestamp;
}
/**
* 应用名
*/
private String agentTitle;
public String getAgentTitle() {
return agentTitle;
}
public void setAgentTitle(String agentTitle) {
this.agentTitle = agentTitle;
}
/**
* 应用头像
*/
private String agentAvatar;
public String getAgentAvatar() {
return agentAvatar;
}
public void setAgentAvatar(String agentAvatar) {
this.agentAvatar = agentAvatar;
}
}
package cn.com.poc.writing.dto;
public class BizAiWritingDialoguesRecordDto {
private static final long serialVersionUID = 1L;
/** id
*主键ID
*/
private java.lang.Long id;
public java.lang.Long getId(){
return this.id;
}
public void setId(java.lang.Long id){
this.id = id;
}
/** role
*角色 user-用户 assistant-助手
*/
private java.lang.String role;
public java.lang.String getRole(){
return this.role;
}
public void setRole(java.lang.String role){
this.role = role;
}
/** agent_id
*agent应用ID
*/
private java.lang.String agentId;
public java.lang.String getAgentId(){
return this.agentId;
}
public void setAgentId(java.lang.String agentId){
this.agentId = agentId;
}
/** dialogs_id
*会话ID
*/
private java.lang.String dialogsId;
public java.lang.String getDialogsId(){
return this.dialogsId;
}
public void setDialogsId(java.lang.String dialogsId){
this.dialogsId = dialogsId;
}
/** member_id
*用户ID
*/
private java.lang.Long memberId;
public java.lang.Long getMemberId(){
return this.memberId;
}
public void setMemberId(java.lang.Long memberId){
this.memberId = memberId;
}
/** content
*内容
*/
private java.lang.String content;
public java.lang.String getContent(){
return this.content;
}
public void setContent(java.lang.String content){
this.content = content;
}
/** document_title
*文章标题
*/
private java.lang.String documentTitle;
public java.lang.String getDocumentTitle(){
return this.documentTitle;
}
public void setDocumentTitle(java.lang.String documentTitle){
this.documentTitle = documentTitle;
}
/** timestamp
*时间戳
*/
private java.lang.Long timestamp;
public java.lang.Long getTimestamp(){
return this.timestamp;
}
public void setTimestamp(java.lang.Long timestamp){
this.timestamp = timestamp;
}
/** is_deleted
*是否删除 1、Y 是 2、N 否
*/
private java.lang.String isDeleted;
public java.lang.String getIsDeleted(){
return this.isDeleted;
}
public void setIsDeleted(java.lang.String isDeleted){
this.isDeleted = isDeleted;
}
/** CREATOR
*创建人
*/
private java.lang.String creator;
public java.lang.String getCreator(){
return this.creator;
}
public void setCreator(java.lang.String creator){
this.creator = creator;
}
/** CREATED_TIME
*创建时间
*/
private java.util.Date createdTime;
public java.util.Date getCreatedTime(){
return this.createdTime;
}
public void setCreatedTime(java.util.Date createdTime){
this.createdTime = createdTime;
}
/** MODIFIER
*修改人
*/
private java.lang.String modifier;
public java.lang.String getModifier(){
return this.modifier;
}
public void setModifier(java.lang.String modifier){
this.modifier = modifier;
}
/** MODIFIED_TIME
*修改时间
*/
private java.util.Date modifiedTime;
public java.util.Date getModifiedTime(){
return this.modifiedTime;
}
public void setModifiedTime(java.util.Date modifiedTime){
this.modifiedTime = modifiedTime;
}
/** SYS_VERSION
*乐观锁,版本号
*/
private java.lang.Integer sysVersion;
public java.lang.Integer getSysVersion(){
return this.sysVersion;
}
public void setSysVersion(java.lang.Integer sysVersion){
this.sysVersion = sysVersion;
}
/** reasoning_content
*推理内容
*/
private java.lang.String reasoningContent;
public java.lang.String getReasoningContent(){
return this.reasoningContent;
}
public void setReasoningContent(java.lang.String reasoningContent){
this.reasoningContent = reasoningContent;
}
/** file_url
*对话文件地址
*/
private java.lang.String fileUrl;
public java.lang.String getFileUrl(){
return this.fileUrl;
}
public void setFileUrl(java.lang.String fileUrl){
this.fileUrl = fileUrl;
}
}
\ No newline at end of file
package cn.com.poc.writing.entity;
public class BizAiWritingDialoguesRecordEntity {
private static final long serialVersionUID = 1L;
/** id
*主键ID
*/
private java.lang.Long id;
public java.lang.Long getId(){
return this.id;
}
public void setId(java.lang.Long id){
this.id = id;
}
/** role
*角色 user-用户 assistant-助手
*/
private java.lang.String role;
public java.lang.String getRole(){
return this.role;
}
public void setRole(java.lang.String role){
this.role = role;
}
/** agent_id
*agent应用ID
*/
private java.lang.String agentId;
public java.lang.String getAgentId(){
return this.agentId;
}
public void setAgentId(java.lang.String agentId){
this.agentId = agentId;
}
/** dialogs_id
*会话ID
*/
private java.lang.String dialogsId;
public java.lang.String getDialogsId(){
return this.dialogsId;
}
public void setDialogsId(java.lang.String dialogsId){
this.dialogsId = dialogsId;
}
/** member_id
*用户ID
*/
private java.lang.Long memberId;
public java.lang.Long getMemberId(){
return this.memberId;
}
public void setMemberId(java.lang.Long memberId){
this.memberId = memberId;
}
/** content
*内容
*/
private java.lang.String content;
public java.lang.String getContent(){
return this.content;
}
public void setContent(java.lang.String content){
this.content = content;
}
/** document_title
*文章标题
*/
private java.lang.String documentTitle;
public java.lang.String getDocumentTitle(){
return this.documentTitle;
}
public void setDocumentTitle(java.lang.String documentTitle){
this.documentTitle = documentTitle;
}
/** timestamp
*时间戳
*/
private java.lang.Long timestamp;
public java.lang.Long getTimestamp(){
return this.timestamp;
}
public void setTimestamp(java.lang.Long timestamp){
this.timestamp = timestamp;
}
/** is_deleted
*是否删除 1、Y 是 2、N 否
*/
private java.lang.String isDeleted;
public java.lang.String getIsDeleted(){
return this.isDeleted;
}
public void setIsDeleted(java.lang.String isDeleted){
this.isDeleted = isDeleted;
}
/** CREATOR
*创建人
*/
private java.lang.String creator;
public java.lang.String getCreator(){
return this.creator;
}
public void setCreator(java.lang.String creator){
this.creator = creator;
}
/** CREATED_TIME
*创建时间
*/
private java.util.Date createdTime;
public java.util.Date getCreatedTime(){
return this.createdTime;
}
public void setCreatedTime(java.util.Date createdTime){
this.createdTime = createdTime;
}
/** MODIFIER
*修改人
*/
private java.lang.String modifier;
public java.lang.String getModifier(){
return this.modifier;
}
public void setModifier(java.lang.String modifier){
this.modifier = modifier;
}
/** MODIFIED_TIME
*修改时间
*/
private java.util.Date modifiedTime;
public java.util.Date getModifiedTime(){
return this.modifiedTime;
}
public void setModifiedTime(java.util.Date modifiedTime){
this.modifiedTime = modifiedTime;
}
/** SYS_VERSION
*乐观锁,版本号
*/
private java.lang.Integer sysVersion;
public java.lang.Integer getSysVersion(){
return this.sysVersion;
}
public void setSysVersion(java.lang.Integer sysVersion){
this.sysVersion = sysVersion;
}
/** reasoning_content
*推理内容
*/
private java.lang.String reasoningContent;
public java.lang.String getReasoningContent(){
return this.reasoningContent;
}
public void setReasoningContent(java.lang.String reasoningContent){
this.reasoningContent = reasoningContent;
}
/** file_url
*对话文件地址
*/
private java.lang.String fileUrl;
public java.lang.String getFileUrl(){
return this.fileUrl;
}
public void setFileUrl(java.lang.String fileUrl){
this.fileUrl = fileUrl;
}
}
\ No newline at end of file
package cn.com.poc.writing.model;
import java.io.Serializable;
import cn.com.yict.framemax.data.model.BaseModelClass;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Id;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.Version;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
/**
* Model class for biz_ai_writing_dialogues_record
* AI写作-用户对话记录
*/
@Entity
@Table(name = "biz_ai_writing_dialogues_record")
@DynamicInsert
@DynamicUpdate
public class BizAiWritingDialoguesRecordModel extends BaseModelClass implements Serializable {
private static final long serialVersionUID = 1L;
/** id
*主键ID
*/
private java.lang.Long id;
@Column(name = "id",length = 19)
@Id @GeneratedValue(strategy = GenerationType.AUTO)
public java.lang.Long getId(){
return this.id;
}
public void setId(java.lang.Long id){
this.id = id;
super.addValidField("id");
}
/** role
*角色 user-用户 assistant-助手
*/
private java.lang.String role;
@Column(name = "role",length = 100)
public java.lang.String getRole(){
return this.role;
}
public void setRole(java.lang.String role){
this.role = role;
super.addValidField("role");
}
/** agent_id
*agent应用ID
*/
private java.lang.String agentId;
@Column(name = "agent_id",length = 200)
public java.lang.String getAgentId(){
return this.agentId;
}
public void setAgentId(java.lang.String agentId){
this.agentId = agentId;
super.addValidField("agentId");
}
/** dialogs_id
*会话ID
*/
private java.lang.String dialogsId;
@Column(name = "dialogs_id",length = 100)
public java.lang.String getDialogsId(){
return this.dialogsId;
}
public void setDialogsId(java.lang.String dialogsId){
this.dialogsId = dialogsId;
super.addValidField("dialogsId");
}
/** member_id
*用户ID
*/
private java.lang.Long memberId;
@Column(name = "member_id",length = 19)
public java.lang.Long getMemberId(){
return this.memberId;
}
public void setMemberId(java.lang.Long memberId){
this.memberId = memberId;
super.addValidField("memberId");
}
/** content
*内容
*/
private java.lang.String content;
@Column(name = "content",length = 2147483647)
public java.lang.String getContent(){
return this.content;
}
public void setContent(java.lang.String content){
this.content = content;
super.addValidField("content");
}
/** document_title
*文章标题
*/
private java.lang.String documentTitle;
@Column(name = "document_title",length = 120)
public java.lang.String getDocumentTitle(){
return this.documentTitle;
}
public void setDocumentTitle(java.lang.String documentTitle){
this.documentTitle = documentTitle;
super.addValidField("documentTitle");
}
/** timestamp
*时间戳
*/
private java.lang.Long timestamp;
@Column(name = "timestamp",length = 19)
public java.lang.Long getTimestamp(){
return this.timestamp;
}
public void setTimestamp(java.lang.Long timestamp){
this.timestamp = timestamp;
super.addValidField("timestamp");
}
/** is_deleted
*是否删除 1、Y 是 2、N 否
*/
private java.lang.String isDeleted;
@Column(name = "is_deleted",length = 1)
public java.lang.String getIsDeleted(){
return this.isDeleted;
}
public void setIsDeleted(java.lang.String isDeleted){
this.isDeleted = isDeleted;
super.addValidField("isDeleted");
}
/** CREATOR
*创建人
*/
private java.lang.String creator;
@Column(name = "CREATOR",length = 225)
public java.lang.String getCreator(){
return this.creator;
}
public void setCreator(java.lang.String creator){
this.creator = creator;
super.addValidField("creator");
}
/** CREATED_TIME
*创建时间
*/
private java.util.Date createdTime;
@Column(name = "CREATED_TIME",length = 19)
public java.util.Date getCreatedTime(){
return this.createdTime;
}
public void setCreatedTime(java.util.Date createdTime){
this.createdTime = createdTime;
super.addValidField("createdTime");
}
/** MODIFIER
*修改人
*/
private java.lang.String modifier;
@Column(name = "MODIFIER",length = 225)
public java.lang.String getModifier(){
return this.modifier;
}
public void setModifier(java.lang.String modifier){
this.modifier = modifier;
super.addValidField("modifier");
}
/** MODIFIED_TIME
*修改时间
*/
private java.util.Date modifiedTime;
@Column(name = "MODIFIED_TIME",length = 19)
public java.util.Date getModifiedTime(){
return this.modifiedTime;
}
public void setModifiedTime(java.util.Date modifiedTime){
this.modifiedTime = modifiedTime;
super.addValidField("modifiedTime");
}
/** SYS_VERSION
*乐观锁,版本号
*/
private java.lang.Integer sysVersion;
@Column(name = "SYS_VERSION",length = 10)
@Version
public java.lang.Integer getSysVersion(){
return this.sysVersion;
}
public void setSysVersion(java.lang.Integer sysVersion){
this.sysVersion = sysVersion;
super.addValidField("sysVersion");
}
/** reasoning_content
*推理内容
*/
private java.lang.String reasoningContent;
@Column(name = "reasoning_content",length = 2147483647)
public java.lang.String getReasoningContent(){
return this.reasoningContent;
}
public void setReasoningContent(java.lang.String reasoningContent){
this.reasoningContent = reasoningContent;
super.addValidField("reasoningContent");
}
/** file_url
*对话文件地址
*/
private java.lang.String fileUrl;
@Column(name = "file_url",length = 120)
public java.lang.String getFileUrl(){
return this.fileUrl;
}
public void setFileUrl(java.lang.String fileUrl){
this.fileUrl = fileUrl;
super.addValidField("fileUrl");
}
}
\ No newline at end of file
select baadr.role,
baadr.agent_id,
baadr.dialogs_id,
baadr.member_id,
baadr.content,
baadr.reasoning_content,
baadr.document_title,
baadr.`timestamp`,
baap.agent_avatar,
baap.agent_title
from biz_ai_writing_dialogues_record baadr
left join biz_agent_application_publish baap on baadr.agent_id = baap.agent_id and baap.is_deleted = 'N'
where baadr.is_deleted = 'N' <<and baadr.dialogs_id = :dialogueId>>
order by baadr.`timestamp` asc
\ No newline at end of file
package cn.com.poc.writing.query;
import java.io.Serializable;
/**
* Query Condition class for AgentApplicationDialoguesRecordQuery
*/
public class AiWritingDialoguesRecordQueryCondition implements Serializable{
private static final long serialVersionUID = 1L;
private String dialogueId;
public String getDialogueId(){
return this.dialogueId;
}
public void setDialogueId(String dialogueId){
this.dialogueId = dialogueId;
}
}
\ No newline at end of file
package cn.com.poc.writing.query;
import cn.com.yict.framemax.data.model.BaseItemClass;
import javax.persistence.Column;
import javax.persistence.Entity;
import java.io.Serializable;
/**
* Query Item class for AgentApplicationDialoguesRecordQuery
*/
@Entity
public class AiWritingDialoguesRecordQueryItem extends BaseItemClass implements Serializable {
private static final long serialVersionUID = 1L;
/**
* role
* role
*/
private String role;
@Column(name = "role")
public String getRole() {
return this.role;
}
public void setRole(String role) {
this.role = role;
}
/**
* agent_id
* agent_id
*/
private String agentId;
@Column(name = "agent_id")
public String getAgentId() {
return this.agentId;
}
public void setAgentId(String agentId) {
this.agentId = agentId;
}
/**
* dialogs_id
* dialogs_id
*/
private String dialogsId;
@Column(name = "dialogs_id")
public String getDialogsId() {
return this.dialogsId;
}
public void setDialogsId(String dialogsId) {
this.dialogsId = dialogsId;
}
/**
* member_id
* member_id
*/
private Long memberId;
@Column(name = "member_id")
public Long getMemberId() {
return this.memberId;
}
public void setMemberId(Long memberId) {
this.memberId = memberId;
}
/**
* document_title
*/
private String documentTitle;
@Column(name = "document_title")
public String getDocumentTitle() {
return documentTitle;
}
public void setDocumentTitle(String documentTitle) {
this.documentTitle = documentTitle;
}
/**
* content
* content
*/
private String content;
@Column(name = "content")
public String getContent() {
return this.content;
}
public void setContent(String content) {
this.content = content;
}
/**
* reasoning_content
*/
private String reasoningContent;
@Column(name = "reasoning_content")
public String getReasoningContent() {
return reasoningContent;
}
public void setReasoningContent(String reasoningContent) {
this.reasoningContent = reasoningContent;
}
/**
* timestamp
* timestamp
*/
private Long timestamp;
@Column(name = "timestamp")
public Long getTimestamp() {
return this.timestamp;
}
public void setTimestamp(Long timestamp) {
this.timestamp = timestamp;
}
/**
* agent_avatar
* agent_avatar
*/
private String agentAvatar;
@Column(name = "agent_avatar")
public String getAgentAvatar() {
return this.agentAvatar;
}
public void setAgentAvatar(String agentAvatar) {
this.agentAvatar = agentAvatar;
}
/**
* agent_title
* agent_title
*/
private String agentTitle;
@Column(name = "agent_title")
public String getAgentTitle() {
return this.agentTitle;
}
public void setAgentTitle(String agentTitle) {
this.agentTitle = agentTitle;
}
}
\ No newline at end of file
package cn.com.poc.writing.repository;
import cn.com.yict.framemax.data.repository.Repository;
import cn.com.poc.writing.model.BizAiWritingDialoguesRecordModel;
public interface BizAiWritingDialoguesRecordRepository extends Repository<BizAiWritingDialoguesRecordModel,java.lang.Long> {
}
\ No newline at end of file
package cn.com.poc.writing.rest; package cn.com.poc.writing.rest;
import cn.com.poc.expose.dto.DialoguesContextDto;
import cn.com.poc.writing.dto.*; import cn.com.poc.writing.dto.*;
import cn.com.yict.framemax.core.rest.BaseRest; import cn.com.yict.framemax.core.rest.BaseRest;
import cn.com.yict.framemax.web.permission.Access; import cn.com.yict.framemax.web.permission.Access;
...@@ -25,4 +26,11 @@ public interface AiWritingRest extends BaseRest { ...@@ -25,4 +26,11 @@ public interface AiWritingRest extends BaseRest {
AiWritingTitleGenerationDto titleGeneration(@RequestBody TitleGenerationDto titleGenerationDto); AiWritingTitleGenerationDto titleGeneration(@RequestBody TitleGenerationDto titleGenerationDto);
/**
* 获取对话上下文
*
* @param dialogueId 对话ID
*/
List<AiWritingDialoguesContextDto> getDialogueContext(@RequestParam String dialogueId) throws Exception;
} }
package cn.com.poc.writing.rest;
import cn.com.yict.framemax.core.rest.BaseRest;
import cn.com.poc.writing.dto.BizAiWritingDialoguesRecordDto;
import cn.com.yict.framemax.data.model.PagingInfo;
import java.util.Collection;
import java.util.List;
import cn.com.yict.framemax.web.permission.Access;
import cn.com.yict.framemax.web.permission.Permission;
import org.springframework.web.bind.annotation.RequestBody;
public interface BizAiWritingDialoguesRecordRest extends BaseRest {
BizAiWritingDialoguesRecordDto getById(java.lang.Long id) throws Exception;
List<BizAiWritingDialoguesRecordDto> getList(BizAiWritingDialoguesRecordDto example,PagingInfo pagingInfo) throws Exception;
BizAiWritingDialoguesRecordDto save(BizAiWritingDialoguesRecordDto dto) throws Exception;
BizAiWritingDialoguesRecordDto update(BizAiWritingDialoguesRecordDto dto) throws Exception;
void deletedById(java.lang.Long id) throws Exception;
}
\ No newline at end of file
...@@ -55,4 +55,10 @@ public class AiWritingRestImpl implements AiWritingRest { ...@@ -55,4 +55,10 @@ public class AiWritingRestImpl implements AiWritingRest {
Assert.notBlank(titleGenerationDto.getInput(), "input is null"); Assert.notBlank(titleGenerationDto.getInput(), "input is null");
return aiWritingService.titleGeneration(titleGenerationDto.getInput()); return aiWritingService.titleGeneration(titleGenerationDto.getInput());
} }
@Override
public List<AiWritingDialoguesContextDto> getDialogueContext(String dialogueId) throws Exception {
Assert.notBlank(dialogueId, "dialogues id is null");
return aiWritingService.getDialogueContext(dialogueId);
}
} }
package cn.com.poc.writing.rest.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import cn.com.poc.writing.rest.BizAiWritingDialoguesRecordRest;
import cn.com.poc.writing.service.BizAiWritingDialoguesRecordService;
import cn.com.poc.writing.dto.BizAiWritingDialoguesRecordDto;
import cn.com.poc.writing.entity.BizAiWritingDialoguesRecordEntity;
import cn.com.yict.framemax.data.model.PagingInfo;
import cn.com.poc.writing.convert.BizAiWritingDialoguesRecordConvert;
import java.util.stream.Collectors;
import org.springframework.util.Assert;
@Component
public class BizAiWritingDialoguesRecordRestImpl implements BizAiWritingDialoguesRecordRest {
@Resource
private BizAiWritingDialoguesRecordService service;
public BizAiWritingDialoguesRecordDto getById(java.lang.Long id) throws Exception{
Assert.notNull(id);
return BizAiWritingDialoguesRecordConvert.entityToDto(service.get(id));
}
public List<BizAiWritingDialoguesRecordDto> getList(BizAiWritingDialoguesRecordDto dto,PagingInfo pagingInfo) throws Exception{
return service
.findByExample(BizAiWritingDialoguesRecordConvert.dtoToEntity(dto),pagingInfo)
.stream()
.map(BizAiWritingDialoguesRecordConvert::entityToDto)
.collect(Collectors.toList());
}
public BizAiWritingDialoguesRecordDto save(BizAiWritingDialoguesRecordDto dto) throws Exception{
Assert.notNull(dto);
BizAiWritingDialoguesRecordEntity entity = BizAiWritingDialoguesRecordConvert.dtoToEntity(dto);
return BizAiWritingDialoguesRecordConvert.entityToDto(service.save(entity));
}
public BizAiWritingDialoguesRecordDto update(BizAiWritingDialoguesRecordDto dto) throws Exception{
Assert.notNull(dto);
BizAiWritingDialoguesRecordEntity entity = BizAiWritingDialoguesRecordConvert.dtoToEntity(dto);
return BizAiWritingDialoguesRecordConvert.entityToDto(service.update(entity));
}
public void deletedById(java.lang.Long id) throws Exception{
Assert.notNull(id);
service.deletedById(id);
}
}
\ No newline at end of file
package cn.com.poc.writing.service;
import cn.com.poc.writing.query.AiWritingDialoguesRecordQueryItem;
import cn.com.yict.framemax.core.service.BaseService;
import cn.com.poc.writing.entity.BizAiWritingDialoguesRecordEntity;
import cn.com.yict.framemax.data.model.PagingInfo;
import java.util.Collection;
import java.util.List;
public interface BizAiWritingDialoguesRecordService extends BaseService {
BizAiWritingDialoguesRecordEntity get(java.lang.Long id) throws Exception;
List<BizAiWritingDialoguesRecordEntity> findByExample(BizAiWritingDialoguesRecordEntity example, PagingInfo pagingInfo) throws Exception;
BizAiWritingDialoguesRecordEntity save(BizAiWritingDialoguesRecordEntity entity) throws Exception;
BizAiWritingDialoguesRecordEntity update(BizAiWritingDialoguesRecordEntity entity) throws Exception;
void deletedById(java.lang.Long id) throws Exception;
List<AiWritingDialoguesRecordQueryItem> getDialogueRecord(String dialogueId);
}
\ No newline at end of file
package cn.com.poc.writing.service.impl;
import cn.com.poc.writing.query.AiWritingDialoguesRecordQueryCondition;
import cn.com.poc.writing.query.AiWritingDialoguesRecordQueryItem;
import cn.com.yict.framemax.core.service.impl.BaseServiceImpl;
import cn.com.poc.writing.service.BizAiWritingDialoguesRecordService;
import cn.com.poc.writing.model.BizAiWritingDialoguesRecordModel;
import cn.com.poc.writing.entity.BizAiWritingDialoguesRecordEntity;
import cn.com.poc.writing.convert.BizAiWritingDialoguesRecordConvert;
import cn.com.poc.writing.repository.BizAiWritingDialoguesRecordRepository;
import cn.com.yict.framemax.data.model.PagingInfo;
import org.springframework.stereotype.Service;
import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.stream.Collectors;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.util.Assert;
@Service
public class BizAiWritingDialoguesRecordServiceImpl extends BaseServiceImpl
implements BizAiWritingDialoguesRecordService {
@Resource
private BizAiWritingDialoguesRecordRepository repository;
public BizAiWritingDialoguesRecordEntity get(java.lang.Long id) throws Exception {
Assert.notNull(id);
BizAiWritingDialoguesRecordModel model = this.repository.get(id);
if (model == null) {
return null;
}
if ("Y".equals(model.getIsDeleted())) {
return null;
}
return BizAiWritingDialoguesRecordConvert.modelToEntity(model);
}
public List<BizAiWritingDialoguesRecordEntity> findByExample(BizAiWritingDialoguesRecordEntity example, PagingInfo pagingInfo) throws Exception {
List<BizAiWritingDialoguesRecordEntity> result = new ArrayList<BizAiWritingDialoguesRecordEntity>();
BizAiWritingDialoguesRecordModel model = new BizAiWritingDialoguesRecordModel();
if (example != null) {
model = BizAiWritingDialoguesRecordConvert.entityToModel(example);
}
model.setIsDeleted("N");
List<BizAiWritingDialoguesRecordModel> models = this.repository.findByExample(model, pagingInfo);
if (CollectionUtils.isNotEmpty(models)) {
result = models.stream().map(BizAiWritingDialoguesRecordConvert::modelToEntity).collect(Collectors.toList());
}
return result;
}
public BizAiWritingDialoguesRecordEntity save(BizAiWritingDialoguesRecordEntity entity) throws Exception {
Assert.notNull(entity);
entity.setId(null);
entity.setIsDeleted("N");
BizAiWritingDialoguesRecordModel model = BizAiWritingDialoguesRecordConvert.entityToModel(entity);
BizAiWritingDialoguesRecordModel saveModel = this.repository.save(model);
return BizAiWritingDialoguesRecordConvert.modelToEntity(saveModel);
}
public BizAiWritingDialoguesRecordEntity update(BizAiWritingDialoguesRecordEntity entity) throws Exception {
Assert.notNull(entity);
Assert.notNull(entity.getId(), "update pk can not be null");
BizAiWritingDialoguesRecordModel model = this.repository.get(entity.getId());
if (entity.getRole() != null) {
model.setRole(entity.getRole());
}
if (entity.getAgentId() != null) {
model.setAgentId(entity.getAgentId());
}
if (entity.getDialogsId() != null) {
model.setDialogsId(entity.getDialogsId());
}
if (entity.getMemberId() != null) {
model.setMemberId(entity.getMemberId());
}
if (entity.getContent() != null) {
model.setContent(entity.getContent());
}
if (entity.getDocumentTitle() != null) {
model.setDocumentTitle(entity.getDocumentTitle());
}
if (entity.getTimestamp() != null) {
model.setTimestamp(entity.getTimestamp());
}
if (entity.getIsDeleted() != null) {
model.setIsDeleted(entity.getIsDeleted());
}
if (entity.getCreator() != null) {
model.setCreator(entity.getCreator());
}
if (entity.getCreatedTime() != null) {
model.setCreatedTime(entity.getCreatedTime());
}
if (entity.getModifier() != null) {
model.setModifier(entity.getModifier());
}
if (entity.getModifiedTime() != null) {
model.setModifiedTime(entity.getModifiedTime());
}
if (entity.getSysVersion() != null) {
model.setSysVersion(entity.getSysVersion());
}
if (entity.getReasoningContent() != null) {
model.setReasoningContent(entity.getReasoningContent());
}
if (entity.getFileUrl() != null) {
model.setFileUrl(entity.getFileUrl());
}
BizAiWritingDialoguesRecordModel saveModel = this.repository.save(model);
return BizAiWritingDialoguesRecordConvert.modelToEntity(saveModel);
}
public void deletedById(java.lang.Long id) throws Exception {
Assert.notNull(id);
BizAiWritingDialoguesRecordModel model = this.repository.get(id);
if (model != null) {
if ("N".equals(model.getIsDeleted())) {
model.setIsDeleted("Y");
this.repository.save(model);
}
}
}
@Override
public List<AiWritingDialoguesRecordQueryItem> getDialogueRecord(String dialogueId) {
AiWritingDialoguesRecordQueryCondition condition = new AiWritingDialoguesRecordQueryCondition();
condition.setDialogueId(dialogueId);
return this.sqlDao.query(condition, AiWritingDialoguesRecordQueryItem.class);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment