feat(admin+api+player): 优胜赛结算态、禁止新增单场与钱包流水展示优化

- API/管理端:优胜赛 SETTLED 后禁止新增单场,列表与子页展示结算状态
- 玩家端:已结算 outright 只读展示并高亮冠军
- 管理端:结算后 stale 标记驱动列表刷新;财务流水时间与备注 i18n 优化
- shared:txDisplayAmount 与 LEAGUE_OUTRIGHT_SETTLED 错误码
This commit is contained in:
2026-06-23 12:20:40 +08:00
parent ce84226219
commit d3c211411b
36 changed files with 525 additions and 128 deletions

View File

@@ -231,6 +231,9 @@ export const adminPagesMs: Record<string, string> = {
'finance.remark.admin_deposit': 'Deposit admin',
'finance.remark.admin_withdraw': 'Pengeluaran admin',
'finance.remark.initial_balance': 'Baki permulaan akaun',
'finance.remark.revoke_deposit': 'Deposit diluluskan dibatalkan {orderNo}',
'finance.remark.deposit_order': 'Pesanan deposit {orderNo}',
'finance.remark.cashback_batch': 'Kumpulan cashback {batchNo}',
'agent.col.no_records': 'Tiada rekod',
'agent.btn.confirm_adjust': 'Sahkan',
'agent.field.select_user': 'Pilih pengguna',
@@ -278,6 +281,8 @@ export const adminPagesMs: Record<string, string> = {
'match.hint.create_league': 'Kejohanan baharu tidak diterbitkan secara lalai; terbitkan untuk paparan pemain, kemudian kembangkan untuk tambah perlawanan.',
'league.status.PUBLISHED': 'Diterbitkan',
'league.status.UNPUBLISHED': 'Tidak diterbitkan',
'league.status.OUTRIGHT_SETTLED': 'Kejohanan diselesaikan',
'league.hint.outright_settled_no_fixture': 'Pasaran juara telah diselesaikan; perlawanan baharu tidak boleh ditambah.',
'league.btn.unpublish': 'Nyahterbit',
'league.confirm_unpublish': 'Pemain tidak lagi melihat kejohanan ini; anda masih boleh edit dan terbitkan semula di admin. Teruskan?',
'msg.league_published': 'Kejohanan diterbitkan',

View File

@@ -237,6 +237,9 @@ export const adminPagesZh: Record<string, string> = {
'finance.remark.admin_deposit': '管理员上分',
'finance.remark.admin_withdraw': '管理员下分',
'finance.remark.initial_balance': '开户初始余额',
'finance.remark.revoke_deposit': '撤销已通过充值 {orderNo}',
'finance.remark.deposit_order': '充值订单 {orderNo}',
'finance.remark.cashback_batch': '返水批次 {batchNo}',
'agent.col.no_records': '暂无记录',
'agent.btn.confirm_adjust': '确认调整',
'agent.field.select_user': '选择用户',
@@ -295,6 +298,8 @@ export const adminPagesZh: Record<string, string> = {
'match.hint.create_league': '新建联赛默认为未发布,请在列表点击「发布」后玩家端可见;展开该行可添加单场。',
'league.status.PUBLISHED': '已发布',
'league.status.UNPUBLISHED': '未发布',
'league.status.OUTRIGHT_SETTLED': '赛事已结算',
'league.hint.outright_settled_no_fixture': '优胜赛已结算,不可再新增单场。',
'league.btn.unpublish': '下架',
'league.confirm_unpublish': '下架后玩家端将不再展示该联赛,管理端仍可编辑与重新发布。是否继续?',
'msg.league_published': '联赛已发布',
@@ -1336,6 +1341,9 @@ export const adminPagesEn: Record<string, string> = {
'finance.remark.admin_deposit': 'Admin deposit',
'finance.remark.admin_withdraw': 'Admin withdraw',
'finance.remark.initial_balance': 'Initial account balance',
'finance.remark.revoke_deposit': 'Revoked approved deposit {orderNo}',
'finance.remark.deposit_order': 'Deposit order {orderNo}',
'finance.remark.cashback_batch': 'Cashback batch {batchNo}',
'agent.col.no_records': 'No records',
'agent.btn.confirm_adjust': 'Confirm',
'agent.field.select_user': 'Select user',
@@ -1394,6 +1402,8 @@ export const adminPagesEn: Record<string, string> = {
'match.hint.create_league': 'New tournaments are unpublished by default; use Publish in the list for player visibility, then expand to add fixtures.',
'league.status.PUBLISHED': 'Published',
'league.status.UNPUBLISHED': 'Unpublished',
'league.status.OUTRIGHT_SETTLED': 'Tournament settled',
'league.hint.outright_settled_no_fixture': 'Outright market is settled; new fixtures cannot be added.',
'league.btn.unpublish': 'Unpublish',
'league.confirm_unpublish': 'Players will no longer see this tournament; you can still edit and republish in admin. Continue?',
'msg.league_published': 'Tournament published',

View File

@@ -242,6 +242,9 @@ const adminPages: Record<string, string> = {
'finance.remark.admin_deposit': 'Admin deposit',
'finance.remark.admin_withdraw': 'Admin withdraw',
'finance.remark.initial_balance': 'Initial account balance',
'finance.remark.revoke_deposit': 'Revoked approved deposit {orderNo}',
'finance.remark.deposit_order': 'Deposit order {orderNo}',
'finance.remark.cashback_batch': 'Cashback batch {batchNo}',
'agent.col.no_records': 'No records',
'agent.btn.confirm_adjust': 'Confirm',
'agent.field.select_user': 'Select user',
@@ -300,6 +303,8 @@ const adminPages: Record<string, string> = {
'match.hint.create_league': 'New tournaments are unpublished by default; use Publish in the list for player visibility, then expand to add fixtures.',
'league.status.PUBLISHED': 'Published',
'league.status.UNPUBLISHED': 'Unpublished',
'league.status.OUTRIGHT_SETTLED': 'Tournament settled',
'league.hint.outright_settled_no_fixture': 'Outright market is settled; new fixtures cannot be added.',
'league.btn.unpublish': 'Unpublish',
'league.confirm_unpublish': 'Players will no longer see this tournament; you can still edit and republish in admin. Continue?',
'msg.league_published': 'Tournament published',

View File

@@ -243,6 +243,9 @@ const adminPages: Record<string, string> = {
'finance.remark.admin_deposit': '管理员上分',
'finance.remark.admin_withdraw': '管理员下分',
'finance.remark.initial_balance': '开户初始余额',
'finance.remark.revoke_deposit': '撤销已通过充值 {orderNo}',
'finance.remark.deposit_order': '充值订单 {orderNo}',
'finance.remark.cashback_batch': '返水批次 {batchNo}',
'agent.col.no_records': '暂无记录',
'agent.btn.confirm_adjust': '确认调整',
'agent.field.select_user': '选择用户',
@@ -301,6 +304,8 @@ const adminPages: Record<string, string> = {
'match.hint.create_league': '新建联赛默认为未发布,请在列表点击「发布」后玩家端可见;展开该行可添加单场。',
'league.status.PUBLISHED': '已发布',
'league.status.UNPUBLISHED': '未发布',
'league.status.OUTRIGHT_SETTLED': '赛事已结算',
'league.hint.outright_settled_no_fixture': '优胜赛已结算,不可再新增单场。',
'league.btn.unpublish': '下架',
'league.confirm_unpublish': '下架后玩家端将不再展示该联赛,管理端仍可编辑与重新发布。是否继续?',
'msg.league_published': '联赛已发布',