From e96aaddc59b17e86beb08cc8f3aa64957cdd57cf Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 19 三月 2026 15:45:04 +0800
Subject: [PATCH] #备货
---
rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiParamServiceImpl.java | 43 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 43 insertions(+), 0 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiParamServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiParamServiceImpl.java
index 07715d5..957c7b0 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiParamServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiParamServiceImpl.java
@@ -4,15 +4,23 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.ai.config.AiDefaults;
+import com.vincent.rsf.server.ai.dto.AiParamValidateResultDto;
import com.vincent.rsf.server.ai.entity.AiParam;
import com.vincent.rsf.server.ai.mapper.AiParamMapper;
import com.vincent.rsf.server.ai.service.AiParamService;
import com.vincent.rsf.server.system.enums.StatusType;
+import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
@Service("aiParamService")
+@RequiredArgsConstructor
public class AiParamServiceImpl extends ServiceImpl<AiParamMapper, AiParam> implements AiParamService {
+
+ private final AiParamValidationSupport aiParamValidationSupport;
@Override
public AiParam getActiveParam(Long tenantId) {
@@ -35,6 +43,7 @@
fillDefaults(aiParam);
ensureBaseFields(aiParam);
ensureSingleActive(tenantId, null, aiParam.getStatus());
+ applyValidation(aiParam);
}
@Override
@@ -48,6 +57,15 @@
aiParam.setTenantId(current.getTenantId());
ensureBaseFields(aiParam);
ensureSingleActive(tenantId, aiParam.getId(), aiParam.getStatus());
+ applyValidation(aiParam);
+ }
+
+ @Override
+ public AiParamValidateResultDto validateDraft(AiParam aiParam, Long tenantId) {
+ ensureTenantId(tenantId);
+ fillDefaults(aiParam);
+ ensureBaseFields(aiParam);
+ return aiParamValidationSupport.validate(aiParam);
}
private void ensureBaseFields(AiParam aiParam) {
@@ -118,8 +136,33 @@
if (aiParam.getStreamingEnabled() == null) {
aiParam.setStreamingEnabled(Boolean.TRUE);
}
+ if (!StringUtils.hasText(aiParam.getValidateStatus())) {
+ aiParam.setValidateStatus(AiDefaults.PARAM_VALIDATE_NOT_TESTED);
+ }
if (aiParam.getStatus() == null) {
aiParam.setStatus(StatusType.ENABLE.val);
}
}
+
+ private void applyValidation(AiParam aiParam) {
+ AiParamValidateResultDto validateResult = aiParamValidationSupport.validate(aiParam);
+ aiParam.setValidateStatus(validateResult.getStatus());
+ aiParam.setLastValidateMessage(validateResult.getMessage());
+ aiParam.setLastValidateElapsedMs(validateResult.getElapsedMs());
+ aiParam.setLastValidateTime(parseDate(validateResult.getValidatedAt()));
+ if (!AiDefaults.PARAM_VALIDATE_VALID.equals(validateResult.getStatus())) {
+ throw new CoolException(validateResult.getMessage());
+ }
+ }
+
+ private Date parseDate(String dateTime) {
+ if (!StringUtils.hasText(dateTime)) {
+ return null;
+ }
+ try {
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateTime);
+ } catch (Exception e) {
+ throw new CoolException("瑙f瀽鏍¢獙鏃堕棿澶辫触: " + e.getMessage());
+ }
+ }
}
--
Gitblit v1.9.1