Userfollow.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use think\Db;
  5. /**
  6. * 关注
  7. */
  8. class Userfollow extends Api
  9. {
  10. protected $noNeedLogin = [];
  11. protected $noNeedRight = ['*'];
  12. //我的关注列表
  13. public function my_follow_list(){
  14. $list = Db::name('user_follow')
  15. ->alias('follow')
  16. ->join('user','follow.follow_uid = user.id','LEFT')
  17. ->field('user.id,user.nickname,user.avatar,user.bio,user.birthday,user.gender')
  18. ->where('follow.uid',$this->auth->id)->order('follow.id desc')->autopage()->select();
  19. $list = list_domain_image($list,['avatar']);
  20. $list = list_birthday_age($list);
  21. $this->success('success',$list);
  22. }
  23. //我的粉丝列表
  24. public function my_fans_list(){
  25. $list = Db::name('user_follow')
  26. ->alias('follow')
  27. ->join('user','follow.uid = user.id','LEFT')
  28. ->field('user.id,user.nickname,user.avatar,user.bio,user.birthday,user.gender')
  29. ->where('follow.follow_uid',$this->auth->id)->order('follow.id desc')->autopage()->select();
  30. $list = list_domain_image($list,['avatar']);
  31. $list = list_birthday_age($list);
  32. $this->success('success',$list);
  33. }
  34. //关注某人
  35. public function follow_one(){
  36. $follow_uid = input('follow_uid',0);
  37. if(!$follow_uid){
  38. $this->error(__('Invalid parameters'));
  39. }
  40. $checkuser = Db::name('user')->find($follow_uid);
  41. if(empty($checkuser)){
  42. $this->error('此用户不存在');
  43. }
  44. if($follow_uid == $this->auth->id){
  45. $this->error('不能关注自己');
  46. }
  47. $map = [
  48. 'uid' => $this->auth->id,
  49. 'follow_uid' => $follow_uid,
  50. ];
  51. $check = Db::name('user_follow')->where($map)->find();
  52. if($check){
  53. $this->error('已经关注此人');
  54. }
  55. Db::startTrans();
  56. $id = Db::name('user_follow')->insertGetId($map);
  57. if(!$id){
  58. Db::rollback();
  59. $this->error('关注失败');
  60. }
  61. //tag任务赠送金币
  62. //关注3人加3金币
  63. $task_rs = \app\common\model\TaskLog::tofinish($this->auth->id,2);
  64. if($task_rs === false){
  65. Db::rollback();
  66. $this->error('完成任务赠送奖励失败');
  67. }
  68. Db::commit();
  69. $this->success('操作成功',$id);
  70. }
  71. //取关某人
  72. public function un_follow_one(){
  73. $follow_uid = input('follow_uid',0);
  74. if(!$follow_uid){
  75. $this->error(__('Invalid parameters'));
  76. }
  77. $checkuser = Db::name('user')->find($follow_uid);
  78. if(empty($checkuser)){
  79. $this->error('此用户不存在');
  80. }
  81. $map = [
  82. 'uid' => $this->auth->id,
  83. 'follow_uid' => $follow_uid,
  84. ];
  85. //不检查,全删
  86. $rs = Db::name('user_follow')->where($map)->delete();
  87. $this->success('操作成功');
  88. }
  89. }