Files

105 lines
4.0 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""模块:CRB 后台管理
注册 6 个 MC 插件共享表(managed=False,只读浏览)与 4 个 Django 独有表
(managed=True,可增删改查)。MC 插件表通过 ``readonly_fields`` 防止误改。"""
from django.contrib import admin
from .models import (
CmeCurrencies, CmeBalances, CmeTransactions, CmePaymentRequests,
CmePlayerSettings, CmeExchangeRates,
CmeStoreValue, CmeWalletGVSDSMapping, Enterprise, EnterpriseUser,
)
class MCPluginReadOnlyAdminMixin:
"""MC 插件共享表只读 Mixin——禁止通过 admin 增删改,保护 MC 插件数据。"""
def has_add_permission(self, request, obj=None):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
@admin.register(CmeCurrencies)
class CmeCurrenciesAdmin(MCPluginReadOnlyAdminMixin, admin.ModelAdmin):
"""CME 币种管理(只读)"""
list_display = ('CurrencyID', 'CurrencyName', 'CurrencySymbol', 'Tradable', 'CreatedAt')
search_fields = ('CurrencyName', 'CurrencySymbol')
list_filter = ('Tradable',)
@admin.register(CmeBalances)
class CmeBalancesAdmin(MCPluginReadOnlyAdminMixin, admin.ModelAdmin):
"""CME 钱包余额管理(只读)"""
list_display = ('BalanceID', 'UserUUID', 'Currency', 'Balance', 'UpdatedAt')
search_fields = ('UserUUID',)
list_filter = ('Currency',)
@admin.register(CmeTransactions)
class CmeTransactionsAdmin(MCPluginReadOnlyAdminMixin, admin.ModelAdmin):
"""CME 交易流水管理(只读)"""
list_display = ('TransactionID', 'FromUUID', 'ToUUID', 'Currency', 'Amount', 'TransactionType', 'CreatedAt')
search_fields = ('FromUUID', 'ToUUID', 'Description')
list_filter = ('TransactionType', 'Currency')
@admin.register(CmePaymentRequests)
class CmePaymentRequestsAdmin(MCPluginReadOnlyAdminMixin, admin.ModelAdmin):
"""CME 付款请求管理(只读)"""
list_display = ('RequestID', 'FromUUID', 'ToUUID', 'Currency', 'Amount', 'Status', 'CreatedAt')
search_fields = ('FromUUID', 'ToUUID')
list_filter = ('Status', 'Currency')
@admin.register(CmePlayerSettings)
class CmePlayerSettingsAdmin(MCPluginReadOnlyAdminMixin, admin.ModelAdmin):
"""CME 玩家设置管理(只读)"""
list_display = ('SettingID', 'UserUUID', 'Language', 'UpdatedAt')
search_fields = ('UserUUID',)
list_filter = ('Language',)
@admin.register(CmeExchangeRates)
class CmeExchangeRatesAdmin(MCPluginReadOnlyAdminMixin, admin.ModelAdmin):
"""CME 汇率管理(只读)"""
list_display = ('RateID', 'CurrencyName', 'Rate', 'UpdatedAt')
search_fields = ('CurrencyName',)
@admin.register(CmeStoreValue)
class CmeStoreValueAdmin(admin.ModelAdmin):
"""储值管理(可读写,GVSDS 业务表)"""
list_display = ('StoreValueUUID', 'PlayerName', 'StoreValueAmount', 'StoreValueType',
'StoreValueDayInterestRate', 'StoreValueExpirationGameDate',
'StoreValueCreateDateTime')
list_filter = ('StoreValueType',)
search_fields = ('PlayerName', 'UserUUID', 'PlayerUUID')
@admin.register(CmeWalletGVSDSMapping)
class CmeWalletGVSDSMappingAdmin(admin.ModelAdmin):
"""GVSDS↔MC 玩家映射管理(可读写,GVSDS 业务表)"""
list_display = ('MappingID', 'UserUUID', 'PlayerUUID')
search_fields = ('UserUUID', 'PlayerUUID')
@admin.register(Enterprise)
class EnterpriseAdmin(admin.ModelAdmin):
"""企业管理(可读写,GVSDS 业务表)"""
list_display = ('EnterpriseName', 'EnterpriseType', 'EnterpriseStatus', 'EnterpriseCreateTime')
search_fields = ('EnterpriseName', 'EnterpriseUUID')
list_filter = ('EnterpriseStatus', 'EnterpriseType')
@admin.register(EnterpriseUser)
class EnterpriseUserAdmin(admin.ModelAdmin):
"""企业用户管理(可读写,GVSDS 业务表)"""
list_display = ('EnterpriseSMTMUUID', 'EnterpriseUUID', 'UserUUID', 'EnterpriseUserType')
list_filter = ('EnterpriseUserType',)
search_fields = ('UserUUID',)