diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..52a13ea --- /dev/null +++ b/.dockerignore @@ -0,0 +1,78 @@ +# Maven构建目录(保留target目录用于多段构建) +target/classes/ +target/test-classes/ +target/maven-archiver/ +target/maven-status/ + +# IDE文件 +.idea/ +.vscode/ +*.iml +*.ipr +*.iws + +# 日志文件 +logs/ +*.log + +# 临时文件 +temp/ +*.tmp +*.temp + +# 系统文件 +.DS_Store +Thumbs.db + +# Git文件 +.git/ +.gitignore + +# Docker文件 +Dockerfile* +docker-compose*.yml +.dockerignore + +# 文档文件 +README.md +*.md +docs/ + +# 测试文件 +src/test/ + +# 配置文件(敏感信息) +application.properties.backup +*.properties.backup + +# 节点模块 +node_modules/ +npm-debug.log* + +# Python相关 +__pycache__/ +*.py[cod] +*$py.class + +# 备份文件 +*.bak +*.backup +*.swp +*.swo + +# 环境配置文件 +.env +.env.local +.env.*.local + +# 本地数据目录 +data/ +upload/ +temp/ +unzip/ +images/ +reports/ + +# Maven wrapper +.mvn/wrapper/maven-wrapper.jar +.mvn/wrapper/maven-wrapper.properties \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9836ca1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,77 @@ +# ===== 构建阶段 ===== +# 使用Maven镜像进行构建 +FROM maven:3.8.4-openjdk-8-slim AS builder + +# 设置工作目录 +WORKDIR /build + +# 复制pom.xml文件 +COPY pom.xml . + +# 下载依赖(利用Docker缓存层) +RUN mvn dependency:go-offline -B + +# 复制源代码 +COPY src ./src + +# 构建应用 +RUN mvn clean package -DskipTests -B + +# ===== 运行阶段 ===== +# 使用OpenJDK 8作为基础镜像 +FROM openjdk:8-jre-alpine AS runtime + +# 设置维护者信息 +LABEL maintainer="digital-archive-team" + +# 安装必要的系统依赖和Tesseract OCR +RUN apk add --no-cache \ + tesseract \ + tesseract-data-chi_sim \ + tesseract-data-chi_tra \ + tesseract-data-eng \ + tesseract-ocr \ + tini \ + curl \ + bash \ + && rm -rf /var/cache/apk/* + +# 设置环境变量 +ENV JAVA_OPTS="-Xmx2g -Xms1g -XX:+UseG1GC -XX:MaxGCPauseMillis=200" +ENV SPRING_PROFILES_ACTIVE=prod + +# 创建应用用户和目录 +RUN addgroup -g 1001 app \ + && adduser -D -s /bin/sh -u 1001 -G app app \ + && mkdir -p /app/data/upload \ + && mkdir -p /app/data/temp \ + && mkdir -p /app/data/unzip \ + && mkdir -p /app/data/images \ + && mkdir -p /app/data/reports \ + && mkdir -p /app/logs \ + && chown -R app:app /app + +# 设置工作目录 +WORKDIR /app + +# 从构建阶段复制jar文件 +COPY --from=builder /build/target/point-strategy-*.jar app.jar + +# 复制配置文件(如果需要覆盖默认配置) +# COPY application-prod.yml application-prod.yml + +# 切换到非root用户 +USER app + +# 健康检查 +HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \ + CMD curl -f http://localhost:9081/point-strategy/actuator/health || exit 1 + +# 暴露端口 +EXPOSE 9081 + +# 使用tini作为init进程 +ENTRYPOINT ["/sbin/tini", "--"] + +# 启动应用 +CMD ["sh", "-c", "java $JAVA_OPTS -jar app.jar"] \ No newline at end of file diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..acb9c7f --- /dev/null +++ b/build.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# 数字档案系统构建脚本 +set -e + +# 颜色定义 +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# 项目信息 +PROJECT_NAME="digital-archive" +JAR_NAME="point-strategy" +VERSION="latest" + +echo -e "${GREEN}开始构建数字档案系统...${NC}" + +# 检查Docker是否安装 +if ! command -v docker &> /dev/null; then + echo -e "${RED}错误: Docker未安装${NC}" + exit 1 +fi + +# 构建Docker镜像 +echo -e "${YELLOW}构建Docker镜像...${NC}" +docker build -t ${PROJECT_NAME}:${VERSION} . + +if [ $? -eq 0 ]; then + echo -e "${GREEN}Docker镜像构建成功: ${PROJECT_NAME}:${VERSION}${NC}" +else + echo -e "${RED}Docker镜像构建失败${NC}" + exit 1 +fi + +# 可选:运行测试 +if [ "$1" = "--test" ]; then + echo -e "${YELLOW}运行测试...${NC}" + docker-compose -f docker-compose.test.yml up --abort-on-container-exit --exit-code-from test +fi + +# 可选:推送到镜像仓库 +if [ "$1" = "--push" ]; then + echo -e "${YELLOW}推送到镜像仓库...${NC}" + docker tag ${PROJECT_NAME}:${VERSION} your-registry.com/${PROJECT_NAME}:${VERSION} + docker push your-registry.com/${PROJECT_NAME}:${VERSION} +fi + +echo -e "${GREEN}构建完成!${NC}" +echo -e "${YELLOW}使用 ./deploy.sh <部署目录> 来部署服务${NC}" + +# 显示镜像信息 +echo -e "${YELLOW}镜像信息:${NC}" +docker images | grep ${PROJECT_NAME} \ No newline at end of file diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..fad07d0 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,241 @@ +#!/bin/bash + +# 数字档案系统部署脚本 +set -e + +# 颜色定义 +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# 项目信息 +PROJECT_NAME="digital-archive" +VERSION="latest" + +# 检查参数 +if [ $# -eq 0 ]; then + echo -e "${RED}用法: $0 <部署目录>${NC}" + echo -e "${YELLOW}示例: $0 /opt/digital-archive${NC}" + exit 1 +fi + +DEPLOY_DIR=$1 + +# 检查Docker是否安装 +if ! command -v docker &> /dev/null; then + echo -e "${RED}错误: Docker未安装${NC}" + exit 1 +fi + +# 检查Docker Compose是否安装 +if ! command -v docker-compose &> /dev/null; then + echo -e "${RED}错误: Docker Compose未安装${NC}" + exit 1 +fi + +echo -e "${GREEN}开始部署数字档案系统到 ${DEPLOY_DIR}...${NC}" + +# 检查镜像是否存在 +if ! docker images | grep -q ${PROJECT_NAME}; then + echo -e "${RED}错误: 镜像 ${PROJECT_NAME}:${VERSION} 不存在,请先运行 ./build.sh${NC}" + exit 1 +fi + +# 创建部署目录 +echo -e "${YELLOW}创建部署目录...${NC}" +mkdir -p ${DEPLOY_DIR}/{data/{upload,temp,unzip,images,reports,database,redis,elasticsearch},logs,nginx} + +# 复制配置文件 +echo -e "${YELLOW}复制配置文件...${NC}" +cp docker-compose.simple.yml ${DEPLOY_DIR}/docker-compose.yml + +# 创建环境配置文件 +cat > ${DEPLOY_DIR}/.env << EOF +# 数字档案系统环境配置 +COMPOSE_PROJECT_NAME=digital-archive + +# 服务配置 +SERVER_PORT=9081 +SERVER_CONTEXT_PATH=/point-strategy + +# 数据库配置 +DB_HOST=database +DB_PORT=54321 +DB_NAME=enterprise_digital_archives +DB_USERNAME=system +DB_PASSWORD=12345678ab + +# Redis配置 +REDIS_HOST=redis +REDIS_PORT=6379 +REDIS_PASSWORD=Abc123456 + +# OCR配置 +TESS_PATH=/usr/bin/tesseract + +# 其他配置 +SWAGGER_SHOW=false +LOG_ROOT_LEVEL=info +LOG_APP_LEVEL=info +JAVA_OPTS=-Xmx2g -Xms1g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 +EOF + +# 创建nginx配置目录和基础配置 +mkdir -p ${DEPLOY_DIR}/nginx/conf.d +cat > ${DEPLOY_DIR}/nginx/nginx.conf << 'EOF' +events { + worker_connections 1024; +} + +http { + upstream app { + server app:9081; + } + + server { + listen 80; + server_name localhost; + + location / { + proxy_pass http://app; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + } +} +EOF + +# 设置目录权限 +echo -e "${YELLOW}设置目录权限...${NC}" +chmod -R 755 ${DEPLOY_DIR}/data/ +chmod -R 755 ${DEPLOY_DIR}/logs/ +chmod 644 ${DEPLOY_DIR}/.env +chmod 644 ${DEPLOY_DIR}/docker-compose.yml + +# 创建启动脚本 +cat > ${DEPLOY_DIR}/start.sh << 'EOF' +#!/bin/bash +# 启动数字档案系统 +echo "启动数字档案系统..." +docker-compose up -d + +echo "等待服务启动..." +sleep 30 + +echo "检查服务状态..." +docker-compose ps + +echo "查看应用日志..." +docker-compose logs -f app +EOF + +# 创建停止脚本 +cat > ${DEPLOY_DIR}/stop.sh << 'EOF' +#!/bin/bash +# 停止数字档案系统 +echo "停止数字档案系统..." +docker-compose down + +echo "清理未使用的镜像和容器..." +docker system prune -f +EOF + +# 创建更新脚本 +cat > ${DEPLOY_DIR}/update.sh << 'EOF' +#!/bin/bash +# 更新数字档案系统 +echo "停止服务..." +docker-compose down + +echo "拉取最新镜像..." +docker-compose pull + +echo "启动服务..." +docker-compose up -d + +echo "清理旧镜像..." +docker image prune -f +EOF + +# 设置脚本执行权限 +chmod +x ${DEPLOY_DIR}/start.sh +chmod +x ${DEPLOY_DIR}/stop.sh +chmod +x ${DEPLOY_DIR}/update.sh + +# 创建生产环境docker-compose文件 +cat > ${DEPLOY_DIR}/docker-compose.prod.yml << 'EOF' +version: '3.8' + +services: + app: + image: digital-archive:latest + container_name: digital-archive-app + ports: + - "9081:9081" + volumes: + - ./data/upload:/app/data/upload + - ./data/temp:/app/data/temp + - ./data/unzip:/app/data/unzip + - ./data/images:/app/data/images + - ./data/reports:/app/data/reports + - ./logs:/app/logs + env_file: + - .env + depends_on: + - database + - redis + networks: + - archive-network + restart: unless-stopped + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9081/point-strategy/actuator/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 60s + + database: + image: kingbase:v8.6.0 + container_name: digital-archive-db + ports: + - "54321:54321" + environment: + - KINGBASE_USER=system + - KINGBASE_PASSWORD=12345678ab + - KINGBASE_DATABASE=enterprise_digital_archives + volumes: + - ./data/database:/var/lib/kingbase/data + networks: + - archive-network + restart: unless-stopped + + redis: + image: redis:6-alpine + container_name: digital-archive-redis + ports: + - "6379:6379" + command: redis-server --requirepass Abc123456 + volumes: + - ./data/redis:/data + networks: + - archive-network + restart: unless-stopped + +networks: + archive-network: + driver: bridge +EOF + +echo -e "${GREEN}部署完成!${NC}" +echo -e "${YELLOW}部署目录: ${DEPLOY_DIR}${NC}" +echo -e "${YELLOW}可用命令:${NC}" +echo " 启动服务: cd ${DEPLOY_DIR} && ./start.sh" +echo " 停止服务: cd ${DEPLOY_DIR} && ./stop.sh" +echo " 更新服务: cd ${DEPLOY_DIR} && ./update.sh" +echo " 查看状态: cd ${DEPLOY_DIR} && docker-compose ps" +echo " 查看日志: cd ${DEPLOY_DIR} && docker-compose logs -f app" +echo "" +echo -e "${YELLOW}访问地址: http://localhost:9081/point-strategy${NC}" \ No newline at end of file diff --git a/docker-compose.simple.yml b/docker-compose.simple.yml new file mode 100644 index 0000000..6653ad7 --- /dev/null +++ b/docker-compose.simple.yml @@ -0,0 +1,76 @@ +version: '3.8' + +services: + # 主应用服务 + app: + image: digital-archive:latest + container_name: digital-archive-app + ports: + - "9081:9081" + volumes: + - ./data/upload:/app/data/upload + - ./data/temp:/app/data/temp + - ./data/unzip:/app/data/unzip + - ./data/images:/app/data/images + - ./data/reports:/app/data/reports + - ./logs:/app/logs + environment: + - SPRING_PROFILES_ACTIVE=prod + - SERVER_PORT=9081 + - DB_HOST=database + - DB_PORT=54321 + - DB_NAME=enterprise_digital_archives + - DB_USERNAME=system + - DB_PASSWORD=12345678ab + - REDIS_HOST=redis + - REDIS_PORT=6379 + - REDIS_PASSWORD=Abc123456 + - TESS_PATH=/usr/bin/tesseract + - SWAGGER_SHOW=false + - LOG_ROOT_LEVEL=info + - LOG_APP_LEVEL=info + depends_on: + - database + - redis + networks: + - archive-network + restart: unless-stopped + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9081/point-strategy/actuator/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 60s + + # 人大金仓数据库 + database: + image: kingbase:v8.6.0 + container_name: digital-archive-db + ports: + - "54321:54321" + environment: + - KINGBASE_USER=system + - KINGBASE_PASSWORD=12345678ab + - KINGBASE_DATABASE=enterprise_digital_archives + volumes: + - ./data/database:/var/lib/kingbase/data + networks: + - archive-network + restart: unless-stopped + + # Redis缓存 + redis: + image: redis:6-alpine + container_name: digital-archive-redis + ports: + - "6379:6379" + command: redis-server --requirepass Abc123456 + volumes: + - ./data/redis:/data + networks: + - archive-network + restart: unless-stopped + +networks: + archive-network: + driver: bridge \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..3a2a886 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,127 @@ +version: '3.8' + +services: + # 主应用服务 + app: + build: + context: . + dockerfile: Dockerfile + container_name: digital-archive-app + ports: + - "9081:9081" + volumes: + # 持久化数据目录 + - ./data/upload:/app/data/upload + - ./data/temp:/app/data/temp + - ./data/unzip:/app/data/unzip + - ./data/images:/app/data/images + - ./data/reports:/app/data/reports + - ./logs:/app/logs + environment: + - SPRING_PROFILES_ACTIVE=prod + - SERVER_PORT=9081 + # 数据库配置 + - DB_HOST=database + - DB_PORT=54321 + - DB_NAME=enterprise_digital_archives + - DB_USERNAME=system + - DB_PASSWORD=12345678ab + # Redis配置 + - REDIS_HOST=redis + - REDIS_PORT=6379 + - REDIS_PASSWORD=Abc123456 + # OCR配置 + - TESS_PATH=/usr/bin/tesseract + # 其他配置 + - SWAGGER_SHOW=false + - LOG_ROOT_LEVEL=info + - LOG_APP_LEVEL=info + depends_on: + - database + - redis + networks: + - archive-network + restart: unless-stopped + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9081/point-strategy/actuator/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 60s + + # 人大金仓数据库(示例) + database: + image: kingbase:v8.6.0 + container_name: digital-archive-db + ports: + - "54321:54321" + environment: + - KINGBASE_USER=system + - KINGBASE_PASSWORD=12345678ab + - KINGBASE_DATABASE=enterprise_digital_archives + volumes: + - ./data/database:/var/lib/kingbase/data + - ./init-scripts:/docker-entrypoint-initdb.d + networks: + - archive-network + restart: unless-stopped + + # Redis缓存 + redis: + image: redis:6-alpine + container_name: digital-archive-redis + ports: + - "6379:6379" + command: redis-server --requirepass Abc123456 + volumes: + - ./data/redis:/data + networks: + - archive-network + restart: unless-stopped + + # Elasticsearch(可选,用于全文检索) + elasticsearch: + image: elasticsearch:7.17.0 + container_name: digital-archive-elasticsearch + ports: + - "9200:9200" + - "9300:9300" + environment: + - discovery.type=single-node + - "ES_JAVA_OPTS=-Xms512m -Xmx512m" + - xpack.security.enabled=false + volumes: + - ./data/elasticsearch:/usr/share/elasticsearch/data + networks: + - archive-network + restart: unless-stopped + + # Nginx反向代理(可选) + nginx: + image: nginx:alpine + container_name: digital-archive-nginx + ports: + - "80:80" + - "443:443" + volumes: + - ./nginx/nginx.conf:/etc/nginx/nginx.conf + - ./nginx/ssl:/etc/nginx/ssl + depends_on: + - app + networks: + - archive-network + restart: unless-stopped + +networks: + archive-network: + driver: bridge + +volumes: + upload-data: + temp-data: + unzip-data: + images-data: + reports-data: + database-data: + redis-data: + elasticsearch-data: \ No newline at end of file diff --git a/pom.xml b/pom.xml index e958cb9..f24d69a 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ com.point.strategy point-strategy 0.0.1-SNAPSHOT - war + jar point-strategy Demo project for Spring Boot @@ -30,17 +30,6 @@ org.springframework.boot spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-tomcat - - - - - org.springframework.boot - spring-boot-starter-tomcat - provided org.springframework.boot diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index cf7e796..9531611 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -1,49 +1,102 @@ +# 开发环境配置 +--- server: port: 9081 + servlet: + context-path: /point-strategy tomcat: uriEncoding: UTF-8 max-threads: 1000 max-connections: 20000 + spring: - #resources: - #static-locations: classpath:pdf/ - application: - name: point-strategy - #elasticsearch: - #rest: - #uris: http://127.0.0.1:9200 - -#logging: -# level.org.springframework.boot.autoconfigure: info #spring的自动装配日志只打info,否则debug输出的会打印很多自动装配的log信息到控制台 -# config: classpath:logback-spring.xml + # 开发环境数据源配置 + datasource: + driverClassName: com.mysql.jdbc.Driver + url: jdbc:mysql://100.64.11.2:3311/enterprise_digital_archives?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 + username: root + password: Abc@123456 + + # 开发环境Redis配置 + redis: + database: 2 + host: 100.64.11.2 + port: 6379 + password: Abc123456 + pool: + max-active: 200 + max-wait: -1 + max-idle: 10 + min-idle: 0 + timeout: 50000 + + # 文件上传配置 + servlet: + multipart: + max-file-size: -1 + max-request-size: -1 + +# MyBatis配置 mybatis: + mapper-locations: classpath:mapper/*.xml type-aliases-package: com.point.strategy.fond.bean,com.point.strategy.docSimpleArrange.bean,com.point.strategy.docTraditionArrange.docFile.bean,com.point.strategy.docTraditionArrange.docVolume.bean,com.point.strategy.bean configuration: map-underscore-to-camel-case: true + call-setters-on-nulls: true -##单点登录配置 -#keycloak: -# credentials: -# # 客户端密钥 -# secret: 03499cda-9d0d-40e4-8f96-369fb21c8812 -# # 表示是一个public的client -# # public-client: true -# # keycloak的地址 -# auth-server-url: https://auth.jztweb.com/auth -# # keycloak中的realm -# realm: jzt -# # client ID -# resource: danan -# # 安全约束 -# securityConstraints: -# - authRoles: -# # 以下路径需要demoUser角色才能访问 '*' -# - '*' -# securityCollections: -# # name可以随便写 -# - name: common guanli -# patterns: -# - /JztIndex +# 开发环境日志配置 +logging: + level: + org.springframework.boot.autoconfigure: info + com.point.strategy: debug + config: classpath:logback-spring.xml + +# Swagger配置 +swagger: + show: true + +# 档案XML生成配置 +archiveXML: + generate: false + +# 开发环境文件路径配置 +upload: + path: /Users/ab/Desktop/tmp/data/tomcat/webapps/upload +temp: + path: /Users/ab/Desktop/tmp/data/tempPath +unzip: + path: /Users/ab/Desktop/tmp/data/unzip +img: + upload: /Users/ab/Desktop/tmp/data/upload/ +report: + path: /Users/ab/Desktop/tmp/data/report/path/ + +# 友虹OCR配置 +youhong: + integrate: true + baseUrl: http://localhost:9000/v1/ + +# 湿度监控IP +humidityIp: 10.19.16.64:1433 + +# 上架IP +shelvingIp: 10.19.16.64:1236 + +# 移车系统集成配置 +ycj: + driverClassName: com.mysql.jdbc.Driver + url: jdbc:mysql://10.71.102.152:3306/dagl?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 + username: ezdagl + password: ezdagl#20241120 + +# 温湿度监控API配置 +temperature: + getAllWareHouseList: http://192.168.0.126:8080/api/getAllWareHouseList + getAirRealTimeAnd24HDataByWareHouseId: http://192.168.0.126:8080/api/getAirRealTimeAnd24HDataByWareHouseId + +# OCR配置 +ocr: + tessPath: ${TESS_PATH:D://install//tesseract-ocr} # diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml new file mode 100644 index 0000000..453e7cd --- /dev/null +++ b/src/main/resources/application-prod.yml @@ -0,0 +1,99 @@ +# 生产环境配置 +--- +server: + port: ${SERVER_PORT:9081} + servlet: + context-path: ${SERVER_CONTEXT_PATH:/point-strategy} + tomcat: + uriEncoding: UTF-8 + max-threads: ${TOMCAT_MAX_THREADS:1000} + max-connections: ${TOMCAT_MAX_CONNECTIONS:20000} + +spring: + # 生产环境数据源配置 + datasource: + driverClassName: ${DB_DRIVER:com.kingbase8.Driver} + url: jdbc:kingbase8://${DB_HOST:172.16.130.12}:${DB_PORT:54321}/${DB_NAME:enterprise_digital_archives} + username: ${DB_USERNAME:system} + password: ${DB_PASSWORD:12345678ab} + + # 生产环境Redis配置 + redis: + database: ${REDIS_DATABASE:2} + host: ${REDIS_HOST:127.0.0.1} + port: ${REDIS_PORT:6379} + password: ${REDIS_PASSWORD:prod_redis_password} + pool: + max-active: ${REDIS_MAX_ACTIVE:200} + max-wait: ${REDIS_MAX_WAIT:-1} + max-idle: ${REDIS_MAX_IDLE:10} + min-idle: ${REDIS_MIN_IDLE:0} + timeout: ${REDIS_TIMEOUT:50000} + + # 文件上传配置 + servlet: + multipart: + max-file-size: ${MAX_FILE_SIZE:-1} + max-request-size: ${MAX_REQUEST_SIZE:-1} + +# MyBatis配置 +mybatis: + mapper-locations: classpath:mapper/*.xml + type-aliases-package: com.point.strategy.fond.bean,com.point.strategy.docSimpleArrange.bean,com.point.strategy.docTraditionArrange.docFile.bean,com.point.strategy.docTraditionArrange.docVolume.bean,com.point.strategy.bean + configuration: + map-underscore-to-camel-case: true + call-setters-on-nulls: true + +# 生产环境日志配置 +logging: + level: + org.springframework.boot.autoconfigure: ${LOG_ROOT_LEVEL:warn} + com.point.strategy: ${LOG_APP_LEVEL:info} + config: classpath:logback-spring.xml + +# Swagger配置 +swagger: + show: ${SWAGGER_SHOW:false} + +# 档案XML生成配置 +archiveXML: + generate: ${ARCHIVE_XML_GENERATE:false} + +# 生产环境文件路径配置(Docker环境安全路径) +upload: + path: ${UPLOAD_PATH:/app/data/upload} +temp: + path: ${TEMP_PATH:/app/data/temp} +unzip: + path: ${UNZIP_PATH:/app/data/unzip} +img: + upload: ${IMG_UPLOAD_PATH:/app/data/images} +report: + path: ${REPORT_PATH:/app/data/reports} + +# 友虹OCR配置 +youhong: + integrate: ${YOUHONG_INTEGRATE:true} + baseUrl: ${YOUHONG_BASE_URL:http://prod-ocr-server:9000/v1/} + +# 湿度监控IP +humidityIp: ${HUMIDITY_IP:10.19.16.64:1433} + +# 上架IP +shelvingIp: ${SHELVING_IP:10.19.16.64:1236} + +# 移车系统集成配置 +ycj: + driverClassName: ${YCJ_DRIVER:com.mysql.jdbc.Driver} + url: jdbc:mysql://${YCJ_HOST:prod-mysql-server}:${YCJ_PORT:3306}/${YCJ_DB_NAME:dagl}?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 + username: ${YCJ_USERNAME:prod_user} + password: ${YCJ_PASSWORD:prod_password} + +# 温湿度监控API配置 +temperature: + getAllWareHouseList: ${TEMP_API_BASE_URL:http://192.168.0.126:8080}/api/getAllWareHouseList + getAirRealTimeAnd24HDataByWareHouseId: ${TEMP_API_BASE_URL:http://192.168.0.126:8080}/api/getAirRealTimeAnd24HDataByWareHouseId + +# OCR配置(Docker环境中Tesseract安装路径) +ocr: + tessPath: ${TESS_PATH:/usr/bin/tesseract} \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties.backup similarity index 100% rename from src/main/resources/application.properties rename to src/main/resources/application.properties.backup diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index caf4dfc..f875b87 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,3 +1,6 @@ +# Spring Boot 应用配置 spring: + application: + name: point-strategy profiles: - active: dev \ No newline at end of file + active: dev # 默认激活dev环境,可通过启动参数覆盖 \ No newline at end of file