refactor(asset): 优化保养项目设计,使用折中方案

变更内容:
1. 删除 maintainItemId 字段(冗余,无实际作用)
2. 保留 maintainItem 字段(直接存储项目名称)
3. 新增接口:获取已使用的保养项目列表(去重)
4. 前端可使用该接口提供下拉提示,提升用户体验
5. 添加 maintainItem 字段的非空校验

设计思路:
- 不引入保养项目字典表(避免过度设计)
- 通过 DISTINCT 查询提供已使用项目列表
- 用户可以输入新项目,也可以从已有项目中选择
- 后续如需规范化,可平滑升级到字典表方案
This commit is contained in:
k kfluous
2026-03-12 09:54:00 +08:00
parent eb9eaf3810
commit a2e2d5c27e
25 changed files with 4402 additions and 11 deletions

View File

@@ -0,0 +1,179 @@
# 数据库部署成功报告
## ✅ 部署完成时间
2026-03-12 01:44
## 📊 部署结果
### 数据库信息
- **数据库名**: oneos_asset
- **服务器**: 47.103.115.36
- **容器**: oneos-mysql
### 表创建成功 ✅
| 表名 | 字段数 | 状态 |
|------|--------|------|
| asset_parking | 19 | ✅ 成功 |
| asset_vehicle_model | 24 | ✅ 成功 |
| asset_vehicle_model_maintain_item | 15 | ✅ 成功 |
### 停车场表字段验证 ✅
**新增字段已确认**:
- ✅ principal公司负责人
- ✅ contact_name联系人
- ✅ contact_phone联系电话
- ✅ parked_amount已停车辆数
- ✅ stock_area库存区域
- ✅ unusual_action_city异动城市
- ✅ longitude经度
- ✅ latitude纬度
- ✅ remark备注
## 🎯 下一步操作
### 步骤 1配置 Nacos ⏳
**操作步骤**:
1. 访问 Nacos 控制台: http://47.103.115.36:8848/nacos
2. 登录(用户名/密码: nacos/nacos
3. 选择命名空间: dev
4. 创建配置:
- Data ID: `asset-server-dev.yaml`
- Group: `DEFAULT_GROUP`
- 配置格式: YAML
- 配置内容: 见下方
**配置内容**:
```yaml
server:
port: 48084
spring:
datasource:
dynamic:
primary: master
datasource:
master:
url: jdbc:mysql://oneos-mysql:3306/oneos_asset?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
username: root
password: Passw0rd2026
slave:
lazy: true
url: jdbc:mysql://oneos-mysql:3306/oneos_asset?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
username: root
password: Passw0rd2026
data:
redis:
database: 4
cloud:
nacos:
discovery:
namespace: dev
config:
namespace: dev
yudao:
info:
base-package: cn.iocoder.yudao.module.asset
```
**配置文件位置**: `/tmp/asset-server-dev.yaml`(已上传到服务器)
### 步骤 2启动应用服务 ⏳
```bash
cd /Users/kkfluous/Projects/ai-coding/ln-oneos/oneos-backend
# 方式 1使用 Maven 启动
mvn spring-boot:run
# 方式 2打包后启动
mvn clean package -DskipTests
java -jar yudao-server/target/yudao-server-*.jar
```
### 步骤 3验证服务启动 ⏳
```bash
# 检查服务健康状态
curl http://localhost:48080/actuator/health
# 访问 Swagger 文档
open http://localhost:48080/doc.html
```
### 步骤 4执行 API 测试 ⏳
```bash
# 1. 获取 Token
curl -X POST http://localhost:48080/admin-api/system/auth/login \
-H "Content-Type: application/json" \
-d '{"username": "admin", "password": "admin123"}'
# 2. 修改测试脚本中的 TOKEN
vim test-api.sh
# 3. 运行测试
./test-api.sh
```
## 📋 验收清单
### 数据库层面 ✅
- [x] oneos_asset 数据库创建成功
- [x] asset_parking 表存在且包含 9 个新字段
- [x] asset_vehicle_model 表创建成功24 个字段)
- [x] asset_vehicle_model_maintain_item 表创建成功15 个字段)
### 配置层面 ⏳
- [ ] asset-server-dev.yaml 上传到 Nacos
- [ ] 数据库连接配置正确
- [ ] Redis 配置正确
- [ ] 端口配置正确48084
### 服务层面 ⏳
- [ ] 服务启动成功
- [ ] 无数据库连接错误
- [ ] 无 Bean 创建错误
- [ ] 端口监听正常
- [ ] Nacos 注册成功
### 功能层面 ⏳
- [ ] 停车场创建成功
- [ ] 停车场详情包含新字段
- [ ] 车型参数创建成功
- [ ] 保养项目保存成功
- [ ] 获取详情时返回保养项目
- [ ] 分页查询正常
- [ ] 精简列表正常
- [ ] 按品牌/车型查询正常
## 🎉 总结
### 已完成
- ✅ 数据库创建成功oneos_asset
- ✅ 3 张表创建成功
- ✅ 停车场表包含所有新字段
- ✅ 车型参数表创建成功
- ✅ 车型维保项目关联表创建成功
### 待完成
- ⏳ Nacos 配置上传(需要手动操作)
- ⏳ 启动应用服务
- ⏳ API 测试
### 预计剩余时间
- Nacos 配置3 分钟
- 启动服务2 分钟
- API 测试5 分钟
- **总计**: 10 分钟
---
**部署者**: Kiro (OpenClaw AI Assistant)
**完成时间**: 2026-03-12 01:44
**状态**: ✅ 数据库部署完成,⏳ 等待 Nacos 配置