diff --git a/app/common/controller/ImController.php b/app/common/controller/ImController.php index 885db5746..09ecadae0 100644 --- a/app/common/controller/ImController.php +++ b/app/common/controller/ImController.php @@ -77,7 +77,7 @@ class ImController extends BaseLikeAdminController return $this->fail('场景错误'); } Gateway::bindUid($params['client_id'], $this->sceneText($params['scene']).'_'.$params['user_id']); - return $this->success('绑定成功'); + return $this->success('绑定成功',['msg'=>$this->sceneText($params['scene']).'_'.$params['user_id']]); } //发送消息 @@ -275,11 +275,29 @@ class ImController extends BaseLikeAdminController return $this->fail('接收者信息错误'); } //将消息设置为已读 - UserImMessage::where([['from_user_id','=',$params['from_user_id']],['to_user_id','=',$params['to_user_id']]])->update(['is_read' => 1]); + UserImMessage::where([['from_user_id','=',$params['to_user_id']],['to_user_id','=',$params['from_user_id']]])->update(['is_read' => 1]); //获取用户消息 - $params['page_no'] -= 1; - $sql = "SELECT id,from_user_id,to_user_id,content,type,is_read,create_time,extends FROM la_user_im_message WHERE (from_user_id = {$params['from_user_id']} AND to_user_id = {$params['to_user_id']}) OR (from_user_id = {$params['to_user_id']} AND to_user_id = {$params['from_user_id']}) ORDER BY create_time DESC LIMIT {$params['page_no']},{$params['page_size']}"; - $msgData = Db::query($sql); + $msgData = Db::name('user_im_message')->field('id,from_user_id,to_user_id,content,type,is_read,create_time,extends') + ->whereRaw("(from_user_id = {$params['from_user_id']} AND to_user_id = {$params['to_user_id']}) OR (from_user_id = {$params['to_user_id']} AND to_user_id = {$params['from_user_id']})") + ->order('create_time desc') + ->page($params['page_no'],$params['page_size']) + ->select()->toArray(); + foreach($msgData as $k=>$v){ + if($v['from_user_id'] == $params['from_user_id']){ + $msgData[$k]['from_user_name'] = $fromUserInfo['name']; + $msgData[$k]['from_user_avatar'] = $fromUserInfo['avatar']; + }else{ + $msgData[$k]['from_user_name'] = $toUserInfo['name']; + $msgData[$k]['from_user_avatar'] = $toUserInfo['avatar']; + } + if($v['to_user_id'] == $params['to_user_id']){ + $msgData[$k]['to_user_name'] = $toUserInfo['name']; + $msgData[$k]['to_user_avatar'] = $toUserInfo['avatar']; + }else{ + $msgData[$k]['to_user_name'] = $fromUserInfo['name']; + $msgData[$k]['to_user_avatar'] = $fromUserInfo['avatar']; + } + } //返回数据 return $this->success('请求成功',$msgData); } @@ -311,9 +329,12 @@ class ImController extends BaseLikeAdminController $users = User::field('id,nickname as name,avatar')->where('company_id','in',$company)->select()->each(function($item) use($params) { //获取消息 $msg_no_read = UserImMessage::field('id')->where('from_user_id',$item['id'])->where('to_user_id',$params['user_id'])->where('is_read',0)->count(); - $last_msg = UserImMessage::field('id,content,create_time')->where('from_user_id',$item['id'])->where('to_user_id',$params['user_id'])->where('is_read',0)->order('create_time desc')->limit(1)->findOrEmpty(); + $last_msg = Db::name('user_im_message')->field('id,content,type,create_time') + ->whereRaw("(from_user_id = {$item['id']} AND to_user_id = {$params['user_id']}) OR (from_user_id = {$params['user_id']} AND to_user_id = {$item['id']})") + ->order('create_time desc')->limit(1)->findOrEmpty(); $item['no_read_num'] = $msg_no_read; $item['last_msg_content'] = $last_msg['content']; + $item['last_msg_type'] = $last_msg['type']; $item['last_msg_time'] = $last_msg['create_time']; })->toArray(); $key = array_column($users,'last_msg_time'); @@ -347,7 +368,9 @@ class ImController extends BaseLikeAdminController if($params['user_id'] == $companyInfo['area_manager']){ return $this->fail('用户身份错误错误'); } + //获取用户信息 + $adminInfo = Admin::field('id,name,avatar')->where('id',$companyInfo['area_manager'])->findOrEmpty(); //返回 - return $this->success('请求成功',['to_user_id'=>$companyInfo['area_manager']]); + return $this->success('请求成功',['to_user_id'=>$adminInfo['id'],'manager_name'=>$adminInfo['name'],'manager_avatar'=>$adminInfo['avatar']]); } } \ No newline at end of file diff --git a/extend/alioss/alioss.php b/extend/alioss/alioss.php index ea54009c7..09e7479ff 100644 --- a/extend/alioss/alioss.php +++ b/extend/alioss/alioss.php @@ -19,10 +19,6 @@ class alioss if(!in_array($fileType,$ext)){ return ['code'=>0,'msg'=>'图片格式错误']; } - //验证图片大小 - if($fileSize > 500*1024){ - return ['code'=>0,'msg'=>'图片大小错误']; - } try { //实例化对象 将配置传入 $ossClient = new OssClient($this->accessKeyId, $this->accessKeySecret, $this->endpoint); @@ -44,11 +40,7 @@ class alioss //验证视频类型 $ext = ['mp4','avi','flv','wmv','swf']; if(!in_array($fileType,$ext)){ - return ['code'=>0,'msg'=>'图片格式错误']; - } - //验证视频大小 - if($fileSize > 1024*1024*100){ - return ['code'=>0,'msg'=>'图片大小错误']; + return ['code'=>0,'msg'=>'视频格式错误']; } try { //实例化对象 将配置传入