dev_intersect.go 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package devices
  2. import (
  3. "gorm.io/gorm"
  4. "server/global"
  5. "time"
  6. )
  7. type Intersect struct {
  8. ID int `gorm:"primary_key" json:"id"` //编号
  9. IntersectName string `gorm:"type:varchar(64)" json:"intersectName"` //路口名称
  10. IntersectType string `gorm:"type:varchar(64)" json:"intersectType"` //路口类型
  11. Address string `gorm:"type:varchar(64)" json:"address"` //地址
  12. CreateTime time.Time `gorm:"type:datetime" json:"createTime"` //创建时间
  13. IsDeleted gorm.DeletedAt `gorm:"default:null" json:"isDeleted"` //是否删除
  14. Status int `gorm:"type:int" json:"status"` //运行状态 0=正常,1=异常
  15. }
  16. func (Intersect) TableName() string {
  17. return "dev_intersect"
  18. }
  19. func (i Intersect) PublicIntersect() (intersectList []Intersect, err error) {
  20. err = global.GVA_DB.Model(&Intersect{}).Select("id", "intersect_name", "address").Find(&intersectList).Error
  21. return
  22. }
  23. func (i Intersect) IsExistedByName() error {
  24. err := global.GVA_DB.Model(&Intersect{}).Where("intersect_name = ?", i.IntersectName).First(&i).Error
  25. return err
  26. }
  27. func (i Intersect) AddIntersect() error {
  28. err := global.GVA_DB.Model(&Intersect{}).Create(&i).Error
  29. return err
  30. }
  31. func (i Intersect) UpdateIntersect() error {
  32. err := global.GVA_DB.Model(&i).
  33. Select("intersect_name", "address", "intersect_type").
  34. Where("id=?", i.ID).
  35. Updates(map[string]interface{}{
  36. "intersect_name": i.IntersectName,
  37. "address": i.Address,
  38. "intersect_type": i.IntersectType,
  39. }).Error
  40. return err
  41. }
  42. func (i Intersect) DelIntersect(id int) error {
  43. err := global.GVA_DB.Model(&i).Where("id = ?", id).Delete(&i).Error
  44. return err
  45. }
  46. func UpdateIntersectStatus(id string, status int) error {
  47. var intersect Intersect
  48. err := global.GVA_DB.Model(&intersect).
  49. Select("status").
  50. Where("id = ?", id).
  51. Updates(map[string]interface{}{
  52. "status": status,
  53. }).Error
  54. return err
  55. }
  56. func QueryIntersectInfoList(limit, offset int, keyword, shunt string) (intersectList []Intersect, total int64, err error) {
  57. db := global.GVA_DB.Model(&Intersect{})
  58. if keyword != "" {
  59. db.Where("intersect_name like ? ", "%"+keyword+"%")
  60. }
  61. if shunt != "" {
  62. db.Where("intersect_type like ?", "%"+shunt+"%")
  63. }
  64. err = db.Count(&total).Error
  65. if err != nil {
  66. return
  67. }
  68. err = db.Limit(limit).Offset(offset).Find(&intersectList).Error
  69. return
  70. }