25 Commits

Author SHA1 Message Date
33cd1d287d feat: 营销方案产品折扣设置(独立于普通折扣方案)
index.ui: 显示所有产品 + 基准折扣(全部用户) + 方案折扣, 标志'已加入/未加入'
get_products.dspy: 左联全部用户基准折扣 + 营销方案专属折扣
save_discount.dspy: 验证 0<新<基准, upsert 到 discount_detail
init.py: get_marketing_discount_products + get_marketing_info
marketing_list.json: toolbar 指向新页面
2026-07-03 16:05:21 +08:00
53eaa966ae feat: 客户归属支持多分销商 + 阶梯折扣表
discount_customer_bind:
- UNIQUE(customerid) → UNIQUE(customerid, resellerid)
  一个客户可绑定多个分销商
- bind_type: 加 3=域名注册
- 索引重命名: idx_dcb_customer → idx_dcb_customer_reseller

reseller_discount_tier (新增):
- 分销商阶梯折扣: name, min_amount, max_amount, discount_pct
- 按累计消费自动匹配档位
2026-06-30 15:45:15 +08:00
1b20b28e7e fix: 营销方案产品明细指向discount_setting(同折扣方案subtable模式) 2026-06-30 11:40:40 +08:00
Hermes Agent
29578196a1 feat: 独立产品折扣设置页面(全量产品列表+行内upsert) 2026-06-24 20:42:36 +08:00
Hermes Agent
8a2d8b39aa fix: use event.params.prodtypeid instead of event in cascading script 2026-06-24 12:36:02 +08:00
Hermes Agent
4ca5207f8f chore: disable discount_detail_list CRUD generation (hand-written UI) 2026-06-24 12:24:51 +08:00
Hermes Agent
d6d827fabb feat: hand-write discount_detail_list index.ui + get dspy with editable.binds cascading 2026-06-24 12:18:51 +08:00
Hermes Agent
80ef13af88 fix: use form_binds for edit form cascading dropdowns (prodtypeid→productid) 2026-06-24 10:42:40 +08:00
Hermes Agent
1b15225e3d fix: 修正binds配置属性名widget→target,script参数使用event获取changed值 2026-06-24 10:27:00 +08:00
Hermes Agent
0990799ee1 feat: 产品明细添加级联联动,选择产品种类后自动加载对应产品 2026-06-24 10:13:32 +08:00
Hermes Agent
49f3e1a8a2 feat: 促销码隐藏id、自动生成、添加二维码tool
- json: id加入exclouded和editexclouded(不显示不输入)
- 新增 api/promo_code_qr.dspy:为选中促销码生成二维码
- 修改 promote/index.dspy:支持code参数,未登录引导登录/注册
- toolbar添加'生成二维码'按钮,选中行后弹窗显示二维码
2026-06-24 09:47:36 +08:00
Hermes Agent
ee7175701a feat: 促销码编辑不显示生成时间,依赖数据库DEFAULT CURRENT_TIMESTAMP 2026-06-24 09:33:05 +08:00
Hermes Agent
2860d9209c feat: discount_marketing添加产品明细tool按钮,弹窗打开discount_detail_list编辑 2026-06-24 09:31:56 +08:00
Hermes Agent
a666aa1b18 fix: discount_customer_bind列表隐藏customerid/resellerid显示和编辑输入 2026-06-24 09:19:44 +08:00
Hermes Agent
6c1e4d14d4 fix: discount_promo_code列表隐藏resellerid/sale_id显示,编辑排除这两个字段 2026-06-24 09:18:57 +08:00
Hermes Agent
474132eadd fix: discount_marketing列表隐藏id/resellerid显示,编辑排除id/resellerid/created_by/created_at/updated_at 2026-06-24 09:17:53 +08:00
Hermes Agent
842647da89 refactor: 让CRUD自动处理code字段,移除手动alters配置 2026-06-24 09:10:43 +08:00
Hermes Agent
96cd4712c0 fix: 修正code字段dataurl参数格式,使用valueField/textField 2026-06-24 09:07:51 +08:00
Hermes Agent
f1e9b1ab2e fix: subtable使用CRUD别名discount_detail_list而非表名 2026-06-24 09:00:43 +08:00
Hermes Agent
95b91c4c25 feat: 折扣方案添加子表按钮(折扣产品明细)
使用subtables配置,点击按钮跳转到discount_detail子表,
通过discountid字段关联筛选。
2026-06-24 08:50:11 +08:00
Hermes Agent
e4a6ca15b9 feat: 添加客户列表API支持*全部客户选项
- 新增 api/get_customer_list.dspy,返回带*选项的客户列表
- json/discount_list.json: customerid 使用自定义 dataurl
- load_path.py: 注册新API到logined和operator
2026-06-24 01:42:36 +08:00
Hermes Agent
0fcc34c235 fix: dataurl改为/appbase/get_code.dspy,补全CRUD API
- json/discount_list.json: dataurl→/appbase/, resellerid隐藏+自动填充, customerid保留下拉
- json/discount_detail_list.json: dataurl→/appbase/
- 新增6个API: discount和discount_detail的create/update/delete
- load_path.py: 注册新API路径到logined和operator
2026-06-24 01:40:54 +08:00
Hermes Agent
f5250fb261 feat: 营销方案、促销码、客户归属绑定功能
- 新增3个数据模型: discount_marketing, discount_promo_code, discount_customer_bind
- 新增CRUD定义: marketing/promo_code/customer_bind 的list和api
- 新增init/data.json: appcodes编码(促销码类型、绑定方式)
- init.py: bind_customer支持customerid参数覆盖(注册场景)
- 折扣校验放宽至 0 < discount <= 1
2026-06-24 00:56:32 +08:00
Hermes Agent
73b7561de8 chore: 添加json/build.sh脚本 2026-06-17 17:26:21 +08:00
b41c89e9dd bugfix 2026-05-11 11:30:57 +08:00