فهرست منبع

首页优化,消息页接口

lizhen_gitee 2 ماه پیش
والد
کامیت
fd5ce9120f
2فایلهای تغییر یافته به همراه75 افزوده شده و 31 حذف شده
  1. 10 21
      application/api/controller/Index.php
  2. 65 10
      application/api/controller/Message.php

+ 10 - 21
application/api/controller/Index.php

@@ -110,12 +110,12 @@ class Index extends Api
 
         $list = list_domain_image($list,['avatar']);
 
-        $mt_enum_job = Db::name('enum_job'); //职业
-        $mt_enum_wages = Db::name('enum_wages'); //收入
+//        $mt_enum_job = Db::name('enum_job'); //职业
+//        $mt_enum_wages = Db::name('enum_wages'); //收入
         $mt_user_wallet = Db::name('user_wallet'); //vip
         $mt_user_greet = Db::name('user_greet'); //是否打过招呼
-        $mt_wealth_level = Db::name('wealth_level'); //财富等级
-        $mt_charm_level  = Db::name('charm_level'); //魅力等级
+//        $mt_wealth_level = Db::name('wealth_level'); //财富等级
+//        $mt_charm_level  = Db::name('charm_level'); //魅力等级
         $mt_area = Db::name('area'); //城市
         $time = time();
 
@@ -137,9 +137,9 @@ class Index extends Api
         $mt_user_wallets = $mt_user_wallet->field(['id','user_id','vip_endtime','pay_money'])->whereIn('user_id',$user_to_id)->select();
 
         // 财富等级
-        $mt_wealth_levels = $mt_wealth_level->order('id desc')->column('value,image');
+//        $mt_wealth_levels = $mt_wealth_level->order('id desc')->column('value,image');
         // 魅力等级
-        $mt_charm_levels = $mt_charm_level->order('id desc')->column('value,image');
+//        $mt_charm_levels = $mt_charm_level->order('id desc')->column('value,image');
 
         foreach($list as $key => &$v) {
             if ($this->auth->gender == 1) { //用户是男的
@@ -214,7 +214,7 @@ class Index extends Api
                 $v['is_vip'] = 0; //是否是vip: 1是 0否
             }
             //查询财富等级
-            if (!empty($mt_wealth_levels)) {
+            /*if (!empty($mt_wealth_levels)) {
                 $name = '';
                 foreach ($mt_wealth_levels as $kkk=>$vvv){
                     if ($pay_money > $kkk){
@@ -225,9 +225,9 @@ class Index extends Api
                 $v['wealth_level'] = $name;
             } else {
                 $v['wealth_level'] = '';
-            }
+            }*/
             //查询魅力等级
-            if (!empty($mt_charm_levels)) {
+            /*if (!empty($mt_charm_levels)) {
                 $name = '';
                 foreach ($mt_charm_levels as $kkk=>$vvv){
                     if ($pay_money > $kkk){
@@ -238,20 +238,13 @@ class Index extends Api
                 $v['charm_level'] = $name;
             } else {
                 $v['charm_level'] = '';
-            }
+            }*/
         }
 
         $this->success('success',$list);
     }
 
 
-
-
-
-
-
-
-
     //轮播图
     public function banner() {
         $type = input('type', 0, 'intval'); //类型:0=交友轮播图,1=动态轮播图
@@ -304,10 +297,6 @@ class Index extends Api
     }
 
 
-
-
-
-
     /**
      * calc_map_distance() , 根据地图上的两个点各自的x,y坐标,计算出2点之间的直线距离
      * @param array $point_1 第1个点的x,y坐标    array( 101 , 202 )

+ 65 - 10
application/api/controller/Message.php

@@ -12,24 +12,69 @@ class Message extends Api
     protected $noNeedLogin = [];
     protected $noNeedRight = ['*'];
 
-    //查询未读系统消息数量
-    public function unreadnum() {
-        $num = Db::name('message')->where(['user_id'=>$this->auth->id,'status'=>0])->count('id');
-        $content = Db::name('message')->where(['user_id'=>$this->auth->id])->order('id desc')->value('content');
-
-        $data['num'] = $num;
-        $data['content'] = $content ? : '';
+    //消息页信息
+    public function index(){
+        $rs = [
+            'msg_unread_num' => Db::name('message')->where('user_id',$this->auth->id)->where('status',0)->count(),
+        ];
 
         //系统消息未读数量
         $sys_ids = Db::name('message_sys')->column('id');
         $all_num = count($sys_ids);
         $read_num = Db::name('user_messagesys')->where('user_id',$this->auth->id)->where('msg_id','IN',$sys_ids)->count();
-        $data['msgsys_unread_num'] = $all_num > $read_num ? $all_num - $read_num : 0; //因公告被删除,未读公告没来得及删除,相减可能会负数
+        $rs['msgsys_unread_num'] = $all_num > $read_num ? $all_num - $read_num : 0; //因公告被删除,未读公告没来得及删除,相减可能会负数
 
-        $this->success('success', $data);
+        $this->success(1,$rs);
     }
 
-    //我的消息列表
+
+    //个人消息全部改为已读
+    public function message_read(){
+        Db::startTrans();
+        //读取即为已读
+        $map = [
+            'user_id'  => $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')->where('user_id',$this->auth->id)->autopage()->order('id desc')->select();
 
@@ -48,6 +93,7 @@ class Message extends Api
     public function getmessagesys() {
 
         $list = Db::name('message_sys')->autopage()->order('id desc')->select();
+        $list = list_domain_image($list,['image']);
 
         Db::startTrans();
         //系统消息
@@ -81,4 +127,13 @@ class Message extends Api
         $this->success("获取成功!",$list);
     }
 
+    //系统消息详情
+    public function messagesys_info(){
+        $id = input('id',0);
+        $info = Db::name('message_sys')->where('id',$id)->find();
+        $info = info_domain_image($info,['image']);
+
+        $this->success("获取成功!",$info);
+    }
+
 }