huangdong 6 年之前
父節點
當前提交
28a384f68a
共有 2 個文件被更改,包括 67 次插入33 次删除
  1. 48 13
      helper/room/util.php
  2. 19 20
      mobile/control/member_talk.php

+ 48 - 13
helper/room/util.php

@@ -127,19 +127,8 @@ class talks_helper
         foreach ($items as $item)
         {
             $roomids[] = intval($item['room_id']);
-            $info = new base_info($item);
-            $room_info = $info->format();
-
-            if(empty($room_info["name"])) {
-                $room_info["name"] = $this->room_tmp_name($room_info);
-            }
-
-            //todo delete test data
-            if(empty($room_info["avatar"])){
-                $room_info["avatar"] = "http://wx.qlogo.cn/mmopen/cTcqoIpA3hc3DYFZJ0C9tpBA79rTdFPpTI4G5ib8wxSnbYy4nxPiaVHXXPjfLA0cfnhAJTsMQicJSsLDyIOgf06vYFiaE4657hpD/0";
-            }
-
-            $result[] = $room_info;
+            $room_info = $this->room_info($item);
+            $result[] =$room_info;
         }
 
         return $result;
@@ -326,6 +315,7 @@ class talks_helper
 
         return $result;
     }
+
     private function get_members($uids)
     {
         if(empty($uids)) return [];
@@ -346,4 +336,49 @@ class talks_helper
 
         return $members;
     }
+
+
+    public function get_friends($user){
+        return $this->get_members($user);
+    }
+
+
+    private function room_info($room)
+    {
+        if(empty($room)) return false;
+        $info = new base_info($room);
+        $room_info = $info->format();
+
+        if(empty($room_info["name"])) {
+            $room_info["name"] = $this->room_tmp_name($room_info);
+        }
+
+        //todo delete test data
+        if(empty($room_info["avatar"])){
+            $room_info["avatar"] = "http://wx.qlogo.cn/mmopen/cTcqoIpA3hc3DYFZJ0C9tpBA79rTdFPpTI4G5ib8wxSnbYy4nxPiaVHXXPjfLA0cfnhAJTsMQicJSsLDyIOgf06vYFiaE4657hpD/0";
+        }
+        return $room_info;
+    }
+
+    public function talk_detail($talk_type,$talk_id)
+    {
+        if($talk_type == 'room')
+        {
+            $room = Model('room')->table('room')->where(['room_id'=>$talk_id])->find();
+
+            $room_info = $this->room_info($room);
+
+            return $room_info;
+        }
+        elseif($talk_type == 'system')
+        {
+            $system = [
+                "name" => "熊猫美妆",
+                "avatar" => "http://pp.myapp.com/ma_icon/0/icon_42287263_1532071055/96"
+            ];
+            return $system;
+        }else{
+            return false;
+        }
+    }
 }

+ 19 - 20
mobile/control/member_talk.php

@@ -108,7 +108,8 @@ class member_talkControl extends mbMemberControl
         $friends[] = $user;
         $friends = array_unique($friends);
 
-        $members = $this->get_members($friends);
+        $talks_helper = new room\talks_helper();
+        $members = $talks_helper->get_friends($friends);
         usort($members,['member_info','alpha_compare']);
 
         $uids = [];
@@ -122,6 +123,7 @@ class member_talkControl extends mbMemberControl
             'mobile_page' => mobile_page(1)]);
     }
 
+    ///////////////////////
     public function msgsOp()
     {
         $msgid = intval($_GET['msgid']);
@@ -245,7 +247,6 @@ class member_talkControl extends mbMemberControl
         return ['uids' => $uids,'msgs' => $msgs];
     }
 
-
     private function chatwomsg($msgid,$user)
     {
         $mod_room = Model('room');
@@ -265,6 +266,8 @@ class member_talkControl extends mbMemberControl
         return ['uids' => [$left,$right],'msgs' => $msgs];
     }
 
+
+    /////////////////////////
     public function create_roomOp()
     {
         $creator = session_helper::memberid();
@@ -308,7 +311,6 @@ class member_talkControl extends mbMemberControl
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 
-
     public function talksOp()
     {
         $talks_helper = new room\talks_helper();
@@ -318,28 +320,25 @@ class member_talkControl extends mbMemberControl
         return self::outsuccess($result);
     }
 
-    private function get_members($uids)
+
+    public function talks_detailOp()
     {
-        if(empty($uids)) return [];
+        $talk_type = trim($_GET['talk_type']);
+        $talk_id   = intval($_GET['talk_id']);
 
-        $uids = array_unique($uids);
-        $items = Model('member')->getMemberList(['member_id' => ['in',$uids]]);
-        foreach ($items as $item)
-        {
-            try
-            {
-                $info = new member_info($item);
-                $members[] = $info->filter();
-            }
-            catch (Exception $ex) {
-                Log::record($ex->getMessage(),Log::ERR);
-            }
+        if(empty($talk_type) || $talk_id <=0){
+            return self::outerr(errcode::ErrParamter);
         }
 
-        return $members;
-    }
-
+        $talk_helper = new \room\talks_helper();
+        $result = $talk_helper->talk_detail($talk_type,$talk_id);
 
+        if($result){
+            return self::outsuccess(["name" => $result['name'],"avatar" => $result['avatar']]);
+        }else{
+            return self::outerr(errcode::ErrTalk);
+        }
+    }
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     public function friend_detailOp()