cameraDao.go 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package dao
  2. import "time"
  3. //CameraDevice 网关下挂载的设备, 摄像头
  4. type CameraDevice struct {
  5. ID int `gorm:"primary_key"` //编号
  6. DeviceName string `gorm:"type:varchar(64)"` //设备名称
  7. DeviceSN string `gorm:"type:varchar(64)"` //设备序列号
  8. CameraType int `gorm:"type:int"` //摄像机类型 0=枪机,1=球机
  9. GatewayId string `gorm:"type:varchar(32)"` //所属网关
  10. LampPoleId int `gorm:"type:int"` //归属灯杆 灯杆ID
  11. LampPoleName string `gorm:"type:varchar(64)"` //灯杆名称
  12. LampPoleSn string `gorm:"type:varchar(64)"` //灯杆sn
  13. LampPoleLocation string `gorm:"type:varchar(255)"` //灯杆安装位置
  14. LampLat float64 `gorm:"type:double(17,14)"` //经度
  15. LampLng float64 `gorm:"type:double(17,14)"` //纬度
  16. GroupId int `gorm:"type:int"` //灯杆分组ID
  17. BrandId int `gorm:"type:int"` //设备品牌
  18. ModelId int `gorm:"type:int"` //设备型号
  19. RatedPower float32 `gorm:"type:float(8,2);default 0.00"` //功率
  20. MonitorAddress string `gorm:"type:varchar(255)"` //监控地址 ip:端口
  21. IPAddress string `gorm:"type:varchar(40)"` //IP地址
  22. InstallTime time.Time `gorm:"type:date"` //安装时间
  23. TenantId string `gorm:"type:varchar(12)"` //租户ID
  24. CreateTime time.Time `gorm:"type:datetime"` //新增时间
  25. CreateUser string `gorm:"type:varchar(60)"` //新增记录操作用户ID
  26. UpdateTime time.Time `gorm:"type:datetime"` //修改时间
  27. UpdateUser string `gorm:"type:varchar(60)"` //修改用户
  28. IsDeleted int `gorm:"type:int;default 0"` //是否删除 0=未删除,1=删除
  29. Status int `gorm:"type:int"` //状态 0=正常,1=异常
  30. Tag string `gorm:"type:varchar(255)"` //标签,(备用,逗号区分)
  31. IsEnable int `gorm:"type:int;default 2"` //启用禁用:1启用,2禁用
  32. StreamId string `gorm:"type:varchar(100)"` //流id
  33. }
  34. func (CameraDevice) TableName() string {
  35. return "t_dev_camera"
  36. }
  37. func (c CameraDevice) Delete() error {
  38. return GDb.Model(&c).Updates(map[string]interface{}{"state": 0}).Error
  39. }
  40. func (c CameraDevice) IsExistedByCode() (bool, error) {
  41. var count = 0
  42. err := GDb.Model(&c).Where(" id = ? ", c.ID).Count(&count).Error
  43. return count > 0, err
  44. }
  45. func (c CameraDevice) SaveFromWeb() error {
  46. has, err := c.IsExistedByCode()
  47. if err != nil {
  48. return err
  49. }
  50. if has { //更新
  51. return GDb.Model(&c).Updates(map[string]interface{}{"device_name": c.DeviceName, "gateway_id": c.GatewayId,
  52. "tenant_id": c.TenantId, "status": c.Status}).Error
  53. } else { //插入
  54. return GDb.Create(&c).Error
  55. }
  56. }
  57. func (c CameraDevice) GetCameraDevice() error {
  58. err := GDb.Model(&c).Where(" id = ? ", c.ID).Scan(&c).Error
  59. return err
  60. }