DAT测试配合

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

View File

@@ -37,6 +37,12 @@ public class CaseAiProperties {
*/ */
private String caseKnowledgeId; 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.IDGenerator;
import com.xboe.common.utils.StringUtil; import com.xboe.common.utils.StringUtil;
import com.xboe.common.OrderCondition; import com.xboe.common.OrderCondition;
import com.xboe.core.CurrentUser;
import com.xboe.core.orm.FieldFilters; import com.xboe.core.orm.FieldFilters;
import com.xboe.core.upload.XFileUploader; import com.xboe.core.upload.XFileUploader;
import com.xboe.enums.CaseDocumentLogCaseStatusEnum; 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.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; 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.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.net.URLEncoder; import java.net.URLEncoder;
@@ -202,11 +206,11 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService {
} else { } else {
// 接口调用失败 // 接口调用失败
log.error("上传案例文档接口调用失败,第{}次尝试status: {}, response: {}", attempt, statusCode, responseBody); 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) { 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; return false;
} }
// 继续下一次重试 // 继续下一次重试
@@ -215,12 +219,12 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService {
} catch (Exception e) { } catch (Exception e) {
// 接口调用异常 // 接口调用异常
log.error("上传案例文档接口调用异常,第{}次尝试", attempt, 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) { if (attempt == maxRetries) {
// 最后一次尝试仍然异常 // 最后一次尝试仍然异常
log.error("上传案例文档最终失败,已重试{}次", 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; return false;
} }
// 继续下一次重试 // 继续下一次重试
@@ -347,11 +351,11 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService {
} else { } else {
// 接口调用失败 // 接口调用失败
log.error("删除案例文档接口调用失败,第{}次尝试status: {}, response: {}", attempt, statusCode, responseBody); 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) { 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; return false;
} }
// 继续下一次重试 // 继续下一次重试
@@ -360,12 +364,12 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService {
} catch (Exception e) { } catch (Exception e) {
// 接口调用异常 // 接口调用异常
log.error("删除案例文档接口调用异常,第{}次尝试", attempt, 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) { if (attempt == maxRetries) {
// 最后一次尝试仍然异常 // 最后一次尝试仍然异常
log.error("删除案例文档最终失败,已重试{}次", 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; return false;
} }
// 继续下一次重试 // 继续下一次重试
@@ -708,9 +712,14 @@ public class CaseKnowledgeServiceImpl implements ICaseKnowledgeService {
* 获取当前用户ID * 获取当前用户ID
*/ */
private String getCurrentUserId() { private String getCurrentUserId() {
// TODO: 实现获取当前登录用户ID的逻辑 try {
// 这里需要根据实际的用户认证系统来实现 HttpServletRequest req = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
return "defaultUserId"; 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" - "00004409"
alert-email-recipients: alert-email-recipients:
- liu.zixi@ebiz-digits.com - liu.zixi@ebiz-digits.com
- lin.yuxian@ebiz-digits.com
jasypt: jasypt:
encryptor: encryptor:
algorithm: PBEWithMD5AndDES algorithm: PBEWithMD5AndDES