|
@@ -20,18 +20,58 @@ class Message extends Api
|
|
|
'msgsys_first' => Db::name('message_sys')->order('id desc')->find(),
|
|
|
];
|
|
|
|
|
|
+ //系统消息未读数量
|
|
|
+ $all_num = Db::name('message_sys')->count();
|
|
|
+ $read_num = Db::name('user_messagesys')->where('user_id',$this->auth->id)->count();
|
|
|
+ $rs['msgsys_unread_num'] = abs($all_num - $read_num);
|
|
|
+
|
|
|
$this->success(1,$rs);
|
|
|
}
|
|
|
|
|
|
//个人消息全部改为已读
|
|
|
public function message_read(){
|
|
|
+ Db::startTrans();
|
|
|
//读取即为已读
|
|
|
$map = [
|
|
|
'user_id' => $this->auth->id,
|
|
|
'status' => 0,
|
|
|
'infotype' => ['neq','newfriend']
|
|
|
];
|
|
|
- Db::name('message')->where($map)->update(['status'=>1]);
|
|
|
+ $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();
|
|
|
}
|
|
|
|
|
@@ -56,6 +96,35 @@ class Message extends Api
|
|
|
|
|
|
$list = Db::name('message_sys')->autopage()->order('id desc')->select();
|
|
|
|
|
|
+ Db::startTrans();
|
|
|
+ //系统消息
|
|
|
+ //全部未读
|
|
|
+ $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("获取成功!",$list);
|
|
|
}
|
|
|
|