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))
|
}
|