WxUserFollowRepositores.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Http\Controllers\Api\Repositories;
  3. use App\Models\User\WxUserFollow as Model;
  4. use App\Models\User\WxUser;
  5. use App\Wen\Utils\FieldUtils;
  6. use App\Wen\Utils\UserUtils;
  7. use Illuminate\Support\Facades\DB;
  8. class WxUserFollowRepositores
  9. {
  10. /**
  11. * Model.
  12. *
  13. * @var string
  14. */
  15. protected $eloquentClass = Model::class;
  16. /**
  17. * 点赞
  18. */
  19. public static function follow($uid, $user_follow_id)
  20. {
  21. DB::beginTransaction();
  22. try {
  23. $isExists = Model::where('user_follow_id', $user_follow_id)
  24. ->where('user_id', $uid)
  25. ->exists();
  26. if (!$isExists) {
  27. // 不能关注自己
  28. if ($user_follow_id != $uid) {
  29. // 关注
  30. $wxLike = new Model();
  31. $wxLike->user_follow_id = $user_follow_id;
  32. $wxLike->user_id = $uid;
  33. $wxLike->save();
  34. $user = WxUser::where('id', $uid)->first(FieldUtils::userInfoColums());
  35. UserUtils::add_user_notice(4004, $user_follow_id, '新增了一个粉丝', '「' . '<a href="/pages/user/user?id='.$user['id'].'">'.$user['user_name'].'</a>' . '」悄悄的关注了您。', 101, -$uid);
  36. }
  37. }
  38. DB::commit();
  39. return true;
  40. } catch (\Exception $e) {
  41. DB::rollBack();
  42. _logger_(__file__, __line__, $e->getMessage());
  43. return false;
  44. }
  45. }
  46. public static function unfollow($uid, $user_follow_id)
  47. {
  48. DB::beginTransaction();
  49. try {
  50. (new Model())->where('user_follow_id', $user_follow_id)
  51. ->where('user_id', $uid)
  52. ->delete();
  53. DB::commit();
  54. return true;
  55. } catch (\Exception $e) {
  56. DB::rollBack();
  57. _logger_(__file__, __line__, $e->getMessage());
  58. return false;
  59. }
  60. }
  61. }