v1.0
This commit is contained in:
213
删除推广订单功能计划.md
Normal file
213
删除推广订单功能计划.md
Normal file
@@ -0,0 +1,213 @@
|
||||
# 删除推广订单功能计划
|
||||
|
||||
## 目标
|
||||
删除后台以及后端中promotion(推广订单)相关功能,但**保留推广数据分析和推广链接管理**功能。
|
||||
|
||||
## 功能区分
|
||||
|
||||
### ✅ 需要保留的功能
|
||||
1. **推广链接管理**
|
||||
- 创建推广链接
|
||||
- 更新推广链接
|
||||
- 删除推广链接
|
||||
- 获取推广链接列表
|
||||
- 获取推广链接详情
|
||||
- 记录链接点击
|
||||
|
||||
2. **推广数据分析**
|
||||
- 获取推广总统计
|
||||
- 获取推广历史记录
|
||||
|
||||
### ❌ 需要删除的功能
|
||||
1. **推广订单功能**
|
||||
- AdminPromotionOrder 模型及相关代码
|
||||
- 订单管理中的 IsPromotion 字段
|
||||
- 订单创建/更新/删除中的推广订单逻辑
|
||||
- 前端订单管理中的推广订单字段
|
||||
|
||||
---
|
||||
|
||||
## 详细删除计划
|
||||
|
||||
### 阶段一:后端代码清理
|
||||
|
||||
#### 1.1 删除推广订单模型文件
|
||||
- [ ] 删除 `ycc-proxy-server/app/main/model/adminPromotionOrderModel.go`
|
||||
- [ ] 删除 `ycc-proxy-server/app/main/model/adminPromotionOrderModel_gen.go`
|
||||
- [ ] 确认 `ycc-proxy-server/deploy/script/gen_models.ps1` 中 `admin_promotion_order` 已被注释(第57行,已确认已注释)
|
||||
|
||||
#### 1.2 从 ServiceContext 中移除推广订单模型
|
||||
- [ ] 从 `ycc-proxy-server/app/main/api/internal/svc/servicecontext.go` 中删除:
|
||||
- `AdminPromotionOrderModel` 字段声明
|
||||
- `AdminPromotionOrderModel` 初始化代码
|
||||
|
||||
#### 1.3 修改订单管理相关逻辑
|
||||
|
||||
**文件:`ycc-proxy-server/app/main/api/internal/logic/admin_order/admincreateorderlogic.go`**
|
||||
- [ ] 删除 `IsPromotion` 字段处理逻辑(第75-87行)
|
||||
- [ ] 删除 `AdminPromotionOrderModel` 的引用
|
||||
|
||||
**文件:`ycc-proxy-server/app/main/api/internal/logic/admin_order/adminupdateorderlogic.go`**
|
||||
- [ ] 删除推广订单状态处理逻辑(第79-101行)
|
||||
- [ ] 删除 `AdminPromotionOrderModel` 的引用
|
||||
|
||||
**文件:`ycc-proxy-server/app/main/api/internal/logic/admin_order/admindeleteorderlogic.go`**
|
||||
- [ ] 删除删除推广订单记录的逻辑(第44-51行)
|
||||
- [ ] 删除 `AdminPromotionOrderModel` 的引用
|
||||
|
||||
**文件:`ycc-proxy-server/app/main/api/internal/logic/admin_order/admingetorderlistlogic.go`**
|
||||
- [ ] 删除 `IsPromotion` 查询条件(第57-59行)
|
||||
- [ ] 删除判断是否为推广订单的逻辑(第277-280行)
|
||||
- [ ] 删除返回结果中的 `IsPromotion` 字段赋值
|
||||
|
||||
**文件:`ycc-proxy-server/app/main/api/internal/logic/admin_order/admingetorderdetaillogic.go`**
|
||||
- [ ] 删除判断是否为推广订单的逻辑(第43-47行)
|
||||
- [ ] 删除返回结果中的 `IsPromotion` 字段赋值(第121行)
|
||||
|
||||
#### 1.4 修改 API 定义文件
|
||||
|
||||
**文件:`ycc-proxy-server/app/main/api/desc/admin/order.api`**
|
||||
- [ ] 从 `AdminGetOrderListReq` 中删除 `IsPromotion` 字段(第56行)
|
||||
- [ ] 从 `AdminGetOrderListResp` 的 `OrderItem` 中删除 `IsPromotion` 字段(第83行)
|
||||
- [ ] 从 `AdminGetOrderDetailResp` 中删除 `IsPromotion` 字段(第105行)
|
||||
- [ ] 从 `AdminCreateOrderReq` 中删除 `IsPromotion` 字段(第119行)
|
||||
- [ ] 从 `AdminUpdateOrderReq` 中删除 `IsPromotion` 字段(第137行)
|
||||
|
||||
#### 1.5 修改 Types 定义
|
||||
|
||||
**文件:`ycc-proxy-server/app/main/api/internal/types/types.go`**
|
||||
- [ ] 从 `AdminGetOrderListReq` 中删除 `IsPromotion` 字段
|
||||
- [ ] 从 `AdminGetOrderListResp` 的 `OrderItem` 中删除 `IsPromotion` 字段
|
||||
- [ ] 从 `AdminGetOrderDetailResp` 中删除 `IsPromotion` 字段
|
||||
- [ ] 从 `AdminCreateOrderReq` 中删除 `IsPromotion` 字段
|
||||
- [ ] 从 `AdminUpdateOrderResp` 中删除 `IsPromotion` 字段
|
||||
|
||||
#### 1.6 重新生成代码
|
||||
- [ ] 运行 `goctl api go -api desc/admin/order.api -dir . -style gozero`
|
||||
- [ ] 检查生成的代码是否正确
|
||||
|
||||
---
|
||||
|
||||
### 阶段二:前端代码清理
|
||||
|
||||
#### 2.1 修改订单管理页面
|
||||
|
||||
**文件:`ycc-proxy-admin/apps/web-antd/src/views/order/order/data.ts`**
|
||||
- [ ] 删除推广订单列定义(第110-121行)
|
||||
- [ ] 删除表单中的推广订单字段(第224-225行)
|
||||
|
||||
**文件:`ycc-proxy-admin/apps/web-antd/src/api/order/order.ts`**
|
||||
- [ ] 从接口类型定义中删除 `is_promotion` 字段(第19行)
|
||||
|
||||
#### 2.2 检查其他前端文件
|
||||
- [ ] 搜索前端代码中是否还有其他地方引用了 `is_promotion` 或 `IsPromotion`
|
||||
- [ ] 删除所有相关引用
|
||||
|
||||
---
|
||||
|
||||
### 阶段三:数据库清理(可选)
|
||||
|
||||
#### 3.1 数据库表处理
|
||||
- [ ] 确认是否删除 `admin_promotion_order` 表
|
||||
- 如果保留历史数据,可以保留表但不使用
|
||||
- 如果需要完全清理,可以执行删除表的SQL
|
||||
|
||||
#### 3.2 数据库迁移脚本(如需要)
|
||||
- [ ] 创建迁移脚本,删除 `admin_promotion_order` 表(如果决定删除)
|
||||
|
||||
---
|
||||
|
||||
### 阶段四:验证和测试
|
||||
|
||||
#### 4.1 功能验证
|
||||
- [ ] 验证推广链接管理功能正常
|
||||
- [ ] 验证推广数据分析功能正常
|
||||
- [ ] 验证订单创建功能正常(不再有推广订单选项)
|
||||
- [ ] 验证订单更新功能正常(不再有推广订单选项)
|
||||
- [ ] 验证订单列表查询功能正常(不再显示推广订单字段)
|
||||
- [ ] 验证订单详情查看功能正常(不再显示推广订单字段)
|
||||
|
||||
#### 4.2 代码检查
|
||||
- [ ] 运行 `go build` 确保后端代码编译通过
|
||||
- [ ] 运行前端构建确保前端代码正常
|
||||
- [ ] 检查是否有编译错误或警告
|
||||
- [ ] 检查是否有未使用的导入
|
||||
|
||||
---
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **保留的功能不受影响**
|
||||
- 推广链接管理(`AdminPromotionLink`)完全保留
|
||||
- 推广数据分析(`AdminPromotionLinkStatsTotal`, `AdminPromotionLinkStatsHistory`)完全保留
|
||||
- 记录链接点击功能完全保留
|
||||
|
||||
2. **数据库表处理**
|
||||
- `admin_promotion_order` 表可以保留(用于历史数据),但不再使用
|
||||
- 或者完全删除该表(需要确认是否有历史数据需要保留)
|
||||
|
||||
3. **代码生成**
|
||||
- 修改 `.api` 文件后需要重新生成代码
|
||||
- 确保生成的代码与手动修改的代码一致
|
||||
|
||||
4. **向后兼容**
|
||||
- 如果前端已经部署,需要确保前端和后端同时更新
|
||||
- 或者先更新后端,保持向后兼容一段时间
|
||||
|
||||
---
|
||||
|
||||
## 执行顺序建议
|
||||
|
||||
1. **第一步**:修改后端 API 定义文件(`.api` 文件)
|
||||
2. **第二步**:重新生成后端代码
|
||||
3. **第三步**:手动修改后端逻辑代码(删除推广订单相关逻辑)
|
||||
4. **第四步**:修改前端代码
|
||||
5. **第五步**:测试验证
|
||||
6. **第六步**:清理数据库(如需要)
|
||||
|
||||
---
|
||||
|
||||
## 文件清单
|
||||
|
||||
### 需要修改的后端文件
|
||||
1. `ycc-proxy-server/app/main/api/desc/admin/order.api`
|
||||
2. `ycc-proxy-server/app/main/api/internal/types/types.go`
|
||||
3. `ycc-proxy-server/app/main/api/internal/logic/admin_order/admincreateorderlogic.go`
|
||||
4. `ycc-proxy-server/app/main/api/internal/logic/admin_order/adminupdateorderlogic.go`
|
||||
5. `ycc-proxy-server/app/main/api/internal/logic/admin_order/admindeleteorderlogic.go`
|
||||
6. `ycc-proxy-server/app/main/api/internal/logic/admin_order/admingetorderlistlogic.go`
|
||||
7. `ycc-proxy-server/app/main/api/internal/logic/admin_order/admingetorderdetaillogic.go`
|
||||
8. `ycc-proxy-server/app/main/api/internal/svc/servicecontext.go`
|
||||
9. `ycc-proxy-server/app/main/model/vars.go`(如需要)
|
||||
|
||||
### 需要删除的后端文件
|
||||
1. `ycc-proxy-server/app/main/model/adminPromotionOrderModel.go`
|
||||
2. `ycc-proxy-server/app/main/model/adminPromotionOrderModel_gen.go`
|
||||
|
||||
### 需要修改的前端文件
|
||||
1. `ycc-proxy-admin/apps/web-antd/src/views/order/order/data.ts`
|
||||
2. `ycc-proxy-admin/apps/web-antd/src/api/order/order.ts`
|
||||
|
||||
### 需要保留的文件(推广链接和数据分析)
|
||||
1. `ycc-proxy-server/app/main/api/desc/admin/promotion.api` ✅
|
||||
2. `ycc-proxy-server/app/main/api/internal/logic/admin_promotion/*` ✅
|
||||
3. `ycc-proxy-server/app/main/api/internal/handler/admin_promotion/*` ✅
|
||||
4. `ycc-proxy-server/app/main/model/adminPromotionLinkModel*` ✅
|
||||
5. `ycc-proxy-server/app/main/model/adminPromotionLinkStats*` ✅
|
||||
6. `ycc-proxy-server/app/main/api/internal/service/adminPromotionLinkStatsService.go` ✅
|
||||
7. `ycc-proxy-admin/apps/web-antd/src/views/promotion/*` ✅
|
||||
8. `ycc-proxy-admin/apps/web-antd/src/api/promotion/*` ✅
|
||||
|
||||
---
|
||||
|
||||
## 完成标志
|
||||
|
||||
- [ ] 所有后端代码修改完成
|
||||
- [ ] 所有前端代码修改完成
|
||||
- [ ] 代码编译通过
|
||||
- [ ] 功能测试通过
|
||||
- [ ] 推广链接管理功能正常
|
||||
- [ ] 推广数据分析功能正常
|
||||
- [ ] 订单管理功能正常(无推广订单相关功能)
|
||||
- [ ] 无编译错误和警告
|
||||
|
||||
Reference in New Issue
Block a user