| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package dao
- import (
- "server/global"
- "time"
- )
- // Gateway 网关表模型
- type Gateway struct {
- global.GVA_MODEL
- NickName string `json:"nickName" gorm:"column:nick_name;comment:昵称"`
- ProductKey string `json:"productKey" gorm:"column:product_key;comment:产品Key"`
- DeviceName string `json:"deviceName" gorm:"column:device_name;uniqueIndex;comment:设备名称(唯一)"`
- NetPwd string `json:"netPwd" gorm:"column:net_pwd;comment:网络密码"`
- Version string `json:"version" gorm:"column:version;comment:固件版本"`
- Online int `json:"online" gorm:"column:online;comment:在线状态 1=在线 0=离线"`
- OnlineTime *time.Time `json:"onlineTime" gorm:"column:online_time;comment:最后心跳时间"`
- Remark string `json:"remark" gorm:"column:remark;comment:备注"`
- }
- func (Gateway) TableName() string {
- return "gateway"
- }
- func QueryAllGateways() (gateways []Gateway, err error) {
- err = global.GVA_DB.Model(&Gateway{}).Find(&gateways).Error
- return
- }
- func QueryGatewayByDeviceName(deviceName string) (gateway Gateway, err error) {
- err = global.GVA_DB.Model(&Gateway{}).Where("device_name = ?", deviceName).First(&gateway).Error
- return
- }
- func QueryGatewayList(name, productKey string, limit, offset int) (gateways []Gateway, total int64, err error) {
- db := global.GVA_DB.Model(&Gateway{})
- // 如果有条件搜索 下方会自动创建搜索语句
- if productKey != "" {
- db = db.Where("product_key LIKE ?", "%"+productKey+"%")
- }
- if name != "" {
- db = db.Where("device_name LIKE ?", "%"+name+"%")
- }
- err = db.Count(&total).Error
- if err != nil {
- return nil, 0, err
- }
- err = db.Limit(limit).Offset(offset).Find(&gateways).Error
- return gateways, total, err
- }
- func (g Gateway) CreateGateway() error {
- return global.GVA_DB.Model(&Gateway{}).Create(&g).Error
- }
- func (g Gateway) UpdateGateway() error {
- return global.GVA_DB.Save(&g).Error
- }
- func DeleteGateway(id int) error {
- return global.GVA_DB.Unscoped().Delete(&Gateway{}, id).Error
- }
|