feat(api, ui, i18n): 增强奖池管理与钱包功能

新增奖池余额调整与调整记录查询相关 API,提升后台对奖池的管理与控制能力。
更新奖池与钱包相关多语言文案,新增余额调整与转账完成提示信息,提升用户理解与反馈体验。
优化奖池管理相关 UI 组件,新增余额调整功能并改进页面布局,提升操作易用性。
重构相关组件以整合新功能,并进一步优化后台管理界面的整体用户体验。
This commit is contained in:
2026-05-26 14:59:41 +08:00
parent 60271d87fb
commit eb83bcf360
23 changed files with 881 additions and 228 deletions

View File

@@ -313,6 +313,7 @@
},
"rebate": {
"sectionHint": "Rebate rates are stored in the odds version; select or create an odds draft in the section above first.",
"lazyLoadHint": "Scroll down to the rebate section to load",
"embeddedVersionHint": "Rebate shares the odds version line—switch versions in the Odds section above.",
"sheetDescription": "Rebate is stored in the odds draft version and shares the same version set as odds.",
"publishLabel": "Publish",

View File

@@ -14,6 +14,21 @@
"noPoolData": "No pool data",
"displayBalance": "Display balance {{amount}}",
"currentAmount": "Current pool balance (minor unit)",
"balanceAdjustmentTitle": "Balance adjustment",
"balanceAdjustmentHint": "A reason is required; each change is recorded in the adjustment ledger. Balance cannot be edited via Save.",
"adjustmentDirection": "Direction",
"adjustmentIncrease": "Increase",
"adjustmentDecrease": "Decrease",
"adjustmentAmount": "Amount (major units)",
"adjustmentReason": "Reason (required)",
"submitAdjustment": "Submit adjustment",
"adjustmentSuccess": "Pool balance adjusted",
"adjustmentFailed": "Adjustment failed",
"adjustmentAmountInvalid": "Enter a valid adjustment amount",
"adjustmentReasonRequired": "Reason must be at least 3 characters",
"confirmAdjustmentTitle": "Confirm pool balance adjustment?",
"confirmAdjustmentDescription": "This writes a ledger entry and updates the pool balance. Verify amount and reason.",
"recentAdjustments": "Recent adjustments",
"contributionRate": "Contribution rate 0-1",
"triggerThreshold": "Burst threshold (minor unit)",
"payoutRate": "Burst payout rate 0-1",

View File

@@ -41,15 +41,20 @@
"requestTime": "Requested at",
"finishedTime": "Finished at",
"actions": "Actions",
"actionsMenuAriaLabel": "Transfer order actions",
"reverse": "Reverse",
"completeCredit": "Complete credit",
"manualProcess": "Manual process",
"processing": "Processing…",
"reverseSuccess": "Reversed successfully",
"completeCreditSuccess": "Transfer-in credited successfully",
"manualProcessSuccess": "Manually processed successfully",
"actionFailed": "Action failed",
"confirm": {
"reverseTitle": "Confirm reverse transfer?",
"reverseDescription": "Reverse order {{transferNo}}. This may affect player wallet balance.",
"completeCreditTitle": "Confirm complete transfer-in credit?",
"completeCreditDescription": "When the main site has already debited, credit lottery wallet for order {{transferNo}} and mark it successful.",
"manualProcessTitle": "Confirm manual process?",
"manualProcessDescription": "Mark order {{transferNo}} as manually processed without automatic wallet adjustment."
},

View File

@@ -313,6 +313,7 @@
},
"rebate": {
"sectionHint": "रिबेट दर अड्स संस्करणमा लेखिन्छ; पहिले माथिको «बाधा» खण्डमा ड्राफ्ट छान्नुहोस्।",
"lazyLoadHint": "रिबेट खण्डमा स्क्रोल गर्दा लोड हुन्छ",
"embeddedVersionHint": "रिबेट माथिको बाधा संस्करण लाइन साझा गर्छ—संस्करण त्यहीँबाट बदल्नुहोस्।",
"sheetDescription": "रिबेट अड्स ड्राफ्ट संस्करणमा राखिन्छ र अड्ससँग एउटै संस्करण सेट साझा गर्छ।",
"publishLabel": "प्रकाशन",

View File

@@ -14,6 +14,21 @@
"noPoolData": "पूल डाटा छैन",
"displayBalance": "प्रदर्शित ब्यालेन्स {{amount}}",
"currentAmount": "हालको पूल ब्यालेन्स (सानो एकाइ)",
"balanceAdjustmentTitle": "ब्यालेन्स समायोजन",
"balanceAdjustmentHint": "कारण अनिवार्य; प्रत्येक परिवर्तन समायोजन लेजरमा लेखिन्छ। Save बाट सिधै ब्यालेन्स मिलाउन मिल्दैन।",
"adjustmentDirection": "दिशा",
"adjustmentIncrease": "बढाउनु",
"adjustmentDecrease": "घटाउनु",
"adjustmentAmount": "समायोजन रकम (मुख्य एकाइ)",
"adjustmentReason": "कारण (अनिवार्य)",
"submitAdjustment": "समायोजन पेश गर्नुहोस्",
"adjustmentSuccess": "पूल ब्यालेन्स समायोजन भयो",
"adjustmentFailed": "समायोजन असफल",
"adjustmentAmountInvalid": "मान्य समायोजन रकम लेख्नुहोस्",
"adjustmentReasonRequired": "कारण कम्तीमा ३ अक्षर",
"confirmAdjustmentTitle": "पूल ब्यालेन्स समायोजन पक्का गर्ने?",
"confirmAdjustmentDescription": "यसले लेजर प्रविष्टि लेख्छ र पूल ब्यालेन्स अद्यावधिक गर्छ। रकम र कारण जाँच गर्नुहोस्।",
"recentAdjustments": "भर्खरका समायोजन",
"contributionRate": "योगदान अनुपात 0-1",
"triggerThreshold": "बर्स्ट थ्रेसहोल्ड (सानो एकाइ)",
"payoutRate": "बर्स्ट भुक्तानी अनुपात 0-1",

View File

@@ -41,12 +41,23 @@
"requestTime": "अनुरोध समय",
"finishedTime": "समाप्त समय",
"actions": "कार्य",
"actionsMenuAriaLabel": "ट्रान्सफर अर्डर कार्य मेनु",
"reverse": "रिभर्स",
"completeCredit": "क्रेडिट पूरा गर्नुहोस्",
"manualProcess": "म्यानुअल प्रक्रिया",
"processing": "प्रक्रियामा…",
"reverseSuccess": "रिभर्स सफल भयो",
"completeCreditSuccess": "ट्रान्सफर-इन क्रेडिट सफल भयो",
"manualProcessSuccess": "म्यानुअल प्रक्रिया सफल भयो",
"actionFailed": "कार्य असफल भयो",
"confirm": {
"reverseTitle": "ट्रान्सफर रिभर्स पुष्टि गर्ने?",
"reverseDescription": "अर्डर {{transferNo}} रिभर्स गर्नेछ, खेलाडी वालेट प्रभावित हुन सक्छ।",
"completeCreditTitle": "ट्रान्सफर-इन क्रेडिट पूरा गर्ने?",
"completeCreditDescription": "मुख्य साइटले पहिले नै कटौती गरेको छ भने, अर्डर {{transferNo}} को लागि लटरी वालेटमा क्रेडिट गरी सफल चिन्ह लगाउँछ।",
"manualProcessTitle": "म्यानुअल प्रक्रिया पुष्टि?",
"manualProcessDescription": "अर्डर {{transferNo}} म्यानुअल प्रक्रिया भएको चिन्ह लगाउँछ, वालेट स्वचालित मिलाउँदैन।"
},
"txnNo": "कारोबार नं.",
"bizType": "व्यवसाय प्रकार",
"type": "प्रकार",

View File

@@ -313,6 +313,7 @@
},
"rebate": {
"sectionHint": "回水比例写入赔率版本;请先在上方选择或创建赔率草稿。",
"lazyLoadHint": "向下滚动至回水区域后加载",
"embeddedVersionHint": "回水与上方赔率共用版本线,请在「赔率」区块切换版本。",
"sheetDescription": "回水配置存放在赔率草稿版本中,与赔率共用同一套版本记录。",
"publishLabel": "发布",

View File

@@ -14,6 +14,21 @@
"noPoolData": "暂无奖池数据",
"displayBalance": "展示余额 {{amount}}",
"currentAmount": "当前池余额(最小单位)",
"balanceAdjustmentTitle": "余额调整",
"balanceAdjustmentHint": "须填写原因并写入调整流水;不可在「保存」中直接改余额。",
"adjustmentDirection": "方向",
"adjustmentIncrease": "增加",
"adjustmentDecrease": "减少",
"adjustmentAmount": "调整金额(主币单位)",
"adjustmentReason": "调整原因(必填)",
"submitAdjustment": "提交余额调整",
"adjustmentSuccess": "余额调整已入账",
"adjustmentFailed": "余额调整失败",
"adjustmentAmountInvalid": "请填写有效的调整金额",
"adjustmentReasonRequired": "调整原因至少 3 个字符",
"confirmAdjustmentTitle": "确认提交奖池余额调整?",
"confirmAdjustmentDescription": "将写入调整流水并更新当前池余额,请确认金额与原因无误。",
"recentAdjustments": "最近调整记录",
"contributionRate": "蓄水比例 01",
"triggerThreshold": "爆池阈值(最小单位)",
"payoutRate": "爆池派彩比例 01",
@@ -26,7 +41,7 @@
"saving": "保存中…",
"save": "保存",
"confirmSavePoolTitle": "确认保存奖池配置?",
"confirmSavePoolDescription": "将更新蓄水比例、阈值、派彩比例等参数,可能影响后续 Jackpot 行为。",
"confirmSavePoolDescription": "将更新蓄水比例、阈值、派彩比例等参数(不含池余额);余额请使用「余额调整」。",
"manualBurstDrawId": "手动爆池期号 ID",
"manualBurstHint": "仅超级管理员可在紧急情况下触发;须该期已开奖结算且存在头奖中奖注单,按当前「爆池派彩比例」释放并派彩入账。",
"manualBurstConfirmTitle": "确认手动爆池?",

View File

@@ -41,15 +41,20 @@
"requestTime": "请求时间",
"finishedTime": "完成时间",
"actions": "操作",
"actionsMenuAriaLabel": "转账单操作菜单",
"reverse": "冲正",
"completeCredit": "补完成入账",
"manualProcess": "人工处理",
"processing": "处理中…",
"reverseSuccess": "冲正成功",
"completeCreditSuccess": "补入账成功",
"manualProcessSuccess": "人工处理成功",
"actionFailed": "操作失败",
"confirm": {
"reverseTitle": "确认冲正转账单?",
"reverseDescription": "将对单号 {{transferNo}} 执行冲正,可能影响玩家钱包余额。",
"completeCreditTitle": "确认补完成转入入账?",
"completeCreditDescription": "主站已扣款时,将为单号 {{transferNo}} 在彩票钱包补记转入并标记成功。",
"manualProcessTitle": "确认人工处理?",
"manualProcessDescription": "将标记单号 {{transferNo}} 为已人工处理,不会自动调整钱包。"
},