diff --git a/aircraft-system/Dockerfile b/aircraft-system/Dockerfile index 107414b..6023ce3 100644 --- a/aircraft-system/Dockerfile +++ b/aircraft-system/Dockerfile @@ -1,56 +1,17 @@ -# 第一阶段:使用Maven构建项目 -FROM maven:3.8.7-openjdk-17 AS builder +# 使用官方 OpenJDK 17 运行时作为基础镜像 +FROM openjdk:17-jdk-slim -# 设置工作目录 -WORKDIR /workspace - -# 复制所有POM文件以利用Docker缓存层 -COPY pom.xml . -COPY aircraft-common/pom.xml ./aircraft-common/ -COPY aircraft-generator/pom.xml ./aircraft-generator/ -COPY aircraft-logging/pom.xml ./aircraft-logging/ -COPY aircraft-system/pom.xml ./aircraft-system/ -COPY aircraft-tools/pom.xml ./aircraft-tools/ - -# 下载依赖项(仅当pom文件更改时才会重新执行) -RUN mvn -B dependency:go-offline - -# 复制源代码 -COPY aircraft-common/src ./aircraft-common/src -COPY aircraft-generator/src ./aircraft-generator/src -COPY aircraft-logging/src ./aircraft-logging/src -COPY aircraft-system/src ./aircraft-system/src -COPY aircraft-tools/src ./aircraft-tools/src - -# 构建整个项目并跳过测试 -RUN mvn -B package -pl aircraft-system -am -DskipTests - -# 第二阶段:创建运行时镜像 -FROM eclipse-temurin:17-jre-alpine - -# 设置元数据 -LABEL maintainer="aircraft-team" -LABEL module="aircraft-system" +# 设置作者信息 +LABEL maintainer="chenxiky@163.com" # 设置工作目录 WORKDIR /app -# 从构建阶段复制生成的JAR文件 -COPY --from=builder /workspace/aircraft-system/target/*.jar app.jar +# 复制同级 target 目录下的 JAR 文件到镜像中 +COPY target/*.jar app.jar -# 设置时区 -ENV TZ=Asia/Shanghai -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone +# 暴露应用端口(根据实际应用修改) +EXPOSE 8083 -# 暴露默认端口 -EXPOSE 8000 - -# 设置JVM参数 -ENV JAVA_OPTS="-Xmx512m -Xms256m -XX:+UseG1GC -XX:MaxGCPauseMillis=200" - -# 健康检查 -HEALTHCHECK --interval=30s --timeout=3s \ - CMD wget -q -O - http://localhost:8000/actuator/health || exit 1 - -# 启动应用 -ENTRYPOINT exec java $JAVA_OPTS -jar app.jar +# 运行 JAR 文件 +ENTRYPOINT ["java", "-jar", "app.jar"] \ No newline at end of file diff --git a/aircraft-system/src/main/java/com/aircraft/modules/quartz/task/OrderTask.java b/aircraft-system/src/main/java/com/aircraft/modules/quartz/task/OrderTask.java index 4fc4f90..a2d1352 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/quartz/task/OrderTask.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/quartz/task/OrderTask.java @@ -2,6 +2,8 @@ package com.aircraft.modules.quartz.task; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.aircraft.exception.BadRequestException; import com.aircraft.modules.order.domain.OrderMain; import com.aircraft.modules.order.domain.enums.MainOrderStatusEnum; import com.aircraft.modules.order.service.IOrderMainService; @@ -32,11 +34,22 @@ public class OrderTask { * * @param hour 小时 */ - public void orderAutoFinishTask(Integer hour) { + public void orderAutoFinishTask(String hour) { log.info("订单自动完成定时任务开始执行,参数:{}", hour); // 订单状态为飞行中,且确认状态为飞行员确认,距离时间是超过xx小时,就会自动完成 + + if (StrUtil.isBlank(hour)) { + hour = "24"; + } + Integer hourInt = null; + try { + hourInt = Integer.parseInt(hour); + } catch (NumberFormatException e) { + throw new BadRequestException("参数不合法,请调整为正整数类型"); + } + Date currentTime = new Date(); - Date finishTime = DateUtil.offsetHour(currentTime, -hour); + Date finishTime = DateUtil.offsetHour(currentTime, - hourInt); List orderMainList = orderMainService.obtainOrderNotFinish(finishTime); diff --git a/aircraft-system/src/test/java/com/aircraft/EladminSystemApplicationTests.java b/aircraft-system/src/test/java/com/aircraft/EladminSystemApplicationTests.java index 273445b..29ff1c8 100644 --- a/aircraft-system/src/test/java/com/aircraft/EladminSystemApplicationTests.java +++ b/aircraft-system/src/test/java/com/aircraft/EladminSystemApplicationTests.java @@ -31,7 +31,7 @@ public class EladminSystemApplicationTests { */ @Test public void orderAutoFinishTask() { - orderTask.orderAutoFinishTask(1); + orderTask.orderAutoFinishTask("1"); } }