UserLogController.php 2.5 KB
<?php
/**
 * @remark :
 * @name   :UserLogController.php
 * @author :lyh
 * @method :post
 * @time   :2023/9/5 16:07
 */

namespace App\Http\Controllers\Aside\User;

use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Models\Manage\Manage;
use App\Models\User\User;
use App\Models\User\UserLogin;

class UserLogController extends BaseController
{
    /**
     * @remark :用户日志
     * @name   :lists
     * @author :lyh
     * @method :post
     * @time   :2023/9/5 16:10
     */
    public function lists(UserLogin $user){
        $userModel = new User();
        $map = $this->searchParam($userModel);
        $lists = $user->lists($map,$this->page,$this->row,$this->order);
        if(!empty($lists) && !empty($lists['list'])){
            foreach ($lists['list'] as $k => $v){
                $info = $userModel->read(['id'=>$v['user_id']]);
                $v['mobile'] = $info['mobile'] ?? '';
                $v['name'] = $info['name'] ?? '';
                $v['type'] = ($v['type'] == 0) ? '用户登录' : '管理员登录';
                if(!empty($v['remark'])){
                    $v['remark'] = $this->handleRemark($userModel,$v['remark']);
                }
                $lists['list'][$k] = $v;
            }
        }
        $this->response('success',Code::SUCCESS,$lists);
    }

    /**
     * @remark :搜索参数
     * @name   :searchParam
     * @author :lyh
     * @method :post
     * @time   :2023/9/5 16:56
     */
    public function searchParam(&$userModel){
        $map = [];
        if(isset($this->map['mobile']) && !empty($this->map['mobile'])){
            $ids = $userModel->where('mobile', 'like', '%' . $this->map['mobile'] . '%')->pluck('id')->toArray();
            $map['user_id'] = ['in',$ids];
        }elseif (isset($this->map['name']) && !empty($this->map['name'])){
            $ids = $userModel->where('name', 'like', '%' . $this->param['name'] . '%')->pluck('id')->toArray();
            $map['user_id'] = ['in',$ids];
        }
        if(isset($this->map['created_at'])){
            $map['created_at'] = $this->map['created_at'];
        }
        return $map;
    }

    /**
     * @remark :处理备注
     * @name   :handleRemark
     * @author :lyh
     * @method :post
     * @time   :2023/9/5 17:21
     */
    public function handleRemark(&$managerModel,$remark){
        $arr = explode(':',$remark);
        $managerInfo = $managerModel->read(['id'=>$arr[1]]);
        if($managerInfo !== false){
            $remark = $arr[0].':'.$managerInfo['name'];
        }
        return $remark;
    }
}