diff --git a/app-ht/modules/device/controllers/DeviceController.php b/app-ht/modules/device/controllers/DeviceController.php index 5acc9b2..c703183 100644 --- a/app-ht/modules/device/controllers/DeviceController.php +++ b/app-ht/modules/device/controllers/DeviceController.php @@ -7,6 +7,7 @@ use yii\base\Exception; use yii\data\Pagination; use app\ht\controllers\BaseController; use common\helpers\Utils; +use common\models\AdminLog as AdminLogModel; use domain\device\DeviceAuthFailRepository; use domain\device\models\DeviceAuthFail as DeviceAuthFailModel; use domain\device\DeviceStatus; @@ -17,6 +18,7 @@ use domain\device\models\Device as DeviceModel; use domain\device\CreateBatch; use stdClass; +use yii\helpers\Url; /** * 设备管理 @@ -151,7 +153,12 @@ class DeviceController extends BaseController public function actionDeleteIndex() { $params = $this->dataList(1, 1); - + $user = Yii::$app->user->identity; + if (isset($user->username) && 'admin' == $user->username) { + $params['is_admin'] = 1; + } else { + $params['is_admin'] = 0; + } return $this->render('delete-index', $params); } @@ -281,7 +288,6 @@ class DeviceController extends BaseController $user = Yii::$app->user->identity; if (isset($user->is_manufacture) && $user->is_manufacture == 1) { $where = 'sys_user_id = '.$user->id; - } else { $where = 'id >0'; } @@ -536,6 +542,59 @@ class DeviceController extends BaseController } /** + * @return string + */ + public function actionDelDeviceForever() + { + $req = Yii::$app->request; + $ids = $req->post('ids'); + $e = new stdClass(); + $e->success = false; + $e->message = 'fail'; + $ids = explode(',', $ids); + + $user = Yii::$app->user->identity; + if (!isset($user->username) || 'admin' != $user->username || 1 == $user->is_manufacture) { + $e->message = '删除失败, 只有超管理员能删除'; + return $this->renderJson($e); + } + $deviceModels = DeviceRepository::findAll(['id' => $ids]); + if (empty($deviceModels)) { + $e->message = '找不到该设备'; + return $this->renderJson($e); + } + + $deleteItems = []; + foreach ($deviceModels as $k => $v) { + $deleteItems[] = $v->toArray(); + } + $trans = Yii::$app->getDb()->beginTransaction(); + try { + DeviceModel::deleteAll(['id' => $ids]); + $userName = Yii::$app->user->identity->username; + $tableName = DeviceModel::tableName(); + $description = sprintf("%s删除了表%s的数据%s", $userName, $tableName, json_encode($deleteItems, JSON_UNESCAPED_UNICODE)); + $route = Url::to(); + $userId = Yii::$app->user->id; + $ip = Utils::clientIp(); + $model = new AdminLogModel(); + $model->route = $route; + $model->description = $description; + $model->user_id = $userId; + $model->ip = $ip; + $model->save(); + $trans->commit(); + $e->message = '成功删除'. count($ids).'条记录'; + $e->success = true; + } catch(Exception $exception) { + $trans->rollBack(); + $e->message = '删除失败'; + } + + return $this->renderJson($e); + } + + /** * 编辑 * @return string */ diff --git a/app-ht/modules/device/views/device/delete-index.php b/app-ht/modules/device/views/device/delete-index.php index 9f986a5..8c7356d 100644 --- a/app-ht/modules/device/views/device/delete-index.php +++ b/app-ht/modules/device/views/device/delete-index.php @@ -91,7 +91,7 @@ $this->params['breadcrumbs'][] = $this->title;
申请时间 | 授权时间 | 状态 | -状态 | +状态 | 操作 | @@ -150,6 +150,7 @@ $this->params['breadcrumbs'][] = $this->title;| + | @@ -164,6 +165,7 @@ $this->params['breadcrumbs'][] = $this->title;
---|