Commit 200040c198199e5d39006f4e439fcdd46b44ce22

Authored by xu
1 parent 654a1b86
Exists in master

app-api

1. F 前端接口代码调整
app-api/controllers/AuthDeviceController.php
... ... @@ -14,6 +14,10 @@ use stdClass;
14 14 use function date;
15 15 use function count;
16 16 use function time;
  17 +use function md5;
  18 +use function strlen;
  19 +use function substr;
  20 +use function preg_match;
17 21  
18 22 /**
19 23 * 设备授权-控制器
... ... @@ -32,9 +36,13 @@ class AuthDeviceController extends BaseController
32 36 {
33 37 private static $SIGN_SALT = '13456';
34 38 private static $RANDOM_KEY_SALT = '12356';
  39 + const LOG_DEBUG = true;
35 40  
36 41 private static function myLog($str)
37 42 {
  43 + if (!LOG_DEBUG) {
  44 + return false;
  45 + }
38 46 AppLog::DEBUG($str);
39 47 }
40 48  
... ... @@ -42,10 +50,9 @@ class AuthDeviceController extends BaseController
42 50 * 设备授权接口,未加密的
43 51 * @return stdClass
44 52 */
45   - private function indexNoEncode()
  53 + public function actionIndexNoEncode()
46 54 {
47   - $getPostData = file_get_contents('php://input', 'r');
48   - self::myLog('actionIndex postData:'.$getPostData);
  55 + $getPostData = $this->postData('actionIndexNoEncode');
49 56  
50 57 return $this->authDevice($getPostData);
51 58 }
... ... @@ -59,8 +66,8 @@ class AuthDeviceController extends BaseController
59 66 $e = new stdClass();
60 67 $e->content = '';
61 68  
62   - $getPostData = file_get_contents('php://input', 'r');
63   - self::myLog('actionIndext postData:'.$getPostData);
  69 + $getPostData = $this->postData('actionIndex');
  70 +
64 71 $getPostData = json_decode($getPostData, true);
65 72 $randomKey = $getPostData['randomKey'];
66 73 $content = $getPostData['content'];
... ... @@ -152,7 +159,7 @@ class AuthDeviceController extends BaseController
152 159 {
153 160 $e = new stdClass();
154 161  
155   - $getPostDataTxt = file_get_contents('php://input', 'r');
  162 + $getPostDataTxt = $this->postData('actionCryptTxt');
156 163 $getPostData = json_decode($getPostDataTxt, true);
157 164 $randomKey = $getPostData['randomKey'];
158 165 $content = $getPostData['content'];
... ...
app-api/controllers/BaseController.php
... ... @@ -2,13 +2,13 @@
2 2  
3 3 namespace app\api\controllers;
4 4  
  5 +
5 6 use Yii;
6 7 use yii\rest\Controller as RestController;
7 8 use yii\filters\ContentNegotiator;
8   -use yii\filters\RateLimiter;
9 9 use yii\web\Response;
10 10 use yii\filters\VerbFilter;
11   -use yii\base\Exception;
  11 +use common\helpers\Log as AppLog;
12 12 use function str_replace;
13 13 use function json_encode;
14 14 use function explode;
... ... @@ -22,6 +22,15 @@ class BaseController extends RestController
22 22 public $response;
23 23 /** @var \yii\web\User **/
24 24  
  25 + const LOG_DEBUG = true;
  26 +
  27 + public function myBaseLog($str)
  28 + {
  29 + if (!LOG_DEBUG) {
  30 + return false;
  31 + }
  32 + AppLog::DEBUG($str);
  33 + }
25 34  
26 35 /** @inheritdoc **/
27 36 public function behaviors()
... ... @@ -41,6 +50,18 @@ class BaseController extends RestController
41 50 ];
42 51 }
43 52  
  53 + /**
  54 + * @return string
  55 + */
  56 + public function postData($actionId)
  57 + {
  58 + $getPostData = file_get_contents('php://input', 'r');
  59 + if (!$actionId) {
  60 + $actionId = $this->getRoute();
  61 + }
  62 + $this->myBaseLog($actionId.':'. $getPostData);
44 63  
  64 + return $getPostData;
  65 + }
45 66  
46 67 }
... ...
app-api/controllers/UpgradeController.php
... ... @@ -10,21 +10,19 @@ use domain\production\ProductionRepository;
10 10 use domain\upgrade\models\Upgrade as UpgradeModel;
11 11 use domain\upgrade\UpgradeLog;
12 12 use domain\upgrade\UpgradeLogRepository;
13   -use domain\upgrade\UpgradeRepository;
14 13 use domain\upgrade\UpgradeStatus;
15 14 use domain\device\DeviceStatsRepository;
16 15 use domain\device\Device;
17 16 use domain\device\DeviceStats;
18 17 use domain\manufacturer\ManufacturerRepository;
19 18 use domain\project\ProjectRepository;
20   -use domain\device\DeviceRepository;
21   -use domain\upgrade\Upgrade;
22 19  
23 20 use stdClass;
24   -
25   -use function sizeof;
26 21 use function date;
27 22 use function count;
  23 +use function explode;
  24 +use function file_get_contents;
  25 +use function in_array;
