xx
This commit is contained in:
@@ -8,11 +8,10 @@ import (
|
||||
|
||||
type DevUpData struct {
|
||||
Id int `gorm:"column:id;primaryKey" json:"id"`
|
||||
Imei string `gorm:"column:imei;comment:IMEI;type:varchar(255)" json:"imei"`
|
||||
|
||||
Sum string `gorm:"column:sum;comment:IMEI;type:varchar(255)" json:"sum"`
|
||||
Time string `gorm:"column:time;comment:IMEI;type:varchar(255)" json:"time"`
|
||||
Mile string `gorm:"column:mile;comment:IMEI;type:varchar(255)" json:"mile"`
|
||||
Imei string `gorm:"column:imei;unique;comment:IMEI;type:varchar(255)" json:"imei"`
|
||||
Sum string `gorm:"column:sum;comment:总次数;type:varchar(255)" json:"sum"`
|
||||
Time string `gorm:"column:time;comment:总运行时间;type:varchar(255)" json:"time"`
|
||||
Mile string `gorm:"column:mile;comment:总里程;type:varchar(255)" json:"mile"`
|
||||
|
||||
Created time.Time `gorm:"column:created;autoCreateTime;comment:创建时间" json:"created"`
|
||||
Updated time.Time `gorm:"column:updated;autoUpdateTime;comment:修改时间" json:"updated"`
|
||||
81
repository/dev_up_data.go
Normal file
81
repository/dev_up_data.go
Normal file
@@ -0,0 +1,81 @@
|
||||
package repository
|
||||
|
||||
import (
|
||||
"DT/global"
|
||||
"DT/model"
|
||||
)
|
||||
|
||||
type DevUpData struct {
|
||||
}
|
||||
|
||||
//func (r *Device) GetDeviceList(qr map[string]interface{}) (p []*model.Device, err error) {
|
||||
// db := global.Db
|
||||
// for key, value := range qr {
|
||||
// db = db.Where(key, value)
|
||||
// }
|
||||
// err = db.Order("id DESC").Find(&p).Error
|
||||
// return
|
||||
//}
|
||||
|
||||
//func (r *Device) GetDevicePage(req *form.DevicePageReq) (count int64, list []*device_model.Device, err error) {
|
||||
// db := global.Db.Model(&device_model.Device{})
|
||||
// //for key, value := range qr {
|
||||
// // db = db.Where(key, value)
|
||||
// //}
|
||||
// //if req.DriverId > 0 {
|
||||
// // db = db.Where("driver_id = ?", req.DriverId)
|
||||
// //}
|
||||
// err = db.Count(&count).Error
|
||||
// if err != nil {
|
||||
// return
|
||||
// }
|
||||
// //err = db.Offset((req.Page.GetPageIndex() - 1) * req.Page.GetPageSize()).Limit(req.Page.GetPageSize()).Order("id desc").Preload("Rule").Find(&list).Error
|
||||
// err = db.Offset((req.Page.GetPageIndex() - 1) * req.Page.GetPageSize()).Limit(req.Page.GetPageSize()).Order("id desc").Find(&list).Error
|
||||
// return
|
||||
//}
|
||||
|
||||
func (r *DevUpData) CreateDevUpData(d *model.DevUpData) error {
|
||||
return global.Db.Create(d).Error
|
||||
}
|
||||
func (r *DevUpData) UpdateDevUpData(d *model.DevUpData) error {
|
||||
return global.Db.Save(d).Error
|
||||
}
|
||||
|
||||
func (r *DevUpData) GetDevUpData(qr map[string]interface{}) (d *model.DevUpData, err error) {
|
||||
db := global.Db
|
||||
for key, value := range qr {
|
||||
db = db.Where(key, value)
|
||||
}
|
||||
err = db.First(&d).Error
|
||||
return
|
||||
}
|
||||
|
||||
//func (r *User) GetPeakValleyQuarterPage(req *form.PeakValleyQuarterListReq) (count int64, list []*peak_valley_model.PeakValleyQuarter, err error) {
|
||||
// db := global.Db.Model(&peak_valley_model.PeakValleyQuarter{})
|
||||
//
|
||||
// //for key, value := range qr {
|
||||
// // db = db.Where(key, value)
|
||||
// //}
|
||||
// err = db.Count(&count).Error
|
||||
// if err != nil {
|
||||
// return
|
||||
// }
|
||||
// err = db.Offset((req.Page.GetPageIndex() - 1) * req.Page.GetPageSize()).Limit(req.Page.GetPageSize()).Order("id desc").Preload("Rule").Find(&list).Error
|
||||
// return
|
||||
//}
|
||||
|
||||
//func (r *User) CreatePeakValleyQuarter(d *user_model.User) error {
|
||||
// return global.Db.Create(d).Error
|
||||
//}
|
||||
//func (r *User) UpdatePeakValleyQuarter(d *user_model.User) error {
|
||||
// return global.Db.Save(d).Error
|
||||
//}
|
||||
|
||||
//func (r *User) GetUser(qr map[string]interface{}) (d *user_model.User, err error) {
|
||||
// db := global.Db
|
||||
// for key, value := range qr {
|
||||
// db = db.Where(key, value)
|
||||
// }
|
||||
// err = db.First(&d).Error
|
||||
// return
|
||||
//}
|
||||
@@ -2,6 +2,7 @@ package repository
|
||||
|
||||
type groupRepository struct {
|
||||
Device
|
||||
DevUpData
|
||||
}
|
||||
|
||||
var GroupRepositorys = new(groupRepository)
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package tcpserver
|
||||
|
||||
import (
|
||||
"DT/model"
|
||||
"DT/repository"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"gorm.io/gorm"
|
||||
"strconv"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -46,16 +50,16 @@ func (s *Server) HandleAuth(client *Client, message []byte) error {
|
||||
return fmt.Errorf("unauthorized")
|
||||
}
|
||||
|
||||
model, err := repository.GroupRepositorys.Device.GetDevice(map[string]interface{}{"imei": msg.Imei})
|
||||
mod, err := repository.GroupRepositorys.Device.GetDevice(map[string]interface{}{"imei": msg.Imei})
|
||||
if err != nil {
|
||||
return fmt.Errorf("设备不存在")
|
||||
}
|
||||
if msg.Pwd != model.DriverPass {
|
||||
if msg.Pwd != mod.DriverPass {
|
||||
return fmt.Errorf("设备密码不正确")
|
||||
}
|
||||
|
||||
model.DriverVer = msg.Ver
|
||||
err = repository.GroupRepositorys.Device.UpdateDevice(model)
|
||||
mod.DriverVer = msg.Ver
|
||||
err = repository.GroupRepositorys.Device.UpdateDevice(mod)
|
||||
if err != nil {
|
||||
return fmt.Errorf("更新设备版本号失败")
|
||||
}
|
||||
@@ -129,6 +133,29 @@ func (s *Server) TimingReporting(client *Client, message []byte) error {
|
||||
if msg.Type != "up" {
|
||||
return fmt.Errorf("unauthorized")
|
||||
}
|
||||
|
||||
mod, err := repository.GroupRepositorys.DevUpData.GetDevUpData(map[string]interface{}{"imei": client.Imei})
|
||||
fmt.Println(mod)
|
||||
if err == nil {
|
||||
mod.Mile = strconv.Itoa(msg.MessageUpData.Mile)
|
||||
mod.Sum = strconv.Itoa(msg.MessageUpData.Sum)
|
||||
mod.Time = strconv.Itoa(msg.MessageUpData.Time)
|
||||
err = repository.GroupRepositorys.DevUpData.UpdateDevUpData(mod)
|
||||
if err != nil {
|
||||
return fmt.Errorf("更新设备定时上报信息错误\n")
|
||||
}
|
||||
} else if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
devUpData := &model.DevUpData{}
|
||||
devUpData.Imei = client.Imei
|
||||
devUpData.Mile = strconv.Itoa(msg.MessageUpData.Mile)
|
||||
devUpData.Sum = strconv.Itoa(msg.MessageUpData.Sum)
|
||||
devUpData.Time = strconv.Itoa(msg.MessageUpData.Time)
|
||||
err = repository.GroupRepositorys.DevUpData.CreateDevUpData(devUpData)
|
||||
if err != nil {
|
||||
return fmt.Errorf("设备定时上报存储失败\n")
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Printf("设备定时上报数据:%v\r\n", msg.MessageUpData)
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user