"""模块:子服务器数据模型 模拟一个真实子服务器的业务数据结构。""" from django.db import models class BusinessUser(models.Model): """业务用户——模拟子服务器的本地用户数据""" UserID = models.AutoField(primary_key=True, verbose_name='用户ID') Username = models.CharField(max_length=64, unique=True, verbose_name='用户名') Nickname = models.CharField(max_length=128, default='', verbose_name='昵称') OGMMappingID = models.CharField(max_length=128, default='', db_index=True, verbose_name='OGM映射ID') JoinTime = models.DateTimeField(auto_now_add=True, verbose_name='加入时间') UserStatus = models.SmallIntegerField(default=1, verbose_name='用户状态') class Meta: db_table = 'sub_business_user' verbose_name = '业务用户' verbose_name_plural = '业务用户' def __str__(self): return self.Username class BusinessOrder(models.Model): """业务订单——模拟子服务器的本地订单数据""" OrderID = models.AutoField(primary_key=True, verbose_name='订单ID') OrderCode = models.CharField(max_length=64, unique=True, db_index=True, verbose_name='订单编号') User = models.ForeignKey( BusinessUser, on_delete=models.CASCADE, related_name='orders', verbose_name='用户', ) Amount = models.DecimalField(max_digits=18, decimal_places=4, verbose_name='金额') OrderStatus = models.SmallIntegerField(default=0, verbose_name='订单状态') OGMMappingID = models.CharField(max_length=128, default='', db_index=True, verbose_name='OGM映射ID') CreateTime = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') UpdateTime = models.DateTimeField(auto_now=True, verbose_name='更新时间') class Meta: db_table = 'sub_business_order' verbose_name = '业务订单' verbose_name_plural = '业务订单' def __str__(self): return self.OrderCode class SyncLog(models.Model): """同步日志——记录与主服务器 MSYNC 通信的事件""" LogID = models.AutoField(primary_key=True, verbose_name='日志ID') EventType = models.CharField(max_length=64, verbose_name='事件类型') EventDetail = models.JSONField(default=dict, verbose_name='事件详情') EventStatus = models.SmallIntegerField(default=1, verbose_name='事件状态') CreateTime = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') class Meta: db_table = 'sub_sync_log' verbose_name = '同步日志' verbose_name_plural = '同步日志' ordering = ['-CreateTime'] def __str__(self): return f'{self.EventType}@{self.CreateTime}'