新增后台
This commit is contained in:
@@ -5,6 +5,7 @@ namespace app\admin\controller;
|
|||||||
use app\common\controller\BaseController;
|
use app\common\controller\BaseController;
|
||||||
use app\admin\service\RoleService;
|
use app\admin\service\RoleService;
|
||||||
use app\common\traits\crud\CrudControllerTrait;
|
use app\common\traits\crud\CrudControllerTrait;
|
||||||
|
use support\Request;
|
||||||
|
|
||||||
class RoleController extends BaseController
|
class RoleController extends BaseController
|
||||||
{
|
{
|
||||||
@@ -27,91 +28,15 @@ class RoleController extends BaseController
|
|||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
// /**
|
|
||||||
// * 获取角色列表
|
|
||||||
// */
|
|
||||||
// public function list(Request $request)
|
|
||||||
// {
|
|
||||||
// try {
|
|
||||||
// $params = $request->all();
|
|
||||||
// $result = (new RoleService())->getRoleList($params);
|
|
||||||
// // 定义后处理器
|
|
||||||
// $postProcessor = function($formattedData) {
|
|
||||||
// if (isset($formattedData['created_at']))
|
|
||||||
// $formattedData['created_at'] = date('Y-m-d H:i:s', $formattedData['created_at']);
|
|
||||||
// if (isset($formattedData['updated_at']))
|
|
||||||
// $formattedData['updated_at'] = date('Y-m-d H:i:s', $formattedData['updated_at']);
|
|
||||||
// return $formattedData;
|
|
||||||
// };
|
|
||||||
// return $this->success($this->transformData($result, $postProcessor), '角色列表获取成功');
|
|
||||||
// } catch (\Throwable $e) {
|
|
||||||
// return $this->error($e->getMessage());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// /**
|
public function menuResource(Request $request)
|
||||||
// * 获取角色详情
|
{
|
||||||
// */
|
try {
|
||||||
// public function detail(Request $request)
|
$data = $this->validate($this->service->getValidator(), $request->post(), 'allocation');
|
||||||
// {
|
$res = $this->service->menuResource($request, $data);
|
||||||
// try {
|
return $this->success($res);
|
||||||
// $roleId = $request->get('role_id');
|
} catch (\Throwable $e) {
|
||||||
// if (!$roleId) {
|
return $this->error($e->getMessage());
|
||||||
// return $this->error('缺少角色ID', 422);
|
}
|
||||||
// }
|
}
|
||||||
// $result = (new RoleService())->getRoleDetail($roleId);
|
}
|
||||||
// return $this->success($result, '角色详情获取成功');
|
|
||||||
// } catch (\Throwable $e) {
|
|
||||||
// return $this->error($e->getMessage());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * 增加角色
|
|
||||||
// */
|
|
||||||
// public function create(Request $request)
|
|
||||||
// {
|
|
||||||
// try {
|
|
||||||
// $data = $this->validate(new RoleValidate(), $request->post(), 'role_create');
|
|
||||||
// $result = (new RoleService())->createRole($data);
|
|
||||||
// return $this->success($result, '角色创建成功');
|
|
||||||
// } catch (\think\exception\ValidateException $e) {
|
|
||||||
// return $this->error($e->getError(), 422);
|
|
||||||
// } catch (\Throwable $e) {
|
|
||||||
// return $this->error($e->getMessage());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * 修改角色
|
|
||||||
// */
|
|
||||||
// public function update(Request $request)
|
|
||||||
// {
|
|
||||||
// try {
|
|
||||||
// $data = $this->validate(new RoleValidate(), $request->post(), 'role_update');
|
|
||||||
// $result = (new RoleService())->updateRole($data);
|
|
||||||
// return $this->success($result, '角色更新成功');
|
|
||||||
// } catch (\think\exception\ValidateException $e) {
|
|
||||||
// return $this->error($e->getError(), 422);
|
|
||||||
// } catch (\Throwable $e) {
|
|
||||||
// return $this->error($e->getMessage());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * 删除角色
|
|
||||||
// */
|
|
||||||
// public function delete(Request $request)
|
|
||||||
// {
|
|
||||||
// try {
|
|
||||||
// $roleId = $request->get('role_id');
|
|
||||||
// if (!$roleId) {
|
|
||||||
// return $this->error('缺少角色ID', 422);
|
|
||||||
// }
|
|
||||||
// (new RoleService())->deleteRole($roleId);
|
|
||||||
// return $this->success([], '角色删除成功');
|
|
||||||
// } catch (\Throwable $e) {
|
|
||||||
// return $this->error($e->getMessage());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
@@ -6,6 +6,7 @@ use app\common\model\Corp;
|
|||||||
use app\common\traits\crud\CrudControllerTrait;
|
use app\common\traits\crud\CrudControllerTrait;
|
||||||
use app\admin\service\UserService;
|
use app\admin\service\UserService;
|
||||||
use app\crm\model\Customer;
|
use app\crm\model\Customer;
|
||||||
|
use support\Request;
|
||||||
|
|
||||||
class UserController extends BaseController
|
class UserController extends BaseController
|
||||||
{
|
{
|
||||||
@@ -24,32 +25,66 @@ class UserController extends BaseController
|
|||||||
* @param array $data
|
* @param array $data
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected function indexFormat($data)
|
protected function indexFormat($data)
|
||||||
{
|
{
|
||||||
if(isset($data['records'])){
|
if(isset($data['records'])){
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
$data['sex_txt'] = '';
|
$data['sex_txt'] = '';
|
||||||
if (isset($data['sex']) && $data['sex'] == 1){
|
if (isset($data['sex']) && $data['sex'] == 1){
|
||||||
$data['sex_txt'] = '男';
|
$data['sex_txt'] = '男';
|
||||||
}elseif(isset($data['sex']) && $data['sex'] == 2){
|
}elseif(isset($data['sex']) && $data['sex'] == 2){
|
||||||
$data['sex_txt'] = '女';
|
$data['sex_txt'] = '女';
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($data['status']){
|
switch ($data['status']){
|
||||||
case 1:
|
case 1:
|
||||||
$data['status_txt'] = '正常';
|
$data['status_txt'] = '正常';
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
$data['status_txt'] = '离职';
|
$data['status_txt'] = '离职';
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
$data['status_txt'] = '';
|
$data['status_txt'] = '';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$data['corp_name'] = Corp::where('id', $data['corp_id'])->value('name');
|
$data['corp_name'] = Corp::where('id', $data['corp_id'])->value('name');
|
||||||
$data['customer_count'] = Customer::where('user_id', $data['id'])->count();
|
$data['customer_count'] = Customer::where('user_id', $data['id'])->count();
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 授权
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function authorize(Request $request)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$data = $this->validate($this->service->getValidator(), $request->post(), 'authorize');
|
||||||
|
$res = $this->service->authorize($request, $data);
|
||||||
|
return $this->success([], '分配成功');
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
return $this->error($e->getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 直接授权
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function updateResources(Request $request)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$data = $this->validate($this->service->getValidator(), $request->post(), 'updateResources');
|
||||||
|
$res = $this->service->updateResources($request, $data);
|
||||||
|
return $this->success([], '分配成功');
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
return $this->error($e->getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,7 @@ namespace app\admin\logic;
|
|||||||
|
|
||||||
use app\common\traits\crud\CrudLogicTrait;
|
use app\common\traits\crud\CrudLogicTrait;
|
||||||
use app\common\model\User;
|
use app\common\model\User;
|
||||||
|
use support\Db;
|
||||||
|
|
||||||
class UserLogic
|
class UserLogic
|
||||||
{
|
{
|
||||||
@@ -14,4 +15,83 @@ class UserLogic
|
|||||||
*/
|
*/
|
||||||
protected string $modelClass = User::class;
|
protected string $modelClass = User::class;
|
||||||
|
|
||||||
|
|
||||||
|
public function updateRoleAndSystem(array $data): bool
|
||||||
|
{
|
||||||
|
$roleIds = $data['role_ids'] ?? [];
|
||||||
|
$systemIds = $data['system_ids'] ?? [];
|
||||||
|
$userId = $data['user_id'] ?? 0;
|
||||||
|
|
||||||
|
if (empty($roleId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Db::beginTransaction();
|
||||||
|
try {
|
||||||
|
Db::table('user_roles')->where('user_id', $userId)->delete();
|
||||||
|
if (!empty($roleIds)) {
|
||||||
|
$insertData = [];
|
||||||
|
foreach ($roleIds as $roleId) {
|
||||||
|
$insertData[] = [
|
||||||
|
'role_id' => $roleId,
|
||||||
|
'user_id' => $userId
|
||||||
|
];
|
||||||
|
}
|
||||||
|
Db::table('user_roles')->insert($insertData);
|
||||||
|
}
|
||||||
|
|
||||||
|
Db::table('user_systems')->where('user_id', $userId)->delete();
|
||||||
|
if (!empty($systemIds)) {
|
||||||
|
$insertData = [];
|
||||||
|
foreach ($systemIds as $systemId) {
|
||||||
|
$insertData[] = [
|
||||||
|
'system_id' => $systemId,
|
||||||
|
'user_id' => $userId
|
||||||
|
];
|
||||||
|
}
|
||||||
|
Db::table('user_systems')->insert($insertData);
|
||||||
|
}
|
||||||
|
|
||||||
|
Db::commit();
|
||||||
|
return true;
|
||||||
|
} catch (\Throwable $exception) {
|
||||||
|
Db::rollBack();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function updateUserResources(array $data): bool
|
||||||
|
{
|
||||||
|
$userId = $data['role_id'] ?? 0;
|
||||||
|
$resources = $data['resources'] ?? [];
|
||||||
|
|
||||||
|
if (empty($userId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Db::beginTransaction();
|
||||||
|
try {
|
||||||
|
// 删除原有资源关联
|
||||||
|
Db::table('user_resources')->where('user_id', $userId)->delete();
|
||||||
|
|
||||||
|
// 批量插入新角色资源关联
|
||||||
|
if (!empty($resources)) {
|
||||||
|
$insertData = [];
|
||||||
|
foreach ($resources as $resourceId) {
|
||||||
|
$insertData[] = [
|
||||||
|
'user_id' => $userId,
|
||||||
|
'resource_id' => $resourceId
|
||||||
|
];
|
||||||
|
}
|
||||||
|
Db::table('user_resources')->insert($insertData);
|
||||||
|
}
|
||||||
|
|
||||||
|
Db::commit();
|
||||||
|
return true;
|
||||||
|
} catch (\Throwable $exception) {
|
||||||
|
Db::rollBack();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -2,9 +2,11 @@
|
|||||||
|
|
||||||
namespace app\admin\service;
|
namespace app\admin\service;
|
||||||
|
|
||||||
|
use app\common\logic\RoleLogic;
|
||||||
use app\common\validate\RoleValidate;
|
use app\common\validate\RoleValidate;
|
||||||
use app\common\traits\crud\CrudServiceTrait;
|
use app\common\traits\crud\CrudServiceTrait;
|
||||||
use app\common\model\Role;
|
use app\common\model\Role;
|
||||||
|
use support\Db;
|
||||||
|
|
||||||
class RoleService
|
class RoleService
|
||||||
{
|
{
|
||||||
@@ -28,4 +30,12 @@ class RoleService
|
|||||||
{
|
{
|
||||||
return new $this->validator;
|
return new $this->validator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取角色资源
|
||||||
|
*/
|
||||||
|
public function menuResource($request, $data)
|
||||||
|
{
|
||||||
|
return (new RoleLogic)->updateRoleResources($data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace app\admin\service;
|
namespace app\admin\service;
|
||||||
|
|
||||||
|
use app\admin\logic\UserLogic;
|
||||||
use app\admin\validate\UserValidate;
|
use app\admin\validate\UserValidate;
|
||||||
use app\common\traits\crud\CrudServiceTrait;
|
use app\common\traits\crud\CrudServiceTrait;
|
||||||
use app\common\model\User;
|
use app\common\model\User;
|
||||||
@@ -75,4 +76,28 @@ class UserService
|
|||||||
|
|
||||||
return $config;
|
return $config;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 授权
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
* @param array $data
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function authorize(Request $request, array $data = [])
|
||||||
|
{
|
||||||
|
return (new UserLogic())->updateRoleAndSystem($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新用户资源权限
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
* @param array $data
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function updateResources(Request $request, array $data = [])
|
||||||
|
{
|
||||||
|
return (new UserLogic())->updateUserResources($data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -63,4 +63,20 @@ class ResourceController extends BaseController
|
|||||||
return $this->error($e->getMessage());
|
return $this->error($e->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 菜单
|
||||||
|
*/
|
||||||
|
public function menuTreeList(Request $request)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$raw = $this->service->serviceMenuTreeList($request);
|
||||||
|
$data = $this->transformData($raw, method_exists($this, 'allFormat')
|
||||||
|
? [$this, 'allFormat']
|
||||||
|
: null);
|
||||||
|
return $this->success($data);
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
return $this->error($e->getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -9,7 +9,7 @@ class UserController extends BaseController
|
|||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户信息
|
* 用户信息(登录后调用)
|
||||||
*/
|
*/
|
||||||
public function info(Request $request)
|
public function info(Request $request)
|
||||||
{
|
{
|
||||||
@@ -23,57 +23,57 @@ class UserController extends BaseController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 用户信息
|
// * 用户信息
|
||||||
*/
|
// */
|
||||||
public function getUser(Request $request)
|
// public function getUser(Request $request)
|
||||||
{
|
// {
|
||||||
try {
|
// try {
|
||||||
$uid = $request->user->uid;
|
// $uid = $request->user->uid;
|
||||||
$corp_abbr = $request->basic_data['corp_abbr'];
|
// $corp_abbr = $request->basic_data['corp_abbr'];
|
||||||
$result = (new UserService())->getUser($uid,$corp_abbr);
|
// $result = (new UserService())->getUser($uid,$corp_abbr);
|
||||||
return $this->success($result, '获取用户信息');
|
// return $this->success($result, '获取用户信息');
|
||||||
} catch (\Throwable $e) {
|
// } catch (\Throwable $e) {
|
||||||
return $this->error($e->getMessage());
|
// return $this->error($e->getMessage());
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 编辑用户
|
// * 编辑用户
|
||||||
*/
|
// */
|
||||||
public function edit(Request $request)
|
// public function edit(Request $request)
|
||||||
{
|
// {
|
||||||
try {
|
// try {
|
||||||
$uid = $request->user->uid;
|
// $uid = $request->user->uid;
|
||||||
$data = $request->all();
|
// $data = $request->all();
|
||||||
$result = (new UserService())->edit($uid,$data);
|
// $result = (new UserService())->edit($uid,$data);
|
||||||
unset($result['password']);
|
// unset($result['password']);
|
||||||
unset($result['union_id']);
|
// unset($result['union_id']);
|
||||||
unset($result['open_id']);
|
// unset($result['open_id']);
|
||||||
unset($result['tenant_key']);
|
// unset($result['tenant_key']);
|
||||||
return $this->success($result, '编辑成功');
|
// return $this->success($result, '编辑成功');
|
||||||
} catch (\Throwable $e) {
|
// } catch (\Throwable $e) {
|
||||||
return $this->error($e->getMessage());
|
// return $this->error($e->getMessage());
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 修改密码
|
// * 修改密码
|
||||||
* @param Request $request
|
// * @param Request $request
|
||||||
* @return \support\Response
|
// * @return \support\Response
|
||||||
* @throws \Random\RandomException
|
// * @throws \Random\RandomException
|
||||||
*/
|
// */
|
||||||
public function savePassword(Request $request)
|
// public function savePassword(Request $request)
|
||||||
{
|
// {
|
||||||
try {
|
// try {
|
||||||
$uid = $request->user->uid;
|
// $uid = $request->user->uid;
|
||||||
$data = $request->all();
|
// $data = $request->all();
|
||||||
$result = (new UserService())->savePassword($uid,$data);;
|
// $result = (new UserService())->savePassword($uid,$data);;
|
||||||
return $this->success($result, '编辑成功');
|
// return $this->success($result, '编辑成功');
|
||||||
} catch (\Throwable $e) {
|
// } catch (\Throwable $e) {
|
||||||
return $this->error($e->getMessage());
|
// return $this->error($e->getMessage());
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,7 @@ namespace app\common\logic;
|
|||||||
|
|
||||||
use app\common\traits\crud\CrudLogicTrait;
|
use app\common\traits\crud\CrudLogicTrait;
|
||||||
use app\common\model\Resource;
|
use app\common\model\Resource;
|
||||||
|
use support\Request;
|
||||||
|
|
||||||
class ResourceLogic
|
class ResourceLogic
|
||||||
{
|
{
|
||||||
@@ -14,4 +15,23 @@ class ResourceLogic
|
|||||||
*/
|
*/
|
||||||
protected string $modelClass = Resource::class;
|
protected string $modelClass = Resource::class;
|
||||||
|
|
||||||
|
|
||||||
|
public function logicListAllResources(Request $request, array $config)
|
||||||
|
{
|
||||||
|
$data = $this->logicListAll($config);
|
||||||
|
|
||||||
|
if ($request->get('role_id')) {
|
||||||
|
$selected = (new RoleLogic())->getRoleResources($request->get('role_id'));
|
||||||
|
} else if ($request->get('user_id')) {
|
||||||
|
$selected = (new RoleLogic())->getUserResources($request->get('user_id'));
|
||||||
|
} else {
|
||||||
|
$selected = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($data as &$item) {
|
||||||
|
$item['selected'] = in_array($item['id'], $selected) ? true : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -2,13 +2,84 @@
|
|||||||
|
|
||||||
namespace app\common\logic;
|
namespace app\common\logic;
|
||||||
|
|
||||||
use app\common\model\Role;
|
use support\Db;
|
||||||
use support\exception\BusinessException;
|
|
||||||
use support\Log;
|
|
||||||
|
|
||||||
class RoleLogic
|
class RoleLogic
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新角色资源权限
|
||||||
|
*
|
||||||
|
* @param array $data 包含 role_id 和 resources 的数据
|
||||||
|
* @return bool 操作是否成功
|
||||||
|
*/
|
||||||
|
public function updateRoleResources(array $data): bool
|
||||||
|
{
|
||||||
|
$roleId = $data['role_id'] ?? 0;
|
||||||
|
$resources = $data['resources'] ?? [];
|
||||||
|
|
||||||
|
if (empty($roleId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Db::beginTransaction();
|
||||||
|
try {
|
||||||
|
// 删除原有角色资源关联
|
||||||
|
Db::table('role_resources')->where('role_id', $roleId)->delete();
|
||||||
|
|
||||||
|
// 批量插入新角色资源关联
|
||||||
|
if (!empty($resources)) {
|
||||||
|
$insertData = [];
|
||||||
|
foreach ($resources as $resourceId) {
|
||||||
|
$insertData[] = [
|
||||||
|
'role_id' => $roleId,
|
||||||
|
'resource_id' => $resourceId
|
||||||
|
];
|
||||||
|
}
|
||||||
|
Db::table('role_resources')->insert($insertData);
|
||||||
|
}
|
||||||
|
|
||||||
|
Db::commit();
|
||||||
|
return true;
|
||||||
|
} catch (\Throwable $exception) {
|
||||||
|
Db::rollBack();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取角色资源
|
||||||
|
*
|
||||||
|
* @param int $roleId 角色ID
|
||||||
|
* @return array 资源ID列表
|
||||||
|
*/
|
||||||
|
public function getRoleResources(int $roleId): array
|
||||||
|
{
|
||||||
|
if (empty($roleId)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return Db::table('role_resources')
|
||||||
|
->where('role_id', $roleId)
|
||||||
|
->pluck('resource_id')
|
||||||
|
->toArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户资源
|
||||||
|
*
|
||||||
|
* @param int $userId 用户ID
|
||||||
|
* @return array 资源ID列表
|
||||||
|
*/
|
||||||
|
public function getUserResources(int $userId): array
|
||||||
|
{
|
||||||
|
if (empty($userId)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return Db::table('user_resources')
|
||||||
|
->where('user_id', $userId)
|
||||||
|
->pluck('resource_id')
|
||||||
|
->toArray();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace app\common\service;
|
namespace app\common\service;
|
||||||
|
|
||||||
|
use app\common\logic\ResourceLogic;
|
||||||
use app\common\validate\ResourceValidate;
|
use app\common\validate\ResourceValidate;
|
||||||
use app\common\traits\crud\CrudServiceTrait;
|
use app\common\traits\crud\CrudServiceTrait;
|
||||||
use app\common\model\Resource;
|
use app\common\model\Resource;
|
||||||
@@ -50,6 +51,11 @@ class ResourceService
|
|||||||
$config['order']['sort'] = 'asc';
|
$config['order']['sort'] = 'asc';
|
||||||
$config['order']['id'] = 'asc';
|
$config['order']['id'] = 'asc';
|
||||||
break;
|
break;
|
||||||
|
case 'menuTreeList':
|
||||||
|
$config['where']['status'] = 1;
|
||||||
|
$config['order']['sort'] = 'asc';
|
||||||
|
$config['order']['id'] = 'asc';
|
||||||
|
break;
|
||||||
case 'index':
|
case 'index':
|
||||||
$config['where']['status'] = 1;
|
$config['where']['status'] = 1;
|
||||||
$config['order']['sort'] = 'asc';
|
$config['order']['sort'] = 'asc';
|
||||||
@@ -79,6 +85,13 @@ class ResourceService
|
|||||||
return $this->postProcess('MenuList', $result);
|
return $this->postProcess('MenuList', $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function serviceMenuTreeList(Request $request)
|
||||||
|
{
|
||||||
|
$config = $this->buildQueryConfig($request, 'menuTreeList');
|
||||||
|
$result = (new ResourceLogic())->logicListAllResources($request, $config);
|
||||||
|
return $this->postProcess('MenuTreeList', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
protected function afterServiceListAll($data)
|
protected function afterServiceListAll($data)
|
||||||
{
|
{
|
||||||
@@ -91,4 +104,10 @@ class ResourceService
|
|||||||
$data = Tree::buildWithReference($data->toArray());
|
$data = Tree::buildWithReference($data->toArray());
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function afterServiceMenuTreeList($data)
|
||||||
|
{
|
||||||
|
$data = Tree::buildWithReference($data->toArray());
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -70,6 +70,7 @@ Route::group('/admin', function () {
|
|||||||
Route::any('/store', [app\admin\controller\RoleController::class, 'store']);
|
Route::any('/store', [app\admin\controller\RoleController::class, 'store']);
|
||||||
Route::any('/update', [app\admin\controller\RoleController::class, 'update']);
|
Route::any('/update', [app\admin\controller\RoleController::class, 'update']);
|
||||||
Route::any('/destroy', [app\admin\controller\RoleController::class, 'destroy']);
|
Route::any('/destroy', [app\admin\controller\RoleController::class, 'destroy']);
|
||||||
|
Route::any('/menu/resource', [app\admin\controller\RoleController::class, 'menuResource']);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 公司
|
// 公司
|
||||||
@@ -107,6 +108,7 @@ Route::group('/admin', function () {
|
|||||||
Route::any('/update', [app\common\controller\ResourceController::class, 'update']);
|
Route::any('/update', [app\common\controller\ResourceController::class, 'update']);
|
||||||
Route::any('/destroy', [app\common\controller\ResourceController::class, 'destroy']);
|
Route::any('/destroy', [app\common\controller\ResourceController::class, 'destroy']);
|
||||||
Route::any('/list/menu', [app\common\controller\ResourceController::class, 'menuList']);
|
Route::any('/list/menu', [app\common\controller\ResourceController::class, 'menuList']);
|
||||||
|
Route::any('/list/menu/tree', [app\common\controller\ResourceController::class, 'menuTreeList']);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 用户
|
// 用户
|
||||||
@@ -114,6 +116,8 @@ Route::group('/admin', function () {
|
|||||||
Route::any('/list', [app\admin\controller\UserController::class, 'index']);
|
Route::any('/list', [app\admin\controller\UserController::class, 'index']);
|
||||||
Route::any('/show', [app\admin\controller\UserController::class, 'show']);
|
Route::any('/show', [app\admin\controller\UserController::class, 'show']);
|
||||||
Route::any('/update', [app\admin\controller\UserController::class, 'update']);
|
Route::any('/update', [app\admin\controller\UserController::class, 'update']);
|
||||||
|
Route::any('/authorize', [app\admin\controller\UserController::class, 'authorize']);
|
||||||
|
Route::any('/set/resources', [app\admin\controller\UserController::class, 'updateResources']);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 询单
|
// 询单
|
||||||
|
|||||||
Reference in New Issue
Block a user