* Date: 2019/07/29 * Time: 上午9:39 */ namespace common\libs\logging\operate; use common\models\forms\LogUserHandleForm; use common\models\LogUserHandle; use common\models\Period; use Yii; use common\helpers\Date; class UserOperate extends AbstractOperate { /** * Factory constructor. * @param array $config */ public function __construct($config = []) { parent::__construct($config); if(!$this->logModel){ $this->logModel = LogUserHandle::class; } if(!$this->logForm){ $this->logForm = LogUserHandleForm::class; } } /** * @param array $params * @return $this * @throws \Exception */ public function setColumn(array $params = []){ if(!isset($params['optType'])){ throw new \Exception('请设置操作类型'); } $period = Period::instance(); $periodNum = $period->getNowPeriodNum(); $this->columns[] = [ 'user_agent' => Yii::$app->request->getUserAgent(), 'created_at' => intval(Date::nowTime()), 'period_num' => intval($periodNum), 'save_before_content' => $this->saveBeforeContent, 'save_after_content' => $this->saveAfterContent, 'user_id' => Yii::$app->user->id, 'user_name' => Yii::$app->user->getUserInfo()['userName'], 'ip' => Yii::$app->request->getUserIP(), 'request_route' => Yii::$app->requestedRoute, 'opt_type' => $params['optType'], 'opt_obj_id' => isset($params['userId']) ? $params['userId'] : null, 'opt_obj_name' => isset($params['userName']) ? $params['userName'] : 'System', 'remark' => isset($params['remark']) ? $params['remark'] : null, 'key_log' => 1, 'is_batch' => $this->_isBatch ? 1 : 0, 'device' => Yii::$app->request->getDevice(), ]; return $this; } }