// Code generated by gorm.io/gen. DO NOT EDIT. // Code generated by gorm.io/gen. DO NOT EDIT. // Code generated by gorm.io/gen. DO NOT EDIT. package query import ( "context" "database/sql" "gorm.io/gorm" "gorm.io/gorm/clause" "gorm.io/gorm/schema" "gorm.io/gen" "gorm.io/gen/field" "gorm.io/plugin/dbresolver" "fwh-toolbox-server/models/fwh_pro/model" ) func newIotGateway(db *gorm.DB, opts ...gen.DOOption) iotGateway { _iotGateway := iotGateway{} _iotGateway.iotGatewayDo.UseDB(db, opts...) _iotGateway.iotGatewayDo.UseModel(&model.IotGateway{}) tableName := _iotGateway.iotGatewayDo.TableName() _iotGateway.ALL = field.NewAsterisk(tableName) _iotGateway.ID = field.NewString(tableName, "id") _iotGateway.Name = field.NewString(tableName, "name") _iotGateway.Version = field.NewString(tableName, "version") _iotGateway.DistributorID = field.NewInt32(tableName, "distributor_id") _iotGateway.InstallerID = field.NewInt32(tableName, "installer_id") _iotGateway.MaintID = field.NewInt32(tableName, "maint_id") _iotGateway.Account = field.NewString(tableName, "account") _iotGateway.Longitude = field.NewString(tableName, "longitude") _iotGateway.Latitude = field.NewString(tableName, "latitude") _iotGateway.GpsAddress = field.NewString(tableName, "gps_address") _iotGateway.Address = field.NewString(tableName, "address") _iotGateway.ActiveStatus = field.NewInt32(tableName, "active_status") _iotGateway.ActiveTime = field.NewTime(tableName, "active_time") _iotGateway.LocalActiveTime = field.NewTime(tableName, "local_active_time") _iotGateway.Status = field.NewInt32(tableName, "status") _iotGateway.OnLineTime = field.NewTime(tableName, "on_line_time") _iotGateway.OffLineTime = field.NewString(tableName, "off_line_time") _iotGateway.Model = field.NewString(tableName, "model") _iotGateway.DeviceIP = field.NewString(tableName, "device_ip") _iotGateway.Subnet = field.NewString(tableName, "subnet") _iotGateway.Mac = field.NewString(tableName, "mac") _iotGateway.GatewayIP = field.NewString(tableName, "gateway_ip") _iotGateway.Signal = field.NewString(tableName, "signal") _iotGateway.IccID = field.NewString(tableName, "icc_id") _iotGateway.Imei = field.NewString(tableName, "imei") _iotGateway.FirmUpgradeTime = field.NewTime(tableName, "firm_upgrade_time") _iotGateway.ControlJSON = field.NewString(tableName, "control_json") _iotGateway.TurnoverTime = field.NewTime(tableName, "turnover_time") _iotGateway.CreateTime = field.NewTime(tableName, "create_time") _iotGateway.RunStatus = field.NewInt32(tableName, "run_status") _iotGateway.EmsModel = field.NewInt32(tableName, "ems_model") _iotGateway.ElectricityType = field.NewInt32(tableName, "electricity_type") _iotGateway.FhpSn = field.NewString(tableName, "fhp_sn") _iotGateway.Sort = field.NewInt32(tableName, "sort") _iotGateway.DeviceControlData = field.NewString(tableName, "device_control_data") _iotGateway.TouParamSettingData = field.NewString(tableName, "tou_param_setting_data") _iotGateway.TimeZone = field.NewFloat32(tableName, "time_zone") _iotGateway.ZoneInfo = field.NewString(tableName, "zone_info") _iotGateway.Dst = field.NewInt32(tableName, "dst") _iotGateway.IbgMainVersion = field.NewString(tableName, "ibg_main_version") _iotGateway.AwsVersion = field.NewString(tableName, "aws_version") _iotGateway.AppVersion = field.NewString(tableName, "app_version") _iotGateway.SlVersion = field.NewString(tableName, "sl_version") _iotGateway.SlVersionJSON = field.NewString(tableName, "sl_version_json") _iotGateway.MeterVersion = field.NewString(tableName, "meter_version") _iotGateway.MbVersion = field.NewString(tableName, "mb_version") _iotGateway.DistributorName = field.NewString(tableName, "distributor_name") _iotGateway.InstallerName = field.NewString(tableName, "installer_name") _iotGateway.MaintName = field.NewString(tableName, "maint_name") _iotGateway.AccountName = field.NewString(tableName, "account_name") _iotGateway.ElecnetStatus = field.NewInt32(tableName, "elecnet_status") _iotGateway.SlaverStat = field.NewInt32(tableName, "slaver_stat") _iotGateway.PostCode = field.NewString(tableName, "post_code") _iotGateway.Country = field.NewString(tableName, "country") _iotGateway.Province = field.NewString(tableName, "province") _iotGateway.City = field.NewString(tableName, "city") _iotGateway.ProtocolVer = field.NewString(tableName, "protocol_ver") _iotGateway.GenEn = field.NewInt32(tableName, "gen_en") _iotGateway.InstallerAccount = field.NewString(tableName, "installer_account") _iotGateway.WifiSignal = field.NewString(tableName, "wifi_signal") _iotGateway.ConnType = field.NewInt32(tableName, "conn_type") _iotGateway.InstallerAccountID = field.NewInt32(tableName, "installer_account_id") _iotGateway.LoadOption = field.NewInt32(tableName, "load_option") _iotGateway.GerOption = field.NewInt8(tableName, "ger_option") _iotGateway.EquipType = field.NewInt32(tableName, "equip_type") _iotGateway.OnOffStatus = field.NewInt32(tableName, "on_off_status") _iotGateway.CountryID = field.NewInt32(tableName, "country_id") _iotGateway.ProvinceID = field.NewInt32(tableName, "province_id") _iotGateway.CityZh = field.NewString(tableName, "city_zh") _iotGateway.FinancierID = field.NewInt32(tableName, "financier_id") _iotGateway.FinancierName = field.NewString(tableName, "financier_name") _iotGateway.SysHdVersion = field.NewInt32(tableName, "sys_hd_version") _iotGateway.ResourceList = field.NewString(tableName, "resource_list") _iotGateway.CityID = field.NewInt32(tableName, "city_id") _iotGateway.FinancierContractNumber = field.NewString(tableName, "financier_contract_number") _iotGateway.Region = field.NewString(tableName, "region") _iotGateway.Remark = field.NewString(tableName, "remark") _iotGateway.AddressSecondLast = field.NewString(tableName, "address_second_last") _iotGateway.EmsDeviceVer = field.NewInt32(tableName, "ems_device_ver") _iotGateway.Site = field.NewString(tableName, "site") _iotGateway.fillFieldMap() return _iotGateway } // iotGateway IBG网关信息 type iotGateway struct { iotGatewayDo iotGatewayDo ALL field.Asterisk ID field.String // 主键ID(网关序列号) Name field.String // 网关名称(站点、可自定义) Version field.String // 版本 DistributorID field.Int32 // 分销商公司ID InstallerID field.Int32 // 安装商公司ID MaintID field.Int32 // 维护商公司ID Account field.String // 绑定用户账号(邮箱) Longitude field.String // 安装地理信息(经度) Latitude field.String // 安装地理信息(纬度) GpsAddress field.String // 通过谷歌地图api解析经纬度出来的地址 Address field.String // 安装地理信息(详细地址)(app生成并允许用户输入的详细地址) ActiveStatus field.Int32 // 激活状态(0未激活 1已激活) ActiveTime field.Time // 激活时间 LocalActiveTime field.Time // 设备当地激活时间 Status field.Int32 // 网关状态(0离线 1正常 ) OnLineTime field.Time // 在线时间 OffLineTime field.String // 离线时间 Model field.String // 型号 DeviceIP field.String // 设备IP地址 Subnet field.String // 子网掩码 Mac field.String // MAC GatewayIP field.String // 网关IP地址 Signal field.String // 信号强度 IccID field.String // ICCID Imei field.String // IMEI FirmUpgradeTime field.Time // 最后固件升级时间 ControlJSON field.String // 控制JSON TurnoverTime field.Time // 更新时间 CreateTime field.Time // 创建时间 RunStatus field.Int32 // EMS 当前运行状态 0:待机;1:充电;2:放电;3:故障 EmsModel field.Int32 // EMS 当前工作模式 1:自发自用;2:TOU(经济);3:TOU(平衡);4:等待备电;5:等待风暴;6:离网电池备电;7:离网发电机备电;8:VPP 调度;9:紧急停止;10:维护停止;11:复位自检;89:调试模式;99:故障停止。 ElectricityType field.Int32 // 电费类型.1:分时电价;2:阶梯电价;3:固定电价;4:分时&阶梯,5:BB 套餐 6:peak demand FhpSn field.String // FHP 设备编号 INFI设备数组 Sort field.Int32 // 自增长序列排序 DeviceControlData field.String // IOT-设备控制设置 TouParamSettingData field.String // IOT-TOU参数配置 TimeZone field.Float32 // 时区 ZoneInfo field.String // 地区代表时区。例如:America/New_York Dst field.Int32 // 0:协调世界时间-N,1:自动调整夏令时 IbgMainVersion field.String // nsc支持,main_ver版本信息 AwsVersion field.String // 云平台版本信息 AppVersion field.String // 本地APP版本信息 SlVersion field.String // 从板软件版本 SlVersionJSON field.String // sl版本JSON存储 MeterVersion field.String // 电表版本 MbVersion field.String // Modbus软件版本 DistributorName field.String // 分销商公司名称 InstallerName field.String // 安装商公司名称 MaintName field.String // 维护商公司名称 AccountName field.String // 用户昵称 ElecnetStatus field.Int32 // 市电网状态 0:异常;1:正常 SlaverStat field.Int32 // EMS当前运行状态: 0:初始化,1:参数获取;2:监听;3:待机;4:市电并网运行;5:离网运行;6:油机并网运行 7:故障 PostCode field.String // 邮编 Country field.String // 国家 Province field.String // 省 City field.String // 市英文 ProtocolVer field.String // 协议版本号 GenEn field.Int32 // 发电机接入使能(默认-0不使能 1使能) InstallerAccount field.String // 安装商账户 WifiSignal field.String // wifi信号强度 ConnType field.Int32 // 连接方式(0:未接入网络 1:eth0 2:eth1 3:wifi 4:4G) InstallerAccountID field.Int32 // 安装商账户ID LoadOption field.Int32 // 智能负载选配 0:禁止使能,1:使能,2:标配 GerOption field.Int8 // 油机选配,0:禁止使能,1使能,默认出厂为0 EquipType field.Int32 // 设备归属(2sunnova) OnOffStatus field.Int32 // 并网离网:1:并网 0 离网 CountryID field.Int32 // 国家编号,0:全部 1:中国 2:美国 ProvinceID field.Int32 // 省份编号 CityZh field.String // 城市中文 FinancierID field.Int32 // 分销商大客户ID FinancierName field.String // 分销商大客户名称 SysHdVersion field.Int32 // 硬件版本号 ResourceList field.String // 允许操作列表 CityID field.Int32 // 城市id FinancierContractNumber field.String // 分销商大客户合同编号 Region field.String // APP填写的(国家、省、城市) Remark field.String // 备注信息 AddressSecondLast field.String // 街道地址(前端根据谷歌接口模糊查询出来的) EmsDeviceVer field.Int32 // 默认为0,0:1.0设备类型 1:nsc设备类型 Site field.String // 站点 fieldMap map[string]field.Expr } func (i iotGateway) Table(newTableName string) *iotGateway { i.iotGatewayDo.UseTable(newTableName) return i.updateTableName(newTableName) } func (i iotGateway) As(alias string) *iotGateway { i.iotGatewayDo.DO = *(i.iotGatewayDo.As(alias).(*gen.DO)) return i.updateTableName(alias) } func (i *iotGateway) updateTableName(table string) *iotGateway { i.ALL = field.NewAsterisk(table) i.ID = field.NewString(table, "id") i.Name = field.NewString(table, "name") i.Version = field.NewString(table, "version") i.DistributorID = field.NewInt32(table, "distributor_id") i.InstallerID = field.NewInt32(table, "installer_id") i.MaintID = field.NewInt32(table, "maint_id") i.Account = field.NewString(table, "account") i.Longitude = field.NewString(table, "longitude") i.Latitude = field.NewString(table, "latitude") i.GpsAddress = field.NewString(table, "gps_address") i.Address = field.NewString(table, "address") i.ActiveStatus = field.NewInt32(table, "active_status") i.ActiveTime = field.NewTime(table, "active_time") i.LocalActiveTime = field.NewTime(table, "local_active_time") i.Status = field.NewInt32(table, "status") i.OnLineTime = field.NewTime(table, "on_line_time") i.OffLineTime = field.NewString(table, "off_line_time") i.Model = field.NewString(table, "model") i.DeviceIP = field.NewString(table, "device_ip") i.Subnet = field.NewString(table, "subnet") i.Mac = field.NewString(table, "mac") i.GatewayIP = field.NewString(table, "gateway_ip") i.Signal = field.NewString(table, "signal") i.IccID = field.NewString(table, "icc_id") i.Imei = field.NewString(table, "imei") i.FirmUpgradeTime = field.NewTime(table, "firm_upgrade_time") i.ControlJSON = field.NewString(table, "control_json") i.TurnoverTime = field.NewTime(table, "turnover_time") i.CreateTime = field.NewTime(table, "create_time") i.RunStatus = field.NewInt32(table, "run_status") i.EmsModel = field.NewInt32(table, "ems_model") i.ElectricityType = field.NewInt32(table, "electricity_type") i.FhpSn = field.NewString(table, "fhp_sn") i.Sort = field.NewInt32(table, "sort") i.DeviceControlData = field.NewString(table, "device_control_data") i.TouParamSettingData = field.NewString(table, "tou_param_setting_data") i.TimeZone = field.NewFloat32(table, "time_zone") i.ZoneInfo = field.NewString(table, "zone_info") i.Dst = field.NewInt32(table, "dst") i.IbgMainVersion = field.NewString(table, "ibg_main_version") i.AwsVersion = field.NewString(table, "aws_version") i.AppVersion = field.NewString(table, "app_version") i.SlVersion = field.NewString(table, "sl_version") i.SlVersionJSON = field.NewString(table, "sl_version_json") i.MeterVersion = field.NewString(table, "meter_version") i.MbVersion = field.NewString(table, "mb_version") i.DistributorName = field.NewString(table, "distributor_name") i.InstallerName = field.NewString(table, "installer_name") i.MaintName = field.NewString(table, "maint_name") i.AccountName = field.NewString(table, "account_name") i.ElecnetStatus = field.NewInt32(table, "elecnet_status") i.SlaverStat = field.NewInt32(table, "slaver_stat") i.PostCode = field.NewString(table, "post_code") i.Country = field.NewString(table, "country") i.Province = field.NewString(table, "province") i.City = field.NewString(table, "city") i.ProtocolVer = field.NewString(table, "protocol_ver") i.GenEn = field.NewInt32(table, "gen_en") i.InstallerAccount = field.NewString(table, "installer_account") i.WifiSignal = field.NewString(table, "wifi_signal") i.ConnType = field.NewInt32(table, "conn_type") i.InstallerAccountID = field.NewInt32(table, "installer_account_id") i.LoadOption = field.NewInt32(table, "load_option") i.GerOption = field.NewInt8(table, "ger_option") i.EquipType = field.NewInt32(table, "equip_type") i.OnOffStatus = field.NewInt32(table, "on_off_status") i.CountryID = field.NewInt32(table, "country_id") i.ProvinceID = field.NewInt32(table, "province_id") i.CityZh = field.NewString(table, "city_zh") i.FinancierID = field.NewInt32(table, "financier_id") i.FinancierName = field.NewString(table, "financier_name") i.SysHdVersion = field.NewInt32(table, "sys_hd_version") i.ResourceList = field.NewString(table, "resource_list") i.CityID = field.NewInt32(table, "city_id") i.FinancierContractNumber = field.NewString(table, "financier_contract_number") i.Region = field.NewString(table, "region") i.Remark = field.NewString(table, "remark") i.AddressSecondLast = field.NewString(table, "address_second_last") i.EmsDeviceVer = field.NewInt32(table, "ems_device_ver") i.Site = field.NewString(table, "site") i.fillFieldMap() return i } func (i *iotGateway) WithContext(ctx context.Context) IIotGatewayDo { return i.iotGatewayDo.WithContext(ctx) } func (i iotGateway) TableName() string { return i.iotGatewayDo.TableName() } func (i iotGateway) Alias() string { return i.iotGatewayDo.Alias() } func (i iotGateway) Columns(cols ...field.Expr) gen.Columns { return i.iotGatewayDo.Columns(cols...) } func (i *iotGateway) GetFieldByName(fieldName string) (field.OrderExpr, bool) { _f, ok := i.fieldMap[fieldName] if !ok || _f == nil { return nil, false } _oe, ok := _f.(field.OrderExpr) return _oe, ok } func (i *iotGateway) fillFieldMap() { i.fieldMap = make(map[string]field.Expr, 80) i.fieldMap["id"] = i.ID i.fieldMap["name"] = i.Name i.fieldMap["version"] = i.Version i.fieldMap["distributor_id"] = i.DistributorID i.fieldMap["installer_id"] = i.InstallerID i.fieldMap["maint_id"] = i.MaintID i.fieldMap["account"] = i.Account i.fieldMap["longitude"] = i.Longitude i.fieldMap["latitude"] = i.Latitude i.fieldMap["gps_address"] = i.GpsAddress i.fieldMap["address"] = i.Address i.fieldMap["active_status"] = i.ActiveStatus i.fieldMap["active_time"] = i.ActiveTime i.fieldMap["local_active_time"] = i.LocalActiveTime i.fieldMap["status"] = i.Status i.fieldMap["on_line_time"] = i.OnLineTime i.fieldMap["off_line_time"] = i.OffLineTime i.fieldMap["model"] = i.Model i.fieldMap["device_ip"] = i.DeviceIP i.fieldMap["subnet"] = i.Subnet i.fieldMap["mac"] = i.Mac i.fieldMap["gateway_ip"] = i.GatewayIP i.fieldMap["signal"] = i.Signal i.fieldMap["icc_id"] = i.IccID i.fieldMap["imei"] = i.Imei i.fieldMap["firm_upgrade_time"] = i.FirmUpgradeTime i.fieldMap["control_json"] = i.ControlJSON i.fieldMap["turnover_time"] = i.TurnoverTime i.fieldMap["create_time"] = i.CreateTime i.fieldMap["run_status"] = i.RunStatus i.fieldMap["ems_model"] = i.EmsModel i.fieldMap["electricity_type"] = i.ElectricityType i.fieldMap["fhp_sn"] = i.FhpSn i.fieldMap["sort"] = i.Sort i.fieldMap["device_control_data"] = i.DeviceControlData i.fieldMap["tou_param_setting_data"] = i.TouParamSettingData i.fieldMap["time_zone"] = i.TimeZone i.fieldMap["zone_info"] = i.ZoneInfo i.fieldMap["dst"] = i.Dst i.fieldMap["ibg_main_version"] = i.IbgMainVersion i.fieldMap["aws_version"] = i.AwsVersion i.fieldMap["app_version"] = i.AppVersion i.fieldMap["sl_version"] = i.SlVersion i.fieldMap["sl_version_json"] = i.SlVersionJSON i.fieldMap["meter_version"] = i.MeterVersion i.fieldMap["mb_version"] = i.MbVersion i.fieldMap["distributor_name"] = i.DistributorName i.fieldMap["installer_name"] = i.InstallerName i.fieldMap["maint_name"] = i.MaintName i.fieldMap["account_name"] = i.AccountName i.fieldMap["elecnet_status"] = i.ElecnetStatus i.fieldMap["slaver_stat"] = i.SlaverStat i.fieldMap["post_code"] = i.PostCode i.fieldMap["country"] = i.Country i.fieldMap["province"] = i.Province i.fieldMap["city"] = i.City i.fieldMap["protocol_ver"] = i.ProtocolVer i.fieldMap["gen_en"] = i.GenEn i.fieldMap["installer_account"] = i.InstallerAccount i.fieldMap["wifi_signal"] = i.WifiSignal i.fieldMap["conn_type"] = i.ConnType i.fieldMap["installer_account_id"] = i.InstallerAccountID i.fieldMap["load_option"] = i.LoadOption i.fieldMap["ger_option"] = i.GerOption i.fieldMap["equip_type"] = i.EquipType i.fieldMap["on_off_status"] = i.OnOffStatus i.fieldMap["country_id"] = i.CountryID i.fieldMap["province_id"] = i.ProvinceID i.fieldMap["city_zh"] = i.CityZh i.fieldMap["financier_id"] = i.FinancierID i.fieldMap["financier_name"] = i.FinancierName i.fieldMap["sys_hd_version"] = i.SysHdVersion i.fieldMap["resource_list"] = i.ResourceList i.fieldMap["city_id"] = i.CityID i.fieldMap["financier_contract_number"] = i.FinancierContractNumber i.fieldMap["region"] = i.Region i.fieldMap["remark"] = i.Remark i.fieldMap["address_second_last"] = i.AddressSecondLast i.fieldMap["ems_device_ver"] = i.EmsDeviceVer i.fieldMap["site"] = i.Site } func (i iotGateway) clone(db *gorm.DB) iotGateway { i.iotGatewayDo.ReplaceConnPool(db.Statement.ConnPool) return i } func (i iotGateway) replaceDB(db *gorm.DB) iotGateway { i.iotGatewayDo.ReplaceDB(db) return i } type iotGatewayDo struct{ gen.DO } type IIotGatewayDo interface { gen.SubQuery Debug() IIotGatewayDo WithContext(ctx context.Context) IIotGatewayDo WithResult(fc func(tx gen.Dao)) gen.ResultInfo ReplaceDB(db *gorm.DB) ReadDB() IIotGatewayDo WriteDB() IIotGatewayDo As(alias string) gen.Dao Session(config *gorm.Session) IIotGatewayDo Columns(cols ...field.Expr) gen.Columns Clauses(conds ...clause.Expression) IIotGatewayDo Not(conds ...gen.Condition) IIotGatewayDo Or(conds ...gen.Condition) IIotGatewayDo Select(conds ...field.Expr) IIotGatewayDo Where(conds ...gen.Condition) IIotGatewayDo Order(conds ...field.Expr) IIotGatewayDo Distinct(cols ...field.Expr) IIotGatewayDo Omit(cols ...field.Expr) IIotGatewayDo Join(table schema.Tabler, on ...field.Expr) IIotGatewayDo LeftJoin(table schema.Tabler, on ...field.Expr) IIotGatewayDo RightJoin(table schema.Tabler, on ...field.Expr) IIotGatewayDo Group(cols ...field.Expr) IIotGatewayDo Having(conds ...gen.Condition) IIotGatewayDo Limit(limit int) IIotGatewayDo Offset(offset int) IIotGatewayDo Count() (count int64, err error) Scopes(funcs ...func(gen.Dao) gen.Dao) IIotGatewayDo Unscoped() IIotGatewayDo Create(values ...*model.IotGateway) error CreateInBatches(values []*model.IotGateway, batchSize int) error Save(values ...*model.IotGateway) error First() (*model.IotGateway, error) Take() (*model.IotGateway, error) Last() (*model.IotGateway, error) Find() ([]*model.IotGateway, error) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.IotGateway, err error) FindInBatches(result *[]*model.IotGateway, batchSize int, fc func(tx gen.Dao, batch int) error) error Pluck(column field.Expr, dest interface{}) error Delete(...*model.IotGateway) (info gen.ResultInfo, err error) Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error) UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) Updates(value interface{}) (info gen.ResultInfo, err error) UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error) UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) UpdateColumns(value interface{}) (info gen.ResultInfo, err error) UpdateFrom(q gen.SubQuery) gen.Dao Attrs(attrs ...field.AssignExpr) IIotGatewayDo Assign(attrs ...field.AssignExpr) IIotGatewayDo Joins(fields ...field.RelationField) IIotGatewayDo Preload(fields ...field.RelationField) IIotGatewayDo FirstOrInit() (*model.IotGateway, error) FirstOrCreate() (*model.IotGateway, error) FindByPage(offset int, limit int) (result []*model.IotGateway, count int64, err error) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) Rows() (*sql.Rows, error) Row() *sql.Row Scan(result interface{}) (err error) Returning(value interface{}, columns ...string) IIotGatewayDo UnderlyingDB() *gorm.DB schema.Tabler } func (i iotGatewayDo) Debug() IIotGatewayDo { return i.withDO(i.DO.Debug()) } func (i iotGatewayDo) WithContext(ctx context.Context) IIotGatewayDo { return i.withDO(i.DO.WithContext(ctx)) } func (i iotGatewayDo) ReadDB() IIotGatewayDo { return i.Clauses(dbresolver.Read) } func (i iotGatewayDo) WriteDB() IIotGatewayDo { return i.Clauses(dbresolver.Write) } func (i iotGatewayDo) Session(config *gorm.Session) IIotGatewayDo { return i.withDO(i.DO.Session(config)) } func (i iotGatewayDo) Clauses(conds ...clause.Expression) IIotGatewayDo { return i.withDO(i.DO.Clauses(conds...)) } func (i iotGatewayDo) Returning(value interface{}, columns ...string) IIotGatewayDo { return i.withDO(i.DO.Returning(value, columns...)) } func (i iotGatewayDo) Not(conds ...gen.Condition) IIotGatewayDo { return i.withDO(i.DO.Not(conds...)) } func (i iotGatewayDo) Or(conds ...gen.Condition) IIotGatewayDo { return i.withDO(i.DO.Or(conds...)) } func (i iotGatewayDo) Select(conds ...field.Expr) IIotGatewayDo { return i.withDO(i.DO.Select(conds...)) } func (i iotGatewayDo) Where(conds ...gen.Condition) IIotGatewayDo { return i.withDO(i.DO.Where(conds...)) } func (i iotGatewayDo) Order(conds ...field.Expr) IIotGatewayDo { return i.withDO(i.DO.Order(conds...)) } func (i iotGatewayDo) Distinct(cols ...field.Expr) IIotGatewayDo { return i.withDO(i.DO.Distinct(cols...)) } func (i iotGatewayDo) Omit(cols ...field.Expr) IIotGatewayDo { return i.withDO(i.DO.Omit(cols...)) } func (i iotGatewayDo) Join(table schema.Tabler, on ...field.Expr) IIotGatewayDo { return i.withDO(i.DO.Join(table, on...)) } func (i iotGatewayDo) LeftJoin(table schema.Tabler, on ...field.Expr) IIotGatewayDo { return i.withDO(i.DO.LeftJoin(table, on...)) } func (i iotGatewayDo) RightJoin(table schema.Tabler, on ...field.Expr) IIotGatewayDo { return i.withDO(i.DO.RightJoin(table, on...)) } func (i iotGatewayDo) Group(cols ...field.Expr) IIotGatewayDo { return i.withDO(i.DO.Group(cols...)) } func (i iotGatewayDo) Having(conds ...gen.Condition) IIotGatewayDo { return i.withDO(i.DO.Having(conds...)) } func (i iotGatewayDo) Limit(limit int) IIotGatewayDo { return i.withDO(i.DO.Limit(limit)) } func (i iotGatewayDo) Offset(offset int) IIotGatewayDo { return i.withDO(i.DO.Offset(offset)) } func (i iotGatewayDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IIotGatewayDo { return i.withDO(i.DO.Scopes(funcs...)) } func (i iotGatewayDo) Unscoped() IIotGatewayDo { return i.withDO(i.DO.Unscoped()) } func (i iotGatewayDo) Create(values ...*model.IotGateway) error { if len(values) == 0 { return nil } return i.DO.Create(values) } func (i iotGatewayDo) CreateInBatches(values []*model.IotGateway, batchSize int) error { return i.DO.CreateInBatches(values, batchSize) } // Save : !!! underlying implementation is different with GORM // The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values) func (i iotGatewayDo) Save(values ...*model.IotGateway) error { if len(values) == 0 { return nil } return i.DO.Save(values) } func (i iotGatewayDo) First() (*model.IotGateway, error) { if result, err := i.DO.First(); err != nil { return nil, err } else { return result.(*model.IotGateway), nil } } func (i iotGatewayDo) Take() (*model.IotGateway, error) { if result, err := i.DO.Take(); err != nil { return nil, err } else { return result.(*model.IotGateway), nil } } func (i iotGatewayDo) Last() (*model.IotGateway, error) { if result, err := i.DO.Last(); err != nil { return nil, err } else { return result.(*model.IotGateway), nil } } func (i iotGatewayDo) Find() ([]*model.IotGateway, error) { result, err := i.DO.Find() return result.([]*model.IotGateway), err } func (i iotGatewayDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.IotGateway, err error) { buf := make([]*model.IotGateway, 0, batchSize) err = i.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error { defer func() { results = append(results, buf...) }() return fc(tx, batch) }) return results, err } func (i iotGatewayDo) FindInBatches(result *[]*model.IotGateway, batchSize int, fc func(tx gen.Dao, batch int) error) error { return i.DO.FindInBatches(result, batchSize, fc) } func (i iotGatewayDo) Attrs(attrs ...field.AssignExpr) IIotGatewayDo { return i.withDO(i.DO.Attrs(attrs...)) } func (i iotGatewayDo) Assign(attrs ...field.AssignExpr) IIotGatewayDo { return i.withDO(i.DO.Assign(attrs...)) } func (i iotGatewayDo) Joins(fields ...field.RelationField) IIotGatewayDo { for _, _f := range fields { i = *i.withDO(i.DO.Joins(_f)) } return &i } func (i iotGatewayDo) Preload(fields ...field.RelationField) IIotGatewayDo { for _, _f := range fields { i = *i.withDO(i.DO.Preload(_f)) } return &i } func (i iotGatewayDo) FirstOrInit() (*model.IotGateway, error) { if result, err := i.DO.FirstOrInit(); err != nil { return nil, err } else { return result.(*model.IotGateway), nil } } func (i iotGatewayDo) FirstOrCreate() (*model.IotGateway, error) { if result, err := i.DO.FirstOrCreate(); err != nil { return nil, err } else { return result.(*model.IotGateway), nil } } func (i iotGatewayDo) FindByPage(offset int, limit int) (result []*model.IotGateway, count int64, err error) { result, err = i.Offset(offset).Limit(limit).Find() if err != nil { return } if size := len(result); 0 < limit && 0 < size && size < limit { count = int64(size + offset) return } count, err = i.Offset(-1).Limit(-1).Count() return } func (i iotGatewayDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { count, err = i.Count() if err != nil { return } err = i.Offset(offset).Limit(limit).Scan(result) return } func (i iotGatewayDo) Scan(result interface{}) (err error) { return i.DO.Scan(result) } func (i iotGatewayDo) Delete(models ...*model.IotGateway) (result gen.ResultInfo, err error) { return i.DO.Delete(models) } func (i *iotGatewayDo) withDO(do gen.Dao) *iotGatewayDo { i.DO = *do.(*gen.DO) return i }