fix(admin,api,player): 返水注单去重、操作日志 i18n 与钱包紧凑金额

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-08 16:07:11 +08:00
parent 22535d4c27
commit 0d761db70b
8 changed files with 216 additions and 26 deletions

View File

@@ -226,10 +226,22 @@ export const adminPagesMs: Record<string, string> = {
'audit.col.time': 'Masa',
'audit.action.CREATE_PLAYER': 'Cipta pemain',
'audit.action.UPDATE_PLAYER': 'Kemas kini pemain',
'audit.action.RESET_DATABASE': 'Set semula pangkalan data',
'audit.action.CREATE_AGENT': 'Cipta ejen',
'audit.action.UPDATE_AGENT': 'Kemas kini ejen',
'audit.action.UPDATE_PLAYER_ACCOUNT_SETTINGS': 'Kemas kini tetapan akaun pemain',
'audit.action.UPDATE_AGENT_SUSPEND_SETTINGS': 'Kemas kini tetapan penggantungan ejen',
'audit.action.UPDATE_BETTING_LIMITS': 'Kemas kini had pertaruhan',
'audit.action.CONFIRM_SETTLEMENT': 'Sahkan penyelesaian',
'audit.action.CONFIRM_RESETTLE': 'Sahkan penyelesaian semula',
'audit.action.CONFIRM_CASHBACK': 'Sahkan bayaran rebat',
'audit.action.CANCEL_CASHBACK': 'Batalkan kelompok rebat',
'audit.module.USERS': 'Pemain',
'audit.module.AGENTS': 'Ejen',
'audit.module.SYSTEM': 'Sistem',
'audit.module.SETTINGS': 'Tetapan',
'audit.module.SETTLEMENT': 'Penyelesaian',
'audit.module.CASHBACK': 'Rebat',
'cashback.start_date': 'Tarikh mula',
'cashback.end_date': 'Tarikh tamat',

View File

@@ -245,8 +245,19 @@ export const adminPagesZh: Record<string, string> = {
'audit.action.RESET_DATABASE': '重置数据库',
'audit.action.CREATE_AGENT': '新建代理',
'audit.action.UPDATE_AGENT': '更新代理',
'audit.action.UPDATE_PLAYER_ACCOUNT_SETTINGS': '更新玩家账号设置',
'audit.action.UPDATE_AGENT_SUSPEND_SETTINGS': '更新代理停押设置',
'audit.action.UPDATE_BETTING_LIMITS': '更新投注限额',
'audit.action.CONFIRM_SETTLEMENT': '确认结算',
'audit.action.CONFIRM_RESETTLE': '确认重结算',
'audit.action.CONFIRM_CASHBACK': '确认发放返水',
'audit.action.CANCEL_CASHBACK': '作废返水批次',
'audit.module.USERS': '玩家',
'audit.module.AGENTS': '代理',
'audit.module.SYSTEM': '系统',
'audit.module.SETTINGS': '系统设置',
'audit.module.SETTLEMENT': '结算',
'audit.module.CASHBACK': '返水',
'cashback.start_date': '开始日期',
'cashback.end_date': '结束日期',
@@ -929,8 +940,19 @@ export const adminPagesEn: Record<string, string> = {
'audit.action.RESET_DATABASE': 'Reset database',
'audit.action.CREATE_AGENT': 'Create agent',
'audit.action.UPDATE_AGENT': 'Update agent',
'audit.action.UPDATE_PLAYER_ACCOUNT_SETTINGS': 'Update player account settings',
'audit.action.UPDATE_AGENT_SUSPEND_SETTINGS': 'Update agent suspend settings',
'audit.action.UPDATE_BETTING_LIMITS': 'Update betting limits',
'audit.action.CONFIRM_SETTLEMENT': 'Confirm settlement',
'audit.action.CONFIRM_RESETTLE': 'Confirm resettlement',
'audit.action.CONFIRM_CASHBACK': 'Confirm cashback payout',
'audit.action.CANCEL_CASHBACK': 'Cancel cashback batch',
'audit.module.USERS': 'Players',
'audit.module.AGENTS': 'Agents',
'audit.module.SYSTEM': 'System',
'audit.module.SETTINGS': 'Settings',
'audit.module.SETTLEMENT': 'Settlement',
'audit.module.CASHBACK': 'Cashback',
'cashback.start_date': 'Start date',
'cashback.end_date': 'End date',

View File

@@ -1,22 +1,12 @@
<script setup lang="ts">
import { ref, onMounted } from 'vue';
import { useAdminLocale } from '../composables/useAdminLocale';
import { useAuditLabels } from '../utils/audit-labels';
import api from '../api';
import AdminTableEmpty from '../components/AdminTableEmpty.vue';
const { t, locale, localeTag } = useAdminLocale();
function auditActionLabel(action: string) {
const key = `audit.action.${action}`;
const label = t(key);
return label === key ? action : label;
}
function auditModuleLabel(module: string) {
const key = `audit.module.${module}`;
const label = t(key);
return label === key ? module : label;
}
const { auditActionLabel, auditModuleLabel } = useAuditLabels();
interface AuditRow {
action: string;