FeedRepositories.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: edz
  5. * Date: 2019-06-10
  6. * Time: 17:53
  7. */
  8. namespace App\Repositories;
  9. use App\Models\Behavior;
  10. use Illuminate\Support\Facades\Log;
  11. class FeedRepositories
  12. {
  13. public function __construct()
  14. {
  15. }
  16. public function getFeedType($action)
  17. {
  18. $type = [
  19. 'like' => 1,
  20. 'forward' => 2,
  21. 'collect' => 3,
  22. 'comment' => 4,
  23. 'focus' => 5,
  24. 'publish' => 6
  25. ];
  26. return isset($type[$action]) ? $type[$action] : 0;
  27. }
  28. /**
  29. * 创建feed流内容
  30. * @param $request
  31. */
  32. public function feedCreate($request)
  33. {
  34. $fans = $request['fans'];
  35. $behaviorFlag = $request['behavior_flag'];
  36. $feedType = $this->feedCreate($behaviorFlag);
  37. if($feedType){
  38. $data = [];
  39. foreach ($fans as $fan) {
  40. $data['uid'] = $fan;
  41. $data['follow_uid'] = $request['target_id'];
  42. $data['follow_username'] = $request['target_username'];
  43. $data['follow_avatar'] = $request['target_avatar'];
  44. $data['type'] = $feedType;
  45. if(in_array($feedType,[1,2,3])){
  46. $data['relate_id'] = $request['post_id'];
  47. $content['post_desc'] = $request['post_desc'];
  48. }elseif ($feedType==4){
  49. $data['relate_id'] = $request['post_id'];
  50. $content['post_desc'] = $request['post_desc'];
  51. $content['comment_desc'] = $request['comment_content'];
  52. }elseif ($feedType==6){
  53. $data['relate_id'] = $request['post_id'];
  54. }elseif ($feedType==5){
  55. $data['relate_id'] = $request['focus_uid'];
  56. }
  57. $data['content'] = json_encode($content);
  58. }
  59. }
  60. }
  61. }