FeedTransformer.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019-06-24
  6. * Time: 14:45
  7. */
  8. namespace App\Transformers;
  9. use App\Models\Feed;
  10. use App\Repositories\PostRepositories;
  11. use App\Traits\PostTrait;
  12. use App\Traits\UserTrait;
  13. use Illuminate\Support\Facades\Redis;
  14. use League\Fractal\TransformerAbstract;
  15. use Carbon\Carbon;
  16. use App\Models\PostDislike;
  17. use App\Models\PostLike;
  18. class FeedTransformer extends TransformerAbstract {
  19. use UserTrait;
  20. use PostTrait;
  21. public function transform(Feed $feed)
  22. {
  23. $content = null;
  24. if($feed['content']){
  25. $content = json_decode($feed['content']);
  26. if(isset($content->comment_id) && Redis::SISMEMBER('delete_post_comment_ids', $content->comment_id)){
  27. $content->comment_desc = '该评论已被删除';
  28. unset($content->comment_id);
  29. }
  30. }
  31. $user = $this->userInfo($feed['follow_uid']);
  32. return [
  33. 'id' => $feed['id'],
  34. 'uid' => $feed['uid'],
  35. 'follow_uid' => $feed['follow_uid'],
  36. 'follow_username' => $user['username'],
  37. 'follow_avatar' => $user['avatar'],
  38. // 'follow_status' => $this->getFollowStatus($feed['uid'],$feed['follow_uid']),
  39. 'type' => $feed['type'],
  40. 'relate_id' => $feed['relate_id'],
  41. 'relate_data' => !empty($feed['relate_data'])?$feed['relate_data']:null,
  42. 'content' => $content,
  43. 'created_at' => Carbon::parse($feed['created_at'])->diffForHumans(),
  44. ];
  45. }
  46. }