Commit Graph
8 Commits
Author SHA1 Message Date
yml2213 941e7ad79a 积分充值全流程落地:申请审核入账、凭证上传压缩转webp、管理员调账收权
- 新增积分充值申请与审核:商户提交充值申请(凭证图片必填,1元=100积分),
  管理员审核通过后事务内自动入账,幂等键防重复
- 新增通用图片上传组件 ImageUploader:canvas 压缩转 webp、预览、删除,
  后端按魔数校验图片格式并持久化到 data/uploads
- 管理员钱包调整改为按商户维度:移除商户侧调账接口,新增管理员
  平台商户积分调整与钱包流水查看
- 低余额 Webhook 告警配置持久化,充值入账/调账后自动检查推送
- 平台商户操作列移除进入/成员,积分充值页接入真实接口并修复金额单位换算
2026-08-04 13:03:29 +08:00
yml2213 7fe4a05ed7 优化api密钥 2026-08-03 10:38:06 +08:00
yml2213 8672ab2dca 优化 API 密钥管理与展示
- 每个商户限制最多 5 个 API 密钥,超限拒绝创建并提示
- API 密钥权限列改用中文标签展示,新增按用途命名提示
- 优化 API 密钥表格列宽,App Key 完整单行展示
- 补充密钥数量上限测试
2026-07-31 19:58:17 +08:00
yml2213 502b719f48 feat: 平台管理员可在前端分配商品给商户
后端:
- service: 新增 ListProductCatalog(自营商户商品目录)、ListMerchantProductsByAdmin、AssignProducts(按目录ID批量同步商户商品,未勾选的已有商品会被移除)
- handler + router: 新增 GET /platform/product-catalog、GET /platform/merchants/:id/products、POST /platform/merchants/:id/products/assign 三个管理员路由

前端:
- types: 新增 ProductCatalogItem 类型
- api: platformApi 新增 productCatalog / merchantProducts / assignProducts
- PlatformMerchants: 商户列表操作列新增「分配商品」按钮,弹窗内以表格+复选框展示平台商品目录,支持全选/清空/重置,打开时按已有商品预选,保存后同步分配结果

实测:创建商户自动获得27个默认商品,管理员可随时增减调整
2026-07-30 15:20:02 +08:00
yml2213 7cff2dffed feat(merchant): 新建商户自动复制自营商户的 27 个默认商品
- CreateMerchant 事务内调用 copyDefaultProducts,将自营商户全部可售商品复制给新商户
- 新增 model.MerchantCodeSelfOperated 常量,消除散落的 self-operated 魔法字符串
- tenant.go 替换魔法字符串为常量
- 实测:新建商户后自动获得 27 个商品,价格/货币/库存/关联商品均正确
2026-07-30 15:12:40 +08:00
yml2213 0de0ad9e9d 货币体系: 全平台统一使用积分(POINT)替代人民币(CNY)
后端:
- 模型 currency 默认值 CNY→POINT (MerchantProduct/WalletAccount/FulfillmentOrder)
- DashboardStats TotalSales/TotalFees 从 float64 改为 int64,去掉 /100.0 转换
- 上游 OpenOrderQuery.Amount 从 float64 改为 int64,直接返回积分整数
- 钱包/商品创建时 currency 默认 POINT

前端:
- 去掉 centsToYuan/yuanToCents 转换函数,金额直接用整数积分
- money() 显示从 ¥X.XX 改为 X 积分
- 商品售价/成本表单字段名改回 price_amount/cost_amount,precision 改 0
- 钱包调整表单 amount_yuan→amount,precision 改 0
- 手续费固定金额表单 precision 改 0,label 改积分
- 币种选项 CNY→POINT
- Dashboard 成交金额/手续费 suffix 元→积分,去掉 precision

数据库:
- 新增迁移 004: currency 默认值 CNY→POINT,存量数据更新
2026-07-30 14:30:34 +08:00
yml2213 bafe41a3ea 重构: 手续费改为百分比/固定二选一,清理旧 Skin/Order/ShipLog 演示链路
手续费:
- 新增 fee_type 字段(rate/fixed),百分比与固定金额二选一,不再叠加
- calculateServiceFee 按 fee_type 分支计算
- 商户创建/更新校验 fee_type,订单落库快照 fee_type
- 前端表单改为下拉选择手续费类型,动态显示对应输入框
- 测试拆为 TestFeeRate + TestFeeFixed

清理旧链路:
- 删除旧 Skin/Order/ShipLog 模型及 OrderService/SkinService
- Dashboard 迁移到 FulfillmentService
- 上游 /api/open/v1 改为基于 FulfillmentOrder 实现,接口契约不变
- 推送留痕改用 AuditLog,不再建 ShipLog 表
- 删除前端 Skins/Orders/ShipLogs/Distributors 页面及路由、菜单、API、类型
- 新增迁移 003: 添加 fee_type 列并 DROP 旧表
2026-07-30 14:12:27 +08:00
yml2213 83429456a6 实现多商户履约平台基础 2026-07-30 12:02:32 +08:00