package manage import ( "fmt" "vamicro/iotData-service/model" "vamicro/iotData-service/serializer" ) type ZonePostVo struct { Name string `form:"name" json:"name"` Dots string `form:"dots" json:"dots"` // Id uint `form:"id" json:"id"` } type ZoneService struct { Name string `form:"name" json:"name"` DotsArr []ZonePostVo `form:"dots_arr" json:"dots_arr"` } type DelZoneService struct { Id uint `form:"id" json:"id"` } func (service *ZoneService) CreteOrEdit() serializer.Response { obj := model.DrawZone{} err := obj.Clear() if err != nil { return serializer.Response{ Msg: err.Error(), Status: 500, } } for _, vo := range service.DotsArr { obj1 := model.DrawZone{} obj1.Dots = vo.Dots err = obj1.Create() if err != nil { return serializer.Response{ Msg: err.Error(), Status: 500, } } } zones := obj.FindAll() for _, zone := range zones { err := model.CheckAllDevice(zone,0,0) if err != nil { fmt.Println("检验所有的设备出界情况,出错", err) } } return serializer.Response{ Msg: "成功更新数据", Status: 200, } } func (service *DelZoneService) Del() serializer.Response { obj:= model.DrawZone{} obj.ID=service.Id err:= obj.Del() if err != nil { return serializer.Response{ Msg: err.Error(), Status: 500, } } zones := obj.FindAll() for _, zone := range zones { err := model.CheckAllDevice(zone,1, obj.ID) if err != nil { fmt.Println("检验所有的设备出界情况,出错", err) } } return serializer.Response{ Msg: "成功删除一条画框数据", Status: 200, } } func (service *ZoneService) List() serializer.Response { zones := []model.DrawZone{} var total int64 code := 200 db := model.DB.Table("draw_zones") if service.Name != "" { db = db.Where("name like ?", "%"+service.Name+"%") } if err := db.Count(&total).Error; err != nil { code = 30001 return serializer.Response{ Status: code, Msg: "数据库错误 count", Error: err.Error(), } } if err := db.Find(&zones).Error; err != nil { code = 30001 return serializer.Response{ Status: code, Msg: "数据库错误", Error: err.Error(), } } return serializer.BuildListResponse(serializer.BuildZonesRsp(zones), uint(total)) }