722de7ea8c
fix: pricing init.py 补充 add_pricing_program_timing 的 import 和注册
2026-07-14 17:42:20 +08:00
Hermes Agent
810cd4549b
fix: 修复定价项目时序验证定价500错误 + 移除过时的pricing_item子表引用
...
- init.py: 注册 get_pricing_program_timeing 到 env(pricing_test.ui模板依赖此函数)
- pricing_test.ui: 修复拼写错误 amoumt → "amount"(生成无效JSON导致500)
- json/pricing_program_timing.json: 移除指向已删除的pricing_item CRUD的subtables配置
2026-06-23 23:59:13 +08:00
Hermes Agent
e4bbef8e17
feat: register get_ppid_pricing on env for pre-inference pricing check
2026-06-22 17:55:27 +08:00
7df8e530a4
remove: pricing_item CRUD and related functions (not used)
2026-06-12 14:41:58 +08:00
ac3d7c6d91
fix: implement missing get_all_spec_fields_by_pptid, sor_get_spec_fields, get_pricing_specs_by_pptid
2026-06-12 14:18:52 +08:00
977be0d39c
feat: add pricing display API for customer-facing pricing data
...
- generate_formula_from_factors(): auto-generate formula from price_factors array
- get_pricing_display(ppid): return structured human-readable pricing data
- wwwroot/api/get_pricing_display.dspy: API endpoint for frontend consumption
- Supports price_factors display layer (label, unit_price, unit_label)
- Backward compatible: old YAML without pricing_type/price_factors works
- Registered via load_pricing() with ServerEnv
2026-06-04 12:13:55 +08:00
5d4e008ec8
fix: guard hot_reload binding with None check
...
hasattr only checks attribute existence, but event_dispatcher
can exist as None when running standalone (backend_accounting.py).
Use getattr with None check instead.
2026-06-02 17:36:38 +08:00
b7ca795127
cleanup: remove dead module-level get_pricing_program and duplicate assignment
2026-06-01 18:57:50 +08:00
7b9d3d2ba0
refactor: bind hot_reload event via EventDispatcher, add on_hot_reload to PricingProgram
2026-06-01 18:10:30 +08:00
b981d07f40
fix: refresh pricing cache for timing id events
2026-05-19 01:12:55 +08:00
c85b9527c3
bugfix
2026-05-18 16:02:14 +08:00
7095d8dca2
bugfix
2026-05-16 16:40:09 +08:00
1f1faaa085
bugfix
2026-05-16 16:38:44 +08:00
7468bcd781
bugfix
2026-05-16 16:36:41 +08:00
4f40be10dc
bugfix
2026-05-16 16:32:47 +08:00
19f03c82c3
bugfix
2026-05-16 16:13:18 +08:00
896c87c4f0
bugfix
2026-05-14 13:10:13 +08:00
bdef7ab7a7
bugfix
2026-04-08 13:08:44 +08:00
0120300968
bugfix
2026-04-07 17:46:54 +08:00
603c02e579
bugfix
2026-04-05 15:00:16 +08:00
8e2f662552
bugfix
2026-04-04 18:48:46 +08:00
5c0e4a4397
bugfix
2026-04-04 18:14:16 +08:00
c47a92cde6
bugfix
2026-03-25 16:37:36 +08:00
ebf07ad54f
bugfix
2026-03-24 12:03:31 +08:00
8b2c51e80e
bugfix
2026-03-24 12:02:11 +08:00
494f03ca49
bugfix
2026-03-24 11:49:26 +08:00
81e9ebc041
bugfix
2026-03-24 11:34:01 +08:00
39705f3e04
bugfiix
2026-03-23 18:27:34 +08:00
d884132d77
bugfix
2026-03-19 16:50:44 +08:00
917d7d6324
bugfix
2025-12-26 15:17:54 +08:00
01c3fe1139
bugfix
2025-12-24 17:13:34 +08:00
c863936871
bugfix
2025-12-22 15:33:54 +08:00
1abf5389c2
bugfix
2025-12-22 15:30:50 +08:00
fb9c91839a
bugfix
2025-10-27 15:39:27 +08:00
yumoqing
0dd4d007dd
bugfix
2025-10-25 20:54:52 +08:00
yumoqing
4f98a84635
bugfix
2025-10-25 20:38:00 +08:00