package model import ( "dy-admin/internal/pcmserver/common" "gorm.io/gorm" ) const ( GridOpenStateCode uint8 = iota GridCloseStateCode GridBrokenStateCode GridNoCmdStateCode ) const ( GridNoStoneStateCode = iota GridStoneStateCode GridNoMatchStoneCode ) const ( GridNoRechargeCode = iota GridRechargingCode GridRechargeFullCode ) const ( GridOpenState = "锁已开" GridCloseState = "锁关闭" GridBrokenState = "锁故障" GridNoCmdState = "未通过指令开锁" ) const ( GridNoStoneState = "未存物" GridStoneState = "存物" GridNoMatchStoneState = "物品未登记" ) const ( GridNoRecharge = "未插电" GridRecharging = "正充电" GridRechargeFull = "充满电" ) var ( GridOpenStateMap = map[uint8]string{ GridOpenStateCode: GridOpenState, GridCloseStateCode: GridCloseState, GridBrokenStateCode: GridBrokenState, GridNoCmdStateCode: GridNoCmdState, } GridStoneStateMap = map[uint8]string{ GridNoStoneStateCode: GridNoStoneState, GridStoneStateCode: GridStoneState, GridNoMatchStoneCode: GridNoMatchStoneState, } GridRechargeMap = map[uint8]string{ GridNoRechargeCode: GridNoRecharge, GridRechargingCode: GridRecharging, GridRechargeFullCode: GridRechargeFull, } ) type Grid struct { common.Model CabinetID int `json:"cabinetId" gorm:"comment:'柜子编号';index:cab_grid"` DeviceGridID int `json:"deviceGridId" gorm:"comment:'设备的格子id';index:cab_grid"` ColorStatus string `json:"state" gorm:"size:64;comment:'格子背景颜色'"` GridInfo string `json:"gridInfo" gorm:"size:128;comment:'格子显示的信息'"` ChargeState string `json:"chargeState" gorm:"size:64;comment:'充电状态'"` StoneState string `json:"stoneState" gorm:"size:64;comment:'存物状态'"` OpenState string `json:"openState" gorm:"size:64;comment:'开启状态'"` RFID string `json:"RFID" gorm:"size:128;comment:'登记的的RFID'"` Staff *Staff `json:"staff" gorm:"-"` } func (Grid) TableName() string { return "bus_grids" } func (g *Grid) AfterFind(db *gorm.DB) error { var staff Staff db.Where("cabinet_id = ?", g.CabinetID).Where("grid_device_id = ?", g.DeviceGridID).First(&staff) g.Staff = &staff return nil }