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