作者 郭宇鹏
1 个管道 的构建 通过 耗费 0 秒

'12-29'

@@ -76,7 +76,7 @@ class Article extends BaseApi @@ -76,7 +76,7 @@ class Article extends BaseApi
76 //6.查询数据 76 //6.查询数据
77 $article = model('article')->where('id',$article['id'])->find(); 77 $article = model('article')->where('id',$article['id'])->find();
78 //7.获取关注自己的的用户id 并推送消息 78 //7.获取关注自己的的用户id 并推送消息
79 - $user_ids = model('user_attention')->where('in_user_id',$this->auth->id)->column('id'); 79 + $user_ids = model('user_attention')->where('in_user_id',$this->auth->id)->column('user_id');
80 if ($user_ids){ 80 if ($user_ids){
81 foreach ($user_ids as $val){ 81 foreach ($user_ids as $val){
82 //增加消息 82 //增加消息
@@ -3,12 +3,100 @@ @@ -3,12 +3,100 @@
3 3
4 namespace app\api\controller; 4 namespace app\api\controller;
5 5
  6 +use think\Db;
  7 +use think\Exception;
  8 +
6 /** 9 /**
7 * 消息相关 10 * 消息相关
8 * @package app\api\controller 11 * @package app\api\controller
9 */ 12 */
10 class Message extends BaseApi 13 class Message extends BaseApi
11 { 14 {
12 - 15 + protected $noNeedLogin = '';
  16 + protected $noNeedRight = '*';
  17 +
  18 + /**
  19 + * 获取用户总的未读消息
  20 + * @ApiTitle (获取用户总的未读消息)
  21 + * @ApiMethod (POST)
  22 + * @ApiRoute (/api/message/getIsReadNum)
  23 + * @ApiReturnParams (name="code", type="integer", required=true, sample="0")
  24 + * @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")
  25 + * @ApiReturnParams (name="data", type="object", description="扩展数据返回")
  26 + * @ApiReturn ({
  27 + "code": 1,
  28 + "msg": "请求数量成功",
  29 + "time": "1609323269",
  30 + "data": "获取用户总的未读消息"
  31 + })
  32 + */
  33 + public function getIsReadNum(){
  34 + $count = model('message')->where('user_id',$this->auth->id)->where('is_read',0)->count();
  35 + $this->success('请求数量成功',$count);
  36 + }
  37 + /**
  38 + * 分类获取用户的未读消息
  39 + * @ApiTitle (分类获取用户的未读消息)
  40 + * @ApiMethod (POST)
  41 + * @ApiRoute (/api/message/getTypeIsReadNum)
  42 + * @ApiReturnParams (name="code", type="integer", required=true, sample="0")
  43 + * @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")
  44 + * @ApiReturnParams (name="data", type="object", description="扩展数据返回")
  45 + * @ApiReturn ({
  46 + "code": 1,
  47 + "msg": "请求数量成功",
  48 + "time": "1609323546",
  49 + "data": {
  50 + "one": "收藏消息",
  51 + "two": "动态消息",
  52 + "three": "礼物消息",
  53 + "four": "通知消息"
  54 + }
  55 + })
  56 + */
  57 + public function getTypeIsReadNum(){
  58 + $data = [];
  59 + $data['one'] = model('message')->where('status',1)->where('user_id',$this->auth->id)->where('is_read',0)->count();
  60 + $data['two'] = model('message')->where('status',2)->where('user_id',$this->auth->id)->where('is_read',0)->count();
  61 + $data['three'] = model('message')->where('status',3)->where('user_id',$this->auth->id)->where('is_read',0)->count();
  62 + $data['four'] = model('message')->where('status',4)->where('user_id',$this->auth->id)->where('is_read',0)->count();
  63 + $this->success('请求数量成功',$data);
  64 + }
  65 + /**
  66 + * 获取列表消息
  67 + * @ApiTitle (获取列表消息)
  68 + * @ApiMethod (POST)
  69 + * @ApiRoute (/api/message/getMessageList)
  70 + * @ApiParams (name="status", type="string", required=true, description="1=收藏2=动态3=礼物4=通知")
  71 + * @ApiParams (name="page", type="integer", required=true, description="分页次数")
  72 + * @ApiParams (name="num", type="integer", required=true, description="分页数量")
  73 + * @ApiReturnParams (name="code", type="integer", required=true, sample="0")
  74 + * @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")
  75 + * @ApiReturnParams (name="data", type="object", description="扩展数据返回")
  76 + * @ApiReturn ()
  77 + */
  78 + public function getMessageList(){
  79 + //1.获取状态
  80 + $data = $this->get_data_array([
  81 + ['status','状态不能为空'],
  82 + ['page','分页次数不能为空'],
  83 + ['num','分页数量不能为空'],
  84 + ]);
  85 + //2.查询数据
  86 + $res = model('message')
  87 + ->where('status',$data['status'])
  88 + ->where('user_id',$this->auth->id)
  89 + ->where('is_read',0)
  90 + ->order('createtime','desc')
  91 + ->page($data['page'],$data['num'])
  92 + ->select();
  93 + //3.将数据变为已读
  94 + model('message')
  95 + ->where('status',$data['status'])
  96 + ->where('user_id',$this->auth->id)
  97 + ->where('is_read',0)
  98 + ->update(['is_read'=>1]);
  99 + $this->success('请求数据成功',$res);
  100 + }
13 101
14 } 102 }
@@ -813,20 +813,20 @@ class Production extends BaseApi @@ -813,20 +813,20 @@ class Production extends BaseApi
813 $order->save(); 813 $order->save();
814 //查询用户和动态 814 //查询用户和动态
815 $user = model('user')->where('id',$order['user_id'])->find(); 815 $user = model('user')->where('id',$order['user_id'])->find();
816 - $article = model('production')->where('id',$order['production_id'])->find(); 816 + $production = model('production')->where('id',$order['production_id'])->find();
817 //给礼物用户一个通知 817 //给礼物用户一个通知
818 if ($user){ 818 if ($user){
819 $str = empty($order['gift_id'])?'自定义礼物':$order['gift_name']; 819 $str = empty($order['gift_id'])?'自定义礼物':$order['gift_name'];
820 $message = [ 820 $message = [
821 - 'user_id'=>$order['article_user_id'], 821 + 'user_id'=>$order['production_user_id'],
822 'in_user_id'=>$user['id'], 822 'in_user_id'=>$user['id'],
823 'avatar'=>$user['avatar'], 823 'avatar'=>$user['avatar'],
824 'nickname'=>$user['nickname'], 824 'nickname'=>$user['nickname'],
825 - 'title'=>$article['content'],  
826 - 'brief'=>'用户:'.$this->auth->nickname.' 送给您的动态一个:'.$str, 825 + 'title'=>$production['title'],
  826 + 'brief'=>'用户:'.$this->auth->nickname.' 送给您的作品一个:'.$str,
827 'status'=>3, 827 'status'=>3,
828 'is_stu'=>2, 828 'is_stu'=>2,
829 - 'key_id'=>$article['id'], 829 + 'key_id'=>$production['id'],
830 ]; 830 ];
831 model('message')->create($message); 831 model('message')->create($message);
832 } 832 }
此 diff 太大无法显示。