feat : driver

This commit is contained in:
2024-11-21 09:42:57 +08:00
parent 1aa0990fe2
commit e97f18cd8c
4 changed files with 44 additions and 8 deletions

View File

@@ -26,6 +26,11 @@ class DriverRequest extends FormRequest
'query_driver_city_id' => 'sometimes|integer|exists:system_city,id',
'query_driver_id' =>'sometimes|integer|exists:admin_user,id',
'limit' => 'required|integer',
'city_id' => 'required|integer|exists:system_city,id',
'driver_ids' => 'required|string',
'driver_num' => 'required',
'site_ids' => 'required|string',
'driver_id' =>'required|integer|exists:admin_user,id',
];
}
@@ -40,6 +45,11 @@ class DriverRequest extends FormRequest
'query_driver_name',
'query_driver_city_id',
'query_driver_id'
]
],
'driver_sequence_list' => ['city_id'],
'setting_driver_sequence'=> ['driver_ids'],
'setting_driver_num' => ['driver_id','driver_num'],
'site_sequence_list_by_driver' => ['driver_id'],
'setting_site_sequence' => ['driver_id','site_ids'],
];
}

View File

@@ -43,11 +43,6 @@ abstract class BaseService
*/
protected int $roleId = 0;
/**
* @var int
*/
protected int $cityId = 0;
/**
* 主构造函数(获取请求对象)
*/
@@ -55,7 +50,6 @@ abstract class BaseService
{
$this->adminId = Context::get("admin_id",0);
$this->roleId = Context::get("role_id",0);
$this->cityId = Context::get("city_id",0);
}
/**

View File

@@ -97,6 +97,7 @@ class DriverService extends BaseService
*/
public function driverSequenceList(): array
{
$this->cityId = (int)$this->request->input('city_id',0);
if (empty($this->cityId)) return $this->return->success('success',['list' => []]);
$list = $this

View File

@@ -11,11 +11,13 @@ declare(strict_types=1);
namespace App\Service\Admin\User;
use App\Constants\Admin\UserCode;
use App\Constants\Common\RoleCode;
use App\Exception\ErrException;
use App\Extend\StringUtil;
use App\Lib\Crypto\CryptoFactory;
use App\Model\AdminRole;
use App\Model\AdminUser;
use App\Model\DriverSequence;
use App\Service\Admin\BaseService;
use Exception;
use Hyperf\Di\Annotation\Inject;
@@ -101,6 +103,17 @@ class EmployeeService extends BaseService
if (!$model->save()) throw new ErrException('账号添加失败');
//写入关联表
$res = match ($model->role_id) {
RoleCode::DRIVER =>
(new DriverSequence)->insert([
'driver_id' => $model->id,
]),
default => true,
};
if (!$res) throw new ErrException('关联表添加失败');
return $this->return->success();
}
@@ -113,6 +126,7 @@ class EmployeeService extends BaseService
$id = (int)$this->request->input('id');
$name = $this->request->input('chinese_name');
$account = $this->request->input('account');
$roleId = $this->request->input('role_id', 0);
$info = $this->adminUserModel->getAdminInfoById($id);
if (empty($info)) throw new ErrException('数据不存在');
@@ -123,12 +137,29 @@ class EmployeeService extends BaseService
if (!empty($oldName) && $oldName->id != $info->id) throw new ErrException('员工已存在');
if (!empty($oldAccount) && $oldAccount->id != $info->id) throw new ErrException('账号已存在');
if ($info->role_id != $roleId) {
//写入关联表
$del = match ($info->role_id) {
RoleCode::DRIVER => (new DriverSequence)->where('driver_id', $info->id)->delete(),
default => true,
};
$add = match ($roleId) {
RoleCode::DRIVER => (new DriverSequence)->insert([
'driver_id' => $info->id,
]),
default => true,
};
if (!$del || !$add) throw new ErrException('关联表修改失败');
}
$info->username = $account;
$info->mobile = $account;
$info->chinese_name = $name;
$info->status = $this->request->input('status', 1);
$info->avatar = $this->request->input('avatar',0);
$info->role_id = $this->request->input('role_id', 0);
$info->role_id = $roleId;
$info->city_id = $this->request->input('city_id', 0);
$info->section_id = $this->request->input('section_id', 0);