|
@@ -124,33 +124,20 @@ class talks_helper
|
|
|
if(empty($items)) return [];
|
|
|
|
|
|
$result = [];
|
|
|
- foreach ($items as $item) {
|
|
|
+ foreach ($items as $item)
|
|
|
+ {
|
|
|
$roomids[] = intval($item['room_id']);
|
|
|
$info = new base_info($item);
|
|
|
$room_info = $info->format();
|
|
|
|
|
|
-
|
|
|
- ////////todo test make test room_name
|
|
|
- if(empty($room_info["name"]))
|
|
|
- {
|
|
|
- $member = Model('room')->table('room_participant')->field('member_id')->distinct(true)->where(["room_id"=>$room_info["room_id"]])->limit(4)->select();
|
|
|
- $uids = [];
|
|
|
- foreach ($member as $one){
|
|
|
- $uids[] = $one['member_id'];
|
|
|
- }
|
|
|
-
|
|
|
- $names = Model('member')->field('member_nickname')->where(["member_id"=>["in",$uids]])->select();
|
|
|
- foreach ($names as $name){
|
|
|
- $room_info["name"] .= $name['member_nickname'] .'、';
|
|
|
- }
|
|
|
-
|
|
|
- $room_info["name"] = trim($room_info["name"],"、");
|
|
|
+ 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;
|
|
|
}
|
|
@@ -158,6 +145,41 @@ class talks_helper
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
+ private function room_tmp_name($room)
|
|
|
+ {
|
|
|
+ if(!empty($room['tmp_name']))
|
|
|
+ {
|
|
|
+ $tmp_len = count(explode('、',$room['tmp_name']));
|
|
|
+ $cnt = $room['users'];
|
|
|
+ if($tmp_len > 3 || $tmp_len >= $cnt){
|
|
|
+ return $room['tmp_name'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $uids = [];
|
|
|
+ $items = $this->mod_room->getPartRooms(["room_id" => $room["room_id"]],'member_id',4);
|
|
|
+ foreach ($items as $item){
|
|
|
+ $uids[] = $item['member_id'];
|
|
|
+ }
|
|
|
+
|
|
|
+ $tmp_name = "";
|
|
|
+ $names = Model('member')->field('member_nickname')->where(["member_id" => ["in",$uids]])->select();
|
|
|
+ foreach ($names as $name){
|
|
|
+ $tmp_name .= $name['member_nickname'] .'、';
|
|
|
+ }
|
|
|
+ $tmp_name = trim($tmp_name,"、");
|
|
|
+
|
|
|
+ $cond = ["room_id" => $room['room_id']];
|
|
|
+ $update = ["tmp_name" => $tmp_name];
|
|
|
+ $ret = $this->mod_room->edit_room($cond,$update);
|
|
|
+
|
|
|
+ if($ret){
|
|
|
+ return $tmp_name;
|
|
|
+ }else{
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//$msg_type == 0 表示 房间消息,1 表示单聊消息
|
|
|
private function lastmsgs($roomids,&$senders,$msg_type = 0)
|
|
|
{
|