package model import ( "go-nc/hook" "github.com/google/uuid" "gorm.io/gorm" ) var Models = []interface{}{ // 系统 &Sys_user{}, // 用户账户 &Sys_role{}, // 角色 &Sys_menu{}, // 菜单 &Sys_user_role{}, // 用户角色 &Sys_role_menu{}, // 角色菜单 &Sys_dictionary{}, // 字典 // &Iot_sim_map{}, // SIM卡 &Sim_card{}, &Sim_package{}, &Metadata_package{}, &Sim_data_usage{}, // // 客户信息 &U_customerAccountInfo{}, // 客户信息 // &Iot_sim_card{}, // 卡信息 // &Iot_sim_order{}, // 订单 // // 采购 // 平台卡信息 &Cmi_sim_order{}, // 卡采购 &Cmi_sim_order_card{}, // 卡采购导入的卡信息 &Cmi_traffic_order{}, // 资费订单 // 资费 &Sim_traffic{}, // 资费管理 &Sim_traffic_product{}, // 资费商品 // 流量池 &Sim_pool{}, // 流量池 &Cfo_recharge_record{}, // 充值记录 &Cfo_wallet{}, // 余额 // 预警 &Alert_traffic_pool{}, // 流量池预警 &Alert_customer{}, // 客户预警 &Pay_order{}, // 日志 &Log_card_operation{}, // 卡操作日志 } // 基础模型 type Model struct { Id uint `gorm:"primary_key" json:"id"` CreatedAt *hook.LocalTime `json:"createdAt"` // 创建时间 UpdatedAt *hook.LocalTime `json:"updatedAt"` // 更新时间 DeletedAt *gorm.DeletedAt `gorm:"index" json:"deletedAt"` } // NoDeleteModel 基础模型 type NoDeleteModel struct { Id uint `gorm:"primary_key" json:"id"` CreatedAt *hook.LocalTime `json:"createdAt"` UpdatedAt *hook.LocalTime `json:"updatedAt"` } // ModelUUID 基础模型 type ModelUUID struct { Id string `gorm:"primary_key" json:"id"` CreatedAt *hook.LocalTime `json:"createdAt"` UpdatedAt *hook.LocalTime `json:"updatedAt"` DeletedAt *gorm.DeletedAt `gorm:"index" json:"deletedAt"` } // BeforeCreate 自动创建UUID func (m *ModelUUID) BeforeCreate(tx *gorm.DB) (err error) { m.Id = GenerateUUIDWithoutHyphens() return } func GenerateUUIDWithoutHyphens() string { uuidStr := uuid.New().String() return uuidStr[:8] + uuidStr[9:13] + uuidStr[14:18] + uuidStr[19:23] + uuidStr[24:] }