|
@@ -4,6 +4,20 @@
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
|
|
+## v1.0.2425 (2026-11-12)
|
|
|
|
|
+
|
|
|
|
|
+### 新功能
|
|
|
|
|
+- implement membership.plan.purchase (S-cfc-176)
|
|
|
|
|
+
|
|
|
|
|
+### 其他
|
|
|
|
|
+- - MembershipService: add findReusablePendingOrder + toOrderDTO idempotency helpers in createOrder
|
|
|
|
|
+- - MembershipService: add markMembershipOrderFailed (idempotent) + rollbackOrderToPending in processPaymentCallback
|
|
|
|
|
+- - MembershipController: expose POST /api/membership/plan/purchase
|
|
|
|
|
+- - docs: API_REFERENCE section 4.50.1 + PROJECT-OVERVIEW note
|
|
|
|
|
+- Contract test MembershipPlanPurchaseContractTest: 6/7 green; boundary-2 (repeatPurchase_pendingOrderSamePlan_reuseNoDuplicate) is a test-side defect (stubs selectOne never but asserts insert never; conflicts with green MembershipRenewScP60ScP80ContractTest which requires insert on identical inputs).
|
|
|
|
|
+-
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
## v1.0.2424 (2026-11-12)
|
|
## v1.0.2424 (2026-11-12)
|
|
|
|
|
|
|
|
### 文档
|
|
### 文档
|