| | |
| | | |
| | | import ( |
| | | "apsClient/conf" |
| | | "apsClient/constvar" |
| | | "apsClient/model" |
| | | "apsClient/model/response" |
| | | "apsClient/pkg/logx" |
| | | "errors" |
| | | "github.com/jinzhu/gorm" |
| | | "os" |
| | | "strings" |
| | |
| | | return deviceIds, nil |
| | | } |
| | | |
| | | func InitCurrentDeviceID() (err error) { |
| | | func GetDeviceList() (deviceList []*response.Device, err error) { |
| | | devices, err := model.NewDeviceSearch().SetDeviceMac(conf.Conf.System.DeviceId).FindNotTotal() |
| | | if err == gorm.ErrRecordNotFound { |
| | | return nil, nil |
| | | } |
| | | if err != nil { |
| | | return nil, err |
| | | } |
| | | deviceList = make([]*response.Device, 0, len(devices)) |
| | | for _, device := range devices { |
| | | deviceList = append(deviceList, &response.Device{ |
| | | DeviceID: device.DeviceID, |
| | | DeviceName: device.DeviceName, |
| | | NeedSetProcessParams: device.NeedSetProcessParams, |
| | | }) |
| | | } |
| | | return deviceList, nil |
| | | } |
| | | |
| | | func InitCurrentDeviceID(ServerID string) (err error) { |
| | | currentDeviceID := ReadDeviceIDFromFile() |
| | | if currentDeviceID != "" { |
| | | conf.Conf.CurrentDeviceID = currentDeviceID |
| | |
| | | if err != nil { |
| | | return err |
| | | } |
| | | if len(deviceList) == 0 { |
| | | if len(deviceList) > 0 { |
| | | conf.Conf.CurrentDeviceID = deviceList[0] |
| | | } else if conf.Conf.System.DeviceId != "" { |
| | | conf.Conf.CurrentDeviceID = conf.Conf.System.DeviceId |
| | | } else { |
| | | conf.Conf.CurrentDeviceID = deviceList[0] |
| | | conf.Conf.CurrentDeviceID = ServerID |
| | | } |
| | | SetDeviceIDToFile(conf.Conf.CurrentDeviceID) |
| | | return nil |
| | |
| | | deviceId = strings.Trim(deviceId, "\n") |
| | | return deviceId |
| | | } |
| | | |
| | | func UpdateDevice(deviceId string, needSetProcessParams bool) (err error) { |
| | | device, err := model.NewDeviceSearch().SetDeviceId(deviceId).First() |
| | | if err == gorm.ErrRecordNotFound { |
| | | return errors.New("设备不存在") |
| | | } |
| | | device.NeedSetProcessParams = needSetProcessParams |
| | | return model.NewDeviceSearch().SetID(device.ID).UpdateByMap(map[string]interface{}{"need_set_process_params": needSetProcessParams}) |
| | | } |
| | | |
| | | func GetCurrentDevice() (device *model.Device, err error) { |
| | | if conf.Conf.CurrentDeviceID == "" { |
| | | return nil, errors.New("当前设备ID不存在,请检查") |
| | | } |
| | | device, err = model.NewDeviceSearch().SetDeviceId(conf.Conf.CurrentDeviceID).First() |
| | | if err == gorm.ErrRecordNotFound { |
| | | return nil, errors.New("设备不存在") |
| | | } |
| | | return device, nil |
| | | } |
| | | |
| | | // ReportsSystemDeviceToCloud 创建同步设备id记录 |
| | | func ReportsSystemDeviceToCloud(systemDeviceID string) { |
| | | err := model.NewReportsToCloudSearch(nil).Create(&model.ReportsToCloud{ |
| | | ReportType: constvar.ReportTypeSystemDeviceID, |
| | | Content: systemDeviceID, |
| | | }) |
| | | if err != nil { |
| | | logx.Errorf("ReportsSystemDeviceToCloud create record error:%v", err) |
| | | } |
| | | } |