first commit

This commit is contained in:
liu
2026-07-13 15:23:29 +08:00
commit 50885a98c8
473 changed files with 33772 additions and 0 deletions
@@ -0,0 +1,78 @@
<?php
namespace Modules\SystemUser\Http\Requests;
use Illuminate\Support\Facades\DB;
use Illuminate\Validation\Rule;
use Modules\Common\Http\Requests\BaseFormRequest;
class SysDeptFormRequest extends BaseFormRequest
{
protected $stopOnFirstFailure = true;
public function rules(): array
{
if (!$this->isUpdate()) {
return [
'name' => 'required|unique:sys_dept,name',
'code' => 'required|unique:sys_dept,code',
'type' => 'required|integer|in:0,1,2',
'parent_id' => [
'required',
'integer',
function ($attribute, $value, $fail) {
if ($value != 0 && !DB::table('sys_dept')->where('id', $value)->exists()) {
$fail('选择的上级部门不存在。');
}
},
],
'sort' => 'required|integer',
'phone' => 'nullable',
'address' => 'nullable',
'email' => 'nullable|email',
'status' => 'required|in:0,1',
'remark' => 'nullable',
];
} else {
$id = $this->route('id');
return [
'name' => [
'required',
Rule::unique('sys_dept', 'name')->ignore($id)
],
'code' => [
'required',
Rule::unique('sys_dept', 'code')->ignore($id)
],
'type' => 'required|integer|in:0,1,2',
'sort' => 'required|integer',
'phone' => 'nullable',
'address' => 'nullable',
'email' => 'nullable|email',
'status' => 'required|in:0,1',
'remark' => 'nullable',
];
}
}
public function messages(): array
{
return [
'name.required' => '部门名称不能为空',
'name.unique' => '部门名称已存在',
'code.required' => '部门编码不能为空',
'code.unique' => '部门编码已存在',
'type.required' => '部门类型不能为空',
'type.integer' => '部门类型必须是整数',
'type.in' => '部门类型错误',
'parent_id.required' => '上级部门不能为空',
'parent_id.integer' => '上级部门ID必须是整数',
'parent_id.exists' => '选择的上级部门不存在',
'sort.required' => '排序字段不能为空',
'sort.integer' => '排序字段必须是整数',
'email.email' => '请输入有效的邮箱地址',
'status.required' => '状态不能为空',
'status.in' => '状态类型错误',
];
}
}
@@ -0,0 +1,47 @@
<?php
namespace Modules\SystemUser\Http\Requests;
use Illuminate\Validation\Rule;
use Modules\Common\Http\Requests\BaseFormRequest;
class SysRoleFormRequest extends BaseFormRequest
{
protected $stopOnFirstFailure = true;
public function rules(): array
{
if (!$this->isUpdate()) {
return [
'name' => 'required|unique:sys_role,name',
'sort' => 'required|integer|min:0',
'description' => 'nullable|string',
'status' => 'required|integer|in:0,1',
];
} else {
$id = $this->route('id');
return [
'name' => [
'required',
'string',
Rule::unique('sys_role', 'name')->ignore($id),
],
'sort' => 'required|integer|min:0',
'description' => 'nullable|string',
'status' => 'required|integer|in:0,1',
];
}
}
public function messages(): array
{
return [
'name.required' => '角色名称不能为空',
'name.unique' => '角色名称已存在',
'sort.required' => '排序不能为空',
'sort.integer' => '排序必须为整数',
'status.required' => '状态不能为空',
'status.in' => '状态格式错误',
];
}
}
@@ -0,0 +1,86 @@
<?php
namespace Modules\SystemUser\Http\Requests;
use App\Exceptions\RepositoryException;
use Illuminate\Support\Facades\DB;
use Illuminate\Validation\Rule;
use Modules\Common\Http\Requests\BaseFormRequest;
class SysRuleFormRequest extends BaseFormRequest
{
protected $stopOnFirstFailure = true;
public function rules(): array
{
$type = $this->input('type');
if (empty($type)) {
throw new RepositoryException('权限类型为必填项!');
}
if (!in_array($type, ['menu', 'route', 'rule'])) {
throw new RepositoryException('权限类型错误!');
}
$rules = [
'parent_id' => [
'required',
'integer',
'numeric',
function ($attribute, $value, $fail) {
if ($value != 0 && !DB::table('sys_rule')->where('id', $value)->exists()) {
$fail('选择的上级权限不存在。');
}
},
],
'order' => 'required|integer',
'name' => 'required',
];
if (!$this->isUpdate()) {
$rules['key'] = 'required|unique:sys_rule,key';
} else {
$rules['key'] = [
'required',
Rule::unique('sys_rule', 'key')->ignore($this->route('id')),
];
}
if ($type == 'menu') {
$rules += [
'type' => 'required|string|in:menu',
'local' => 'nullable|string',
'icon' => 'nullable|string',
];
} elseif ($type == 'route') {
$rules += [
'type' => 'required|string|in:route',
'path' => 'required|string',
'local' => 'nullable|string',
'icon' => 'nullable|string',
'link' => 'required|integer|numeric|in:0,1',
];
} else {
$rules += [
'type' => 'required|string|in:rule',
];
}
return $rules;
}
public function messages(): array
{
return [
'name.required' => '权限名称不能为空',
'type.required' => '类型不能为空',
'type.in' => '类型格式错误',
'order.required' => '排序不能为空',
'order.integer' => '排序必须为整数',
'key.required' => '唯一标识不能为空',
'key.unique' => '唯一标识已存在',
'path.required' => '路径不能为空',
'parent_id.required' => '父级权限不能为空',
'parent_id.integer' => '父级权限格式错误',
];
}
}
@@ -0,0 +1,70 @@
<?php
namespace Modules\SystemUser\Http\Requests;
use Illuminate\Validation\Rule;
use Modules\Common\Http\Requests\BaseFormRequest;
class SysUserFormRequest extends BaseFormRequest
{
protected $stopOnFirstFailure = true;
public function rules(): array
{
if(!$this->isUpdate()) {
return [
'username' => 'required|unique:sys_user,username',
'nickname' => 'required',
'sex' => 'in:0,1',
'mobile' => 'required',
'email' => 'required|email|unique:sys_user,email',
'dept_id' => 'required|exists:sys_dept,id',
'role_id' => 'required|array|exists:sys_role,id',
'status' => 'required|int|in:1,0',
'password' => 'required|min:6',
'rePassword' => 'required|same:password',
];
} else {
$id = $this->route('id');
return [
'username' => [
'required',
Rule::unique('sys_user', 'username')->ignore($id)
],
'nickname' => 'required',
'sex' => 'in:0,1',
'mobile' => 'required',
'email' => [
'required',
Rule::unique('sys_user', 'email')->ignore($id)
],
'role_id' => 'required|array|exists:sys_role,id',
'dept_id' => 'required|exists:sys_dept,id',
'status' => 'required|int|in:1,0',
];
}
}
public function messages(): array
{
return [
'username.required' => '用户名不能为空',
'username.unique' => '用户名已存在',
'nickname.required' => '昵称不能为空',
'sex.in' => '性别格式错误',
'mobile.required' => '手机号不能为空',
'email.required' => '邮箱不能为空',
'email.email' => '邮箱格式错误',
'email.unique' => '邮箱已存在',
'dept_id.exists' => '部门不存在',
'role_id.exists' => '角色不存在',
'status.required' => '状态不能为空',
'status.int' => '状态值错误',
'status.in' => '状态格式错误',
'password.required' => '密码不能为空',
'password.min' => '密码至少6位',
'rePassword.required' => '确认密码不能为空',
'rePassword.same' => '两次密码不一致',
];
}
}
@@ -0,0 +1,42 @@
<?php
namespace Modules\SystemUser\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class SysUserUpdateRequest extends FormRequest
{
public function rules(): array
{
return [
'nickname' => [
'required',
Rule::unique('sys_user', 'username')->ignore($id)
],
'sex' => 'required|in:0,1',
'bio' => 'sometimes|max:255',
'mobile' => [
'required',
Rule::unique('sys_user', 'mobile')->ignore($id)
],
'email' => [
'required',
Rule::unique('sys_user', 'email')->ignore($id)
],
];
}
public function messages(): array
{
return [
'nickname.required' => '昵称不能为空',
'sex.required' => '性别不能为空',
'sex.in' => '性别格式错误',
'bio.max' => '个人简介最大不能超过255个字符',
'mobile.required' => '手机号不能为空',
'email.required' => '邮箱不能为空',
'email.email' => '邮箱格式错误'
];
}
}