models.py 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  1. from django.db import models
  2. from Model.models import Role
  3. # Create your models here.
  4. class AgentCustomerInfo(models.Model):
  5. id = models.AutoField(primary_key=True)
  6. user_id = models.CharField(db_index=True, max_length=32, verbose_name='用户id')
  7. company_name = models.CharField(max_length=32, verbose_name='公司名称')
  8. status = models.SmallIntegerField(default=1, verbose_name='0:无效,1:有效')
  9. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  10. created_by = models.CharField(blank=True, max_length=32, verbose_name='创建人')
  11. updated_time = models.IntegerField(default=0, verbose_name='修改时间')
  12. updated_by = models.CharField(blank=True, max_length=32, verbose_name='修改人')
  13. class Meta:
  14. db_table = 'a_customer_info'
  15. verbose_name = '代理客户信息'
  16. verbose_name_plural = verbose_name
  17. app_label = 'AgentModel'
  18. class AgentCustomerCard(models.Model):
  19. id = models.AutoField(primary_key=True)
  20. ac_id = models.IntegerField(null=True, default=None, verbose_name='代理客户ID')
  21. name = models.CharField(max_length=32, verbose_name='姓名')
  22. card_no = models.CharField(max_length=32, verbose_name='卡号')
  23. status = models.SmallIntegerField(default=1, verbose_name='0:无效,1:有效')
  24. card_address = models.CharField(max_length=128, verbose_name='开户行')
  25. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  26. created_by = models.CharField(blank=True, max_length=32, verbose_name='创建人')
  27. updated_time = models.IntegerField(default=0, verbose_name='修改时间')
  28. updated_by = models.CharField(blank=True, max_length=32, verbose_name='修改人')
  29. class Meta:
  30. db_table = 'a_customer_card'
  31. verbose_name = '代理客户卡信息'
  32. verbose_name_plural = verbose_name
  33. app_label = 'AgentModel'
  34. class AgentDevice(models.Model):
  35. id = models.AutoField(primary_key=True)
  36. ac_id = models.IntegerField(null=True, default=None, verbose_name='代理客户ID')
  37. serial_number = models.CharField(db_index=True, max_length=32, verbose_name='设备9位序列号')
  38. type = models.IntegerField(default=0, verbose_name='设备类型')
  39. status = models.SmallIntegerField(default=1, verbose_name='0:未激活,1:激活')
  40. at_time = models.IntegerField(default=0, verbose_name='激活时间')
  41. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  42. created_by = models.CharField(blank=True, max_length=32, verbose_name='创建人')
  43. updated_time = models.IntegerField(default=0, verbose_name='修改时间')
  44. updated_by = models.CharField(blank=True, max_length=32, verbose_name='修改人')
  45. class Meta:
  46. db_table = 'a_device'
  47. verbose_name = '代理设备'
  48. verbose_name_plural = verbose_name
  49. app_label = 'AgentModel'
  50. class AgentCloudServicePackage(models.Model):
  51. id = models.AutoField(primary_key=True)
  52. service_name = models.CharField(max_length=64, verbose_name='代理服务名称')
  53. package_id = models.IntegerField(null=True, default=None, verbose_name='套餐id')
  54. type = models.IntegerField(default=1, verbose_name='1:云存,2:4G')
  55. profit_type = models.SmallIntegerField(default=1, verbose_name='1:固定值,2:百分比')
  56. cost = models.DecimalField(default=0, max_digits=10, decimal_places=2, verbose_name=u'成本')
  57. profit = models.DecimalField(default=0, max_digits=10, decimal_places=2, verbose_name=u'利润值')
  58. status = models.SmallIntegerField(default=1, verbose_name='0:无效,1:有效')
  59. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  60. created_by = models.CharField(blank=True, max_length=32, verbose_name='创建人')
  61. updated_time = models.IntegerField(default=0, verbose_name='修改时间')
  62. updated_by = models.CharField(blank=True, max_length=32, verbose_name='修改人')
  63. class Meta:
  64. db_table = 'a_cloud_service_package'
  65. verbose_name = '代理云服务套餐'
  66. verbose_name_plural = verbose_name
  67. app_label = 'AgentModel'
  68. class AgentCustomerPackage(models.Model):
  69. id = models.AutoField(primary_key=True)
  70. ac_id = models.IntegerField(null=True, default=None, verbose_name='代理客户ID')
  71. cs_id = models.IntegerField(null=True, default=None, verbose_name='代理服务套餐id')
  72. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  73. created_by = models.CharField(blank=True, max_length=32, verbose_name='创建人')
  74. updated_time = models.IntegerField(default=0, verbose_name='修改时间')
  75. updated_by = models.CharField(blank=True, max_length=32, verbose_name='修改人')
  76. class Meta:
  77. db_table = 'a_customer_package'
  78. verbose_name = '代理客户关联云服务套餐'
  79. verbose_name_plural = verbose_name
  80. app_label = 'AgentModel'
  81. class AgentAccount(models.Model):
  82. id = models.AutoField(primary_key=True)
  83. ac_id = models.IntegerField(null=True, default=None, verbose_name='代理客户ID')
  84. amount = models.DecimalField(default=0, max_digits=10, decimal_places=2, verbose_name='金额')
  85. status = models.SmallIntegerField(default=1, verbose_name='1:已结算,2:已退款,3:提现')
  86. remark = models.CharField(null=True, default=None, max_length=255, verbose_name='备注')
  87. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  88. updated_time = models.IntegerField(default=0, verbose_name='修改时间')
  89. class Meta:
  90. db_table = 'a_account'
  91. verbose_name = '代理账户余额'
  92. verbose_name_plural = verbose_name
  93. app_label = 'AgentModel'
  94. class AgentAccountWithdraw(models.Model):
  95. id = models.AutoField(primary_key=True)
  96. ac_id = models.IntegerField(null=True, default=None, verbose_name='代理客户ID')
  97. amount = models.DecimalField(default=0, max_digits=10, decimal_places=2, verbose_name='金额')
  98. status = models.SmallIntegerField(default=1, verbose_name='1:审核中,2:审核通过,3:审核失败,4:已打款')
  99. card_id = models.IntegerField(null=True, default=None, verbose_name='客户提现卡id')
  100. arrival_time = models.IntegerField(default=0, verbose_name='到账时间')
  101. remark = models.CharField(null=True, default=None, max_length=255, verbose_name='备注')
  102. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  103. updated_time = models.IntegerField(default=0, verbose_name='修改时间')
  104. class Meta:
  105. db_table = 'a_account_withdraw'
  106. verbose_name = '代理账户提现明细'
  107. verbose_name_plural = verbose_name
  108. app_label = 'AgentModel'
  109. class AgentDeviceOrder(models.Model):
  110. id = models.AutoField(primary_key=True)
  111. ac_id = models.IntegerField(null=True, default=None, verbose_name='代理客户ID')
  112. serial_number = models.CharField(db_index=True, blank=True, default=None, max_length=32, verbose_name='设备9位序列号')
  113. csp_id = models.IntegerField(null=True, default=None, verbose_name='代理云服务套餐ID')
  114. order_id = models.CharField(blank=True, default=None, max_length=32, verbose_name='关联订单表')
  115. status = models.SmallIntegerField(default=1, verbose_name='0:结算失败,1:待结算,2:已结算,3:订单已退款')
  116. profit_amount = models.DecimalField(default=0, max_digits=10, decimal_places=2, verbose_name='营业额')
  117. profit = models.DecimalField(default=0, max_digits=10, decimal_places=2, verbose_name='利润')
  118. is_del = models.BooleanField(blank=True, default=False, verbose_name=u'是否删除')
  119. settlement_time = models.IntegerField(default=0, verbose_name='结算时间')
  120. remark = models.CharField(null=True, default=None, max_length=128, verbose_name='备注')
  121. expire_time = models.IntegerField(default=0, verbose_name='套餐失效时间')
  122. pay_time = models.IntegerField(default=0, verbose_name='套餐支付时间')
  123. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  124. updated_time = models.IntegerField(default=0, verbose_name='修改时间')
  125. class Meta:
  126. db_table = 'a_device_order'
  127. verbose_name = '代理设备订单结算明细'
  128. verbose_name_plural = verbose_name
  129. app_label = 'AgentModel'
  130. class AgentDeviceOrderInstallment(models.Model):
  131. id = models.AutoField(primary_key=True)
  132. ado_id = models.IntegerField(null=True, default=None, verbose_name='关联的代理设备订单')
  133. ac_id = models.IntegerField(null=True, default=None, verbose_name='代理客户ID')
  134. period_number = models.IntegerField(verbose_name='期数', help_text="这个字段表示这是第几期")
  135. amount = models.DecimalField(default=0, max_digits=10, decimal_places=2, verbose_name='本期结算金额')
  136. status = models.SmallIntegerField(default=1, verbose_name='0:结算失败,1:待结算,2:已结算,3:已退款')
  137. settlement_time = models.IntegerField(default=0, verbose_name='实际结算时间', help_text="记录实际结算的时间戳")
  138. due_date = models.IntegerField(verbose_name='应结算日期', help_text="预计结算的时间戳")
  139. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  140. updated_time = models.IntegerField(default=0, verbose_name='修改时间')
  141. class Meta:
  142. db_table = 'a_device_order_installment'
  143. verbose_name = '代理设备订单分期结算'
  144. verbose_name_plural = verbose_name
  145. app_label = 'AgentModel'
  146. class ApplyAgent(models.Model):
  147. id = models.AutoField(primary_key=True)
  148. name = models.CharField(max_length=32, verbose_name='姓名')
  149. phone = models.CharField(max_length=16, db_index=True, verbose_name=u'手机号', default='', blank=True)
  150. regin = models.CharField(default='', max_length=32, verbose_name='地区')
  151. remark = models.CharField(null=True, default=None, max_length=128, verbose_name='备注')
  152. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  153. updated_time = models.IntegerField(default=0, verbose_name='修改时间')
  154. class Meta:
  155. db_table = 'apply_agent'
  156. verbose_name = '申请代理表'
  157. verbose_name_plural = verbose_name
  158. app_label = 'AgentModel'
  159. class CustomUIDPool(models.Model):
  160. id = models.AutoField(primary_key=True, verbose_name='自增标记ID')
  161. uid = models.CharField(default='', db_index=True, max_length=32, unique=True, verbose_name='设备ID')
  162. type = models.SmallIntegerField(default=1, verbose_name=u'外销客户UID')
  163. customer_name = models.CharField(default='', max_length=32, verbose_name='客户id')
  164. status = models.IntegerField(default=0, verbose_name='0:未绑,1:绑定,2:弃用不再使用')
  165. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  166. updated_time = models.IntegerField(default=0, verbose_name='更新时间')
  167. class Meta:
  168. db_table = 'custom_uid_pool'
  169. verbose_name = '定制UID池'
  170. verbose_name_plural = verbose_name
  171. app_label = 'AgentModel'
  172. class DeviceCustomUID(models.Model):
  173. id = models.AutoField(primary_key=True, verbose_name='自增标记ID')
  174. uid = models.CharField(default='', db_index=True, max_length=32, unique=True, verbose_name='设备ID')
  175. device_mac = models.CharField(default='', db_index=True, max_length=64, unique=True, verbose_name='mac地址')
  176. status = models.IntegerField(default=0, verbose_name='1:绑定,2:失败')
  177. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  178. updated_time = models.IntegerField(default=0, verbose_name='更新时间')
  179. class Meta:
  180. db_table = 'device_custom_uid'
  181. verbose_name = '设备关联定制UID'
  182. verbose_name_plural = verbose_name
  183. app_label = 'AgentModel'
  184. class BurnRecord(models.Model):
  185. id = models.AutoField(primary_key=True, verbose_name='自增标记ID')
  186. order_number = models.CharField(default='', max_length=32, verbose_name='订单号')
  187. burn_count = models.IntegerField(verbose_name='烧录数量')
  188. purpose = models.TextField(verbose_name='用途')
  189. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  190. updated_time = models.IntegerField(default=0, verbose_name='更新时间')
  191. class Meta:
  192. db_table = 'burn_record'
  193. verbose_name = '烧录记录'
  194. verbose_name_plural = verbose_name
  195. app_label = 'AgentModel'
  196. class BurnBatch(models.Model):
  197. id = models.AutoField(primary_key=True, verbose_name='批次ID')
  198. batch_number = models.CharField(max_length=50, unique=True, verbose_name='批次号')
  199. purpose = models.TextField(verbose_name='用途') # 批次级别的用途(替代原表的purpose,避免冗余)
  200. created_time = models.IntegerField(default=0, verbose_name='批次创建时间')
  201. manager = models.CharField(max_length=100, verbose_name='负责人') # 新增:负责人(姓名或工号)
  202. total_uid = models.IntegerField(default=0, verbose_name='总UID数量') # 新增:该批次包含的UID总数
  203. # 可扩展其他批次属性:如来源平台、负责人、总数量(预存统计结果)等
  204. class Meta:
  205. db_table = 'burn_batch'
  206. verbose_name = '烧录批次'
  207. verbose_name_plural = verbose_name
  208. app_label = 'AgentModel'
  209. class BurnEncryptedICUID(models.Model):
  210. id = models.AutoField(primary_key=True, verbose_name='自增标记ID')
  211. batch_id = models.IntegerField(default=0, verbose_name='UID批次ID')
  212. burn_id = models.IntegerField(default=0, verbose_name='烧录记录ID')
  213. uid = models.CharField(default='', db_index=True, max_length=32, verbose_name='设备UID')
  214. status = models.IntegerField(default=0, verbose_name='0:已下载,1:烧录成功,2:失败')
  215. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  216. updated_time = models.IntegerField(default=0, verbose_name='更新时间')
  217. class Meta:
  218. db_table = 'burn_encrypted_ic_uid'
  219. verbose_name = '烧录加密ICUID'
  220. verbose_name_plural = verbose_name
  221. app_label = 'AgentModel'
  222. class AgentMenu(models.Model):
  223. id = models.AutoField(primary_key=True, verbose_name=u'自增标记ID')
  224. parentId = models.IntegerField(default=0, verbose_name='父节点ID')
  225. name = models.CharField(max_length=50, null=True, default='', verbose_name='名称')
  226. path = models.CharField(max_length=100, null=True, default='', verbose_name='路径')
  227. component = models.CharField(max_length=100, null=True, default='', verbose_name='组件路径')
  228. hidden = models.BooleanField(blank=True, default=False, verbose_name=u'是否隐藏')
  229. title = models.CharField(max_length=50, default='', verbose_name='标题')
  230. icon = models.CharField(max_length=50, default='', verbose_name='图标')
  231. sort = models.IntegerField(default=0, verbose_name='排序')
  232. menu_code = models.CharField(max_length=50, default='', verbose_name='菜单编码')
  233. menutype = models.SmallIntegerField(default=1, verbose_name=u'类型') # 类型: 1-菜单 2-按钮
  234. class Meta:
  235. db_table = 'agent_menu'
  236. verbose_name = '代理菜单表'
  237. verbose_name_plural = verbose_name
  238. app_label = 'AgentModel'
  239. class AgentRole(models.Model):
  240. rid = models.SmallIntegerField(primary_key=True, unique=True, verbose_name=u'用户角色组ID')
  241. role_name = models.CharField(max_length=32, unique=True,
  242. default='User', verbose_name=u'角色名称')
  243. description = models.TextField(blank=True, default='', verbose_name=u'描述信息')
  244. data_scope = models.SmallIntegerField(default=1, verbose_name='数据权限')
  245. agent_type = models.SmallIntegerField(default=1, verbose_name='代理类型')
  246. class Meta:
  247. db_table = 'agent_role'
  248. verbose_name = '代理角色'
  249. verbose_name_plural = verbose_name
  250. app_label = 'AgentModel'
  251. class AgentRoleMenu(models.Model):
  252. role = models.ForeignKey(AgentRole, on_delete=models.CASCADE, verbose_name='角色ID')
  253. menu = models.ForeignKey(AgentMenu, on_delete=models.CASCADE, verbose_name='菜单ID')
  254. class Meta:
  255. db_table = 'agent_role_menu'
  256. unique_together = ('role', 'menu')
  257. verbose_name = '代理角色菜单权限'
  258. app_label = 'AgentModel'
  259. class AgentUserRole(models.Model):
  260. user_id = models.CharField(db_index=True, max_length=32, verbose_name='用户id')
  261. role = models.ForeignKey(AgentRole, on_delete=models.CASCADE, verbose_name='角色ID')
  262. created_time = models.IntegerField(default=0, verbose_name='创建时间')
  263. updated_time = models.IntegerField(default=0, verbose_name='修改时间')
  264. class Meta:
  265. db_table = 'agent_user_role'
  266. verbose_name = '代理用户角色关联'
  267. verbose_name_plural = verbose_name
  268. app_label = 'AgentModel'