DetailMemberGroupInfoTransformer.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019-06-12
  6. * Time: 19:15
  7. */
  8. namespace App\Transformers;
  9. use App\Models\MemberGroup;
  10. use League\Fractal\TransformerAbstract;
  11. use Illuminate\Support\Carbon;
  12. use Tymon\JWTAuth\Facades\JWTAuth;
  13. class DetailMemberGroupInfoTransformer extends TransformerAbstract{
  14. public function transform(MemberGroup $memberGroup)
  15. {
  16. $memberList = [];
  17. foreach ($memberGroup->mgi as $key=>$value){
  18. $member = $this->getUser($value->uid);
  19. $value['uid'] = $member['uid'];
  20. $value['username'] = $member['username'];
  21. $value['avatar'] = $member['avatar'];
  22. $value['type'] = $member['type'];
  23. $value['post_count'] = $member['post_count'];
  24. $value['share_count'] = $member['share_count'];
  25. $value['fans_count'] = $member['fans_count'];
  26. $memberList[] = $value;
  27. }
  28. return [
  29. 'id' => $memberGroup['id'],
  30. 'name' => $memberGroup['name'],
  31. 'is_suggest' => $memberGroup['is_suggest'],
  32. 'created_at' => Carbon::parse($memberGroup['created_at'])->toDateTimeString(),
  33. 'member_list'=>$memberList,
  34. ];
  35. }
  36. public function getUser($id) {
  37. try {
  38. $url = config("customer.manage_service_url").'/user/memberView';
  39. //$url = 'https://manage.dev.caihongxingqiu.com/user/memberView';
  40. $array = [
  41. 'json' => ['uid'=>$id], 'query' => [], 'http_errors' => false,'headers'=>['Authorization'=>"Bearer ".JWTAuth::getToken()]
  42. ];
  43. $res = http($url,$array,true,'get');
  44. return $res;
  45. } catch (\Exception $e) {
  46. return [];
  47. }
  48. }
  49. }