萝卜
|
aca99d1f30
|
Admin subscriptions: expiring 7d add merchant+plan top10 and renewal CTA
|
2026-03-17 00:54:17 +08:00 |
|
萝卜
|
3ba8018bf9
|
Admin subscriptions: expiring 7d top10 add renewal CTA
|
2026-03-17 00:45:28 +08:00 |
|
萝卜
|
03d30f0c7d
|
Admin subscriptions: add expiring 7d merchant top10 reminder list
|
2026-03-17 00:39:50 +08:00 |
|
萝卜
|
7ce6a65aab
|
Admin subscriptions: hide batch expired action in attach order mode
|
2026-03-17 00:37:11 +08:00 |
|
萝卜
|
f47cc71599
|
Tests: adjust long reason length to exceed keyword link max
|
2026-03-17 00:27:50 +08:00 |
|
萝卜
|
7b143e1a11
|
Admin subscriptions: batch mark expired with safety guards
|
2026-03-17 00:27:04 +08:00 |
|
萝卜
|
0e8a9797b9
|
Governance: block clear sync errors when synced_only present
|
2026-03-17 00:13:19 +08:00 |
|
萝卜
|
c0e3dffce1
|
Tests: ensure clear BMPA errors button disables when sync_status/synced_only present
|
2026-03-17 00:10:50 +08:00 |
|
萝卜
|
4f01232f35
|
Tests: cover clear BMPA errors blocking for sync_status/synced_only
|
2026-03-17 00:08:21 +08:00 |
|
萝卜
|
98fa529d01
|
Governance: block clear BMPA errors when sync_status/synced_only present
|
2026-03-17 00:03:32 +08:00 |
|
萝卜
|
c54e95bb74
|
Fix: dashboard recent platform orders table overflow
|
2026-03-16 23:54:54 +08:00 |
|
萝卜
|
131aa6b259
|
Admin dashboard: align column widths and remove height sync JS
|
2026-03-16 23:51:44 +08:00 |
|
萝卜
|
18ea639583
|
chore(governance): block batch mark activated when refund_status=has
|
2026-03-16 23:35:39 +08:00 |
|
萝卜
|
485a8a639d
|
chore(governance): block batch BMPA when refund_status=has
|
2026-03-16 23:33:10 +08:00 |
|
萝卜
|
7f1d234393
|
feat(admin-dashboard): sync trend/billing card height with recent orders
|
2026-03-16 23:29:45 +08:00 |
|
萝卜
|
9dc281f48e
|
chore(governance): block batch mark activated when receipt none/refund has
|
2026-03-16 23:26:29 +08:00 |
|
萝卜
|
75d64195d6
|
chore(governance): block batch mark activated when reconcile/refund inconsistent
|
2026-03-16 23:16:25 +08:00 |
|
萝卜
|
a26be5de9e
|
chore(governance): block batch activate when refund_status=has
|
2026-03-16 23:03:38 +08:00 |
|
萝卜
|
8063b8ae9d
|
chore(governance): block batch activate when syncable_only conflicts with synced_only
|
2026-03-16 23:00:27 +08:00 |
|
萝卜
|
d68d0523b1
|
chore(governance): block batch BMPA when sync-governance filters present
|
2026-03-16 22:54:19 +08:00 |
|
萝卜
|
f6fa80c95c
|
fix(admin-dashboard): prevent pay column header wrap
|
2026-03-16 22:38:55 +08:00 |
|
萝卜
|
502c397ec2
|
fix(governance-ui): align clear error tool guards with backend
|
2026-03-16 22:37:46 +08:00 |
|
萝卜
|
07fb547e0e
|
chore(seed): enrich plan share demo data for dashboard top5
|
2026-03-16 22:12:45 +08:00 |
|
萝卜
|
3f7ab0ed94
|
feat(admin-dashboard): add rank coverage meta for merchant revenue top5
|
2026-03-16 22:01:06 +08:00 |
|
萝卜
|
6aa58d5369
|
chore(seed): add demo merchants for dashboard rank; tighten batch mark activated UI guard
|
2026-03-16 21:51:29 +08:00 |
|
萝卜
|
314563a8d5
|
chore(governance): block batch mark activated when filters conflict
|
2026-03-16 21:46:08 +08:00 |
|
萝卜
|
2f57dc3a70
|
test(governance): batch mark activated should include sync_status unsynced
|
2026-03-16 21:39:49 +08:00 |
|
萝卜
|
09a6ee55ad
|
test(governance): add guardrails for clearing failure markers
|
2026-03-16 21:35:27 +08:00 |
|
萝卜
|
512de34da4
|
chore(governance): block batch activate when syncable_only conflicts with failed filters
|
2026-03-16 21:05:13 +08:00 |
|
萝卜
|
6790771364
|
chore(governance): block batch activate when syncable_only conflicts with sync status
|
2026-03-16 20:59:52 +08:00 |
|
萝卜
|
0e293081d9
|
test(platform-orders): syncable summary link locks unsynced scope
|
2026-03-16 20:35:59 +08:00 |
|
萝卜
|
44b916ecb3
|
fix(subscription): syncable orders link locks unsynced scope
|
2026-03-16 20:20:59 +08:00 |
|
萝卜
|
4199c19920
|
test(admin-dashboard): syncable count excludes sync failed orders
|
2026-03-16 19:45:49 +08:00 |
|
萝卜
|
97326e9922
|
fix(platform-orders): syncable_only excludes sync failed orders
|
2026-03-16 19:40:23 +08:00 |
|
萝卜
|
f297ffacd5
|
fix(admin-dashboard): syncable quick link aligns with unsynced scope
|
2026-03-16 19:36:54 +08:00 |
|
萝卜
|
763c706cf3
|
fix(admin-dashboard): paid_pending count aligns with unsynced scope
|
2026-03-16 19:23:42 +08:00 |
|
萝卜
|
7c318ef59c
|
test(governance): batch mark activated requires sync_status=unsynced
|
2026-03-16 19:17:28 +08:00 |
|
萝卜
|
dbb88f59f6
|
chore(governance): batch mark activated requires unsynced scope
|
2026-03-16 19:04:40 +08:00 |
|
萝卜
|
33ab55b10a
|
fix(platform-orders): align paid-pending governance links with unsynced scope
|
2026-03-16 18:51:23 +08:00 |
|
萝卜
|
88347d1185
|
fix(admin-dashboard): billing workbench links use selfWithoutBack for back param
|
2026-03-16 18:25:44 +08:00 |
|
萝卜
|
9ac3b32e0e
|
test(admin-dashboard): paid pending workbench link locks sync_status=unsynced
|
2026-03-16 18:22:33 +08:00 |
|
萝卜
|
1c5f56bee0
|
chore(admin-site-subscription): failed reason keyword max len uses config
|
2026-03-16 18:11:31 +08:00 |
|
萝卜
|
6123aeb33b
|
fix(admin-js): merchant revenue rank link map parses exact merchant_id
|
2026-03-16 17:56:14 +08:00 |
|
萝卜
|
ef46111efb
|
chore(admin-platform-order): failed reason keyword max len uses config
|
2026-03-16 17:47:47 +08:00 |
|
萝卜
|
d6d8748ce6
|
feat(admin-js): plan order share mini rows clickable via table plan links
|
2026-03-16 17:44:17 +08:00 |
|
萝卜
|
8971917bca
|
feat(admin-js): trend mini chart bars clickable via table date links
|
2026-03-16 17:38:17 +08:00 |
|
萝卜
|
d7b15d2da8
|
feat(admin-js): merchant revenue mini rank rows clickable via table links
|
2026-03-16 17:29:29 +08:00 |
|
萝卜
|
d8b6f9d757
|
test(admin-dashboard): plan share top5 links to plan order list
|
2026-03-16 17:26:57 +08:00 |
|
萝卜
|
ed739eb97f
|
test(admin-dashboard): merchant revenue rank links to merchant order list
|
2026-03-16 17:24:12 +08:00 |
|
萝卜
|
ce7f957d70
|
chore(admin-dashboard): failed same-reason links use config max len
|
2026-03-16 17:15:53 +08:00 |
|