feat(admin,api,player): 结算预览分页、统计图表与返水限额
完善结算计算与预览 API(含后端分页),加强管理端结算/返水/权限,并优化玩家端投注单与队徽展示。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -172,6 +172,9 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'bet.col.player': 'Pemain',
|
||||
'bet.col.agent': 'Ejen',
|
||||
'bet.col.selection': 'Pilihan',
|
||||
'bet.col.content': 'Kandungan taruhan',
|
||||
'bet.col.match': 'Perlawanan',
|
||||
'bet.legs_more': '+{n} lagi…',
|
||||
'bet.col.selection_count': 'Bil. pilihan',
|
||||
'bet.col.stake': 'Stake',
|
||||
'bet.col.odds': 'Odds',
|
||||
@@ -210,7 +213,25 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'cashback.preview_title': 'Pratonton rebat',
|
||||
'cashback.stat.players': 'Pemain',
|
||||
'cashback.stat.total': 'Jumlah rebat',
|
||||
'cashback.stat.lines': 'Baris butiran',
|
||||
'cashback.batch_no': 'No. kelompok',
|
||||
'cashback.table_title': 'Butiran rebat pemain',
|
||||
'cashback.table_total': 'Jumlah',
|
||||
'cashback.empty_items': 'Tiada rebat layak dalam tempoh ini',
|
||||
'cashback.col.index': '#',
|
||||
'cashback.col.player': 'Pemain',
|
||||
'cashback.col.agent': 'Ejen',
|
||||
'cashback.col.effective_stake': 'Stake berkesan',
|
||||
'cashback.col.rate': 'Kadar',
|
||||
'cashback.col.amount': 'Rebat',
|
||||
'cashback.confirm_issue': 'Sahkan bayaran',
|
||||
'cashback.rules_title': 'Peraturan rebat',
|
||||
'cashback.rule_period': 'Pilih julat tarikh. Taruhan dikira mengikut masa penyelesaian dalam tempoh tersebut.',
|
||||
'cashback.rule_eligible': 'Termasuk: taruhan selesai WON/LOST (tunggal ikut stake; parlay sekali ikut stake parlay). Tidak termasuk: belum selesai, dibatalkan, batal, push, dan kadar 0.',
|
||||
'cashback.rule_formula': 'Setiap taruhan: stake × kadar rebat. Jumlah diagregat mengikut pemain.',
|
||||
'cashback.rule_rate': 'Keutamaan kadar: pemain > ejen > global > kadar lalai ejen (cth. 0.01 = 1%).',
|
||||
'cashback.rule_flow': 'Aliran: pratonton → semak jumlah → sahkan bayaran (kredit dompet, entri CASHBACK).',
|
||||
'cashback.rule_note_zero': 'Jika 0, semak taruhan WON/LOST dalam tempoh dan kadar rebat > 0.',
|
||||
|
||||
'user.field.player_id': 'ID pemain',
|
||||
'user.field.bet_count': 'Bilangan pertaruhan',
|
||||
@@ -313,8 +334,12 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'settlement.stats_parlay': 'Parlay',
|
||||
'settlement.stats_total_stake': 'Jumlah stake',
|
||||
'settlement.stats_potential': 'Menang maksimum',
|
||||
'settlement.chart.bet_type': 'Tunggal vs parlay',
|
||||
'settlement.chart.status': 'Taburan status pertaruhan',
|
||||
'settlement.chart.stake_by_selection': 'TOP6 pilihan mengikut taruhan tunggal',
|
||||
'settlement.stats_by_market': 'Ikut pasaran / pilihan',
|
||||
'settlement.bet_list': 'Semua pertaruhan',
|
||||
'settlement.bet_list': 'Pertaruhan berkaitan',
|
||||
'settlement.bet_list_hint': 'Dikumpulkan mengikut pertaruhan; parlay sama perlawanan tunjuk ×kaki',
|
||||
'settlement.no_bets': 'Tiada pertaruhan untuk perlawanan ini',
|
||||
'settlement.col.market': 'Pasaran',
|
||||
'settlement.col.selection': 'Pilihan',
|
||||
@@ -324,7 +349,10 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'settlement.ht_score': 'Skor separuh masa',
|
||||
'settlement.ft_score': 'Skor penuh masa',
|
||||
'settlement.record_score': 'Simpan skor',
|
||||
'settlement.preview_hint': 'Skor di atas disimpan secara automatik sebelum pratonton',
|
||||
'settlement.preview_btn': 'Pratonton penyelesaian',
|
||||
'settlement.preview_failed': 'Gagal menjana pratonton penyelesaian',
|
||||
'settlement.err_score_not_recorded': 'Sila masukkan skor separuh masa dan penuh masa sebelum penyelesaian',
|
||||
'settlement.preview_title': 'Pratonton penyelesaian',
|
||||
'settlement.single_count': 'Pertaruhan tunggal',
|
||||
'settlement.est_payout': 'Anggaran bayaran',
|
||||
|
||||
Reference in New Issue
Block a user