from django.db import models from django.contrib.auth.models import AbstractUser # Create your models here. class AuthUser(AbstractUser): GENDER = ((0, '女'), (1, '男')) STATUS = ((1, "正常"), (2, "删除")) enterprise_id = models.IntegerField(default=1, verbose_name="企业id", null=True, blank=True) avatar = models.ImageField(upload_to='avatars', default='avatars/default.png', verbose_name="头像") gender = models.IntegerField(choices=GENDER, default=1, verbose_name='性别') phone_number = models.CharField(max_length=12, verbose_name='手机号', null=True, blank=True) status = models.IntegerField(verbose_name='状态', default=1) note = models.CharField(max_length=2048, verbose_name="备注", null=True, blank=True) class Meta: db_table = "auth_user" class EnterpriseModel(models.Model): suid = models.CharField(max_length=10, default="", verbose_name="企业suid", null=True, blank=True) name = models.CharField(max_length=255, verbose_name="企业名称", null=False) province = models.CharField(max_length=50, verbose_name="省份", null=True) city = models.CharField(max_length=50, verbose_name="城市", null=True) addr = models.CharField(max_length=255, verbose_name="地址", null=True) industry = models.IntegerField(verbose_name="工业", null=True) contact = models.CharField(max_length=100, verbose_name="联系", null=True) phone = models.CharField(max_length=50, verbose_name="电话", null=True) summary = models.CharField(max_length=255, verbose_name="总结", null=True) logo = models.TextField(null=True) account = models.CharField(max_length=20, verbose_name="账户", null=False) pwd = models.CharField(max_length=100, verbose_name="密码", null=False) start_valid_date = models.DateField(verbose_name="有效开始日期", null=True) end_valid_date = models.DateField(verbose_name="有效结束日期", null=True) status = models.IntegerField(default=0, verbose_name="是否删除") create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "enterprise" class ServerModel(models.Model): STATUS = ((1001, "在线"), (1002, "离线")) suid = models.CharField(max_length=10, default="", verbose_name="服务器suid", null=True, blank=True) name = models.CharField(max_length=255, default="", verbose_name="服务器名称", null=True, blank=True) banner = models.CharField(max_length=128, default="", verbose_name="标语", null=True, blank=True) description = models.CharField(max_length=1024, default="", verbose_name="描述", null=True, blank=True) status = models.IntegerField(verbose_name='服务器状态', choices=STATUS, default=1001) type = models.IntegerField(verbose_name='类型', null=True) server_ip = models.CharField(verbose_name="地址", max_length=512, null=True) server_port = models.IntegerField(verbose_name="端口", null=True) server_username = models.CharField(verbose_name="用户", max_length=512, null=True) server_password = models.CharField(verbose_name="密码", max_length=512, null=True) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "server" class HardwareModel(models.Model): server_id = models.IntegerField(verbose_name="服务器id", null=False) name = models.CharField(max_length=255, default="", verbose_name="硬件名称", null=True, blank=True) comment = models.CharField(max_length=255, verbose_name="备注", default="", blank=True) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "hardware" class ServerLogModel(models.Model): server_id = models.IntegerField(verbose_name="服务器id", null=False) log_level = models.CharField(verbose_name="日志等级", max_length=16) server_log = models.CharField(verbose_name="日志", max_length=1024, blank=True) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) class Meta: db_table = "server_log" class EnterpriseNodeModel(models.Model): suid = models.CharField(max_length=10, default="", verbose_name="节点suid", null=True, blank=True) entity_suid = models.CharField(max_length=10, default="", verbose_name="企业suid", null=True, blank=True) name = models.CharField(max_length=255, verbose_name="名称", null=False) parent = models.IntegerField(verbose_name='父节点', default=None, null=True) addr = models.CharField(max_length=255, verbose_name="地址", default="", blank=True) lola = models.CharField(max_length=255, verbose_name="经纬度", default="", blank=True) contact = models.CharField(max_length=255, verbose_name="联系人", default="", blank=True) phone = models.CharField(max_length=255, verbose_name="联系人方式", default="", blank=True) comment = models.CharField(max_length=255, verbose_name="备注", default="", blank=True) status = models.IntegerField(default=0, verbose_name="是否删除") create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "enterprise_node" class DeviceClassificationModel(models.Model): name = models.CharField(max_length=255, verbose_name="名称", null=False) suid = models.CharField(max_length=10, default="", verbose_name="分类suid", null=True, blank=True) status = models.IntegerField(default=0, verbose_name="是否删除") create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "device_classification" class EnterpriseDeviceModel(models.Model): STATUS = ((1001, "在线"), (1002, "离线"), (1003, "故障")) suid = models.CharField(max_length=10, default="", verbose_name="服务器suid", null=True, blank=True) entity_id = models.IntegerField(verbose_name='企业id', null=False) entity_suid = models.CharField(max_length=10, default="", verbose_name="企业suid", null=True, blank=True) node_id = models.IntegerField(verbose_name='节点id', null=True) node_suid = models.CharField(max_length=10, default="", verbose_name="节点suid", null=True, blank=True) classification = models.CharField(max_length=10, default="", verbose_name="分类suid", null=True, blank=True) name = models.CharField(max_length=255, verbose_name="名称", null=False) addr = models.CharField(max_length=255, verbose_name="地址", null=False) device_model = models.CharField(max_length=255, verbose_name="设备型号", null=True, default="", blank=True) param = models.CharField(max_length=255, verbose_name="参数", null=True, default="", blank=True) comment = models.CharField(max_length=255, verbose_name="备注", default="", blank=True) status = models.IntegerField(default=1001, choices=STATUS, verbose_name="设备状态") is_used = models.IntegerField(default=1, verbose_name="是否启用") create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "enterprise_device" class AlgModelModel(models.Model): STATUS = ((1000, "删除"), (1001, "在线"), (1002, "离线"), (1003, "故障")) name = models.CharField(max_length=255, verbose_name="名称", null=False) suid = models.CharField(max_length=10, default="", verbose_name="分类suid", null=True, blank=True) model_type = models.IntegerField(default=1002, verbose_name="模型类型,1001/经典算法,1002/深度学习") classification = models.IntegerField(verbose_name="模型分类的id") industry = models.CharField(max_length=255, verbose_name="适用行业", default="通用", blank=True) comment = models.CharField(max_length=255, verbose_name="备注", default="", blank=True) default_version = models.CharField(max_length=100, verbose_name="默认版本", default="", blank=True) provider = models.CharField(max_length=100, verbose_name="提供方", default="", blank=True) status = models.IntegerField(default=1001, choices=STATUS, verbose_name="状态") create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "model" class ModelClassificationModel(models.Model): name = models.CharField(max_length=255, verbose_name="名称", null=False) # suid = models.CharField(max_length=10, default="", verbose_name="分类suid", null=True, blank=True) # status = models.IntegerField(default=0, verbose_name="是否删除") create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) # update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "model_classification" class ModelVersionModel(models.Model): model_id = models.IntegerField(verbose_name='模型id', null=False) version = models.CharField(max_length=100, verbose_name="版本", null=False) comment = models.CharField(max_length=255, verbose_name="备注", default="", blank=True) model_file = models.CharField(max_length=32, verbose_name="模型文件的md5", default="", blank=True) config_file = models.CharField(max_length=32, verbose_name="模型配置文件的md5", default="", blank=True) config_str = models.CharField(max_length=1024, verbose_name="模型默认配置参数,json字符串", default="", blank=True) is_default = models.IntegerField(default=1, verbose_name="1/默认,0/非默认") status = models.IntegerField(default=0, verbose_name="是否删除,1/删除,0/正常") create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "model_version" class ModelHubModel(models.Model): name = models.CharField(max_length=255, verbose_name="名称", null=False) host = models.CharField(max_length=255, verbose_name="host", null=False) comment = models.CharField(max_length=255, verbose_name="备注", default="", blank=True) port = models.IntegerField(default=1, verbose_name="port") path = models.CharField(max_length=255, verbose_name="路径", default="", blank=True) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "model_hub" # 企业关联模型表 class EnterpriseBusiModelModel(models.Model): name = models.CharField(max_length=255, verbose_name="名称", null=False) suid = models.CharField(max_length=10, default="", verbose_name="分类suid", null=True, blank=True) entity_id = models.IntegerField(verbose_name='企业id', null=False) entity_suid = models.CharField(max_length=10, default="", verbose_name="企业suid", null=True, blank=True) comment = models.CharField(max_length=255, verbose_name="备注", default="", blank=True) base_models = models.CharField(max_length=255, verbose_name="关联基础模型", null=False) business_logic = models.CharField(max_length=32, verbose_name="业务代码压缩包文件md5", null=True) business_conf_file = models.CharField(max_length=32, verbose_name="业务配置参数压缩包文件md5", null=True) business_conf_param = models.CharField(max_length=255, verbose_name='业务配置的参数,json字符串,eg: ''{"a":1, "b":2}''', null=True) status = models.IntegerField(default=0, verbose_name="是否删除") create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "enterprise_busi_model" # 企业关联模型节点表 class EnterpriseBusiModelNodeModel(models.Model): suid = models.CharField(max_length=10, default="", verbose_name="suid", null=True, blank=True) busi_model_id = models.IntegerField(verbose_name='企业关联模型表id', null=False) entity_suid = models.CharField(max_length=10, default="", verbose_name="企业suid", null=True, blank=True) busi_model_suid = models.CharField(max_length=10, default="", verbose_name="企业关联模型表suid", null=True, blank=True) node_id = models.IntegerField(verbose_name='节点id', null=False) node_suid = models.CharField(max_length=10, default="", verbose_name="节点suid", null=True, blank=True) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "enterprise_busi_model_node" # 企业关联模型节点设备表 class EnterpriseBusiModelNodeDeviceModel(models.Model): suid = models.CharField(max_length=10, default="", verbose_name="suid", null=True, blank=True) busi_model_id = models.IntegerField(verbose_name='企业关联模型表id', null=False) entity_suid = models.CharField(max_length=10, default="", verbose_name="企业suid", null=True, blank=True) busi_model_suid = models.CharField(max_length=10, default="", verbose_name="企业关联模型表suid", null=True, blank=True) node_id = models.IntegerField(verbose_name='节点id', null=False) node_suid = models.CharField(max_length=10, default="", verbose_name="节点suid", null=True, blank=True) device_id = models.IntegerField(verbose_name='设备id', null=False) device_suid = models.CharField(max_length=10, default="", verbose_name="设备suid", null=True, blank=True) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "enterprise_busi_model_node_device" # 企业告警配置表 class EnterpriseAlertDeviceModel(models.Model): CODE = ((0, "否"), (1, "是")) enterprise_suid = models.CharField(max_length=10, default="", verbose_name="企业suid", null=True, blank=True) node_id = models.IntegerField(verbose_name='节点id', null=False) node_suid = models.CharField(max_length=10, default="", verbose_name="节点suid", null=True, blank=True) is_sms = models.IntegerField(verbose_name='是否使用sms', null=False, choices=CODE, default=0) sms_to = models.CharField(max_length=11, default="", verbose_name="sms", null=True, blank=True) is_email = models.IntegerField(verbose_name='是否使用email', null=False, choices=CODE, default=0) email_to = models.CharField(max_length=255, default="", verbose_name="email", null=True, blank=True) freq = models.CharField(max_length=255, default="", verbose_name="email", null=True, blank=True) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "enterprise_alert" class WarningStatisticsModel(models.Model): CODE = ((0, "否"), (1, "是")) server_id = models.IntegerField(verbose_name="平台id", null=True) server_suid = models.CharField(max_length=10, default="", verbose_name="服务器suid", null=True, blank=True) device_id = models.IntegerField(verbose_name='设备id', null=True) device_suid = models.CharField(max_length=10, default="", verbose_name="设备suid", null=True, blank=True) node_id = models.IntegerField(verbose_name='节点id', null=True) node_suid = models.CharField(max_length=10, default="", verbose_name="节点suid", null=True, blank=True) picture_path = models.CharField(verbose_name="图片地址", max_length=512, null=True) product_name = models.CharField(verbose_name="产品名称", null=False, max_length=128) product_info = models.CharField(verbose_name="产品信息", null=True, max_length=128) warning_name = models.CharField(verbose_name="告警名称", null=True, max_length=128) warning_type = models.CharField(verbose_name="告警类型", null=True, max_length=128) warning_code = models.CharField(verbose_name="告警代码", null=False, max_length=128) warning_level = models.CharField(verbose_name="告警等级", null=False, max_length=128) trigger_time = models.DateTimeField(auto_now_add=True, verbose_name="触发时间", null=False) is_ignore = models.IntegerField(verbose_name="是否忽略", default=0, choices=CODE) is_checked = models.IntegerField(verbose_name="是否查看", default=0, choices=CODE) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "warning_statistics" class ComputeConfigModel(models.Model): CODE = ((0, "否"), (1, "是")) # suid = models.CharField(max_length=10, default="", verbose_name="suid", null=True, blank=True) server_id = models.IntegerField(verbose_name="平台id", null=True) server_suid = models.CharField(max_length=10, default="", verbose_name="服务器suid", null=True, blank=True) device_id = models.IntegerField(verbose_name='设备id', null=True) device_suid = models.CharField(max_length=10, default="", verbose_name="设备suid", null=True, blank=True) node_id = models.IntegerField(verbose_name='节点id', null=True) node_suid = models.CharField(max_length=10, default="", verbose_name="节点suid", null=True, blank=True) model_id = models.IntegerField(verbose_name='模型id', null=True) model_suid = models.CharField(max_length=10, default="", verbose_name="模型suid", null=True, blank=True) percentage = models.DecimalField(max_digits=3, decimal_places=2, verbose_name="百分比") efficiency = models.IntegerField(default=0, verbose_name="处理效率(每秒几帧)", null=True) status = models.IntegerField(default=0, verbose_name="是否删除", choices=CODE) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "compute_config" class FilesModel(models.Model): CODE = ((0, "否"), (1, "是")) filename = models.CharField(max_length=255, default="", verbose_name="文件名", null=True, blank=True) filepath = models.CharField(max_length=255, default="", verbose_name="文件路径", null=True, blank=True) md5_str = models.CharField(max_length=32, default="", verbose_name="文件md5", null=True, blank=True) filesize = models.IntegerField(verbose_name='文件大小', default=None, null=True) filetype = models.CharField(max_length=50, default="", verbose_name="文件类型", null=True, blank=True) user = models.IntegerField(verbose_name='拥有者', default=0, null=True) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) class Meta: db_table = "files" class MessageModel(models.Model): CODE = ((0, "否"), (1, "是")) message = models.CharField(max_length=1024, default="", verbose_name="消息内容", null=True, blank=True) info_type = models.CharField(verbose_name="消息类型", default="系统消息", null=True, max_length=128) trigger_time = models.DateTimeField(auto_now_add=True, verbose_name="触发时间", null=False) is_ignore = models.IntegerField(verbose_name="是否忽略", default=0, choices=CODE) is_checked = models.IntegerField(verbose_name="是否查看", default=0, choices=CODE) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "message" class WorkshopModel(models.Model): CODE = ((0, "否"), (1, "是")) name = models.CharField(max_length=1024, default="", verbose_name="位置名称", null=True, blank=True) picture = models.ImageField(upload_to='locations', verbose_name="位置图片") status = models.IntegerField(verbose_name="是否删除", default=0, choices=CODE) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "workshop" class WorkshopDeviceModel(models.Model): CODE = ((0, "否"), (1, "是")) workshop_id = models.IntegerField(verbose_name="布点id", null=False) device_id = models.IntegerField(verbose_name="设备id", null=False) x_ordinate = models.CharField(max_length=128, verbose_name="横坐标", null=False) y_ordinate = models.CharField(max_length=128, verbose_name="纵坐标", null=False) icon = models.CharField(max_length=8, verbose_name="图标", null=True) status = models.IntegerField(verbose_name="是否删除", default=0, choices=CODE) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间', null=True) update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间', null=True) class Meta: db_table = "workshop_device"