AccountService.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <?php
  2. namespace App\Services\Coach;
  3. use App\Models\MemberUser;
  4. use Illuminate\Support\Facades\DB;
  5. use Illuminate\Support\Facades\Log;
  6. class AccountService
  7. {
  8. /**
  9. * 提交技师基本信息
  10. */
  11. public function submitBaseInfo(int $userId, array $data)
  12. {
  13. DB::beginTransaction();
  14. try {
  15. // 获取当前登录用户
  16. $user = MemberUser::find($userId);
  17. $coach = $user->coach;
  18. // 创建技师信息
  19. $coach->infoRecords()->create(
  20. [
  21. 'nickname' => $data['nickname'],
  22. 'avatar' => $data['avatar'],
  23. 'gender' => $data['gender'],
  24. 'mobile' => $data['mobile'],
  25. 'birthday' => $data['birthday'],
  26. 'work_years' => $data['work_years'],
  27. 'intention_city' => $data['intention_city'],
  28. 'introduction' => $data['introduction'],
  29. ]
  30. );
  31. DB::commit();
  32. return ['message' => '基本信息提交成功'];
  33. } catch (\Exception $e) {
  34. DB::rollBack();
  35. Log::error('提交技师基本信息失败:', [
  36. 'message' => $e->getMessage(),
  37. 'data' => $data,
  38. ]);
  39. throw $e;
  40. }
  41. }
  42. /**
  43. * 提交技师资质信息
  44. *
  45. * @param int $userId 用户ID
  46. * @param array $data 资质信息数据
  47. *
  48. * @throws \Exception 提交失败时抛出异常
  49. */
  50. public function submitQualification(int $userId, array $data)
  51. {
  52. DB::beginTransaction();
  53. try {
  54. // 获取当前登录用户
  55. $user = MemberUser::find($userId);
  56. $coach = $user->coach;
  57. // 更新技师资质信息
  58. $coach->qualRecords()->create([
  59. 'qual_type' => $data['qual_type'],
  60. 'qual_no' => $data['qual_no'],
  61. 'qual_photo' => $data['qual_photo'],
  62. 'valid_start' => $data['valid_start'],
  63. 'valid_end' => $data['valid_end'],
  64. ]);
  65. DB::commit();
  66. return ['message' => '资质信息提交成功'];
  67. } catch (\Exception $e) {
  68. DB::rollBack();
  69. Log::error('提交技师资质信息失败:', [
  70. 'message' => $e->getMessage(),
  71. 'data' => $data,
  72. ]);
  73. throw $e;
  74. }
  75. }
  76. /**
  77. * 提交实名认证信息
  78. */
  79. public function submitRealName(int $userId, array $data)
  80. {
  81. DB::beginTransaction();
  82. try {
  83. // 获取当前登录用户
  84. $user = MemberUser::find($userId);
  85. $coach = $user->coach;
  86. // 更新实名信息
  87. $coach->realRecords()->create([
  88. 'real_name' => $data['real_name'],
  89. 'id_card' => $data['id_card'],
  90. 'id_card_front_photo' => $data['id_card_front_photo'],
  91. 'id_card_back_photo' => $data['id_card_back_photo'],
  92. 'id_card_hand_photo' => $data['id_card_hand_photo'],
  93. ]);
  94. DB::commit();
  95. return ['message' => '实名认证信息提交成功'];
  96. } catch (\Exception $e) {
  97. DB::rollBack();
  98. Log::error('提交实名认证信息失败:', [
  99. 'message' => $e->getMessage(),
  100. 'data' => $data,
  101. ]);
  102. throw $e;
  103. }
  104. }
  105. }