public SoftwareUpdateResult SoftwareUpdate([FromBody] SoftwareUpdateRequest param) { try { if (param == null) { return(new SoftwareUpdateResult { StatusCode = "000003", Result = "请求错误,请检查输入参数!" }); } var version = long.Parse(param.Version.Replace(".", "")); var updpath = new DirectoryInfo(CdmConfiguration.SoftwareUpdatePath).GetFiles("*.zip"); var ret = new SoftwareUpdateResult { NewVersionFileName = string.Empty, StatusCode = "000000" }; foreach (FileInfo fileInfo in updpath) { var tmp = fileInfo.Name.Replace(".", ""); var reg = new Regex(@"\d+"); var m = reg.Match(tmp).ToString(); if (long.Parse(m) > version) { ret.NewVersionFileName = fileInfo.Name; ret.FileContent = File.ReadAllBytes(fileInfo.FullName); break; } } return(ret); } catch (Exception ex) { Log.InfoFormat("SoftwareUpdate :{0}.", JsonConvert.SerializeObject(param)); Log.Error("SoftwareUpdate", ex); return(new SoftwareUpdateResult { StatusCode = "000003", Result = ex.Message }); } }
public static SwlResult CampaignTargetCompletion(DbConnector dbConn, BplIdentity targetId, SoftwareUpdateResult updateResult) { var target = dbConn.ExecuteBpl(new CampaignTargetGetById { TargetId = targetId }); if (target == null) { Log.Warn("CAMPAIGN TARGET with ID {0} not found in database, EXITING !!!", targetId); return SwlResult.NOT_FOUND; } var targetStatus = CampaignTargetStatus.Failed; if (updateResult == SoftwareUpdateResult.Success) { var di = dbConn.ExecuteBpl(new DeviceGetById { DeviceId = target.DeviceId }); if (di == null) { Log.Error("Device with ID: {0} not found in database, EXITING !!!", target.DeviceId); return SwlResult.INVALID_DATA; } dbConn.ExecuteBpl(new DeviceInstallAdd(di.DeviceId, target.CampaignType, target.CampaignDstInstallId)); targetStatus = CampaignTargetStatus.Success; } return LogisticsHelpers.CampaignTargetSetStatus(dbConn, targetId, targetStatus); }