Commit Graph
394 Commits
Author SHA1 Message Date
zlwuandCursor d2bb1e0fa1 test(backend): align market chase assertions with yjf-only paid
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 18:06:22 +08:00
zlwuandCursor b8b20dcebe fix(backend): count period paid amount as yjf only
Align displayPaidAmount/arrears with business rule: 已缴费 excludes
已付款 and 付款确认中 transfers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 18:01:06 +08:00
zlwu 54ec8e1cd1 fix: serialize mobile presign conversion amounts. 2026-10-11 14:02:20 +08:00
zlwu e0dc7f4cee fix: preserve mobile presign decimal precision. 2026-10-11 13:50:47 +08:00
zlwu 06255d1e41 fix: harden mobile presign contracts and authorization. 2026-10-11 13:22:04 +08:00
zlwu 81bda0cb79 fix: scope user organization labels to the current tenant. 2026-10-11 12:37:32 +08:00
zlwu 02d1e16036 fix: scope authentication roles to the current tenant. 2026-10-11 12:25:50 +08:00
zlwu 3f40caa1cd fix: enforce atomic presign status and action transitions. 2026-10-11 12:06:22 +08:00
zlwu 337d31bbe8 feat: integrate required mobile market backend dependencies. 2026-10-11 12:00:52 +08:00
zlwu 7e930c77fd feat: expose complete scoped presign actions to mobile clients. 2026-10-11 11:43:38 +08:00
zlwu 34bf9aa0dc fix: make mobile presign transitions concurrency-safe. 2026-10-11 11:31:24 +08:00
zlwu c5c7e42feb fix: make mobile presign transitions concurrency-safe. 2026-10-11 11:17:06 +08:00
zlwu 8453c9c805 feat: enforce scoped presign deletion and transfer workflows on mobile. 2026-10-11 10:56:06 +08:00
zlwu 7a6d804cfa fix: honor order numbers in protocol workflow lists. 2026-10-11 10:08:40 +08:00
zlwu 28990e66be test: align API crypto coverage with the AES-GCM protocol 2026-10-11 09:53:48 +08:00
zlwuandCursor db31990ebe feat: 细胞存储缴费催缴、统一样本信息与协议支付能力增强
汇总近期业务改动:催缴菜单与后端、样本信息快捷登记与进度、运费关联、客户档案扩展、协议优惠/期次与押金划转,并同步 SQL 迁移与管理端页面收敛。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 21:20:37 +08:00
zlwuandCursor f5fdfc6770 chore: update graphify after payment-info detail dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 15:20:13 +08:00
zlwuandCursor 628a20dbbd feat(backend): allow soft-delete of dfj payment transfers
Supports 缴费明细 list-mode row delete for draft transfers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 14:58:23 +08:00
zlwuandCursor 3edfb9dd86 chore: refresh graphify after transfer remark withdraw.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:21:24 +08:00
zlwuandCursor c860e39363 feat: add protocol payment transfer withdraw API for jfqrz.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:17:49 +08:00
zlwuandCursor eb8a76d8d2 feat: add presign transfer withdraw API for jfqrz.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:16:58 +08:00
zlwuandCursor d4477f357d feat: add can_withdraw_receipt for jfqrz transfer withdraw.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:12:03 +08:00
zlwuandCursor bce0a15772 chore: refresh graphify after storage-cert QC info.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:40:41 +08:00
zlwuandCursor 5546b7aa73 feat(api): expose GET/PUT sample-storage-cert-qc by sample code.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:37:16 +08:00
zlwuandCursor e194e1ad04 feat(backend): add sample storage-cert QC get and upsert CRUD.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:36:18 +08:00
zlwuandCursor e6763241d1 feat(backend): add storage-cert QC type-key and payload helpers.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:33:50 +08:00
zlwuandCursor e521d781e3 fix(db): keep storage-cert QC model commit free of unrelated model edits.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:32:18 +08:00
zlwuandCursor fac7b87728 feat(db): add biz_sample_storage_cert_qc for storage-cert QC payload.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:31:13 +08:00
zlwuandCursor 776031cb4c chore: refresh graphify after protocol-audit list mode.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 10:10:03 +08:00
zlwuandCursor 1e12783a41 fix(backend): drop unrelated pay-status label changes from transferTime commit.
Keep only transferTime exposure for protocol-audit list mode.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 10:02:39 +08:00
zlwuandCursor 38f9822d49 feat(backend): expose payment detail transferTime in protocol summary.
Let protocol-audit list show first-pay times from transfer records.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 10:00:41 +08:00
zlwuandCursor 85b315a0cf chore: refresh graphify after sample freight menu feature
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 10:02:31 +08:00
zlwuandCursor f092b64a33 feat(backend): add sample options for freight config dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 09:59:29 +08:00
zlwuandCursor 971af93132 feat(backend): enrich sample freight list with items and filters
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 09:58:45 +08:00
zlwuandCursor 04eb1e81bd feat: add sample freight menu route and page shell
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 09:51:48 +08:00
zlwuandCursor 468a7c5e12 feat(backend): expose sample freight APIs and wire protocol saves
Register admin sample-freight routes, enrich protocol sample details with freight, and stop writing legacy transport rows on save.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 07:48:41 +08:00
zlwuandCursor 6d542a0acf feat(backend): add sample freight CRUD and link/unlink
Provide freight batch create/update/link/unlink, sample enrichment map, and protocol-save draft grouping without writing legacy transport rows.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 07:47:41 +08:00
zlwuandCursor 66fc507b1a feat(backend): resolve sample transport mode dict with auto-create
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 23:18:56 +08:00
zlwuandCursor dbdabdce24 feat(backend): add BizSampleFreight models
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 23:17:40 +08:00
zlwuandCursor af5c6e725d chore: add idempotent backfill for party customer ids
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 22:26:59 +08:00
zlwuandCursor e7f2dfa4d4 feat: add customer relations API for family and protocols
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 22:26:15 +08:00
zlwuandCursor f005370a1e feat: wire party customer sync into storage and donation saves
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 22:20:54 +08:00
zlwuandCursor 910f61ed33 feat: sync mother/father/newborn customers on protocol party save
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 16:11:49 +08:00
zlwuandCursor fc14c51348 feat(db): add father/newborn customer ids on protocol parties
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 16:03:11 +08:00
zlwuandCursor cf86c585b7 chore(graphify): refresh backend graph after menu hide for unified protocol.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:28:10 +08:00
zlwuandCursor be98dbe7ac fix(menu): restore hidden research-donation sample-info route for deep links.
Task 4 incorrectly removed ResearchDonationSampleInfo; keep it isHide with parent hidden so unified sample-info deep links still work.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:18:59 +08:00
zlwuandCursor 56fd44388b chore(menu): hide research-donation protocol menus; keep routes for unified page deep links.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 12:16:42 +08:00
zlwuandCursor d5bfb895a7 chore: menu SQL, graph sync, and mark payment-info split done
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 13:12:16 +08:00
zlwuandCursor 32c01a4c69 feat: split payment-info into standalone menu with dual tabs
Remove payment tab from protocol-audit and keep deep-link redirect.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 13:03:16 +08:00
zlwuandCursor c35e4ca3d2 feat(backend): add sample-payments list and detail read APIs
Support per-sample payment overview for the standalone payment-info menu.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 12:57:55 +08:00