models.py 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  1. from django.db import models
  2. # Create your models here.
  3. # 用户表
  4. class UserModel(models.Model):
  5. id = models.AutoField(primary_key=True)
  6. username = models.CharField(max_length=64, unique=True, default='', verbose_name='用户名')
  7. password = models.CharField(max_length=128, default='', verbose_name='密码')
  8. role_id = models.CharField(max_length=64, default='', verbose_name='角色')
  9. addTime = models.IntegerField(verbose_name='添加时间', default=0)
  10. updTime = models.IntegerField(verbose_name='更新时间', default=0)
  11. role_type = models.IntegerField(verbose_name='角色类型', default=0)
  12. class Meta:
  13. ordering = ('-addTime',)
  14. verbose_name = '用户表'
  15. db_table = 'lang_user'
  16. def __str__(self):
  17. return self.username
  18. # 语种
  19. class LangAreaModel(models.Model):
  20. id = models.AutoField(primary_key=True)
  21. lang = models.CharField(max_length=32, default='', verbose_name='语言')
  22. addTime = models.IntegerField(verbose_name='添加时间', default=0)
  23. updTime = models.IntegerField(verbose_name='更新时间', default=0)
  24. class Meta:
  25. ordering = ('-addTime',)
  26. verbose_name = '语种'
  27. db_table = 'lang_area'
  28. # 用户关联语种配置
  29. class LangSetModel(models.Model):
  30. id = models.AutoField(primary_key=True)
  31. user = models.ForeignKey(UserModel, verbose_name='用户表id', to_field='id', on_delete=models.CASCADE)
  32. lang = models.ForeignKey(LangAreaModel, verbose_name='关联语种id', to_field='id', on_delete=models.CASCADE)
  33. addTime = models.IntegerField(verbose_name='添加时间', default=0)
  34. updTime = models.IntegerField(verbose_name='更新时间', default=0)
  35. class Meta:
  36. ordering = ('-addTime',)
  37. verbose_name = '用户关联语种配置'
  38. db_table = 'lang_set'
  39. class LangProjectModel(models.Model):
  40. id = models.AutoField(primary_key=True)
  41. name = models.CharField(max_length=32, null=False, verbose_name='项目名')
  42. add_time = models.IntegerField(default=0, verbose_name='添加时间')
  43. update_time = models.IntegerField(default=0, verbose_name='更新时间')
  44. class Meta:
  45. verbose_name = '语言项目'
  46. verbose_name_plural = verbose_name
  47. db_table = 'lang_project'
  48. class LangKeyModel(models.Model):
  49. id = models.AutoField(primary_key=True)
  50. word_key = models.CharField(default='', max_length=64, verbose_name='词汇键')
  51. project = models.ForeignKey(LangProjectModel, null=True, to_field='id', on_delete=models.CASCADE, verbose_name='关联项目表')
  52. addTime = models.IntegerField(default=0, verbose_name='添加时间')
  53. updTime = models.IntegerField(default=0, verbose_name='更新时间')
  54. '''
  55. # 00000001:移动端;00000010:pc端(avss);00000100:Zosi Link
  56. '''
  57. type = models.SmallIntegerField(default=1, verbose_name='词汇键类型')
  58. class Meta:
  59. unique_together = ('word_key', 'project')
  60. ordering = ('-addTime',)
  61. verbose_name = '词汇k表'
  62. db_table = 'lang_key'
  63. class LangValModel(models.Model):
  64. id = models.AutoField(primary_key=True)
  65. lk = models.ForeignKey(LangKeyModel, null=True, verbose_name='v关联词汇k', to_field='id', on_delete=models.CASCADE)
  66. la = models.ForeignKey(LangAreaModel, null=True, verbose_name='词汇k关联语种', to_field='id', on_delete=models.CASCADE)
  67. word_val = models.CharField(default='', max_length=64, verbose_name='词汇v')
  68. addTime = models.IntegerField(default=0, verbose_name='添加时间')
  69. updTime = models.IntegerField(default=0, verbose_name='更新时间')
  70. status = models.IntegerField(default=0, verbose_name='编辑状态') #-------0:重置后;1:新增;2:编辑后
  71. class Meta:
  72. ordering = ('-addTime',)
  73. verbose_name = '词汇v表'
  74. db_table = 'lang_val'
  75. #
  76. class AsImgModel(models.Model):
  77. id = models.AutoField(primary_key=True) # 主键
  78. asin = models.CharField(default='', max_length=32, verbose_name='产品编码', db_index=True) # 产品asin吗,唯一
  79. url = models.CharField(default='', max_length=128, verbose_name='产品图片url')
  80. md5 = models.CharField(default='', max_length=128, verbose_name='图片md5')
  81. addTime = models.IntegerField(default=0, verbose_name="添加时间")
  82. updTime = models.IntegerField(default=0, verbose_name='更新时间')
  83. class Meta:
  84. ordering = ('-addTime',)
  85. verbose_name = '亚马逊图片表'
  86. db_table = 'as_img'
  87. class SysSetModel(models.Model):
  88. id = models.AutoField(primary_key=True)
  89. key = models.CharField(default='', max_length=64, verbose_name='键名') # 亚马逊产品图片检测邮箱
  90. val = models.CharField(default='', max_length=64, verbose_name='键值') # 亚马逊产品图片检测邮箱
  91. addTime = models.IntegerField(default=0, verbose_name='添加时间')
  92. updTime = models.IntegerField(default=0, verbose_name='更新时间')
  93. class Meta:
  94. ordering = ('-addTime',)
  95. verbose_name = '系统配置表'
  96. db_table = 'sys_set'
  97. # 手机注册表 抽奖
  98. class phoneNumModel(models.Model):
  99. id = models.AutoField(primary_key=True)
  100. phone = models.CharField(default='', verbose_name='手机', max_length=11)
  101. status = models.SmallIntegerField(default=0, verbose_name='中奖状态') # 1为c611,2为c612
  102. addr = models.TextField(blank=True, default='', verbose_name=u'更新内容')
  103. addTime = models.IntegerField(default=0, verbose_name='添加时间')
  104. updTime = models.IntegerField(default=0, verbose_name='更新时间')
  105. class Meta:
  106. ordering = ('-addTime',)
  107. verbose_name = '手机注册表'
  108. db_table = 'phoneNum'
  109. # sku套装名称表
  110. class skuSuitModel(models.Model):
  111. id = models.AutoField(primary_key=True)
  112. suitName = models.CharField(default='', verbose_name='套装名称', max_length=64)
  113. addTime = models.IntegerField(default=0, verbose_name='添加时间')
  114. updTime = models.IntegerField(default=0, verbose_name='更新时间')
  115. class Meta:
  116. ordering = ('-id',)
  117. verbose_name = 'sku套装名称表'
  118. db_table = 'sku_suit_name'
  119. # sku规则名称表
  120. class skuRuleModel(models.Model):
  121. id = models.AutoField(primary_key=True)
  122. rs = models.ForeignKey(skuSuitModel, verbose_name='关联套装名称表', to_field='id', on_delete=models.CASCADE)
  123. ruleName = models.CharField(default='', verbose_name='规则名称', max_length=64)
  124. addTime = models.IntegerField(default=0, verbose_name='添加时间')
  125. updTime = models.IntegerField(default=0, verbose_name='更新时间')
  126. class Meta:
  127. ordering = ('-id',)
  128. verbose_name = 'sku规则名称表'
  129. db_table = 'sku_rule_name'
  130. #sku 条件表
  131. class skuConditionModel(models.Model):
  132. id = models.AutoField(primary_key=True)
  133. cr = models.ForeignKey(skuRuleModel , verbose_name='关联规则名称表', to_field='id', on_delete=models.CASCADE)
  134. numName = models.CharField(default='', verbose_name='字母表示', max_length=64)
  135. conditionName = models.CharField(default='', verbose_name='条件名称', max_length=64)
  136. addTime = models.IntegerField(default=0, verbose_name='添加时间')
  137. updTime = models.IntegerField(default=0, verbose_name='更新时间')
  138. class Meta:
  139. ordering = ('-id',)
  140. verbose_name = 'sku条件表'
  141. db_table = 'sku_condition_name'
  142. # 用户关联可编辑语种配置
  143. class LangPermModel(models.Model):
  144. id = models.AutoField(primary_key=True)
  145. user = models.ForeignKey(UserModel, verbose_name='用户表id', to_field='id', on_delete=models.CASCADE)
  146. lang = models.ForeignKey(LangAreaModel, verbose_name='关联语种id', to_field='id', on_delete=models.CASCADE)
  147. addTime = models.IntegerField(verbose_name='添加时间', default=0)
  148. updTime = models.IntegerField(verbose_name='更新时间', default=0)
  149. class Meta:
  150. ordering = ('-addTime',)
  151. verbose_name = '用户关联语种配置'
  152. db_table = 'lang_perm'
  153. class LangClassModel(models.Model):
  154. id = models.AutoField(primary_key=True)
  155. name = models.CharField(max_length=64, unique=True, verbose_name='avss中的context的name')
  156. class Meta:
  157. verbose_name = 'avss的模块表'
  158. verbose_name_plural = verbose_name
  159. db_table = 'lang_class'
  160. class LangKeyClassModel(models.Model):
  161. id = models.AutoField(primary_key=True)
  162. lk = models.ForeignKey(LangKeyModel, null=True, to_field='id', on_delete=models.CASCADE, verbose_name='关联词汇键表')
  163. clazz = models.ForeignKey(LangClassModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联avss模块表')
  164. class Meta:
  165. verbose_name = '词汇键与avss模块映射表'
  166. verbose_name_plural = verbose_name
  167. db_table = 'lang_key_class'
  168. class LangLocationModel(models.Model):
  169. id = models.AutoField(primary_key=True)
  170. lk = models.ForeignKey(LangKeyModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联词汇键表')
  171. filename = models.TextField(default='', null=False, verbose_name='类的路径')
  172. line = models.IntegerField(default=0, verbose_name='所在的类的行')
  173. class Meta:
  174. verbose_name = 'avss的词汇的位置'
  175. verbose_name_plural = verbose_name
  176. db_table = 'lang_location'
  177. # 用户关联可编辑项目配置
  178. class ProjectPermModel(models.Model):
  179. id = models.AutoField(primary_key=True)
  180. user = models.ForeignKey(UserModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联用户表')
  181. project = models.ForeignKey(LangProjectModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联项目表')
  182. class Meta:
  183. verbose_name = '用户关联项目表'
  184. verbose_name_plural = verbose_name
  185. db_table = 'project_perm'
  186. class SearchToolBlock(models.Model):
  187. id = models.AutoField(primary_key=True)
  188. name = models.CharField(default='', unique=True, max_length=200, verbose_name='块名称')
  189. type = models.CharField(default='', max_length=20, verbose_name='协议类型')
  190. addTime = models.IntegerField(verbose_name='添加时间', default=0)
  191. updTime = models.IntegerField(verbose_name='更新时间', default=0)
  192. class Meta:
  193. verbose_name = '协议块存储'
  194. verbose_name_plural = verbose_name
  195. db_table = 'search_tool_block'
  196. # key关联可编辑协议内容
  197. class SearchToolKeyModel(models.Model):
  198. id = models.AutoField(primary_key=True)
  199. lk = models.ForeignKey(LangKeyModel, to_field='id', on_delete=models.CASCADE, verbose_name='关联词汇键表')
  200. bk = models.ForeignKey(SearchToolBlock, to_field='id', on_delete=models.DO_NOTHING, verbose_name='协议块存储')
  201. class Meta:
  202. verbose_name = 'key关联协议表'
  203. verbose_name_plural = verbose_name
  204. db_table = 'search_tool_block_key'
  205. ''' ------------------------------智能客服 start-------------------------------------------'''
  206. class EmailLangConfig(models.Model):
  207. emaillangid = models.AutoField(primary_key=True, verbose_name=u'自增ID')
  208. lang = models.CharField(max_length=32, verbose_name=u'语言')
  209. langcode = models.CharField(max_length=32, verbose_name=u'语言编码')
  210. langdescribe = models.CharField(max_length=64, verbose_name=u'语言描述')
  211. class Meta:
  212. db_table = 'langconfig'
  213. verbose_name = u'语言配置'
  214. verbose_name_plural = verbose_name
  215. class EmailSortModel(models.Model):
  216. emailsortid = models.AutoField(primary_key=True, verbose_name=u'自增ID')
  217. sort = models.CharField(max_length=200, default='', verbose_name='负责分类')
  218. sortcode = models.CharField(max_length=200, default='', verbose_name='分类编号')
  219. parentsortid = models.CharField(max_length=200, null=True, verbose_name='父节点分类')
  220. isautoreply = models.SmallIntegerField(default=0, verbose_name='是否自动回复') # 0:不自动回复 1:自动回复
  221. autoreplymodel = models.TextField(blank=True, null=True, verbose_name=u'回复模板')
  222. # iszhuanfa = models.SmallIntegerField(default=0, verbose_name='是否转发其同事处理') # 0:不 1:是
  223. # zhuanfauser = models.ForeignKey(UserInfo, to_field='userid', on_delete=models.CASCADE) # 转发用户ID
  224. class Meta:
  225. db_table = 'emailsort'
  226. verbose_name = u'邮箱分类配置表'
  227. verbose_name_plural = verbose_name
  228. class EmailProjectConfigModel(models.Model):
  229. emailprojectid = models.AutoField(primary_key=True)
  230. projecname = models.CharField(max_length=200, default='', verbose_name='项目名')
  231. projeccode = models.CharField(max_length=200, default='', verbose_name='项目编号')
  232. class Meta:
  233. db_table = 'emailprojectconfig'
  234. verbose_name = '邮箱项目配置表'
  235. verbose_name_plural = verbose_name
  236. class EmailConfigModel(models.Model):
  237. emailid = models.AutoField(primary_key=True)
  238. fromaddr = models.CharField(max_length=200, default='', verbose_name='邮箱账号')
  239. password = models.CharField(max_length=64, default='', verbose_name='客户端授权码')
  240. emailservername = models.CharField(max_length=64, default='', verbose_name='邮箱服务器名称')
  241. emailserver = models.CharField(max_length=64, default='', verbose_name='邮箱服务器地址')
  242. emailserverport = models.IntegerField(default=0, verbose_name='邮箱服务器端口')
  243. emailserverportagreement = models.CharField(max_length=64, default='', verbose_name='邮箱服务器协议')
  244. emaillangconfig = models.ManyToManyField(to='EmailLangConfig', blank=True, verbose_name=u'邮箱负责语言', db_table='emaillang')
  245. emailproject = models.ForeignKey(EmailProjectConfigModel, to_field='emailprojectid', on_delete=models.CASCADE, verbose_name='邮箱项目配置表')
  246. emailsort = models.ForeignKey(EmailSortModel, to_field='emailsortid', on_delete=models.CASCADE, verbose_name='邮箱分类配置表')
  247. emailtag = models.SmallIntegerField(default=0, verbose_name='邮箱标签') # 0:个人 1:总部 2:其他
  248. class Meta:
  249. db_table = 'emailconfig'
  250. verbose_name = '邮箱配置表'
  251. verbose_name_plural = verbose_name
  252. ''' ------------------------------智能客服 end-------------------------------------------'''