Userblack.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use think\Db;
  5. /**
  6. * 黑名单
  7. */
  8. class Userblack extends Api
  9. {
  10. protected $noNeedLogin = [];
  11. protected $noNeedRight = ['*'];
  12. //拉黑我的人列表
  13. public function black_me_list(){
  14. $list = Db::name('user_black')
  15. ->alias('black')
  16. ->join('user','black.uid = user.id','LEFT')
  17. ->field('user.id,user.nickname,user.avatar,user.bio,user.birthday,user.gender')
  18. ->where('black.black_uid',$this->auth->id)->order('black.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_black_list(){
  25. $list = Db::name('user_black')
  26. ->alias('black')
  27. ->join('user','black.black_uid = user.id','LEFT')
  28. // ->field('user.id,user.nickname,user.avatar,user.bio,user.birthday,user.gender')
  29. ->field('black.createtime,user.id,user.nickname,user.avatar')
  30. ->where('black.uid',$this->auth->id)->order('black.id desc')->autopage()->select();
  31. if (!$list) {
  32. $this->success('success', $list);
  33. }
  34. $list = list_domain_image($list,['avatar']);
  35. // $list = list_birthday_age($list);
  36. foreach ($list as &$v) {
  37. $v['createtime'] = date('Y-m-d H:i', $v['createtime']);
  38. }
  39. $this->success('success',$list);
  40. }
  41. //拉黑某人
  42. public function black_one(){
  43. $black_uid = input('black_uid',0);
  44. if(!$black_uid){
  45. $this->error(__('Invalid parameters'));
  46. }
  47. $checkuser = Db::name('user')->find($black_uid);
  48. if(empty($checkuser)){
  49. $this->error('此用户不存在');
  50. }
  51. if($black_uid == $this->auth->id){
  52. $this->error('不能拉黑自己');
  53. }
  54. $map = [
  55. 'uid' => $this->auth->id,
  56. 'black_uid' => $black_uid,
  57. ];
  58. $check = Db::name('user_black')->where($map)->find();
  59. if($check){
  60. $this->error('已经拉黑了此人');
  61. }
  62. //开启事务
  63. Db::startTrans();
  64. $map['createtime'] = time();
  65. $id = Db::name('user_black')->insertGetId($map);
  66. if (!$id) {
  67. Db::rollback();
  68. $this->error('您的网络开小差了~');
  69. }
  70. $tenim = new \app\api\controller\Tenim;
  71. $result = $tenim->black_one($this->auth->id, $black_uid);
  72. if ($result['ErrorCode'] != 0 || $result['ResultItem'][0]['ResultCode'] != 0) {
  73. Db::rollback();
  74. $this->error('您的网络开小差了~');
  75. }
  76. //系统消息
  77. $msg_id = \app\common\model\Message::addMessage($this->auth->id,'拉黑','您已将用户' . $checkuser['nickname'] . '拉入黑名单');
  78. Db::commit();
  79. $this->success('操作成功',$id);
  80. }
  81. //取消拉黑某人
  82. public function un_black_one(){
  83. $black_uid = input('black_uid',0);
  84. if(!$black_uid){
  85. $this->error(__('Invalid parameters'));
  86. }
  87. $map = [
  88. 'uid' => $this->auth->id,
  89. 'black_uid' => $black_uid,
  90. ];
  91. //不检查,全删
  92. Db::startTrans();
  93. $rs = Db::name('user_black')->where($map)->delete();
  94. if ($rs === false) {
  95. Db::rollback();
  96. $this->error('您的网络开小差了~');
  97. }
  98. if ($rs) {
  99. $tenim = new \app\api\controller\Tenim;
  100. $result = $tenim->un_black_one($this->auth->id, $black_uid);
  101. if ($result['ErrorCode'] != 0 || $result['ResultItem'][0]['ResultCode'] != 0) {
  102. Db::rollback();
  103. $this->error('您的网络开小差了~');
  104. }
  105. }
  106. Db::commit();
  107. $this->success('操作成功');
  108. }
  109. }