You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

339 lines
20 KiB
Python

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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"