$this->auth->id, 'status' => 0, ]; $rs = Db::name('message')->where($map)->update(['status'=>1]); if($rs === false){ Db::rollback(); $this->error('操作失败'); } //系统消息 //全部未读 $rs = Db::name('user_messagesys')->where('user_id',$this->auth->id)->delete(); if($rs === false){ Db::rollback(); $this->error('操作失败'); } //循环全部已读 $list = Db::name('message_sys')->column('id'); if(!empty($list)){ $newall = []; foreach($list as $key => $msg_id){ $newall[] = [ 'user_id' => $this->auth->id, 'msg_id' => $msg_id, ]; } if(!empty($newall)){ $rs = Db::name('user_messagesys')->insertAll($newall); if($rs === false){ Db::rollback(); $this->error('操作失败'); } } } Db::commit(); $this->success(); } //我的个人消息列表 public function mylist(){ $list = Db::name('message') ->field('message.*,user.nickname,user.avatar,topic_dongtai.images') ->join('user','user.id = message.user_id','LEFT') ->join('topic_dongtai','topic_dongtai.id = message.dt_id','LEFT') ->where('message.to_user_id',$this->auth->id) ->autopage()->order('message.id desc')->select(); if(!empty($list)){ foreach($list as $key => $value){ $dongtai_image = explode(',',$value['images']); $value['dongtai_image'] = isset($dongtai_image[0]) ? localpath_to_netpath($dongtai_image[0]) : ''; if($value['infotype'] == 'dongtai_answer'){ $value['content'] = Db::name('topic_dongtai_answer')->where('id',$value['infotype_id'])->value('content'); } $value['createtime_text'] = get_last_time($value['createtime']); $list[$key] = $value; } } //读取即为已读 $map = [ 'to_user_id' => $this->auth->id, 'status' => 0, ]; Db::name('message')->where($map)->update(['status'=>1]); $this->success('success',$list); } }