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