1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package devices
- import (
- "gorm.io/gorm"
- "server/global"
- "time"
- )
- type Intersect struct {
- ID int `gorm:"primary_key" json:"id"` //编号
- IntersectName string `gorm:"type:varchar(64)" json:"intersectName"` //路口名称
- IntersectType string `gorm:"type:varchar(64)" json:"intersectType"` //路口类型
- Address string `gorm:"type:varchar(64)" json:"address"` //地址
- CreateTime time.Time `gorm:"type:datetime" json:"createTime"` //创建时间
- IsDeleted gorm.DeletedAt `gorm:"default:null" json:"isDeleted"` //是否删除
- Status int `gorm:"type:int" json:"status"` //运行状态 0=正常,1=异常
- }
- func (Intersect) TableName() string {
- return "dev_intersect"
- }
- func (i Intersect) PublicIntersect() (intersectList []Intersect, err error) {
- err = global.GVA_DB.Model(&Intersect{}).Select("id", "intersect_name", "address").Find(&intersectList).Error
- return
- }
- func (i Intersect) IsExistedByName() error {
- err := global.GVA_DB.Model(&Intersect{}).Where("intersect_name = ?", i.IntersectName).First(&i).Error
- return err
- }
- func (i Intersect) AddIntersect() error {
- err := global.GVA_DB.Model(&Intersect{}).Create(&i).Error
- return err
- }
- func (i Intersect) UpdateIntersect() error {
- err := global.GVA_DB.Model(&i).
- Select("intersect_name", "address", "intersect_type").
- Where("id=?", i.ID).
- Updates(map[string]interface{}{
- "intersect_name": i.IntersectName,
- "address": i.Address,
- "intersect_type": i.IntersectType,
- }).Error
- return err
- }
- func (i Intersect) DelIntersect(id int) error {
- err := global.GVA_DB.Model(&i).Where("id = ?", id).Delete(&i).Error
- return err
- }
- func UpdateIntersectStatus(id string, status int) error {
- var intersect Intersect
- err := global.GVA_DB.Model(&intersect).
- Select("status").
- Where("id = ?", id).
- Updates(map[string]interface{}{
- "status": status,
- }).Error
- return err
- }
- func QueryIntersectInfoList(limit, offset int, keyword, shunt string) (intersectList []Intersect, total int64, err error) {
- db := global.GVA_DB.Model(&Intersect{})
- if keyword != "" {
- db.Where("intersect_name like ? ", "%"+keyword+"%")
- }
- if shunt != "" {
- db.Where("intersect_type like ?", "%"+shunt+"%")
- }
- err = db.Count(&total).Error
- if err != nil {
- return
- }
- err = db.Limit(limit).Offset(offset).Find(&intersectList).Error
- return
- }
|