|
|
@@ -734,91 +734,105 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
|
|
|
|
|
|
@Override
|
|
|
public int createApplication(TakaiApplicationParams params) {
|
|
|
- SnowflakeDigitGenerator snowflakeDigitGenerator = new SnowflakeDigitGenerator(1, 1);
|
|
|
- long appId = snowflakeDigitGenerator.nextId();
|
|
|
- TakaiApplication info = TakaiApplication.builder().appId(String.valueOf(appId))
|
|
|
- .name(params.getName())
|
|
|
- .desc(params.getDesc())
|
|
|
- .model(params.getModel())
|
|
|
- .knowledgeIds(params.getKnowledge_ids().toString())
|
|
|
- .topP(params.getTop_p())
|
|
|
- .temperature(params.getTemperature())
|
|
|
- .maxToken(params.getMax_token())
|
|
|
- .prompt(params.getPrompt())
|
|
|
- .knowledgeInfo(params.getKnowledge_info())
|
|
|
- .sliceCount(params.getSlice_count())
|
|
|
- .typeId(params.getTypeId())
|
|
|
- .status("5") // 未开始审核状态
|
|
|
- .approver(params.getApprover())
|
|
|
- .build();
|
|
|
- info.setCreateBy(params.getUserId());
|
|
|
- int i = takaiApplicationMapper.insertApplication(info);
|
|
|
- if (i > 0) {
|
|
|
- TypeApp appType = new TypeApp();
|
|
|
- appType.setTypeId(params.getTypeId());
|
|
|
- appType.setAppId(String.valueOf(appId));
|
|
|
- appTypeMapper.insertAppType(appType);
|
|
|
-
|
|
|
- logger.info("create application success, id:{}, name:{}", appId, params.getName());
|
|
|
- TakaiAppInfo appInfo = new TakaiAppInfo();
|
|
|
- appInfo.setAppId(String.valueOf(appId));
|
|
|
- appInfo.setAppInfo(String.valueOf(JSONObject.from(info).toJSONString()));
|
|
|
- takaiAppInfoMapper.insertAppInfo(appInfo);
|
|
|
-
|
|
|
- List<String> list = params.getQuestionList();
|
|
|
- if (!list.isEmpty() && list.size() > 0) {
|
|
|
- for (String str : list) {
|
|
|
- if (org.apache.commons.lang3.StringUtils.isNotBlank(str)) {
|
|
|
- String uuid = IdUtils.simpleUUID();
|
|
|
- TakaiQuestion question = TakaiQuestion.builder().id(uuid).question(str).appId(String.valueOf(appId)).build();
|
|
|
- takaiQuestionMapper.insertQuestion(question);
|
|
|
+ ApprovalNode vo = getFirstApproverNode(); // 获取第一个审批对象
|
|
|
+ if(vo != null){
|
|
|
+ SnowflakeDigitGenerator snowflakeDigitGenerator = new SnowflakeDigitGenerator(1, 1);
|
|
|
+ long appId = snowflakeDigitGenerator.nextId();
|
|
|
+ TakaiApplication info = TakaiApplication.builder().appId(String.valueOf(appId))
|
|
|
+ .name(params.getName())
|
|
|
+ .desc(params.getDesc())
|
|
|
+ .model(params.getModel())
|
|
|
+ .knowledgeIds(params.getKnowledge_ids().toString())
|
|
|
+ .topP(params.getTop_p())
|
|
|
+ .temperature(params.getTemperature())
|
|
|
+ .maxToken(params.getMax_token())
|
|
|
+ .prompt(params.getPrompt())
|
|
|
+ .knowledgeInfo(params.getKnowledge_info())
|
|
|
+ .sliceCount(params.getSlice_count())
|
|
|
+ .typeId(params.getTypeId())
|
|
|
+ .status("5") // 未开始审核状态
|
|
|
+ .approver(String.valueOf(vo.getApprover()))
|
|
|
+ .nodeOrder(String.valueOf(vo.getNodeOrder()))
|
|
|
+ .build();
|
|
|
+ info.setCreateBy(params.getUserId());
|
|
|
+ int i = takaiApplicationMapper.insertApplication(info);
|
|
|
+ if (i > 0) {
|
|
|
+ TypeApp appType = new TypeApp();
|
|
|
+ appType.setTypeId(params.getTypeId() == null ? null : params.getTypeId());
|
|
|
+ appType.setAppId(String.valueOf(appId));
|
|
|
+ appTypeMapper.insertAppType(appType);
|
|
|
+
|
|
|
+ logger.info("create application success, id:{}, name:{}", appId, params.getName());
|
|
|
+ TakaiAppInfo appInfo = new TakaiAppInfo();
|
|
|
+ appInfo.setAppId(String.valueOf(appId));
|
|
|
+ appInfo.setAppInfo(String.valueOf(JSONObject.from(info).toJSONString()));
|
|
|
+ takaiAppInfoMapper.insertAppInfo(appInfo);
|
|
|
+
|
|
|
+ List<String> list = params.getQuestionList();
|
|
|
+ if (!list.isEmpty() && list.size() > 0) {
|
|
|
+ for (String str : list) {
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(str)) {
|
|
|
+ String uuid = IdUtils.simpleUUID();
|
|
|
+ TakaiQuestion question = TakaiQuestion.builder().id(uuid).question(str).appId(String.valueOf(appId)).build();
|
|
|
+ takaiQuestionMapper.insertQuestion(question);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ return i;
|
|
|
}
|
|
|
+ }else{
|
|
|
+ // 没有审批人
|
|
|
+ return 9;
|
|
|
}
|
|
|
- return i;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public int updateApplication(TakaiApplicationParams params, String appId) {
|
|
|
- TakaiApplication info = TakaiApplication.builder().appId(appId)
|
|
|
- .name(params.getName())
|
|
|
- .desc(params.getDesc())
|
|
|
- .model(params.getModel())
|
|
|
- .knowledgeIds(params.getKnowledge_ids().toString())
|
|
|
- .topP(params.getTop_p())
|
|
|
- .temperature(params.getTemperature())
|
|
|
- .maxToken(params.getMax_token())
|
|
|
- .prompt(params.getPrompt())
|
|
|
- .knowledgeInfo(params.getKnowledge_info())
|
|
|
- .sliceCount(params.getSlice_count())
|
|
|
- .typeId(params.getTypeId())
|
|
|
- .status("5") // 未开始审核状态
|
|
|
- .approver(params.getApprover())
|
|
|
- .comment(null)
|
|
|
- .nodeOrder(null)
|
|
|
- .build();
|
|
|
- int i = takaiApplicationMapper.updateApplication(info);
|
|
|
- if (1 > 0) {
|
|
|
- TakaiAppInfo appInfo = new TakaiAppInfo();
|
|
|
- appInfo.setAppId(appId);
|
|
|
- appInfo.setAppInfo(String.valueOf(JSONObject.from(info).toJSONString()));
|
|
|
- takaiAppInfoMapper.updateAppInfoByAppId(appInfo);
|
|
|
- logger.info("update application success, id:{}, name:{}", appId, params.getName());
|
|
|
- //预设问题写入数据库
|
|
|
- takaiQuestionMapper.delQuestionByAppId(appId);
|
|
|
- List<String> list = params.getQuestionList();
|
|
|
- if (!list.isEmpty() && list.size() > 0) {
|
|
|
- for (String str : list) {
|
|
|
- if (org.apache.commons.lang3.StringUtils.isNotBlank(str)) {
|
|
|
- String uuid = IdUtils.simpleUUID();
|
|
|
- TakaiQuestion question = TakaiQuestion.builder().id(uuid).question(str).appId(String.valueOf(appId)).build();
|
|
|
- takaiQuestionMapper.insertQuestion(question);
|
|
|
+ ApprovalNode vo = getFirstApproverNode(); // 获取第一个审批对象
|
|
|
+ if(vo != null){
|
|
|
+ TakaiApplication info = TakaiApplication.builder().appId(appId)
|
|
|
+ .name(params.getName())
|
|
|
+ .desc(params.getDesc())
|
|
|
+ .model(params.getModel())
|
|
|
+ .knowledgeIds(params.getKnowledge_ids().toString())
|
|
|
+ .topP(params.getTop_p())
|
|
|
+ .temperature(params.getTemperature())
|
|
|
+ .maxToken(params.getMax_token())
|
|
|
+ .prompt(params.getPrompt())
|
|
|
+ .knowledgeInfo(params.getKnowledge_info())
|
|
|
+ .sliceCount(params.getSlice_count())
|
|
|
+ .typeId(params.getTypeId())
|
|
|
+ .status("5") // 未开始审核状态
|
|
|
+ .approver(String.valueOf(vo.getApprover()))
|
|
|
+ .nodeOrder(String.valueOf(vo.getNodeOrder()))
|
|
|
+ .comment(null)
|
|
|
+ .build();
|
|
|
+ info.setCreateBy(params.getUserId());
|
|
|
+ int i = takaiApplicationMapper.updateApplication(info);
|
|
|
+ if (1 > 0) {
|
|
|
+ TakaiAppInfo appInfo = new TakaiAppInfo();
|
|
|
+ appInfo.setAppId(appId);
|
|
|
+ appInfo.setAppInfo(String.valueOf(JSONObject.from(info).toJSONString()));
|
|
|
+ takaiAppInfoMapper.updateAppInfoByAppId(appInfo);
|
|
|
+ logger.info("update application success, id:{}, name:{}", appId, params.getName());
|
|
|
+ //预设问题写入数据库
|
|
|
+ takaiQuestionMapper.delQuestionByAppId(appId);
|
|
|
+ List<String> list = params.getQuestionList();
|
|
|
+ if (!list.isEmpty() && list.size() > 0) {
|
|
|
+ for (String str : list) {
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(str)) {
|
|
|
+ String uuid = IdUtils.simpleUUID();
|
|
|
+ TakaiQuestion question = TakaiQuestion.builder().id(uuid).question(str).appId(String.valueOf(appId)).build();
|
|
|
+ takaiQuestionMapper.insertQuestion(question);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ return i;
|
|
|
+ } else {
|
|
|
+ return 9;
|
|
|
}
|
|
|
- return i;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -1274,6 +1288,21 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
|
|
|
return appCollectMapper.delAppCollect(userId, appId);
|
|
|
}
|
|
|
|
|
|
+ private ApprovalNode getFirstApproverNode() {
|
|
|
+ List<DocumentAuditConfig> list = documentAuditConfigMapper.selectDocumentAuditConfigListByBo(null);
|
|
|
+ if(list != null && list.size() > 0) {
|
|
|
+ ApprovalFlowManager flowManager = new ApprovalFlowManager();
|
|
|
+ logger.info("开启审核");
|
|
|
+ for (DocumentAuditConfig config : list) {
|
|
|
+ // 添加审核节点
|
|
|
+ flowManager.addNode(new ApprovalNode(config.getId(), config.getNodeOrder(), Long.valueOf(config.getApprover()), config.getChain()));
|
|
|
+ }
|
|
|
+
|
|
|
+ return flowManager.getFirstApprover();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
private JSONObject analysisFile(List<UploadDocumentParams> result, TakaiDocumentSettings settings, String flag) {
|
|
|
String url = deepseekConfig.getBaseurl() + deepseekConfig.getUploadKnowledge();
|
|
|
JSONObject json = new JSONObject();
|