$item["version"], 'manufacture_id' => $item["manufacture_id"], 'project_id' => $item["project_id"], 'model_id' => $item["model_id"], 'package_name' => $item["package_name"], 'is_delete' => 0, 'type' => $item["type"] ]; $findUpgradeModel = UpgradeModel::findOne($where); if (!empty($findUpgradeModel)) { return -1; } $upgradeModel = Yii::createObject(UpgradeModel::className()); $upgradeModel->type = $item["type"]; // 版本类型 1. app类升级,2. OTA整包升级 $upgradeModel->version = $item["version"]; // 版本 $upgradeModel->manufacture_id = $item["manufacture_id"]; // 厂商编号 $upgradeModel->project_id = $item["project_id"]; // 项目 $upgradeModel->model_id = $item["model_id"]; // 型号 $upgradeModel->desc = $item["desc"]; // 描述 $upgradeModel->path = $item["path"]; // 文件路径 $upgradeModel->upload_path = $item["upload_path"]; // 服务器文件路径 $upgradeModel->package_name = $item["package_name"]; // 安装包名称 if (isset($item["device_ids"])) { $upgradeModel->device_ids = $item["指定deviceID,可以多个,多个用逗号隔开"]; // 版本 } $upgradeModel->size = $item["size"]; // 文件大小 $upgradeModel->file_md5 = $item["file_md5"]; // 软件包校验用的md5 $saveResult = $upgradeModel->save(); return $saveResult; } catch (Exception $e) { return false; } } /** * 更新版本 * @param $id * @param $item * @return null|static */ static function update($id, $item) { $upgradeModel = UpgradeModel::findOne($id); if (empty($upgradeModel)) { return false; } if (isset($item['version']) && $upgradeModel->version != $item['version']) { $where = [ 'version' => $item["version"], 'manufacture_id' => $item["manufacture_id"], 'project_id' => $item["project_id"], 'model_id' => $item["model_id"], 'package_name' => $item["package_name"], 'is_delete' => 0, 'type' => $item["type"] ]; $findUpgradeModel = UpgradeModel::findOne($where); if (!empty($findUpgradeModel) && $findUpgradeModel->id != $id) { return -1; } } if (isset($item['version']) && !empty($item['version'])) { $upgradeModel->version = $item['version']; } if (isset($item['manufacture_id']) && !empty($item['manufacture_id'])) { $upgradeModel->manufacture_id = $item['manufacture_id']; } if (isset($item['project_id']) && !empty($item['project_id'])) { $upgradeModel->project_id = $item['project_id']; } if (isset($item['model_id']) && !empty($item['model_id'])) { $upgradeModel->model_id = $item['model_id']; } if (isset($item['desc']) && !empty($item['desc'])) { $upgradeModel->desc = $item['desc']; } if (isset($item['path']) && !empty($item['path'])) { $upgradeModel->path = $item['path']; } if (isset($item['upload_path']) && !empty($item['upload_path'])) { $upgradeModel->upload_path = $item['upload_path']; } if (isset($item['focuse']) && !empty($item['focuse'])) { $upgradeModel->focuse = $item['focuse']; } if (isset($item['device_ids']) && !empty($item['device_ids'])) { $upgradeModel->device_ids = $item['device_ids']; } // 1 全量 2 增量 if (isset($item['package_type']) && !empty($item['package_type'])) { $upgradeModel->package_type = $item['package_type']; } // 增量允许的起始版本号 if (isset($item['start_version']) && !empty($item['start_version'])) { $upgradeModel->start_version = $item['start_version']; } // 增量允许的结束版本号 if (isset($item['end_version'])) { $upgradeModel->end_version = $item['end_version']; } if (isset($item['size']) && !empty($item['size'])) { $upgradeModel->size = $item['size']; } if (isset($item['status']) && !empty($item['status'])) { $upgradeModel->status = $item['status']; } if (isset($item['file_md5']) && !empty($item['file_md5'])) { $upgradeModel->file_md5 = $item['file_md5']; } if (isset($item['pushed_at']) && !empty($item['pushed_at'])) { $upgradeModel->pushed_at = $item['pushed_at']; } if (isset($item['package_name']) && !empty($item['package_name'])) { $upgradeModel->package_name = $item['package_name']; } $resultSave = $upgradeModel->save(); return $resultSave; } /** * 删除版本 * @param $id * @param $item * @return null|static */ public static function delete($id) { $upgradeModel = UpgradeModel::findOne($id); if (empty($upgradeModel)) { return false; } return UpgradeModel::updateAll(["is_delete" => 1], ["id" => $id]); } }