HomeController.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace App\Http\Controllers\Api\V1;
  3. use App\Models\BaseDictionaryOptionModel;
  4. use App\Models\DreamInfoModel;
  5. use App\Models\SupportDreamModel;
  6. use App\Models\UserCareUser;
  7. use App\Models\UserInfoModel;
  8. use Illuminate\Http\Request;
  9. use App\Services\Base\ErrorCode;
  10. class HomeController extends Controller
  11. {
  12. /**
  13. * @api {get} /api/user/show/ 用户信息
  14. * @apiDescription 用户信息
  15. * @apiGroup Home
  16. * @apiPermission Passport
  17. * @apiVersion 0.1.0
  18. * @apiParam {int} user_id 用户ID
  19. * @apiSuccessExample {json} Success-Response:
  20. * HTTP/1.1 200 OK
  21. *{
  22. * "status": true,
  23. * "status_code": 0,
  24. * "message": "",
  25. * "data": {
  26. * "user": {}, 用户信息
  27. * "near_dream": {}, 当前梦想
  28. * "sup_dreams": [], 支持的梦想
  29. * "imgs": [], 封面图片
  30. * "dreams": [] 曾经的梦想
  31. * "score": 2000 支持分数
  32. * }
  33. *}
  34. * @apiErrorExample {json} Error-Response:
  35. *HTTP/1.1 400 Bad Request
  36. *{
  37. * "status": false,
  38. * " status_code": 1105,
  39. * "message": "用户不存在",
  40. * "data": null
  41. * }
  42. */
  43. public function show(Request $request)
  44. {
  45. $user_id = $request->user_id;
  46. // 获得的支持分数
  47. $info = SupportDreamModel::where('to_user_id',$user_id)->get();
  48. $score = 0;
  49. foreach ($info as $item) {
  50. $score += $item->score;
  51. }
  52. $care = UserCareUser::where('user_id',$user_id)->get();
  53. $fens = UserCareUser::where('other_user_id',$user_id)->get();
  54. $user = UserInfoModel::find($user_id);
  55. if (count($user) == 0) return $this->error(ErrorCode::USER_DOES_NOT_EXIST);
  56. $emotion = BaseDictionaryOptionModel::where(['dictionary_code' => 'emotion'])->
  57. where('dictionary_table_code','user_info')->
  58. where(['value' => $user->emotion])->first();
  59. $emotion = count($emotion) > 0 ? $emotion->name : '';
  60. // 当前梦想
  61. $near_dream =DreamInfoModel::where('user_id',$user->id)->orderBy('id','desc')->first();
  62. // 封面图片
  63. $imgs =$user->allImgs;
  64. // 曾经的梦想
  65. $dreams = $user->UserDream;
  66. foreach ($dreams as $dream){
  67. $dream->dream_imgs = $dream->imgs;
  68. }
  69. $user->score = 1000;//自定义 算法
  70. $user->care = count($care);
  71. $user->fens = count($fens);
  72. $user->dreams =$dreams;
  73. $user->emotion = $emotion;
  74. // 支持的梦想
  75. $sup_dreams = $user->supDream;
  76. foreach ($sup_dreams as $sup_dream){
  77. $sup_dream->pics = $sup_dream->imgs;
  78. }
  79. return $this->api(compact('user','near_dream','sup_dreams','imgs','dreams','score'));
  80. }
  81. }