调整新增功能部分接口

This commit is contained in:
mzl@hnxinyouhe.com
2025-08-13 18:40:36 +08:00
parent 2696f52db2
commit 5c6fed4e40
10 changed files with 80 additions and 14 deletions
+2 -1
View File
@@ -32,7 +32,8 @@ class RoleController extends BaseController
public function menuResource(Request $request) public function menuResource(Request $request)
{ {
try { try {
$data = $this->validate($this->service->getValidator(), $request->post(), 'allocation'); // $data = $this->validate($this->service->getValidator(), $request->post(), 'allocation');
$data = $request->post();
$res = $this->service->menuResource($request, $data); $res = $this->service->menuResource($request, $data);
return $this->success($res); return $this->success($res);
} catch (\Throwable $e) { } catch (\Throwable $e) {
+13
View File
@@ -51,6 +51,19 @@ class UserController extends BaseController
$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();
$data['role_ids'] = [];
$data['system_ids'] = [];
if (isset($data['roles']) && count($data['roles']) > 0) {
foreach ($data['roles'] as $role) {
$data['role_ids'][] = $role['id'];
}
}
if (isset($data['systems']) && count($data['systems']) > 0) {
foreach ($data['systems'] as $system) {
$data['system_ids'][] = $system['id'];
}
}
return $data; return $data;
} }
+8 -12
View File
@@ -22,34 +22,30 @@ class UserLogic
$systemIds = $data['system_ids'] ?? []; $systemIds = $data['system_ids'] ?? [];
$userId = $data['user_id'] ?? 0; $userId = $data['user_id'] ?? 0;
if (empty($roleId)) {
return false;
}
Db::beginTransaction(); Db::beginTransaction();
try { try {
Db::table('user_roles')->where('user_id', $userId)->delete(); Db::table('user_roles')->where('user_id', $userId)->delete();
if (!empty($roleIds)) { if (count($roleIds) > 0) {
$insertData = []; $insertDataRole = [];
foreach ($roleIds as $roleId) { foreach ($roleIds as $roleId) {
$insertData[] = [ $insertDataRole[] = [
'role_id' => $roleId, 'role_id' => $roleId,
'user_id' => $userId 'user_id' => $userId
]; ];
} }
Db::table('user_roles')->insert($insertData); Db::table('user_roles')->insert($insertDataRole);
} }
Db::table('user_systems')->where('user_id', $userId)->delete(); Db::table('user_systems')->where('user_id', $userId)->delete();
if (!empty($systemIds)) { if (count($systemIds) > 0) {
$insertData = []; $insertDataSystem = [];
foreach ($systemIds as $systemId) { foreach ($systemIds as $systemId) {
$insertData[] = [ $insertDataSystem[] = [
'system_id' => $systemId, 'system_id' => $systemId,
'user_id' => $userId 'user_id' => $userId
]; ];
} }
Db::table('user_systems')->insert($insertData); Db::table('user_systems')->insert($insertDataSystem);
} }
Db::commit(); Db::commit();
+9
View File
@@ -38,4 +38,13 @@ class RoleService
{ {
return (new RoleLogic)->updateRoleResources($data); return (new RoleLogic)->updateRoleResources($data);
} }
public function getList()
{
$config['where']['status'] = 1;
$config['order']['sort'] = 'asc';
$config['order']['id'] = 'asc';
return $this->logicListAll($config);
}
} }
+5
View File
@@ -63,6 +63,11 @@ class UserService
} }
$config['fields'] = ['id','sn', 'name', 'email', 'sex', 'phone', 'avatar', 'corp_id', 'country_id', 'position', 'status', 'created_at']; $config['fields'] = ['id','sn', 'name', 'email', 'sex', 'phone', 'avatar', 'corp_id', 'country_id', 'position', 'status', 'created_at'];
$config['with']['roles'][] = 'id';
$config['with']['roles'][] = 'name';
$config['with']['systems'][] = 'id';
$config['with']['systems'][] = 'name';
break; break;
case 'show': case 'show':
$config['where']['id'] = $p['id']; $config['where']['id'] = $p['id'];
@@ -2,11 +2,13 @@
namespace app\common\controller; namespace app\common\controller;
use app\admin\service\RoleService;
use support\Request; use support\Request;
use app\common\service\CorpService; use app\common\service\CorpService;
use app\common\service\CorpFeishuAppService; use app\common\service\CorpFeishuAppService;
use app\common\service\SystemsService; use app\common\service\SystemsService;
use app\common\service\UserService; use app\common\service\UserService;
use support\Cache;
class PresetController extends BaseController class PresetController extends BaseController
{ {
@@ -61,4 +63,26 @@ class PresetController extends BaseController
return $this->error($e->getMessage()); return $this->error($e->getMessage());
} }
} }
public function roles()
{
try {
$result = (new RoleService)->getList();
return $this->success($result, '获取角色列表');
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
}
public function cacheClear()
{
try {
Cache::clear();
return $this->success([], '操作成功');
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
}
} }
+13
View File
@@ -110,4 +110,17 @@ class ResourceService
$data = Tree::buildMenuTree($data->toArray()); $data = Tree::buildMenuTree($data->toArray());
return $data; return $data;
} }
public function beforeServiceStore($data, Request $request)
{
$data['parent_id'] = $data['parent_id'] != '' ? $data['parent_id'] : 0;
return $data;
}
public function beforeServiceUpdate($data, Request $request)
{
$data['parent_id'] = $data['parent_id'] != '' ? $data['parent_id'] : 0;
return $data;
}
} }
+2 -1
View File
@@ -358,7 +358,8 @@ class Tree
$authList[] = [ $authList[] = [
'id' => $permission['id'], 'id' => $permission['id'],
'title' => $permission['name'] ?? '', 'title' => $permission['name'] ?? '',
'authMark' => $permission['code'] ?? '' 'authMark' => $permission['code'] ?? '',
'selected' => isset($permission['selected']) && $permission['selected'] ? true : false
]; ];
} }
$menuItem['meta']['authList'] = $authList; $menuItem['meta']['authList'] = $authList;
+2
View File
@@ -119,6 +119,8 @@ class IndexController
// ]; // ];
// \Webman\RedisQueue\Redis::send('perm-agt', $options); // \Webman\RedisQueue\Redis::send('perm-agt', $options);
$res = Cache::delete("user_resources_74_fdesk");
return 22; return 22;
} }
} }
+2
View File
@@ -58,6 +58,8 @@ Route::group('/common', function () {
Route::any('/corps', [app\common\controller\PresetController::class, 'corps']); Route::any('/corps', [app\common\controller\PresetController::class, 'corps']);
Route::any('/feishu/app', [app\common\controller\PresetController::class, 'feishuApp']); Route::any('/feishu/app', [app\common\controller\PresetController::class, 'feishuApp']);
Route::any('/systems', [app\common\controller\PresetController::class, 'systems']); Route::any('/systems', [app\common\controller\PresetController::class, 'systems']);
Route::any('/roles', [app\common\controller\PresetController::class, 'roles']);
Route::any('/cache/clear', [app\common\controller\PresetController::class, 'cacheClear']);
}); });
}); });