Upgrade.php
4.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php
namespace domain\upgrade;
use Yii;
use domain\upgrade\models\Upgrade as UpgradeModel;
use Exception;
/**
* 版本
* Class Upgrade
* @package domain\upgrade
*/
class Upgrade
{
/**
* 创建版本
* @param $item
*/
static function create($item)
{
try {
$findUpgradeModel = UpgradeModel::findOne(['version' => $item["version"], 'manufacture_id' => $item["manufacture_id"], 'type' => $item["type"]]);
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->path = $item["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']) {
$findUpgradeModel = UpgradeModel::findOne(['version' => $item["version"], 'tpye' => $item["type"]]);
if (!empty($findUpgradeModel)) {
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['path']) && !empty($item['path'])) {
$upgradeModel->path = $item['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']) && !empty($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]);
}
}