feat(admin,api,player): 返水流程优化、账单详情与数据库重置
优化返水预览/确认/作废,新增玩家账变详情与后台一键重置为 seed 数据,并修复 dev 启动时 3000 端口占用。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -63,6 +63,14 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'user.page_settings': 'Tetapan global',
|
||||
'user.global_settings': 'Kata laluan & akaun (global)',
|
||||
'user.global_settings_hint': 'Kawal sama ada semua pemain boleh ubah kata laluan/nama akaun dalam app',
|
||||
'user.reset_database': 'Set semula pangkalan data',
|
||||
'user.reset_database_hint': 'Padam semua data perniagaan dan pulihkan data demo awal. Tidak boleh dibatalkan.',
|
||||
'user.reset_database_confirm_label': 'Taip RESET untuk sahkan',
|
||||
'user.reset_database_confirm_ph': 'RESET',
|
||||
'user.reset_database_btn': 'Set semula ke data awal',
|
||||
'user.reset_database_disabled_prod': 'Dilumpuhkan dalam produksi melainkan ALLOW_DB_RESET=true',
|
||||
'user.reset_database_success': 'Pangkalan data diset semula. Sila log masuk semula.',
|
||||
'user.reset_database_accounts': 'Akaun demo',
|
||||
'user.section.password_mgmt': 'Pengurusan kata laluan',
|
||||
'user.field.current_password': 'Kata laluan semasa',
|
||||
'user.msg.created_with_password': 'Pemain dicipta. Kata laluan: {password}',
|
||||
@@ -226,7 +234,24 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'cashback.stat.players': 'Pemain',
|
||||
'cashback.stat.total': 'Jumlah rebat',
|
||||
'cashback.stat.lines': 'Baris butiran',
|
||||
'cashback.stat.effective_stake': 'Jumlah stake berkesan',
|
||||
'cashback.stat.bet_count': 'Bil. pertaruhan',
|
||||
'cashback.stat.avg_rate': 'Kadar purata',
|
||||
'cashback.batch_no': 'No. kelompok',
|
||||
'cashback.history_title': 'Rekod rebat',
|
||||
'cashback.history_empty': 'Tiada kelompok rebat',
|
||||
'cashback.filter_status': 'Status',
|
||||
'cashback.status.PREVIEW': 'Menunggu',
|
||||
'cashback.status.CONFIRMED': 'Dibayar',
|
||||
'cashback.col.period': 'Tempoh',
|
||||
'cashback.col.status': 'Status',
|
||||
'cashback.col.bet_count': 'Pertaruhan',
|
||||
'cashback.col.created_at': 'Dicipta',
|
||||
'cashback.col.confirmed_at': 'Dibayar pada',
|
||||
'cashback.col.operator': 'Operator',
|
||||
'cashback.view_detail': 'Butiran',
|
||||
'cashback.detail_title': 'Butiran kelompok',
|
||||
'cashback.detail_summary': 'Ringkasan kelompok',
|
||||
'cashback.table_title': 'Butiran rebat pemain',
|
||||
'cashback.table_total': 'Jumlah',
|
||||
'cashback.empty_items': 'Tiada rebat layak dalam tempoh ini',
|
||||
@@ -237,12 +262,16 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'cashback.col.rate': 'Kadar',
|
||||
'cashback.col.amount': 'Rebat',
|
||||
'cashback.confirm_issue': 'Sahkan bayaran',
|
||||
'cashback.cancel_issue': 'Batalkan',
|
||||
'cashback.confirm_prompt': 'Bayar rebat kelompok ini ke dompet pemain? Tindakan ini tidak boleh dibatalkan.',
|
||||
'cashback.cancel_prompt': 'Batalkan kelompok menunggu ini? Tiada kredit dompet; boleh pratonton semula.',
|
||||
'cashback.status.CANCELLED': 'Dibatalkan',
|
||||
'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_flow': 'Aliran: pratonton (satu menunggu setiap tempoh) → semak → sahkan bayaran; batalkan jika tidak perlu. Tempoh dibayar tidak boleh pratonton semula.',
|
||||
'cashback.rule_note_zero': 'Jika 0, semak taruhan WON/LOST dalam tempoh dan kadar rebat > 0.',
|
||||
|
||||
'user.field.player_id': 'ID pemain',
|
||||
@@ -532,6 +561,9 @@ export const adminPagesMs: Record<string, string> = {
|
||||
'msg.outright_teams_added': '{n} pasukan ditambah ({skipped} dilangkau)',
|
||||
'msg.load_matches_failed': 'Gagal memuatkan perlawanan',
|
||||
'msg.cashback_issued': 'Rebat telah dikeluarkan',
|
||||
'msg.cashback_cancelled': 'Kelompok rebat dibatalkan',
|
||||
'msg.cashback_preview_ready': 'Pratonton sedia — semak dan sahkan bayaran',
|
||||
'msg.cashback_preview_replaced': 'Menggantikan {n} pratonton lama untuk tempoh ini',
|
||||
'msg.freeze_confirm_title': '{action} akaun',
|
||||
'msg.freeze_confirm_body': '{action} pemain "{name}"?{extra}',
|
||||
'msg.freeze_extra': ' Mereka tidak akan dapat log masuk.',
|
||||
|
||||
Reference in New Issue
Block a user