8.2 KiB
8.2 KiB
删除推广订单功能计划
目标
删除后台以及后端中promotion(推广订单)相关功能,但保留推广数据分析和推广链接管理功能。
功能区分
✅ 需要保留的功能
-
推广链接管理
- 创建推广链接
- 更新推广链接
- 删除推广链接
- 获取推广链接列表
- 获取推广链接详情
- 记录链接点击
-
推广数据分析
- 获取推广总统计
- 获取推广历史记录
❌ 需要删除的功能
- 推广订单功能
- 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确保后端代码编译通过 - 运行前端构建确保前端代码正常
- 检查是否有编译错误或警告
- 检查是否有未使用的导入
注意事项
-
保留的功能不受影响
- 推广链接管理(
AdminPromotionLink)完全保留 - 推广数据分析(
AdminPromotionLinkStatsTotal,AdminPromotionLinkStatsHistory)完全保留 - 记录链接点击功能完全保留
- 推广链接管理(
-
数据库表处理
admin_promotion_order表可以保留(用于历史数据),但不再使用- 或者完全删除该表(需要确认是否有历史数据需要保留)
-
代码生成
- 修改
.api文件后需要重新生成代码 - 确保生成的代码与手动修改的代码一致
- 修改
-
向后兼容
- 如果前端已经部署,需要确保前端和后端同时更新
- 或者先更新后端,保持向后兼容一段时间
执行顺序建议
- 第一步:修改后端 API 定义文件(
.api文件) - 第二步:重新生成后端代码
- 第三步:手动修改后端逻辑代码(删除推广订单相关逻辑)
- 第四步:修改前端代码
- 第五步:测试验证
- 第六步:清理数据库(如需要)
文件清单
需要修改的后端文件
ycc-proxy-server/app/main/api/desc/admin/order.apiycc-proxy-server/app/main/api/internal/types/types.goycc-proxy-server/app/main/api/internal/logic/admin_order/admincreateorderlogic.goycc-proxy-server/app/main/api/internal/logic/admin_order/adminupdateorderlogic.goycc-proxy-server/app/main/api/internal/logic/admin_order/admindeleteorderlogic.goycc-proxy-server/app/main/api/internal/logic/admin_order/admingetorderlistlogic.goycc-proxy-server/app/main/api/internal/logic/admin_order/admingetorderdetaillogic.goycc-proxy-server/app/main/api/internal/svc/servicecontext.goycc-proxy-server/app/main/model/vars.go(如需要)
需要删除的后端文件
ycc-proxy-server/app/main/model/adminPromotionOrderModel.goycc-proxy-server/app/main/model/adminPromotionOrderModel_gen.go
需要修改的前端文件
ycc-proxy-admin/apps/web-antd/src/views/order/order/data.tsycc-proxy-admin/apps/web-antd/src/api/order/order.ts
需要保留的文件(推广链接和数据分析)
ycc-proxy-server/app/main/api/desc/admin/promotion.api✅ycc-proxy-server/app/main/api/internal/logic/admin_promotion/*✅ycc-proxy-server/app/main/api/internal/handler/admin_promotion/*✅ycc-proxy-server/app/main/model/adminPromotionLinkModel*✅ycc-proxy-server/app/main/model/adminPromotionLinkStats*✅ycc-proxy-server/app/main/api/internal/service/adminPromotionLinkStatsService.go✅ycc-proxy-admin/apps/web-antd/src/views/promotion/*✅ycc-proxy-admin/apps/web-antd/src/api/promotion/*✅
完成标志
- 所有后端代码修改完成
- 所有前端代码修改完成
- 代码编译通过
- 功能测试通过
- 推广链接管理功能正常
- 推广数据分析功能正常
- 订单管理功能正常(无推广订单相关功能)
- 无编译错误和警告