Files
ycc-proxy-server/删除推广订单功能计划.md
2025-12-02 19:57:10 +08:00

8.2 KiB
Raw Blame History

删除推广订单功能计划

目标

删除后台以及后端中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.ps1admin_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行
  • AdminGetOrderListRespOrderItem 中删除 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 字段
  • AdminGetOrderListRespOrderItem 中删除 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_promotionIsPromotion
  • 删除所有相关引用

阶段三:数据库清理(可选)

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/*

完成标志

  • 所有后端代码修改完成
  • 所有前端代码修改完成
  • 代码编译通过
  • 功能测试通过
  • 推广链接管理功能正常
  • 推广数据分析功能正常
  • 订单管理功能正常(无推广订单相关功能)
  • 无编译错误和警告