123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package service
- import (
- "errors"
- device "iot_manager_service/app/device/dao"
- "iot_manager_service/app/operation/dao"
- "iot_manager_service/app/operation/model"
- "iot_manager_service/util/common"
- "time"
- )
- var AepCallbackRecordService = new(aepCallbackRecordService)
- type aepCallbackRecordService struct{}
- func (s *aepCallbackRecordService) Save(data model.AepCallbackPayload, timestamp int64) error {
- datatime := time.Unix(timestamp/1000, 0)
- imei := data.IMEI
- deviceId, err := device.ManholeCover{}.FindDeviceIdByImei(imei)
- if err != nil {
- return errors.New("没有添加这个imei的设备" + imei)
- }
- record := dao.ManholeCoverDao{
- CSQ: data.CSQ,
- IMEI: data.IMEI,
- ICCID: data.ICCID,
- Temperature: data.Temperature,
- LeanAngle: data.LeanAngle,
- BatteryLevel: data.BatteryLevel,
- }
- record.DeviceId = deviceId
- record.PostTime = common.Time(datatime)
- record.CreateDate = datatime.Format("2006-01-02")
- manholeCover := device.ManholeCover{
- ID: deviceId,
- Temperature: data.Temperature,
- LeanAngle: data.LeanAngle,
- BatteryLevel: data.BatteryLevel,
- Csq: data.CSQ,
- LastPostTime: common.Time(datatime),
- }
- err = manholeCover.Update()
- if err != nil {
- return errors.New(imei + "更新井盖的参数失败" + err.Error())
- }
- return record.Save()
- }
- func (s *aepCallbackRecordService) GetByDeviceId(deviceId int) (dao.ManholeCoverDao, error) {
- var record dao.ManholeCoverDao
- record.DeviceId = deviceId
- err := record.Get()
- if err != nil {
- return dao.ManholeCoverDao{}, err
- }
- return record, nil
- }
- func (s *aepCallbackRecordService) GetHistoryList(deviceId int, queryStartDate, queryEndDate, queryType string) ([]model.ManholeHistoryList, error) {
- var record dao.ManholeCoverDao
- record.DeviceId = deviceId
- records, err := record.GetList(queryStartDate, queryEndDate)
- if err != nil {
- return nil, err
- }
- var list []model.ManholeHistoryList
- for _, coverDao := range records {
- var value interface{}
- if queryType == "temp" {
- value = coverDao.Temperature
- } else if queryType == "battery" {
- value = coverDao.BatteryLevel
- } else if queryType == "csq" {
- value = coverDao.CSQ
- } else if queryType == "lean_angle" {
- value = coverDao.LeanAngle
- }
- list = append(list, model.ManholeHistoryList{
- Name: coverDao.CreateDate,
- Value: value,
- })
- }
- return list, nil
- }
|