HomeController.php 2.9 KB

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