This commit is contained in:
2025-12-02 19:57:10 +08:00
parent 3440744179
commit 08ff223ff8
188 changed files with 12337 additions and 7212 deletions

View 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/*`
---
## 完成标志
- [ ] 所有后端代码修改完成
- [ ] 所有前端代码修改完成
- [ ] 代码编译通过
- [ ] 功能测试通过
- [ ] 推广链接管理功能正常
- [ ] 推广数据分析功能正常
- [ ] 订单管理功能正常(无推广订单相关功能)
- [ ] 无编译错误和警告