diff --git a/app-api/controllers/AuthDeviceController.php b/app-api/controllers/AuthDeviceController.php index e1f176b..143f038 100644 --- a/app-api/controllers/AuthDeviceController.php +++ b/app-api/controllers/AuthDeviceController.php @@ -14,6 +14,10 @@ use stdClass; use function date; use function count; use function time; +use function md5; +use function strlen; +use function substr; +use function preg_match; /** * 设备授权-控制器 @@ -32,9 +36,13 @@ class AuthDeviceController extends BaseController { private static $SIGN_SALT = '13456'; private static $RANDOM_KEY_SALT = '12356'; + const LOG_DEBUG = true; private static function myLog($str) { + if (!LOG_DEBUG) { + return false; + } AppLog::DEBUG($str); } @@ -42,10 +50,9 @@ class AuthDeviceController extends BaseController * 设备授权接口,未加密的 * @return stdClass */ - private function indexNoEncode() + public function actionIndexNoEncode() { - $getPostData = file_get_contents('php://input', 'r'); - self::myLog('actionIndex postData:'.$getPostData); + $getPostData = $this->postData('actionIndexNoEncode'); return $this->authDevice($getPostData); } @@ -59,8 +66,8 @@ class AuthDeviceController extends BaseController $e = new stdClass(); $e->content = ''; - $getPostData = file_get_contents('php://input', 'r'); - self::myLog('actionIndext postData:'.$getPostData); + $getPostData = $this->postData('actionIndex'); + $getPostData = json_decode($getPostData, true); $randomKey = $getPostData['randomKey']; $content = $getPostData['content']; @@ -152,7 +159,7 @@ class AuthDeviceController extends BaseController { $e = new stdClass(); - $getPostDataTxt = file_get_contents('php://input', 'r'); + $getPostDataTxt = $this->postData('actionCryptTxt'); $getPostData = json_decode($getPostDataTxt, true); $randomKey = $getPostData['randomKey']; $content = $getPostData['content']; diff --git a/app-api/controllers/BaseController.php b/app-api/controllers/BaseController.php index 1dcf9c0..f614019 100644 --- a/app-api/controllers/BaseController.php +++ b/app-api/controllers/BaseController.php @@ -2,13 +2,13 @@ namespace app\api\controllers; + use Yii; use yii\rest\Controller as RestController; use yii\filters\ContentNegotiator; -use yii\filters\RateLimiter; use yii\web\Response; use yii\filters\VerbFilter; -use yii\base\Exception; +use common\helpers\Log as AppLog; use function str_replace; use function json_encode; use function explode; @@ -22,6 +22,15 @@ class BaseController extends RestController public $response; /** @var \yii\web\User **/ + const LOG_DEBUG = true; + + public function myBaseLog($str) + { + if (!LOG_DEBUG) { + return false; + } + AppLog::DEBUG($str); + } /** @inheritdoc **/ public function behaviors() @@ -41,6 +50,18 @@ class BaseController extends RestController ]; } + /** + * @return string + */ + public function postData($actionId) + { + $getPostData = file_get_contents('php://input', 'r'); + if (!$actionId) { + $actionId = $this->getRoute(); + } + $this->myBaseLog($actionId.':'. $getPostData); + return $getPostData; + } } diff --git a/app-api/controllers/UpgradeController.php b/app-api/controllers/UpgradeController.php index 2a89652..da6199e 100644 --- a/app-api/controllers/UpgradeController.php +++ b/app-api/controllers/UpgradeController.php @@ -10,21 +10,19 @@ use domain\production\ProductionRepository; use domain\upgrade\models\Upgrade as UpgradeModel; use domain\upgrade\UpgradeLog; use domain\upgrade\UpgradeLogRepository; -use domain\upgrade\UpgradeRepository; use domain\upgrade\UpgradeStatus; use domain\device\DeviceStatsRepository; use domain\device\Device; use domain\device\DeviceStats; use domain\manufacturer\ManufacturerRepository; use domain\project\ProjectRepository; -use domain\device\DeviceRepository; -use domain\upgrade\Upgrade; use stdClass; - -use function sizeof; use function date; use function count; +use function explode; +use function file_get_contents; +use function in_array; use function time; /** @@ -33,9 +31,12 @@ use function time; */ class UpgradeController extends BaseController { - + const LOG_DEBUG = true; private static function myLog($str) { + if (!LOG_DEBUG) { + return false; + } AppLog::DEBUG($str); } /** @@ -48,8 +49,7 @@ class UpgradeController extends BaseController $e->status = 1; $e->message = 'ok'; $e->update_flag = 0; // 0 1 2 - $getPostData = file_get_contents('php://input', 'r'); - self::myLog('actionCheckVersion:'.$getPostData); + $getPostData = $this->postData('actionCheckVersion'); if (!$getPostData) { $e->message = '数据为空'; return $e; @@ -204,8 +204,8 @@ class UpgradeController extends BaseController { $e = new stdClass(); $e->status = 1; - $getPostData = file_get_contents('php://input', 'r'); - self::myLog('actionReportUpgradeEvent:'. $getPostData); + $getPostData = $this->postData('actionReportUpgradeEvent'); + if (!$getPostData) { $e->message = '数据为空'; return $e; @@ -292,8 +292,8 @@ class UpgradeController extends BaseController { $e = new stdClass(); $e->status = 1; - $getPostData = file_get_contents('php://input', 'r'); - self::myLog('actionReportUpgradeEvent:'. $getPostData); + $getPostData = $getPostData = $this->postData('actionCheckAppVersion'); + if (!$getPostData) { $e->message = '数据为空'; return $e; @@ -397,8 +397,8 @@ class UpgradeController extends BaseController { $e = new stdClass(); $e->status = 1; - $getPostData = file_get_contents('php://input', 'r'); - self::myLog('actionReportAPPUpgradeEvent:'. $getPostData); + $getPostData = $getPostData = $this->postData('actionReportAppUpgradeEvent'); + if (!$getPostData) { $e->message = '数据为空'; return $e; @@ -489,8 +489,8 @@ class UpgradeController extends BaseController { $e = new stdClass(); $e->status = 1; - $getPostData = file_get_contents('php://input', 'r'); - self::myLog('actionReportDeviceVersion:'. $getPostData); + $getPostData = $getPostData = $this->postData('actionReportDeviceVersion'); + if (!$getPostData) { $e->message = '数据为空'; return $e; @@ -580,4 +580,10 @@ class UpgradeController extends BaseController return $e; } + public function actionPTest() + { + echo $this->getId(); + $getPostData = file_get_contents('php://input', 'r'); + //self::myLog('actionPTest:'. $getPostData); + } } \ No newline at end of file diff --git a/domain/device/Device.php b/domain/device/Device.php index 1bb23dc..9cce9ca 100644 --- a/domain/device/Device.php +++ b/domain/device/Device.php @@ -63,7 +63,7 @@ class Device 'status' => $status, 'has_re_auth' => $hasReAuth, 'apply_at' => $applyAt, - //'auth_at' => time(), + 'auth_at' => null, ]; return self::create($item); @@ -140,26 +140,26 @@ class Device $e->message = '授权成功, 重复授权'; $e->success = true; $e->status = 4; + return $e; + } + + $deviceModel->status = DeviceStatus::HAS_AUTH; + $deviceModel->auth_at = $tt; + if ($deviceModel->save()) { + $e->mac = $deviceModel->mac; + $e->serial_no = $deviceModel->serial_no; + $e->message = '授权成功, 重复授权'; + $e->success = true; + $e->status = 4; } else { - $deviceModel->status = DeviceStatus::HAS_AUTH; - $deviceModel->auth_at = time(); - if ($deviceModel->save()){ - $e->mac = $deviceModel->mac; - $e->serial_no = $deviceModel->serial_no; - $e->message = '授权成功, 重复授权'; - $e->success = true; - $e->status = 4; - } else { - $e->message = '设备已经存在,授权失败'; - $e->success = false; - $e->status = 5; - } + $e->message = '设备已经存在,授权失败'; + $e->success = false; + $e->status = 5; } return $e; } $needRecord = DeviceRepository::checkNeedRecordFailRecord($batchId, $batchModel->num); - if ($needRecord) { // 超过了限制数,记录到另外一个表里面 $failRecord = DeviceAuthFailRepository::findOne(['device_id' => $deviceId, 'is_delete' => 0]); @@ -194,40 +194,8 @@ class Device } return $e; } - // 找到未空白未绑定的设备序列号 - $newDeviceModel = DeviceRepository::findOne(['device_id' => null,'batch_id' => $batchId, 'is_delete' => 0, 'status' => DeviceStatus::NO_AUTH]); - if (empty($newDeviceModel)) { - $e->status = 8; - $e->message = '授权失败,系统异常'; - return $e; - } - // 测试代码 - if (strpos($deviceId, 'FAILDEVICE') === false) { - $status = DeviceStatus::HAS_AUTH; - } else { - $status = DeviceStatus::FAIL_AUTH; - } - $newDeviceModel->device_id = $deviceId; - $newDeviceModel->status = $status; - $newDeviceModel->apply_at = $tt; - $newDeviceModel->auth_at = $tt; - if ($newDeviceModel->save()) { - $e->message = '授权成功'; - $e->success = true; - $e->serial_no = $newDeviceModel->serial_no; - $e->mac = $newDeviceModel->mac; - } else { - $e->message = '授权失败,系统异常'; - $e->status = 8; //系统异常 - } - /* 测试代码*/ - if (DeviceStatus::FAIL_AUTH == $status) { - $e->message = '授权失败,系统异常'; - $e->success = false; - $e->serial_no = ''; - $e->status = 8; - $e->mac = ''; - } + + $e = self::updateRecord($batchId, $deviceId); return $e; } @@ -235,5 +203,61 @@ class Device return $e; } + /** + * @param $batchId + * @param $deviceId + * @return stdClass + */ + private static function updateRecord($batchId, $deviceId) + { + $e = new stdClass(); + $e->success = false; + $e->message = ''; + $e->serial_no = ''; + $e->mac = ''; + $e->status = 0; + $tt = time(); + // 找到未空白未绑定的设备序列号 + $newDeviceModel = DeviceRepository::findOne(['device_id' => null,'batch_id' => $batchId, 'is_delete' => 0, 'status' => DeviceStatus::NO_AUTH]); + + if (empty($newDeviceModel)) { + $e->status = 8; + $e->message = '授权失败,系统异常'; + return $e; + } + $status = DeviceStatus::HAS_AUTH; + // 测试代码 + /* + if (strpos($deviceId, 'FAILDEVICE') === false) { + $status = DeviceStatus::HAS_AUTH; + } else { + $status = DeviceStatus::FAIL_AUTH; + }*/ + $newDeviceModel->device_id = $deviceId; + $newDeviceModel->status = $status; + $newDeviceModel->apply_at = $tt; + $newDeviceModel->auth_at = $tt; + if ($newDeviceModel->save()) { + $e->message = '授权成功'; + $e->success = true; + $e->serial_no = $newDeviceModel->serial_no; + $e->mac = $newDeviceModel->mac; + } else { + $e->message = '授权失败,系统异常'; + $e->status = 8; //系统异常 + } + /* 测试代码*/ + /* + if (DeviceStatus::FAIL_AUTH == $status) { + $e->message = '授权失败,系统异常'; + $e->success = false; + $e->serial_no = ''; + $e->status = 8; + $e->mac = ''; + } + */ + return $e; + } + } \ No newline at end of file -- libgit2 0.21.0