Ver Fonte

fixed:用户端->用户-申请技师

刘学玺 há 4 meses atrás
pai
commit
459088eab4
1 ficheiros alterados com 18 adições e 9 exclusões
  1. 18 9
      app/Services/Client/UserService.php

+ 18 - 9
app/Services/Client/UserService.php

@@ -42,7 +42,7 @@ class UserService
      *
      * @return MemberUser 返回用户信息
      *
-     * @throws \Exception 获取用户信息失败时抛出异
+     * @throws \Exception 获取用户信息失败时抛出异���
      */
     public function getUserInfo(): MemberUser
     {
@@ -84,7 +84,7 @@ class UserService
         try {
             DB::beginTransaction();
 
-            // 检查手机号是否已
+            // 检查手机号是否已��
             abort_if(MemberUser::where('mobile', $mobile)->exists(), 422, '该手机号已注册');
 
             // 验证短信验证码
@@ -120,7 +120,7 @@ class UserService
      * 验证短信验证码
      *
      * 业务逻辑:
-     * 1. 从 Redis 获取存储��验证码
+     * 1. 从 Redis 获取存储验证码
      * 2. 比对验证码是否匹配
      * 3. 验证成功后删除缓存验证码
      *
@@ -220,6 +220,11 @@ class UserService
     /**
      * 检查用户是否可以申请成为技师
      *
+     * 业务逻辑:
+     * 1. 检查用户是否已经是技师
+     * 2. 检查是否有正在审核的申请
+     * 3. 如果不满足条件则抛出异常
+     *
      * @throws \Exception 当用户不满足申请条件时抛出异常
      */
     private function checkCoachApplicationEligibility(): void
@@ -235,10 +240,14 @@ class UserService
         );
 
         // 检查是否有正在审核的申请
+        $hasActiveApplication = CoachUser::where('user_id', $user->id)
+            ->whereHas('info', function ($query) {
+                $query->where('state', TechnicianAuthStatus::AUDITING->value);
+            })
+            ->exists();
+
         abort_if(
-            CoachInfoRecord::where('user_id', $user->id)
-                ->where('state', TechnicianAuthStatus::AUDITING->value)
-                ->exists(),
+            $hasActiveApplication,
             422,
             '您有正在审核的申请,请耐心等待'
         );
@@ -383,7 +392,7 @@ class UserService
     /**
      * 获取邀请人信息
      *
-     * 业���逻辑:
+     * 业逻辑:
      * 1. 根据类型判断邀请人身份
      * 2. 户类型:直接返回用信息
      * 3. 技师类型:
@@ -476,7 +485,7 @@ class UserService
      *
      * 业务逻辑:
      * 1. 获取当前用户的技师信息
-     * 2. ���果用户不是技师,返回 null
+     * 2. 果用户不是技师,返回 null
      * 3. 获取最新的申请记录
      *
      * @return CoachInfoRecord|null 返回申请记录,未找到时返回 null
@@ -497,7 +506,7 @@ class UserService
                 return null;
             }
 
-            // 获取��新的申请记录
+            // 获取新的申请记录
             return $coach->info;
         } catch (\Exception $e) {
             Log::error('获取技师申请记录失败', [