feat: 注册页加部门选择/用户管理修部门下拉/超管可跨店建用户/公开部门接口
This commit is contained in:
@@ -86,6 +86,25 @@ class AuthController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取门店部门列表(公开接口,注册时使用)
|
||||
*/
|
||||
public function departments(Request $request): JsonResponse
|
||||
{
|
||||
$storeId = $request->input('store_id');
|
||||
if (!$storeId) {
|
||||
return $this->error('请选择门店', 42200);
|
||||
}
|
||||
|
||||
$departments = \App\Models\Department::withoutGlobalScope('store')
|
||||
->where('store_id', $storeId)
|
||||
->where('status', 1)
|
||||
->orderBy('sort')
|
||||
->get(['id', 'name', 'parent_id']);
|
||||
|
||||
return $this->success($departments);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取可用注册套餐列表(公开接口)
|
||||
*/
|
||||
@@ -118,6 +137,7 @@ class AuthController extends Controller
|
||||
'password' => 'required|string|min:6',
|
||||
'name' => 'required|string|max:50',
|
||||
'phone' => 'required|string|max:20',
|
||||
'department_id' => 'nullable|exists:departments,id',
|
||||
]);
|
||||
|
||||
// 验证套餐属于该门店
|
||||
@@ -128,12 +148,13 @@ class AuthController extends Controller
|
||||
->firstOrFail();
|
||||
|
||||
$user = \App\Models\User::create([
|
||||
'store_id' => $data['store_id'],
|
||||
'username' => $data['username'],
|
||||
'password' => $data['password'],
|
||||
'name' => $data['name'],
|
||||
'phone' => $data['phone'],
|
||||
'status' => 2, // Pending
|
||||
'store_id' => $data['store_id'],
|
||||
'username' => $data['username'],
|
||||
'password' => $data['password'],
|
||||
'name' => $data['name'],
|
||||
'phone' => $data['phone'],
|
||||
'department_id' => $data['department_id'] ?? null,
|
||||
'status' => 2, // Pending
|
||||
]);
|
||||
|
||||
// 绑定套餐角色
|
||||
|
||||
@@ -47,12 +47,20 @@ class UserController extends Controller
|
||||
'status' => 'in:0,1,2',
|
||||
'role_ids' => 'array',
|
||||
'role_ids.*' => 'exists:roles,id',
|
||||
'store_id' => 'nullable|exists:stores,id',
|
||||
]);
|
||||
|
||||
$roleIds = $data['role_ids'] ?? [];
|
||||
unset($data['role_ids']);
|
||||
|
||||
$data['store_id'] = auth()->user()->store_id;
|
||||
$authUser = auth()->user();
|
||||
// 超级管理员可指定 store_id,普通管理员只能在自己门店下创建
|
||||
if ($authUser->is_super && !empty($data['store_id'])) {
|
||||
// use provided store_id
|
||||
} else {
|
||||
$data['store_id'] = $authUser->store_id;
|
||||
}
|
||||
|
||||
$user = User::create($data);
|
||||
|
||||
if ($roleIds) {
|
||||
|
||||
@@ -80,6 +80,7 @@ use App\Http\Controllers\Admin\System\RegistrationPackageController;
|
||||
Route::post('/auth/login', [AuthController::class, 'login']);
|
||||
Route::post('/auth/register', [AuthController::class, 'register']);
|
||||
Route::get('/auth/register/packages', [AuthController::class, 'registrationPackages']);
|
||||
Route::get('/auth/register/departments', [AuthController::class, 'departments']);
|
||||
Route::get('/auth/stores', [\App\Http\Controllers\Admin\System\StoreController::class, 'publicList']);
|
||||
|
||||
// ===== 需要认证的路由 =====
|
||||
|
||||
Reference in New Issue
Block a user