feat: add dashboard and virtual pay enhancements
This commit is contained in:
@@ -4,13 +4,24 @@
|
||||
|
||||
## 1. 执行数据库迁移
|
||||
|
||||
执行 `sql/virtual_pay_resource.sql`。脚本会:
|
||||
首次部署依次执行:
|
||||
|
||||
1. `sql/virtual_pay_resource.sql`
|
||||
2. `sql/virtual_pay_resource_specs.sql`
|
||||
3. `sql/virtual_pay_order_guard.sql`
|
||||
|
||||
第二个脚本把每条资源下载项改造成可单独购买的规格,第三个脚本阻止同一用户对同一规格同时产生多笔待支付或已支付订单。已经执行前两个脚本的环境只需补执行第三个脚本。
|
||||
|
||||
脚本会:
|
||||
|
||||
- 为资源增加分单位价格 `price_fen`;
|
||||
- 为每条资源下载项增加规格价格、状态和排序;
|
||||
- 创建价格档位表 `app_virtual_product`;
|
||||
- 创建虚拟支付订单表 `app_virtual_order`;
|
||||
- 创建资源访问权益表 `app_resource_entitlement`;
|
||||
- 为待支付/已支付订单增加数据库唯一防重键;
|
||||
- 将已有 `is_ad=3` 资源的 `ad_number`(元)迁移为 `price_fen`(分)。
|
||||
- 旧订单与权益保留整项解锁能力,新订单按下载项规格解锁。
|
||||
|
||||
## 2. 配置虚拟支付环境变量
|
||||
|
||||
@@ -38,11 +49,16 @@ AppKey 和小程序 Secret 不应提交到 Git,生产环境应由部署平台
|
||||
然后在若依后台编辑付费资源:
|
||||
|
||||
- 获取方式选择“付费”;
|
||||
- 价格填写分,例如 5 元填写 `500`;
|
||||
- 同一价格的资源填写同一个已发布 `productId`。
|
||||
- 在“资源规格”中按版本从低到高填写排序,例如源码版 `1`、文档版 `2`、部署版 `3`;
|
||||
- 高排序版本自动包含所有低排序版本,且版本价格必须随排序递增;
|
||||
- 为每个版本填写价格,例如 5 元填写 `500`;
|
||||
- 规格价格必须存在于 `app_virtual_product` 的已启用价格档位中,系统会自动匹配对应的 `productId`。
|
||||
- 所有可能产生的升级差价也必须配置价格档位。例如版本价格分别为 `9900`、`19900`、`29900` 分,还需配置 `10000`、`20000` 分两个差价档位。
|
||||
|
||||
后台会自动维护“价格 -> productId”唯一映射;一个 productId 不能绑定多个价格。
|
||||
|
||||
用户升级时,服务端按“目标版本当前价格 - 已拥有最高版本当前价格”计算实付金额。前端展示金额仅供参考,签名和订单金额始终由服务端重新计算。高版本退款后,只撤销该高版本订单对应的权益,用户更早单独购买的低版本权益仍然保留。
|
||||
|
||||
## 4. 配置消息推送
|
||||
|
||||
在小程序后台配置:
|
||||
|
||||
Reference in New Issue
Block a user