修改已知问题。
This commit is contained in:
parent
97f68690b2
commit
b0fe94d2ee
|
|
@ -1,6 +1,7 @@
|
|||
package com.electromagnetic.industry.software.manage.config;
|
||||
|
||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
||||
import com.electromagnetic.industry.software.common.pojo.UserLoginInfo;
|
||||
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
||||
import org.apache.ibatis.reflection.MetaObject;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
@ -29,7 +30,7 @@ public class EdMetaObjectHandler implements MetaObjectHandler {
|
|||
this.strictInsertFill(metaObject, "updatedAt", Date.class, new Date());
|
||||
}
|
||||
if (metaObject.hasGetter("createdBy")) {
|
||||
this.setFieldValByName("createdBy", Optional.ofNullable(UserThreadLocal.getUserId()).orElse(""), metaObject);
|
||||
this.setFieldValByName("createdBy", Optional.ofNullable(UserThreadLocal.getUser()).map(UserLoginInfo::getUserId).orElse(""), metaObject);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -45,7 +46,7 @@ public class EdMetaObjectHandler implements MetaObjectHandler {
|
|||
this.setFieldValByName("updatedTime", new Date(), metaObject);
|
||||
}
|
||||
if (metaObject.hasGetter("updatedBy")) {
|
||||
this.setFieldValByName("updatedBy", Optional.ofNullable(UserThreadLocal.getUserId()).orElse(""), metaObject);
|
||||
this.setFieldValByName("updatedBy", Optional.ofNullable(UserThreadLocal.getUser()).map(UserLoginInfo::getUserId).orElse(""), metaObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.electromagnetic.industry.software.manage.controller;
|
|||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
||||
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
||||
import com.electromagnetic.industry.software.manage.ai.ChatTaskThread1;
|
||||
import com.electromagnetic.industry.software.manage.ai.ChatTaskThread2;
|
||||
import com.electromagnetic.industry.software.manage.ai.ThreadUtil;
|
||||
|
|
@ -46,6 +47,7 @@ public class AiController {
|
|||
if (StrUtil.isEmpty(queryDTO.getMsg())) {
|
||||
return Flux.empty();
|
||||
}
|
||||
queryDTO.setUserId(UserThreadLocal.getUserId());
|
||||
ChatTaskThread1 chatTaskThread = new ChatTaskThread1(chatService, queryDTO);
|
||||
Future<Flux<String>> future = ThreadUtil.getThreadPool().submit(chatTaskThread);
|
||||
return future.get();
|
||||
|
|
@ -56,6 +58,7 @@ public class AiController {
|
|||
if (StrUtil.isEmpty(queryDTO.getMsg())) {
|
||||
return Flux.empty();
|
||||
}
|
||||
queryDTO.setUserId(UserThreadLocal.getUserId());
|
||||
ChatTaskThread2 chatTaskThread2 = new ChatTaskThread2(chatService, queryDTO);
|
||||
Future<Flux<ChatResponse>> future = ThreadUtil.getThreadPool().submit(chatTaskThread2);
|
||||
return future.get();
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ public class QueryDTO {
|
|||
|
||||
private String msg;
|
||||
|
||||
// private String userId;
|
||||
private String userId;
|
||||
}
|
||||
|
|
@ -7,9 +7,11 @@ import cn.hutool.core.util.StrUtil;
|
|||
import cn.hutool.crypto.digest.DigestUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.electromagnetic.industry.software.common.enums.EffectFlagEnum;
|
||||
import com.electromagnetic.industry.software.common.pojo.UserLoginInfo;
|
||||
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
||||
import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil;
|
||||
import com.electromagnetic.industry.software.common.util.IdWorker;
|
||||
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
||||
import com.electromagnetic.industry.software.manage.mapper.AiFileUploadRecordMapper;
|
||||
import com.electromagnetic.industry.software.manage.mapper.AiQuestionRecordMapper;
|
||||
import com.electromagnetic.industry.software.manage.pojo.models.AiFileUploadRecord;
|
||||
|
|
@ -123,13 +125,23 @@ public class ChatService {
|
|||
}
|
||||
|
||||
public Flux<String> chatStreamStr(QueryDTO queryDTO) {
|
||||
AiQuestionRecord record = new AiQuestionRecord().setQuestion(queryDTO.getMsg()).setId(IdWorker.getSnowFlakeIdString());
|
||||
AiQuestionRecord record = new AiQuestionRecord()
|
||||
.setQuestion(queryDTO.getMsg())
|
||||
.setId(IdWorker.getSnowFlakeIdString());
|
||||
UserLoginInfo userLoginInfo = new UserLoginInfo();
|
||||
userLoginInfo.setUserId(queryDTO.getUserId());
|
||||
UserThreadLocal.set(userLoginInfo);
|
||||
aiQuestionRecordMapper.insert(record);
|
||||
UserThreadLocal.remove();
|
||||
return ChatClient.builder(model).defaultAdvisors(messageChatMemoryAdvisor, questionAnswerAdvisor).build().prompt(queryDTO.getMsg()).stream().content();
|
||||
}
|
||||
|
||||
public Flux<ChatResponse> chatStreamResponse(QueryDTO queryDTO) {
|
||||
AiQuestionRecord record = new AiQuestionRecord().setQuestion(queryDTO.getMsg()).setId(IdWorker.getSnowFlakeIdString());
|
||||
UserLoginInfo userLoginInfo = new UserLoginInfo();
|
||||
userLoginInfo.setUserId(queryDTO.getUserId());
|
||||
UserThreadLocal.set(userLoginInfo);
|
||||
UserThreadLocal.remove();
|
||||
aiQuestionRecordMapper.insert(record);
|
||||
return ChatClient.builder(model).defaultAdvisors(messageChatMemoryAdvisor, questionAnswerAdvisor).build()
|
||||
.prompt(new Prompt(new UserMessage(queryDTO.getMsg())))
|
||||
|
|
|
|||
Loading…
Reference in New Issue