grid.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package model
  2. import (
  3. "dy-admin/internal/pcmserver/common"
  4. "gorm.io/gorm"
  5. )
  6. const (
  7. GridOpenStateCode uint8 = iota
  8. GridCloseStateCode
  9. GridBrokenStateCode
  10. GridNoCmdStateCode
  11. )
  12. const (
  13. GridNoStoneStateCode = iota
  14. GridStoneStateCode
  15. GridNoMatchStoneCode
  16. )
  17. const (
  18. GridNoRechargeCode = iota
  19. GridRechargingCode
  20. GridRechargeFullCode
  21. )
  22. const (
  23. GridOpenState = "锁已开"
  24. GridCloseState = "锁关闭"
  25. GridBrokenState = "锁故障"
  26. GridNoCmdState = "未通过指令开锁"
  27. )
  28. const (
  29. GridNoStoneState = "未存物"
  30. GridStoneState = "存物"
  31. GridNoMatchStoneState = "物品未登记"
  32. )
  33. const (
  34. GridNoRecharge = "未插电"
  35. GridRecharging = "正充电"
  36. GridRechargeFull = "充满电"
  37. )
  38. var (
  39. GridOpenStateMap = map[uint8]string{
  40. GridOpenStateCode: GridOpenState,
  41. GridCloseStateCode: GridCloseState,
  42. GridBrokenStateCode: GridBrokenState,
  43. GridNoCmdStateCode: GridNoCmdState,
  44. }
  45. GridStoneStateMap = map[uint8]string{
  46. GridNoStoneStateCode: GridNoStoneState,
  47. GridStoneStateCode: GridStoneState,
  48. GridNoMatchStoneCode: GridNoMatchStoneState,
  49. }
  50. GridRechargeMap = map[uint8]string{
  51. GridNoRechargeCode: GridNoRecharge,
  52. GridRechargingCode: GridRecharging,
  53. GridRechargeFullCode: GridRechargeFull,
  54. }
  55. )
  56. type Grid struct {
  57. common.Model
  58. CabinetID int `json:"cabinetId" gorm:"comment:'柜子编号';index:cab_grid"`
  59. DeviceGridID int `json:"deviceGridId" gorm:"comment:'设备的格子id';index:cab_grid"`
  60. ColorStatus string `json:"state" gorm:"size:64;comment:'格子背景颜色'"`
  61. GridInfo string `json:"gridInfo" gorm:"size:128;comment:'格子显示的信息'"`
  62. ChargeState string `json:"chargeState" gorm:"size:64;comment:'充电状态'"`
  63. StoneState string `json:"stoneState" gorm:"size:64;comment:'存物状态'"`
  64. OpenState string `json:"openState" gorm:"size:64;comment:'开启状态'"`
  65. RFID string `json:"RFID" gorm:"size:128;comment:'登记的的RFID'"`
  66. Staff *Staff `json:"staff" gorm:"-"`
  67. }
  68. func (Grid) TableName() string {
  69. return "bus_grids"
  70. }
  71. func (g *Grid) AfterFind(db *gorm.DB) error {
  72. var staff Staff
  73. db.Where("cabinet_id = ?", g.CabinetID).Where("grid_device_id = ?", g.DeviceGridID).First(&staff)
  74. g.Staff = &staff
  75. return nil
  76. }