ScorersController.php 3.7 KB
<?php
/**
+-----------------------------------------------------------------------------------------------------------------------
 * 管理端控制层: 用户端用户 控制类
+-----------------------------------------------------------------------------------------------------------------------
 *
 * PHP version 7
 *
 * @category  App\Admin\Controllers\User
 * @package   App\Admin\Controllers\User
 * @author    Richer <yangzi1028@163.com>
 * @date      2021年6月23日15:53:05
 * @copyright 2020-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
namespace App\Admin\Controllers\User;

use App\Admin\Controllers\BaseController;
use App\Admin\Shows\UserShow;
use App\Models\User\Role;
use App\Models\User\User;
use App\Admin\Forms\User\ScorerForm;
use App\Admin\Grids\User\ScorerGrid;
use Illuminate\Http\JsonResponse;

/**
 * Class ScorersController.
 *
 * @category  App\Admin\Controllers\User
 * @package   App\Admin\Controllers\User
 * @author    Richer <yangzi1028@163.com>
 * @date      2021年6月23日15:53:05
 * @copyright 2020-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
class ScorersController extends BaseController
{
    // 使用Grid和Form的trait
    use ScorerGrid, ScorerForm, UserShow;

    protected $query_role = 'farmer';
    /**
     * UsersController constructor.
     *
     * @param User $model 注入model
     */
    public function __construct(User $model)
    {
        // 资源显示的中名称
        $this->title            = '评分员';
        // 是否可查看
        $this->can_view         = false;
        // 是否可新增
        $this->can_create       = true;
        // 是否可编辑
        $this->can_edit         = true;
        // 是否可删除
        $this->can_delete       = false;
        // 是否可导出
        $this->can_export       = true;
        // 是否可导出
        $this->can_import       = false;
        // 是否列表是否开启row selector
        $this->grid_row_selector = true;
        // 是否看见回收站
//        $this->show_trashed     = true;
        // 是否开启下拉菜单
        $this->dropdownActions  = false;
        // 设置当前用户的角色
        $this->query_role = request('query_role', 'farmer');
        // 执行父类构造方法
        parent::__construct($model);
    }

    /**
     * 搜索农户
     *
     * @return JsonResponse
     */
    public function search()
    {
        $list = $this->model->when($q = request('name'), function ($query) use ($q) {
            $query->where('name', 'LIKE', "%$q%");
        })

            ->when($q = request('mobile'), function ($query) use ($q) {
                $query->where('mobile', 'LIKE', "%$q%");
            })
            ->where('group_id', 0)
            ->where('role', request('role', User::SCORER))
            ->get()->map(function ($item) {
                return [
                    'id' => $item->id,
                    'nickname' => (string)$item->nickname,
                    'avatar' => (string)$item->avatar,
                    'name' => (string)$item->name,
                    'mobile' => (string)$item->mobile,
                    'gender_show' => $item->gender_show,
                    'login_times' => (int)$item->login_times,
                    'last_login_time' => format_date($item->last_login_time),
                    'created_at' => format_date($item->created_at),
                ];
            });
        return response()->json(
            [
                'code'    => 0,
                'message' =>__('operate_succeeded'),
                'list' => $list,
                'total' => $list->count(),
            ]
        );
    }
}