repository = $repository; } /** * 添加或更新零号线用户 * * @param AddZeroUserValidate $validate 验证器实例 * @return Json */ public function addZeroUser(AddZeroUserValidate $validate): Json { // 执行验证 $validationResult = $validate->validate(); // 验证失败,返回错误信息 if ($validationResult['status'] === 'error') { return app('json')->fail($validationResult['message']); } /** @var ZeroUserRequestEntity $entity 请求实体 */ $entity = $validationResult['data']; // 自动验证枚举参数 $requestData = $entity->getArray(); // 使用智能枚举验证器自动验证,直接传递枚举类名 $validationResult = EnumUtil::autoValidate(\app\common\enum\user\ZeroUserEnum::class, $requestData); if (!$validationResult['valid']) { return app('json')->fail(implode('; ', $validationResult['errors'])); } try { // 执行插入或更新操作 $result = $this->repository->insertOrUpdate( $entity->getId(), $entity->getArray() ); // 根据操作结果返回相应的响应 if ($result) { $response = ZeroUserLineResponseEntity::success(); return app('json')->success($response->toResponseArray()); } else { $response = ZeroUserLineResponseEntity::error(); return app('json')->fail($response->toResponseArray()); } } catch (\Exception $e) { // 记录异常日志 \think\facade\Log::error('零号线用户操作异常: '.$e->getMessage()); // 返回友好的错误信息 return app('json')->fail('系统繁忙,请稍后重试'); } } }