DAT测试配合

This commit is contained in:
liu.zixi
2025-10-20 10:34:44 +08:00
parent 957ac93a98
commit ac12e04a58
3 changed files with 31 additions and 15 deletions

View File

@@ -37,6 +37,12 @@ public class CaseAiProperties {
*/
private String caseKnowledgeId;
/**
* 默认上传用户
* 当获取不到当前登录用户信息时会取这个
*/
private String defaultUploadUser;
/**
* 文件上传是否使用回调接口
*/

View File

@@ -6,6 +6,7 @@ import com.xboe.common.PageList;
import com.xboe.common.utils.IDGenerator;
import com.xboe.common.utils.StringUtil;
import com.xboe.common.OrderCondition;
import com.xboe.core.CurrentUser;
import com.xboe.core.orm.FieldFilters;
import com.xboe.core.upload.XFileUploader;
import com.xboe.enums.CaseDocumentLogCaseStatusEnum;
@@ -37,8 +38,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.net.URLEncoder;
@@ -202,11 +206,11 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService {
} else {
// 接口调用失败
log.error("上传案例文档接口调用失败,第{}次尝试status: {}, response: {}", attempt, statusCode, responseBody);
saveCaseDocumentLog(caseId, cases.getTitle(), CaseDocumentLogOptTypeEnum.CREATE.getCode(), uploadUrl,
requestBody.toJSONString(), responseBody,
CaseDocumentLogRunStatusEnum.COMPLETED.getCode(), CaseDocumentLogOptStatusEnum.SUCCESS.getCode(), CaseDocumentLogCaseStatusEnum.FAILED.getCode(), null);
if (attempt == maxRetries) {
// 最后一次尝试仍然失败
saveCaseDocumentLog(caseId, cases.getTitle(), CaseDocumentLogOptTypeEnum.CREATE.getCode(), uploadUrl,
requestBody.toJSONString(), responseBody,
CaseDocumentLogRunStatusEnum.COMPLETED.getCode(), CaseDocumentLogOptStatusEnum.SUCCESS.getCode(), CaseDocumentLogCaseStatusEnum.FAILED.getCode(), null);
return false;
}
// 继续下一次重试
@@ -215,12 +219,12 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService {
} catch (Exception e) {
// 接口调用异常
log.error("上传案例文档接口调用异常,第{}次尝试", attempt, e);
saveCaseDocumentLog(caseId, cases.getTitle(), CaseDocumentLogOptTypeEnum.CREATE.getCode(), uploadUrl,
requestBody.toJSONString(), "接口调用异常: " + e.getMessage(),
CaseDocumentLogRunStatusEnum.COMPLETED.getCode(), CaseDocumentLogOptStatusEnum.FAILED.getCode(), CaseDocumentLogCaseStatusEnum.FAILED.getCode(), null);
if (attempt == maxRetries) {
// 最后一次尝试仍然异常
log.error("上传案例文档最终失败,已重试{}次", maxRetries);
saveCaseDocumentLog(caseId, cases.getTitle(), CaseDocumentLogOptTypeEnum.CREATE.getCode(), uploadUrl,
requestBody.toJSONString(), "接口调用异常: " + e.getMessage(),
CaseDocumentLogRunStatusEnum.COMPLETED.getCode(), CaseDocumentLogOptStatusEnum.FAILED.getCode(), CaseDocumentLogCaseStatusEnum.FAILED.getCode(), null);
return false;
}
// 继续下一次重试
@@ -347,11 +351,11 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService {
} else {
// 接口调用失败
log.error("删除案例文档接口调用失败,第{}次尝试status: {}, response: {}", attempt, statusCode, responseBody);
saveCaseDocumentLog(caseId, cases.getTitle(), CaseDocumentLogOptTypeEnum.DELETE.getCode(), deleteUrl,
params, responseBody,
CaseDocumentLogRunStatusEnum.COMPLETED.getCode(), CaseDocumentLogOptStatusEnum.FAILED.getCode(), CaseDocumentLogCaseStatusEnum.FAILED.getCode(), null);
if (attempt == maxRetries) {
// 最后一次尝试仍然失败
saveCaseDocumentLog(caseId, cases.getTitle(), CaseDocumentLogOptTypeEnum.DELETE.getCode(), deleteUrl,
params, responseBody,
CaseDocumentLogRunStatusEnum.COMPLETED.getCode(), CaseDocumentLogOptStatusEnum.FAILED.getCode(), CaseDocumentLogCaseStatusEnum.FAILED.getCode(), null);
return false;
}
// 继续下一次重试
@@ -360,12 +364,12 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService {
} catch (Exception e) {
// 接口调用异常
log.error("删除案例文档接口调用异常,第{}次尝试", attempt, e);
saveCaseDocumentLog(caseId, cases.getTitle(), CaseDocumentLogOptTypeEnum.DELETE.getCode(), deleteUrl,
params, "接口调用异常: " + e.getMessage(),
CaseDocumentLogRunStatusEnum.COMPLETED.getCode(), CaseDocumentLogOptStatusEnum.FAILED.getCode(), CaseDocumentLogCaseStatusEnum.FAILED.getCode(), null);
if (attempt == maxRetries) {
// 最后一次尝试仍然异常
log.error("删除案例文档最终失败,已重试{}次", maxRetries);
saveCaseDocumentLog(caseId, cases.getTitle(), CaseDocumentLogOptTypeEnum.DELETE.getCode(), deleteUrl,
params, "接口调用异常: " + e.getMessage(),
CaseDocumentLogRunStatusEnum.COMPLETED.getCode(), CaseDocumentLogOptStatusEnum.FAILED.getCode(), CaseDocumentLogCaseStatusEnum.FAILED.getCode(), null);
return false;
}
// 继续下一次重试
@@ -708,9 +712,14 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService {
* 获取当前用户ID
*/
private String getCurrentUserId() {
// TODO: 实现获取当前登录用户ID的逻辑
// 这里需要根据实际的用户认证系统来实现
return "defaultUserId";
try {
HttpServletRequest req = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
CurrentUser info = (CurrentUser)req.getAttribute("boe_request_current");
return info.getCode();
} catch (Exception e) {
// 这里需要根据实际的用户认证系统来实现
return caseAiProperties.getCaseKnowledgeId();
}
}
/**

View File

@@ -124,6 +124,7 @@ xboe:
- "00004409"
alert-email-recipients:
- liu.zixi@ebiz-digits.com
- lin.yuxian@ebiz-digits.com
jasypt:
encryptor:
algorithm: PBEWithMD5AndDES