models.py 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. from django.db import models
  2. # Create your models here.
  3. class UserModel(models.Model):
  4. id = models.AutoField(primary_key=True)
  5. username = models.CharField(unique=True, max_length=128, null=False, verbose_name='用户名')
  6. password = models.CharField(max_length=128, null=False, verbose_name='密码')
  7. permission = models.CharField(max_length=24, null=False, verbose_name='权限') # 0:超级管理员;1:uid管理员;2:序列号管理员
  8. login_time = models.IntegerField(blank=True, default=0, verbose_name='登录时间')
  9. online = models.SmallIntegerField(default=0, verbose_name='是否在线')
  10. phone = models.CharField(max_length=11, default='', verbose_name='手机号')
  11. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  12. class Meta:
  13. verbose_name = '用户表'
  14. verbose_name_plural = verbose_name
  15. db_table = 'user'
  16. class UIDModel(models.Model):
  17. id = models.AutoField(primary_key=True)
  18. uid = models.CharField(max_length=20, null=False, db_index=True, unique=True, verbose_name='设备id')
  19. mac = models.CharField(max_length=17, null=False, default='', verbose_name='设备id对应的mac地址')
  20. uid_extra = models.TextField(default='', verbose_name='uid的额外描述')
  21. status = models.SmallIntegerField(default=0, verbose_name='使用状态')
  22. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  23. update_time = models.IntegerField(default=0, verbose_name='更新时间')
  24. area = models.SmallIntegerField(default=0, verbose_name='区域') # 0:国内;1:国外
  25. class Meta:
  26. ordering = ('-add_time',)
  27. verbose_name = 'uid表'
  28. verbose_name_plural = verbose_name
  29. db_table = 'uid'
  30. class UserUIDModel(models.Model):
  31. id = models.AutoField(primary_key=True)
  32. user = models.ForeignKey(UserModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联用户表id')
  33. uid = models.ForeignKey(UIDModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联uid表id')
  34. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  35. update_time = models.IntegerField(default=0, verbose_name='更新时间')
  36. class Meta:
  37. verbose_name = '用户与UID的关联表'
  38. verbose_name_plural = verbose_name
  39. db_table = 'user_uid'
  40. class PermissionModel(models.Model):
  41. id = models.AutoField(primary_key=True)
  42. type = models.SmallIntegerField(null=False, verbose_name='权限枚举')
  43. description = models.TextField(default='', verbose_name='权限描述')
  44. class Meta:
  45. verbose_name = '权限表'
  46. verbose_name_plural = verbose_name
  47. db_table = 'permission'
  48. class LogModel(models.Model):
  49. id = models.AutoField(primary_key=True)
  50. operation = models.CharField(max_length=100, default='', verbose_name='操作描述')
  51. time = models.IntegerField(default=0, verbose_name='操作时间')
  52. ip = models.CharField(default='', max_length=24, verbose_name='用户ip')
  53. user = models.ForeignKey(UserModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联用户id')
  54. content = models.TextField(default='', verbose_name='请求参数')
  55. status = models.IntegerField(default=0, verbose_name='请求状态')
  56. url = models.CharField(max_length=150, default='', verbose_name='请求路径')
  57. class Meta:
  58. ordering = ('-time',)
  59. verbose_name = '日志表'
  60. verbose_name_plural = verbose_name
  61. db_table = 'log'
  62. class HistoryUIDModel(models.Model):
  63. id = models.AutoField(primary_key=True)
  64. uid = models.CharField(max_length=20, null=False, db_index=True, verbose_name='设备id')
  65. uid_extra = models.TextField(default='', verbose_name='uid的额外描述')
  66. status = models.SmallIntegerField(default=0, verbose_name='使用状态')
  67. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  68. update_time = models.IntegerField(default=0, verbose_name='更新时间')
  69. area = models.SmallIntegerField(default=0, verbose_name='区域') # 0:国内;1:国外
  70. class Meta:
  71. verbose_name = '历史UID表'
  72. verbose_name_plural = verbose_name
  73. db_table = 'history_uid'
  74. class MacModel(models.Model):
  75. id = models.AutoField(primary_key=True)
  76. value = models.CharField(max_length=17, null=False, verbose_name='最新的mac地址')
  77. is_active = models.BooleanField(default=True, verbose_name='当前mac地址是否可用')
  78. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  79. update_time = models.IntegerField(default=0, verbose_name='更新时间')
  80. class Meta:
  81. verbose_name = '最新的mac地址表'
  82. verbose_name_plural = verbose_name
  83. db_table = 'tb_mac'
  84. class OrderTaskModel(models.Model):
  85. id = models.AutoField(primary_key=True)
  86. order_number = models.CharField(max_length=32, verbose_name='订单号')
  87. board = models.CharField(max_length=32, verbose_name='主板')
  88. plan = models.CharField(max_length=32, verbose_name='配置方案')
  89. checksum = models.CharField(max_length=32, verbose_name='校验和')
  90. ic_model = models.CharField(max_length=32, verbose_name='ic型号')
  91. quantity = models.IntegerField(default=0, verbose_name='通知单上的生成数量')
  92. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  93. class Meta:
  94. db_table = 'order_task'
  95. verbose_name = '订单任务表'
  96. verbose_name_plural = verbose_name
  97. class OrderUIDModel(models.Model):
  98. id = models.AutoField(primary_key=True)
  99. uid = models.ForeignKey(UIDModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联uid表')
  100. order = models.ForeignKey(OrderTaskModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联订单任务表')
  101. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  102. update_time = models.IntegerField(default=0, verbose_name='更新时间')
  103. class Meta:
  104. db_table = 'order_uid'
  105. verbose_name = '订单与uid关联表'
  106. verbose_name_plural = verbose_name
  107. class SerialNumberModel(models.Model):
  108. id = models.AutoField(primary_key=True)
  109. serial_number = models.CharField(max_length=9, db_index=True, unique=True, verbose_name='序列号')
  110. status = models.SmallIntegerField(default=1, verbose_name='可用状态。0:不可用,1:可用')
  111. use_status = models.SmallIntegerField(default=0, db_index=True,
  112. verbose_name='使用状态, 0: 未使用, 1: 已分配 2: 已下载 3:分配未使用')
  113. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  114. class Meta:
  115. db_table = 'tb_serial_number'
  116. verbose_name = '序列号表'
  117. verbose_name_plural = verbose_name
  118. class CompanyModel(models.Model):
  119. id = models.AutoField(primary_key=True)
  120. name = models.CharField(max_length=64, unique=True, default='', verbose_name='企业名称')
  121. mark = models.CharField(max_length=3, unique=True, default='', verbose_name='企业标志,用于序列号的后三位')
  122. secret = models.CharField(max_length=10, db_index=True, default='', verbose_name='企业秘钥')
  123. quantity = models.IntegerField(default=0, verbose_name='已购买的序列号的数量')
  124. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  125. update_time = models.IntegerField(default=0, verbose_name='更新时间')
  126. class Meta:
  127. db_table = 'tb_company'
  128. verbose_name = '企业表'
  129. verbose_name_plural = verbose_name
  130. class CompanySerialModel(models.Model):
  131. id = models.AutoField(primary_key=True)
  132. company = models.ForeignKey(CompanyModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联企业表的id')
  133. serial_number = models.CharField(max_length=11, db_index=True, blank=True, default='', verbose_name=u'6位数序列号')
  134. status = models.SmallIntegerField(default=0, verbose_name='序列号的状态。0:未使用,1:已使用,2:已下载, 3:已分配')
  135. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  136. update_time = models.IntegerField(default=0, verbose_name='更新时间')
  137. class Meta:
  138. db_table = 'tb_company_serial'
  139. verbose_name = '企业关联序列号表'
  140. verbose_name_plural = verbose_name
  141. class OrderSerialNumberModel(models.Model):
  142. id = models.AutoField(primary_key=True)
  143. serial_number = models.ForeignKey(SerialNumberModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联序列号表')
  144. order = models.ForeignKey(OrderTaskModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联订单任务表')
  145. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  146. update_time = models.IntegerField(default=0, verbose_name='更新时间')
  147. class Meta:
  148. db_table = 'order_serial_number'
  149. verbose_name = '订单与序列号关联表'
  150. verbose_name_plural = verbose_name
  151. class UserSerialNumberModel(models.Model):
  152. id = models.AutoField(primary_key=True)
  153. user = models.ForeignKey(UserModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联用户表id')
  154. serial_number = models.ForeignKey(SerialNumberModel, to_field='id', unique=True, on_delete=models.CASCADE,
  155. verbose_name='关联序列号表')
  156. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  157. update_time = models.IntegerField(default=0, verbose_name='更新时间')
  158. class Meta:
  159. verbose_name = '用户与序列号的关联表'
  160. verbose_name_plural = verbose_name
  161. db_table = 'user_serial_number'