package manage import ( "time" "vamicro/iotData-service/model" "vamicro/iotData-service/serializer" ) type LowBatteryService struct { Sn string `form:"sn" json:"sn"` ZoneName string `form:"zoneName" json:"zoneName"` } func (service *LowBatteryService) Show() serializer.Response { code := 200 warns := []model.Warning{} db := model.DB.Table("warnings") if service.Sn != "" { db = db.Where("sn = ?", service.Sn) } dayStr := time.Now().AddDate(0, 0, -300).Format("2006-01-02") if err := db.Where("is_low_battery = 1").Where("created_at between ? and ?", dayStr, GetNowStr()).Order("created_at desc").Find(&warns).Error; err != nil { code = 30001 return serializer.Response{ Status: code, Msg: "数据库错误", Error: err.Error(), } } var total int64 if err := db.Where("is_low_battery = 1").Where("created_at between ? and ?", dayStr, GetNowStr()).Count(&total).Error; err != nil { code = 30001 return serializer.Response{ Status: code, Msg: "数据库错误 count", Error: err.Error(), } } return serializer.BuildListResponse(serializer.BuildWarnsRsp(warns), uint(total)) } func (service *LowBatteryService) ShowOutBound() serializer.Response { code := 200 warns := []model.Warning{} db := model.DB.Table("warnings") if service.Sn != "" { db = db.Where("sn = ?", service.Sn) } dayStr := time.Now().AddDate(0, 0, -300).Format("2006-01-02") if err := db.Where("is_out_bound = 1").Where("created_at between ? and ?", dayStr, GetNowStr()).Order("created_at desc").Find(&warns).Error; err != nil { code = 30001 return serializer.Response{ Status: code, Msg: "数据库错误", Error: err.Error(), } } var total int64 if err := db.Where("is_out_bound = 1").Where("created_at between ? and ?", dayStr, GetNowStr()).Count(&total).Error; err != nil { code = 30001 return serializer.Response{ Status: code, Msg: "数据库错误 count", Error: err.Error(), } } return serializer.BuildListResponse(serializer.BuildWarnsRsp(warns), uint(total)) } func (service *LowBatteryService) ShowHistory() serializer.Response { code := 200 warns := []model.Warning{} db := model.DB.Table("warnings") if service.Sn != "" { db = db.Where("sn = ?", service.Sn) } dayStr := time.Now().AddDate(0, 0, -300).Format("2006-01-02") if err := db.Where("is_low_battery = 1 or is_out_bound = 1").Where("created_at between ? and ?", dayStr, GetNowStr()).Order("created_at desc").Find(&warns).Error; err != nil { code = 30001 return serializer.Response{ Status: code, Msg: "数据库错误", Error: err.Error(), } } var total int64 if err := db.Where("is_low_battery = 1 or is_out_bound = 1").Where("created_at between ? and ?", dayStr, GetNowStr()).Count(&total).Error; err != nil { code = 30001 return serializer.Response{ Status: code, Msg: "数据库错误 count", Error: err.Error(), } } return serializer.BuildListResponse(serializer.BuildWarnsRsp(warns), uint(total)) } func (service *LowBatteryService) Handle() serializer.Response { code := 200 warns := []model.Warning{} db := model.DB.Table("warnings") if service.Sn != "" { db = db.Where("sn = ?", service.Sn) } dayStr := time.Now().AddDate(0, 0, -300).Format("2006-01-02") if err := db.Where("is_low_battery = 1 or is_out_bound = 1").Where("created_at between ? and ?", dayStr, GetNowStr()).Find(&warns).Error; err != nil { code = 30001 return serializer.Response{ Status: code, Msg: "数据库错误", Error: err.Error(), } } return serializer.Response{ Status: code, Data: warns, } }