feat: 促销系统完善、发票页重构、前端中文化、订单表迁移及多项优化

前端:

- 发票页完整重构:智能按钮状态、防重复开票、空态引导、订单多选

- 全局中文化:Ant Design Vue locale配置、清除残留英文UI文本

- 新增关于我们、联系我们页面

- 首页活动专区、搜索页、Skill详情等多处优化

后端:

- 订单模块:新增original_amount/promotion_deduct_amount字段及DB迁移

- 促销系统:完善促销规则、过期任务、批量查询等

- 新增RateLimit注解及拦截器、CORS过滤器、Health检查接口

- Logback日志配置、points枚举修复等
This commit is contained in:
Developer
2026-03-23 16:38:13 +08:00
parent 942465b758
commit e7d9f47c61
107 changed files with 2964 additions and 309 deletions

View File

@@ -0,0 +1,455 @@
# 测试服务器部署指南
## 1. 测试服务器环境准备
### 1.1 操作系统要求
- Linux 系统(推荐 Ubuntu 20.04 LTS 或 CentOS 7+
- 至少 2GB 内存
- 至少 20GB 磁盘空间
- 网络连接正常
### 1.2 系统更新
```bash
# Ubuntu/Debian
apt update && apt upgrade -y
# CentOS/RHEL
yum update -y
```
## 2. 依赖服务安装
### 2.1 Java 17 安装
```bash
# Ubuntu/Debian
apt install openjdk-17-jdk -y
# CentOS/RHEL
yum install java-17-openjdk -y
# 验证安装
java -version
```
### 2.2 MySQL 8.0 安装
```bash
# Ubuntu/Debian
apt install mysql-server -y
# CentOS/RHEL
yum install mysql-server -y
# 启动并设置开机自启
systemctl start mysql
systemctl enable mysql
# 安全配置(设置密码等)
# Ubuntu/Debian
mysql_secure_installation
# CentOS/RHEL
sudo mysql_secure_installation
```
### 2.3 Redis 7.x 安装
```bash
# Ubuntu/Debian
apt install redis-server -y
# CentOS/RHEL
yum install redis -y
# 启动并设置开机自启
systemctl start redis
systemctl enable redis
```
### 2.4 RabbitMQ 安装(可选)
```bash
# Ubuntu/Debian
apt install rabbitmq-server -y
# CentOS/RHEL
yum install rabbitmq-server -y
# 启动并设置开机自启
systemctl start rabbitmq-server
systemctl enable rabbitmq-server
# 启用管理界面(可选)
rabbitmq-plugins enable rabbitmq_management
```
### 2.5 Maven 安装
```bash
# Ubuntu/Debian
apt install maven -y
# CentOS/RHEL
yum install maven -y
# 验证安装
mvn --version
```
## 3. 项目代码部署
### 3.1 克隆代码
```bash
# 选择部署目录
cd /opt
# 克隆代码(假设使用 Git
git clone <项目仓库地址> openclaw
# 进入项目目录
cd openclaw
```
### 3.2 数据库初始化
```bash
# 登录 MySQL
mysql -u root -p
# 创建数据库
CREATE DATABASE openclaw DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 退出 MySQL
exit
# 执行初始化脚本
mysql -u root -p openclaw < openclaw-backend/openclaw-backend/src/main/resources/db/init.sql
```
### 3.3 配置修改
编辑 `openclaw-backend/openclaw-backend/src/main/resources/application.yml` 文件:
```yaml
# 数据库配置
spring:
datasource:
url: jdbc:mysql://localhost:3306/openclaw?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root
password: your_mysql_password
driver-class-name: com.mysql.cj.jdbc.Driver
# Redis 配置
data:
redis:
host: localhost
port: 6379
database: 0
# JWT 密钥(测试环境也建议修改)
jwt:
secret: your_jwt_secret_key
expire-ms: 86400000
# 服务端口(可选修改)
server:
port: 8080
# 微信支付配置(测试环境可保持关闭)
wechat:
pay:
enabled: false
# 腾讯云短信配置(测试环境可保持关闭)
tencent:
sms:
enabled: false
```
## 4. 项目构建
```bash
# 进入后端项目目录
cd openclaw-backend/openclaw-backend
# 构建项目
mvn clean package -DskipTests
# 查看构建结果
ls -la target/
```
## 5. 服务启动
### 5.1 方式一:直接运行(开发测试)
```bash
# 运行项目
java -jar target/openclaw-backend-1.0.0.jar
```
### 5.2 方式二:使用 systemd 管理(推荐)
创建 systemd 服务文件:
```bash
vi /etc/systemd/system/openclaw-backend.service
```
添加以下内容:
```ini
[Unit]
Description=OpenClaw Backend Service
After=network.target mysql.service redis.service
[Service]
Type=simple
User=root
WorkingDirectory=/opt/openclaw/openclaw-backend/openclaw-backend
ExecStart=/usr/bin/java -jar target/openclaw-backend-1.0.0.jar
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
```
启动服务:
```bash
# 重新加载 systemd 配置
systemctl daemon-reload
# 启动服务
systemctl start openclaw-backend
# 设置开机自启
systemctl enable openclaw-backend
# 查看服务状态
systemctl status openclaw-backend
```
## 6. 服务验证
### 6.1 健康检查
```bash
curl http://localhost:8080/actuator/health
```
预期响应:
```json
{"status":"UP"}
```
### 6.2 访问 Swagger 文档
在浏览器中访问:
```
http://<服务器IP>:8080/swagger-ui.html
```
### 6.3 查看服务日志
```bash
# 查看 systemd 服务日志
journalctl -u openclaw-backend -f
# 或查看应用日志(如果配置了日志文件)
tail -f /path/to/logs/openclaw-backend.log
```
## 7. 前端部署(可选)
### 7.1 安装 Node.js
```bash
# Ubuntu/Debian
apt install nodejs npm -y
# CentOS/RHEL
yum install nodejs npm -y
# 验证安装
node -v
npm -v
```
### 7.2 构建前端项目
```bash
# 进入前端目录
cd /opt/openclaw/frontend
# 安装依赖
npm install
# 构建项目
npm run build
# 查看构建结果
ls -la dist/
```
### 7.3 部署前端静态文件
使用 Nginx 或 Apache 部署前端静态文件:
```bash
# 安装 Nginx
apt install nginx -y # Ubuntu/Debian
yum install nginx -y # CentOS/RHEL
# 配置 Nginx
vi /etc/nginx/sites-available/openclaw
```
添加以下内容:
```nginx
server {
listen 80;
server_name <服务器IP或域名>;
root /opt/openclaw/frontend/dist;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
# 反向代理后端 API
location /api {
proxy_pass http://localhost:8080;
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;
}
}
```
启用配置:
```bash
# Ubuntu/Debian
ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/
# 测试配置
nginx -t
# 重启 Nginx
systemctl restart nginx
```
## 8. 监控与维护
### 8.1 查看服务状态
```bash
# 查看后端服务状态
systemctl status openclaw-backend
# 查看 MySQL 状态
systemctl status mysql
# 查看 Redis 状态
systemctl status redis
# 查看 Nginx 状态(如果部署了前端)
systemctl status nginx
```
### 8.2 日志管理
```bash
# 查看后端服务日志
journalctl -u openclaw-backend --since "2 days ago"
# 查看 MySQL 日志
journalctl -u mysql
# 查看 Nginx 日志
cat /var/log/nginx/access.log
cat /var/log/nginx/error.log
```
### 8.3 服务重启
```bash
# 重启后端服务
systemctl restart openclaw-backend
# 重启 MySQL
systemctl restart mysql
# 重启 Redis
systemctl restart redis
# 重启 Nginx
systemctl restart nginx
```
## 9. 常见问题排查
### 9.1 数据库连接失败
- 检查 MySQL 服务是否运行
- 检查数据库用户名和密码是否正确
- 检查数据库 `openclaw` 是否已创建
- 检查数据库权限
### 9.2 Redis 连接失败
- 检查 Redis 服务是否运行
- 检查 Redis 配置是否正确
- 检查防火墙是否允许 Redis 端口
### 9.3 端口占用
- 检查端口是否被占用:
```bash
netstat -tlnp | grep 8080
```
- 如果端口被占用,修改 `application.yml` 中的端口配置
### 9.4 依赖服务未启动
- 确保所有依赖服务都已启动:
```bash
systemctl status mysql redis rabbitmq-server
```
### 9.5 内存不足
- 检查服务器内存使用情况:
```bash
free -h
```
- 如内存不足,考虑增加服务器内存或优化应用配置
## 10. 部署验证
部署完成后,建议进行以下验证:
1. **后端服务**:访问健康检查端点和 Swagger 文档
2. **数据库连接**:检查数据库连接池状态
3. **API 测试**:使用 Postman 或 Swagger 测试核心 API
4. **前端访问**:如果部署了前端,访问前端页面验证功能
## 11. 安全建议
1. **修改默认密码**:修改 MySQL、Redis 等服务的默认密码
2. **配置防火墙**:只开放必要的端口
3. **使用 HTTPS**:在生产环境中配置 HTTPS
4. **定期备份**:定期备份数据库和关键配置
5. **监控设置**:设置服务器和应用监控
---
**最后更新**2026-03-22