28 26 use function time;
29 27  
30 28 /**
... ... @@ -33,9 +31,12 @@ use function time;
33 31 */
34 32 class UpgradeController extends BaseController
35 33 {
36   -
  34 + const LOG_DEBUG = true;
37 35 private static function myLog($str)
38 36 {
  37 + if (!LOG_DEBUG) {
  38 + return false;
  39 + }
39 40 AppLog::DEBUG($str);
40 41 }
41 42 /**
... ... @@ -48,8 +49,7 @@ class UpgradeController extends BaseController
48 49 $e->status = 1;
49 50 $e->message = 'ok';
50 51 $e->update_flag = 0; // 0 1 2
51   - $getPostData = file_get_contents('php://input', 'r');
52   - self::myLog('actionCheckVersion:'.$getPostData);
  52 + $getPostData = $this->postData('actionCheckVersion');
53 53 if (!$getPostData) {
54 54 $e->message = '数据为空';
55 55 return $e;
... ... @@ -204,8 +204,8 @@ class UpgradeController extends BaseController
204 204 {
205 205 $e = new stdClass();
206 206 $e->status = 1;
207   - $getPostData = file_get_contents('php://input', 'r');
208   - self::myLog('actionReportUpgradeEvent:'. $getPostData);
  207 + $getPostData = $this->postData('actionReportUpgradeEvent');
  208 +
209 209 if (!$getPostData) {
210 210 $e->message = '数据为空';
211 211 return $e;
... ... @@ -292,8 +292,8 @@ class UpgradeController extends BaseController
292 292 {
293 293 $e = new stdClass();
294 294 $e->status = 1;
295   - $getPostData = file_get_contents('php://input', 'r');
296   - self::myLog('actionReportUpgradeEvent:'. $getPostData);
  295 + $getPostData = $getPostData = $this->postData('actionCheckAppVersion');
  296 +
297 297 if (!$getPostData) {
298 298 $e->message = '数据为空';
299 299 return $e;
... ... @@ -397,8 +397,8 @@ class UpgradeController extends BaseController
397 397 {
398 398 $e = new stdClass();
399 399 $e->status = 1;
400   - $getPostData = file_get_contents('php://input', 'r');
401   - self::myLog('actionReportAPPUpgradeEvent:'. $getPostData);
  400 + $getPostData = $getPostData = $this->postData('actionReportAppUpgradeEvent');
  401 +
402 402 if (!$getPostData) {
403 403 $e->message = '数据为空';
404 404 return $e;
... ... @@ -489,8 +489,8 @@ class UpgradeController extends BaseController
489 489 {
490 490 $e = new stdClass();
491 491 $e->status = 1;
492   - $getPostData = file_get_contents('php://input', 'r');
493   - self::myLog('actionReportDeviceVersion:'. $getPostData);
  492 + $getPostData = $getPostData = $this->postData('actionReportDeviceVersion');
  493 +
494 494 if (!$getPostData) {
495 495 $e->message = '数据为空';
496 496 return $e;
... ... @@ -580,4 +580,10 @@ class UpgradeController extends BaseController
580 580 return $e;
581 581 }
582 582  
  583 + public function actionPTest()
  584 + {
  585 + echo $this->getId();
  586 + $getPostData = file_get_contents('php://input', 'r');
  587 + //self::myLog('actionPTest:'. $getPostData);
  588 + }
583 589 }
584 590 \ No newline at end of file
... ...
domain/device/Device.php
... ... @@ -63,7 +63,7 @@ class Device
63 63 'status' => $status,
64 64 'has_re_auth' => $hasReAuth,
65 65 'apply_at' => $applyAt,
66   - //'auth_at' => time(),
  66 + 'auth_at' => null,
67 67 ];
68 68  
69 69 return self::create($item);
... ... @@ -140,26 +140,26 @@ class Device
140 140 $e->message = '授权成功, 重复授权';
141 141 $e->success = true;
142 142 $e->status = 4;
  143 + return $e;
  144 + }
  145 +
  146 + $deviceModel->status = DeviceStatus::HAS_AUTH;
  147 + $deviceModel->auth_at = $tt;
  148 + if ($deviceModel->save()) {
  149 + $e->mac = $deviceModel->mac;
  150 + $e->serial_no = $deviceModel->serial_no;
  151 + $e->message = '授权成功, 重复授权';
  152 + $e->success = true;
  153 + $e->status = 4;
143 154 } else {
144   - $deviceModel->status = DeviceStatus::HAS_AUTH;
145   - $deviceModel->auth_at = time();
146   - if ($deviceModel->save()){
147   - $e->mac = $deviceModel->mac;
148   - $e->serial_no = $deviceModel->serial_no;
149   - $e->message = '授权成功, 重复授权';
150   - $e->success = true;
151   - $e->status = 4;
152   - } else {
153   - $e->message = '设备已经存在,授权失败';
154   - $e->success = false;
155   - $e->status = 5;
156   - }
  155 + $e->message = '设备已经存在,授权失败';
  156 + $e->success = false;
  157 + $e->status = 5;
157 158 }
158 159  
159 160 return $e;
160 161 }
161 162 $needRecord = DeviceRepository::checkNeedRecordFailRecord($batchId, $batchModel->num);
162   -
163 163 if ($needRecord) {
164 164 // 超过了限制数,记录到另外一个表里面
165 165 $failRecord = DeviceAuthFailRepository::findOne(['device_id' => $deviceId, 'is_delete' => 0]);
... ... @@ -194,40 +194,8 @@ class Device
194 194 }
195 195 return $e;
196 196 }
197   - // 找到未空白未绑定的设备序列号
198   - $newDeviceModel = DeviceRepository::findOne(['device_id' => null,'batch_id' => $batchId, 'is_delete' => 0, 'status' => DeviceStatus::NO_AUTH]);
199   - if (empty($newDeviceModel)) {
200   - $e->status = 8;
201   - $e->message = '授权失败,系统异常';
202   - return $e;
203   - }
204   - // 测试代码
205   - if (strpos($deviceId, 'FAILDEVICE') === false) {
206   - $status = DeviceStatus::HAS_AUTH;
207   - } else {
208   - $status = DeviceStatus::FAIL_AUTH;
209   - }
210   - $newDeviceModel->device_id = $deviceId;
211   - $newDeviceModel->status = $status;
212   - $newDeviceModel->apply_at = $tt;
213   - $newDeviceModel->auth_at = $tt;
214   - if ($newDeviceModel->save()) {
215   - $e->message = '授权成功';
216   - $e->success = true;
217   - $e->serial_no = $newDeviceModel->serial_no;
218   - $e->mac = $newDeviceModel->mac;
219   - } else {
220   - $e->message = '授权失败,系统异常';
221   - $e->status = 8; //系统异常
222   - }
223   - /* 测试代码*/
224   - if (DeviceStatus::FAIL_AUTH == $status) {
225   - $e->message = '授权失败,系统异常';
226   - $e->success = false;
227   - $e->serial_no = '';
228   - $e->status = 8;
229   - $e->mac = '';
230   - }
  197 +
  198 + $e = self::updateRecord($batchId, $deviceId);
231 199  
232 200 return $e;
233 201 }
... ... @@ -235,5 +203,61 @@ class Device
235 203 return $e;
236 204 }
237 205  
  206 + /**
  207 + * @param $batchId
  208 + * @param $deviceId
  209 + * @return stdClass
  210 + */
  211 + private static function updateRecord($batchId, $deviceId)
  212 + {
  213 + $e = new stdClass();
  214 + $e->success = false;
  215 + $e->message = '';
  216 + $e->serial_no = '';
  217 + $e->mac = '';
  218 + $e->status = 0;
  219 + $tt = time();
  220 + // 找到未空白未绑定的设备序列号
  221 + $newDeviceModel = DeviceRepository::findOne(['device_id' => null,'batch_id' => $batchId, 'is_delete' => 0, 'status' => DeviceStatus::NO_AUTH]);
  222 +
  223 + if (empty($newDeviceModel)) {
  224 + $e->status = 8;
  225 + $e->message = '授权失败,系统异常';
  226 + return $e;
  227 + }
  228 + $status = DeviceStatus::HAS_AUTH;
  229 + // 测试代码
  230 + /*
  231 + if (strpos($deviceId, 'FAILDEVICE') === false) {
  232 + $status = DeviceStatus::HAS_AUTH;
  233 + } else {
  234 + $status = DeviceStatus::FAIL_AUTH;
  235 + }*/
  236 + $newDeviceModel->device_id = $deviceId;
  237 + $newDeviceModel->status = $status;
  238 + $newDeviceModel->apply_at = $tt;
  239 + $newDeviceModel->auth_at = $tt;
  240 + if ($newDeviceModel->save()) {
  241 + $e->message = '授权成功';
  242 + $e->success = true;
  243 + $e->serial_no = $newDeviceModel->serial_no;
  244 + $e->mac = $newDeviceModel->mac;
  245 + } else {
  246 + $e->message = '授权失败,系统异常';
  247 + $e->status = 8; //系统异常
  248 + }
  249 + /* 测试代码*/
  250 + /*
  251 + if (DeviceStatus::FAIL_AUTH == $status) {
  252 + $e->message = '授权失败,系统异常';
  253 + $e->success = false;
  254 + $e->serial_no = '';
  255 + $e->status = 8;
  256 + $e->mac = '';
  257 + }
  258 + */
  259 + return $e;
  260 + }
  261 +
238 262  
239 263 }
240 264 \ No newline at end of file
... ...