Browse Source
- 添加 ModelCfg 和 ModelVersion 实体类,支持模型基础信息存储 - 实现模型创建、查询接口,支持分页和条件筛选 - 引入 MultiDateDeserializer 支持多种日期格式反序列化 - 优化模型名称空值处理逻辑,避免空指针异常 - 增加 Point 类字段注解,确保 JSON 序列化兼容性 - 更新 Dockerfile 镜像源地址,提升构建稳定性 - 新增独立 Dockerfile 支持外部配置挂载与环境变量设置 - 完善实体类 MyBatis 注解,增强数据库映射准确性pull/46/head
8 changed files with 76 additions and 2 deletions
@ -0,0 +1,27 @@ |
|||||
|
## 使用 JRE 运行,避免在镜像中重新构建 Jar |
||||
|
FROM docker.io/eclipse-temurin:21-jre |
||||
|
|
||||
|
## 允许在构建时传入已编译好的 Jar 路径与外部挂载的配置目录 |
||||
|
ARG JAR_PATH=/opt/alert/alert-backend/app.jar |
||||
|
ARG CONFIG_DIR=/opt/alert/alert-backend |
||||
|
|
||||
|
WORKDIR /yudao-server |
||||
|
|
||||
|
## 配置目录来自宿主机挂载,不在镜像内再生成 |
||||
|
ENV CONFIG_DIR=${CONFIG_DIR} |
||||
|
RUN mkdir -p ${CONFIG_DIR} |
||||
|
VOLUME ${CONFIG_DIR} |
||||
|
|
||||
|
## 拷贝已有的可执行 Jar |
||||
|
COPY ${JAR_PATH} app.jar |
||||
|
|
||||
|
## 基础运行时配置 |
||||
|
ENV TZ=Asia/Shanghai |
||||
|
ENV JAVA_OPTS="-Xms512m -Xmx512m -Djava.security.egd=file:/dev/./urandom" |
||||
|
ENV ARGS="" |
||||
|
ENV SPRING_CONFIG_ADDITIONAL_LOCATION=file:${CONFIG_DIR}/ |
||||
|
ENV LOGGING_CONFIG=${CONFIG_DIR}/logback-spring.xml |
||||
|
|
||||
|
EXPOSE 48080 |
||||
|
|
||||
|
CMD java ${JAVA_OPTS} -Dlogging.config=${LOGGING_CONFIG} -jar /yudao-server/app.jar --spring.config.additional-location=${SPRING_CONFIG_ADDITIONAL_LOCATION} $ARGS |
||||
@ -0,0 +1,37 @@ |
|||||
|
package cn.iocoder.yudao.framework.common.util.json.databind; |
||||
|
|
||||
|
import com.fasterxml.jackson.core.JsonParser; |
||||
|
import com.fasterxml.jackson.databind.DeserializationContext; |
||||
|
import com.fasterxml.jackson.databind.JsonDeserializer; |
||||
|
|
||||
|
import java.io.IOException; |
||||
|
import java.text.ParseException; |
||||
|
import java.text.SimpleDateFormat; |
||||
|
import java.util.Arrays; |
||||
|
import java.util.Date; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author chenjiale |
||||
|
* @version 1.0 |
||||
|
* @date 2025-12-08 19:52 |
||||
|
*/ |
||||
|
public class MultiDateDeserializer extends JsonDeserializer<Date> { |
||||
|
|
||||
|
private static final List<String> FORMATS = Arrays.asList( |
||||
|
"yyyy-MM-dd HH:mm:ss", |
||||
|
"yyyy/MM/dd HH:mm:ss" |
||||
|
); |
||||
|
|
||||
|
@Override |
||||
|
public Date deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { |
||||
|
String text = p.getText().trim(); |
||||
|
for (String format : FORMATS) { |
||||
|
try { |
||||
|
return new SimpleDateFormat(format).parse(text); |
||||
|
} catch (ParseException ignored) { |
||||
|
} |
||||
|
} |
||||
|
throw new RuntimeException("Unsupported date format: " + text); |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue