| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | <?php/** * ${CARET} * @file:${FILE_NAME} * @Created by gnitif * @Date: 2023/5/6 * @Time: 16:01 */namespace Modules\CpManage\Http\Controllers;use Illuminate\Support\Collection;use Illuminate\Support\Facades\DB;use Modules\User\Models\User;trait UserTrait{    // 当前登录用户    protected $currentUser;    /**     * 获取当前登录用户     * @return User     */    protected function getCurrentUser(): User {        if(!$this->currentUser) {            $this->currentUser = $this->getLoginUser();        }        return $this->currentUser;    }    /**     * 当前用户的所有的角色标识的结合     * @return Collection     */    protected function listUserRoles():Collection {        return $this->getCurrentUser()->roles->pluck('identify');    }    /**     * 当前用户是否是cp角色     * @return bool     */    public function userIsCp():bool {        return $this->listUserRoles()->contains('cp');    }    /**     * 如果当前用户是cp角色,返回cp_name,否则返回null     * @return string     */    public function getUserCpName():string|null {        if($this->userIsCp()) {            return DB::table('user_belong_to_cp')                ->where([                    'is_enabled' => 1,                    'user_id' => $this->getCurrentUser()->id,                ])->value('cp_name');        } else {            return null;        }    }}
 |