Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 40s
feat(pay): 添加支付API基础结构 feat(miniapp): 创建支付测试小程序页面与配置 feat(wechatpay): 配置微信支付参数与证书 fix(guild): 修复成员列表查询条件 docs: 更新代码规范文档与需求文档 style: 统一前后端枚举显示与注释格式 refactor(admin): 重构用户奖励发放接口参数处理 test(title): 添加称号效果参数验证测试
2.5 KiB
2.5 KiB
问题理解
- 需要在发货统计中体现“采购价格”,用于与销售价格/订单金额做对比与分析。
- 当前
ops_shipping_stats仅存储销售单价product_price_cents,无采购单价。
数据库变更
- 在
ops_shipping_stats表新增字段:purchase_price_cents BIGINT NOT NULL DEFAULT 0 COMMENT '采购单价(分)'
- SQL(MySQL):
ALTER TABLE ops_shipping_stats ADD COLUMN purchase_price_cents BIGINT NOT NULL DEFAULT 0 COMMENT '采购单价(分)';
- 生成代码:执行 gormgen 以更新 Model/DAO(
cmd/gormgen/main.go,保持原有 DSN 与-tables参数)。
后端改造
- 控制器
internal/api/admin/shipping_stats_admin.go:- 创建请求体
CreateShippingStatRequest增加purchase_price_cents(可选)。 - 更新请求体
UpdateShippingStatRequest增加purchase_price_cents(可选)。 - 保存/更新时写入
purchase_price_cents。 - 盈亏策略:保持现有“盈亏=销售单价×发货数量 − 订单实付金额”;
- 额外提供两个对比维度(不入库,仅响应扩展字段,便于前端展示):
purchase_total_cents = purchase_price_cents * shipped_qtygross_profit_cents = (product_price_cents - purchase_price_cents) * shipped_qty
- 若你希望持久化以上值,也可扩展表结构,但默认前端计算即可。
- 额外提供两个对比维度(不入库,仅响应扩展字段,便于前端展示):
- 创建请求体
- 列表与详情响应:保持原结构,新增返回
purchase_price_cents(其余对比指标前端计算)。
前端改造
- 创建/编辑表单(已两列布局):
- 左列补充“采购单价(分)”输入框,默认可为空(为空按0处理)。
- 列表新增列:
- 采购单价(分→元格式化)
- 采购总额(分→元,前端用
purchase_price_cents * shipped_qty计算) - 毛利(分→元,前端用
(product_price_cents - purchase_price_cents) * shipped_qty计算)
- 保持“盈亏”列为后端返回值显示(颜色提示不变)。
验收标准
- 新建/编辑支持录入采购单价,并正确写入与返回。
- 列表能展示采购单价、采购总额和销售对比(毛利),并与现有盈亏并行显示。
- 不影响既有筛选、分页与来源类型逻辑。
后续可选
- 若采购价格数据来源稳定(如采购单据),可支持远程选择或自动回填;当前先手动录入以快速上线。
请确认以上方案,通过后我将进行数据库字段添加、代码生成与前后端联调实现。