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,6 +14,10 @@ use stdClass;
14 use function date; 14 use function date;
15 use function count; 15 use function count;
16 use function time; 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,9 +36,13 @@ class AuthDeviceController extends BaseController
32 { 36 {
33 private static $SIGN_SALT = '13456'; 37 private static $SIGN_SALT = '13456';
34 private static $RANDOM_KEY_SALT = '12356'; 38 private static $RANDOM_KEY_SALT = '12356';
  39 + const LOG_DEBUG = true;
35 40
36 private static function myLog($str) 41 private static function myLog($str)
37 { 42 {
  43 + if (!LOG_DEBUG) {
  44 + return false;
  45 + }
38 AppLog::DEBUG($str); 46 AppLog::DEBUG($str);
39 } 47 }
40 48
@@ -42,10 +50,9 @@ class AuthDeviceController extends BaseController @@ -42,10 +50,9 @@ class AuthDeviceController extends BaseController
42 * 设备授权接口,未加密的 50 * 设备授权接口,未加密的
43 * @return stdClass 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 return $this->authDevice($getPostData); 57 return $this->authDevice($getPostData);
51 } 58 }
@@ -59,8 +66,8 @@ class AuthDeviceController extends BaseController @@ -59,8 +66,8 @@ class AuthDeviceController extends BaseController
59 $e = new stdClass(); 66 $e = new stdClass();
60 $e->content = ''; 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 $getPostData = json_decode($getPostData, true); 71 $getPostData = json_decode($getPostData, true);
65 $randomKey = $getPostData['randomKey']; 72 $randomKey = $getPostData['randomKey'];
66 $content = $getPostData['content']; 73 $content = $getPostData['content'];
@@ -152,7 +159,7 @@ class AuthDeviceController extends BaseController @@ -152,7 +159,7 @@ class AuthDeviceController extends BaseController
152 { 159 {
153 $e = new stdClass(); 160 $e = new stdClass();
154 161
155 - $getPostDataTxt = file_get_contents('php://input', 'r'); 162 + $getPostDataTxt = $this->postData('actionCryptTxt');
156 $getPostData = json_decode($getPostDataTxt, true); 163 $getPostData = json_decode($getPostDataTxt, true);
157 $randomKey = $getPostData['randomKey']; 164 $randomKey = $getPostData['randomKey'];
158 $content = $getPostData['content']; 165 $content = $getPostData['content'];
app-api/controllers/BaseController.php
@@ -2,13 +2,13 @@ @@ -2,13 +2,13 @@
2 2
3 namespace app\api\controllers; 3 namespace app\api\controllers;
4 4
  5 +
5 use Yii; 6 use Yii;
6 use yii\rest\Controller as RestController; 7 use yii\rest\Controller as RestController;
7 use yii\filters\ContentNegotiator; 8 use yii\filters\ContentNegotiator;
8 -use yii\filters\RateLimiter;  
9 use yii\web\Response; 9 use yii\web\Response;
10 use yii\filters\VerbFilter; 10 use yii\filters\VerbFilter;
11 -use yii\base\Exception; 11 +use common\helpers\Log as AppLog;
12 use function str_replace; 12 use function str_replace;
13 use function json_encode; 13 use function json_encode;
14 use function explode; 14 use function explode;
@@ -22,6 +22,15 @@ class BaseController extends RestController @@ -22,6 +22,15 @@ class BaseController extends RestController
22 public $response; 22 public $response;
23 /** @var \yii\web\User **/ 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 /** @inheritdoc **/ 35 /** @inheritdoc **/
27 public function behaviors() 36 public function behaviors()
@@ -41,6 +50,18 @@ class BaseController extends RestController @@ -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,21 +10,19 @@ use domain\production\ProductionRepository;
10 use domain\upgrade\models\Upgrade as UpgradeModel; 10 use domain\upgrade\models\Upgrade as UpgradeModel;
11 use domain\upgrade\UpgradeLog; 11 use domain\upgrade\UpgradeLog;
12 use domain\upgrade\UpgradeLogRepository; 12 use domain\upgrade\UpgradeLogRepository;
13 -use domain\upgrade\UpgradeRepository;  
14 use domain\upgrade\UpgradeStatus; 13 use domain\upgrade\UpgradeStatus;
15 use domain\device\DeviceStatsRepository; 14 use domain\device\DeviceStatsRepository;
16 use domain\device\Device; 15 use domain\device\Device;
17 use domain\device\DeviceStats; 16 use domain\device\DeviceStats;
18 use domain\manufacturer\ManufacturerRepository; 17 use domain\manufacturer\ManufacturerRepository;
19 use domain\project\ProjectRepository; 18 use domain\project\ProjectRepository;
20 -use domain\device\DeviceRepository;  
21 -use domain\upgrade\Upgrade;  
22 19
23 use stdClass; 20 use stdClass;
24 -  
25 -use function sizeof;  
26 use function date; 21 use function date;
27 use function count; 22 use function count;
  23 +use function explode;
  24 +use function file_get_contents;
  25 +use function in_array;
28 use function time; 26 use function time;
29 27
30 /** 28 /**
@@ -33,9 +31,12 @@ use function time; @@ -33,9 +31,12 @@ use function time;
33 */ 31 */
34 class UpgradeController extends BaseController 32 class UpgradeController extends BaseController
35 { 33 {
36 - 34 + const LOG_DEBUG = true;
37 private static function myLog($str) 35 private static function myLog($str)
38 { 36 {
  37 + if (!LOG_DEBUG) {
  38 + return false;
  39 + }
39 AppLog::DEBUG($str); 40 AppLog::DEBUG($str);
40 } 41 }
41 /** 42 /**
@@ -48,8 +49,7 @@ class UpgradeController extends BaseController @@ -48,8 +49,7 @@ class UpgradeController extends BaseController
48 $e->status = 1; 49 $e->status = 1;
49 $e->message = 'ok'; 50 $e->message = 'ok';
50 $e->update_flag = 0; // 0 1 2 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 if (!$getPostData) { 53 if (!$getPostData) {
54 $e->message = '数据为空'; 54 $e->message = '数据为空';
55 return $e; 55 return $e;
@@ -204,8 +204,8 @@ class UpgradeController extends BaseController @@ -204,8 +204,8 @@ class UpgradeController extends BaseController
204 { 204 {
205 $e = new stdClass(); 205 $e = new stdClass();
206 $e->status = 1; 206 $e->status = 1;
207 - $getPostData = file_get_contents('php://input', 'r');  
208 - self::myLog('actionReportUpgradeEvent:'. $getPostData); 207 + $getPostData = $this->postData('actionReportUpgradeEvent');
  208 +
209 if (!$getPostData) { 209 if (!$getPostData) {
210 $e->message = '数据为空'; 210 $e->message = '数据为空';
211 return $e; 211 return $e;
@@ -292,8 +292,8 @@ class UpgradeController extends BaseController @@ -292,8 +292,8 @@ class UpgradeController extends BaseController
292 { 292 {
293 $e = new stdClass(); 293 $e = new stdClass();
294 $e->status = 1; 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 if (!$getPostData) { 297 if (!$getPostData) {
298 $e->message = '数据为空'; 298 $e->message = '数据为空';
299 return $e; 299 return $e;
@@ -397,8 +397,8 @@ class UpgradeController extends BaseController @@ -397,8 +397,8 @@ class UpgradeController extends BaseController
397 { 397 {
398 $e = new stdClass(); 398 $e = new stdClass();
399 $e->status = 1; 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 if (!$getPostData) { 402 if (!$getPostData) {
403 $e->message = '数据为空'; 403 $e->message = '数据为空';
404 return $e; 404 return $e;
@@ -489,8 +489,8 @@ class UpgradeController extends BaseController @@ -489,8 +489,8 @@ class UpgradeController extends BaseController
489 { 489 {
490 $e = new stdClass(); 490 $e = new stdClass();
491 $e->status = 1; 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 if (!$getPostData) { 494 if (!$getPostData) {
495 $e->message = '数据为空'; 495 $e->message = '数据为空';
496 return $e; 496 return $e;
@@ -580,4 +580,10 @@ class UpgradeController extends BaseController @@ -580,4 +580,10 @@ class UpgradeController extends BaseController
580 return $e; 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 \ No newline at end of file 590 \ No newline at end of file
domain/device/Device.php
@@ -63,7 +63,7 @@ class Device @@ -63,7 +63,7 @@ class Device
63 'status' => $status, 63 'status' => $status,
64 'has_re_auth' => $hasReAuth, 64 'has_re_auth' => $hasReAuth,
65 'apply_at' => $applyAt, 65 'apply_at' => $applyAt,
66 - //'auth_at' => time(), 66 + 'auth_at' => null,
67 ]; 67 ];
68 68
69 return self::create($item); 69 return self::create($item);
@@ -140,26 +140,26 @@ class Device @@ -140,26 +140,26 @@ class Device
140 $e->message = '授权成功, 重复授权'; 140 $e->message = '授权成功, 重复授权';
141 $e->success = true; 141 $e->success = true;
142 $e->status = 4; 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 } else { 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 return $e; 160 return $e;
160 } 161 }
161 $needRecord = DeviceRepository::checkNeedRecordFailRecord($batchId, $batchModel->num); 162 $needRecord = DeviceRepository::checkNeedRecordFailRecord($batchId, $batchModel->num);
162 -  
163 if ($needRecord) { 163 if ($needRecord) {
164 // 超过了限制数,记录到另外一个表里面 164 // 超过了限制数,记录到另外一个表里面
165 $failRecord = DeviceAuthFailRepository::findOne(['device_id' => $deviceId, 'is_delete' => 0]); 165 $failRecord = DeviceAuthFailRepository::findOne(['device_id' => $deviceId, 'is_delete' => 0]);
@@ -194,40 +194,8 @@ class Device @@ -194,40 +194,8 @@ class Device
194 } 194 }
195 return $e; 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 return $e; 200 return $e;
233 } 201 }
@@ -235,5 +203,61 @@ class Device @@ -235,5 +203,61 @@ class Device
235 return $e; 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 \ No newline at end of file 264 \ No newline at end of file