Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
chenbo 2023-10-08 17:36:31 +08:00
commit dd7e99cc07
2 changed files with 31 additions and 16 deletions

View File

@ -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']]);
}
}

View File

@ -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 {
//实例化对象 将配置传入