测试用例

旧街凉风 提交于 2019-12-01 04:25:18

成就大师你就看vn

  1 <?php
  2 namespace app\index\controller;
  3 
  4 use think\Controller;
  5 use think\Db;
  6 use think\Picture;
  7 
  8 class Chat extends Controller
  9 {
 10     public function privateChat()
 11     {
 12         $id = $this->request->param('id');
 13 
 14         if(!$id){
 15             $this->error('请求错误,请重新登录');
 16         }
 17         $res = Db::name('accounts')->where(['id'=>$id,'status'=>1])->field('type,info_id,id')->find();
 18         $head = new Circle();
 19         $re = $head->adopt_id_get_userInfo($id);
 20         $res['name'] = $re['cname'];
 21         $res['photo']= $re['photo'];
 22 
 23 
 24         $user = session('da');
 25         Db::name('chat_record')->where(['form'=>$user['id'],'to'=>$res['id'],'type'=>1])->setField('read',1);
 26 
 27         $sql = "SELECT * FROM `ams_chat_record` WHERE  (`to` = ".$res['id']."  AND `form` = ".$user['id']."  AND `type` = 1) OR (`to` = ".$user['id']."  AND `form` = ".$res['id']."  AND `type` = 1) ";
 28         $msg = Db::query($sql);
 29 
 30         /*$redis = new Redis();
 31         $hand = $redis->handler();
 32 //        $redis->clear();
 33         $msg = $redis->get($id.'_'.session('da.id'))?$redis->get($id.'_'.session('da.id')):[];
 34         $msg1 = $redis->get(session('da.id').'_'.$id)?$redis->get(session('da.id').'_'.$id):[];
 35 //        dump($msg);
 36 //        dump($msg1);
 37         $msg = array_merge($msg,$msg1);
 38         // 排序
 39         array_multisort(array_column($msg,'sent'),SORT_ASC,$msg );*/
 40         $nickname = Db::name('remake')->where(['user'=>$user['id'],'friend'=>$res['id']])->field('remake')->find();
 41         if($nickname){
 42             $res['name'] = $nickname['remake'];
 43         }
 44 
 45         $this->assign('user',$user);
 46         $this->assign('res',$res);
 47         $this->assign('msg',$msg);
 48         return $this->fetch();
 49     }
 50 
 51     public function new_privateChat()
 52     {
 53         $id = $this->request->param('id');
 54         if(!$id){
 55             $this->error('请求错误,请重新登录');
 56         }
 57         $res = Db::name('accounts')->where(['id'=>$id,'status'=>1])->field('type,info_id,id')->find();
 58         $head = new Circle();
 59         $re = $head->adopt_id_get_userInfo($id);
 60         $res['name'] = $re['cname'];
 61         $res['photo']= $re['photo'];
 62 
 63         $user = session('da');
 64         Db::name('chat_record')->where(['form'=>$user['id'],'to'=>$res['id'],'type'=>1])->setField('read',1);
 65 
 66         $sql = "SELECT * FROM `ams_chat_record` WHERE  (`to` = ".$res['id']."  AND `form` = ".$user['id']."  AND `type` = 1) OR (`to` = ".$user['id']."  AND `form` = ".$res['id']."  AND `type` = 1) ";
 67         $msg = Db::query($sql);
 68         /*$redis = new Redis();
 69         $hand = $redis->handler();
 70 //        $redis->clear();
 71         $msg = $redis->get($id.'_'.session('da.id'))?$redis->get($id.'_'.session('da.id')):[];
 72         $msg1 = $redis->get(session('da.id').'_'.$id)?$redis->get(session('da.id').'_'.$id):[];
 73 //        dump($msg);
 74 //        dump($msg1);
 75         $msg = array_merge($msg,$msg1);
 76         // 排序
 77         array_multisort(array_column($msg,'sent'),SORT_ASC,$msg );*/
 78         $nickname = Db::name('remake')->where(['user'=>$user['id'],'friend'=>$res['id']])->field('remake')->find();
 79         if($nickname){
 80             $res['name'] = $nickname['remake'];
 81         }
 82 
 83         return $this->success($msg);
 84     }
 85 
 86     /**
 87      * to 消息接收人
 88      * form 消息发送人
 89      * sent 消息发送时间
 90      * recd 消息状态
 91      */
 92     public function save_msg()
 93     {
 94         if($this->request->isAjax()){
 95 //            $redis = new Redis();
 96 //            $redis->connect('127.0.0.1',6379);
 97             $data = $this->request->post();
 98             if($data['type'] == 1){
 99                 $data['form'] = session('da.id');
100             }
101             if($data['type'] == 3){
102                 $data['type'] = 1;
103             }
104             $data['create_time'] = time();
105             $data['content'] = $data['msg'];
106             unset($data['msg']);
107             if($data['type'] == 2){
108                 $res = Db::name('chat_record')->insertGetId($data);
109             }else{
110                 $res = Db::name('chat_record')->insert($data);
111             }
112 
113             if($res){
114                 if($data['type'] == 2){
115                     $this->success($res);
116                 }else{
117                     $this->success();
118                 }
119             }else{
120                 $this->error();
121             }
122 //            $redis->lPush('name',$data);
123 //            $msg = $redis->get($data['form'].'_'.$data['to'])?$redis->get($data['form'].'_'.$data['to']):[];
124 //            array_push($msg,$data);
125 //            $redis->set($data['form'].'_'.$data['to'],$msg);
126         }
127     }
128 
129     public function group_chat()
130     {
131         $id = $this->request->param('group');
132         if(!$id){
133             $this->error('请选择正确的群');
134         }
135         $res = Db::name('circle_group')->where(['id'=>$id,'status'=>1])->find();
136 
137         $user = session('da');
138         $head = new Circle();
139         $result = $head->adopt_id_get_userInfo($user['id']);
140         $user['name'] = $result['cname'];
141         $msg = Db::name('chat_record')->where(['form'=>$id,'type'=>2])->select();
142         foreach($msg as $k=>$value){
143             $re = $head->adopt_id_get_userInfo($value['to']);
144             $msg[$k]['name'] = $re['cname'];
145             $msg[$k]['photo'] = $re['photo'];
146         }
147         if($msg){
148             $rs = Db::name('record_user_group')->where(['user'=>$user['id'],'group'=>$res['id']])->find();
149             if($rs){
150                 Db::name('record_user_group')->where('id',$rs['id'])->setField('last_id',$msg[count($msg)-1]['id']);
151             }else{
152                 Db::name('record_user_group')->insert(['user'=>$user['id'],'group'=>$res['id'],'last_id'=>$msg[count($msg)-1]['id']]);
153             }
154         }
155         $this->assign('user',$user);
156         $this->assign('res',$res);
157         $this->assign('msg',$msg);
158         return $this->fetch();
159     }
160     public function new_group_chat()
161     {
162         $id = $this->request->param('group');
163         if(!$id){
164             $this->error('请选择正确的群');
165         }
166         $res = Db::name('circle_group')->where(['id'=>$id,'status'=>1])->find();
167 
168         $user = session('da');
169         $head = new Circle();
170         $result = $head->adopt_id_get_userInfo($user['id']);
171         $user['name'] = $result['cname'];
172         $msg = Db::name('chat_record')->where(['form'=>$id,'type'=>2])->select();
173         foreach($msg as $k=>$value){
174             $re = $head->adopt_id_get_userInfo($value['to']);
175             $msg[$k]['name'] = $re['cname'];
176             $msg[$k]['photo'] = $re['photo'];
177         }
178         if($msg){
179             $rs = Db::name('record_user_group')->where(['user'=>$user['id'],'group'=>$res['id']])->find();
180             if($rs){
181                 Db::name('record_user_group')->where('id',$rs['id'])->setField('last_id',$msg[count($msg)-1]['id']);
182             }else{
183                 Db::name('record_user_group')->insert(['user'=>$user['id'],'group'=>$res['id'],'last_id'=>$msg[count($msg)-1]['id']]);
184             }
185         }
186 //        $this->assign('user',$user);
187 //        $this->assign('res',$res);
188 //        $this->assign('msg',$msg);
189 
190 
191         $this->success($msg);
192     }
193 
194 
195 
196     /**
197      * 记录用户最后看到的群聊消息id
198      */
199     public function record_group()
200     {
201         $data = $this->request->post();
202         $data['user'] = session('da.id');
203         $data['group'] = substr($data['group'],5);
204         $rs = Db::name('record_user_group')->where(['user'=>$data['user'],'group'=>$data['group']])->find();
205         if($rs){
206             Db::name('record_user_group')->where('id',$rs['id'])->setField('last_id',$data['last_id']);
207         }else{
208             Db::name('record_user_group')->insert($data);
209         }
210     }
211 
212     public function uploadImg()
213     {
214         if($this->request->isAjax() && $this->request->isPost())
215         {
216             $percent = 1;
217             $file = $_FILES['file'];
218             if ($file["error"] > 0){
219                 $this->error('上传错误');
220             }
221             if ((($file["type"] == "image/jpg") || ($file["type"] == "image/jpeg") ||($file["type"] == "image/png") ||($file["type"] == "image/gif"))){
222                 $upload_path = "chat/".date('Ymd',time()).'/';//上传文件的存放路径
223                 if(!is_dir('upload/'.$upload_path)){
224                     mkdir('upload/'.$upload_path,0777,true);
225                 }
226                 $new_file = time().'.'.substr(strrchr($file['name'], '.'), 1);
227                 $new_path = $upload_path.$new_file;
228                 if(!move_uploaded_file($file['tmp_name'],'upload/'.$new_path)) {
229                     $this->error('发送失败!');
230                 }
231                 if($file['size'] > 1024000){
232                     $pic = new Picture('upload/'.$new_path,$percent);
233                     $img = $pic->compressImg('upload/'.$new_path);
234                     if($img != null){
235                         $this->success($img);
236                     }else{
237                         $this->error('图片发送失败');
238                     }
239                 }else{
240                     $this->success('upload/'.$new_path);
241                 }
242             }else{
243                 $this->error('目前只支持发送jpg,jpeg,png,gif格式的图片');
244             }
245         }
246     }
247     public function uploadText()
248     {
249         if($this->request->isAjax() && $this->request->isPost())
250         {
251             $file = $_FILES['text'];
252             if ($file["error"] > 0)$this->error('上传错误');
253             if($file['size'] > 10240000)$this->error('上传文件过大。');
254             if ((($file["type"] == "application/octet-stream") || ($file['type'] == "application/x-msdownload")))$this->error('上传文件格式不正确!');
255             $upload_path = "chat/".date('Ymd',time()).'/';//上传文件的存放路径
256             if(!is_dir('upload/'.$upload_path)){
257                 mkdir('upload/'.$upload_path,0777,true);
258             }
259             $new_file = time().'.'.substr(strrchr($file['name'], '.'), 1);
260             $new_path = $upload_path.$new_file;
261             if(!move_uploaded_file($file['tmp_name'],'upload/'.$new_path)) {
262                 $this->error('发送失败!');
263             }else{
264                 $this->success('upload/'.$new_path);
265             }
266 
267         }
268     }
269 }
270 ?>
View Code

 

第三方科技的设计费

范德萨发的

  1 <?php
  2 namespace app\index\controller;
  3 
  4 use think\Controller;
  5 use think\Db;
  6 use think\Picture;
  7 
  8 class Chat extends Controller
  9 {
 10     public function privateChat()
 11     {
 12         $id = $this->request->param('id');
 13 
 14         if(!$id){
 15             $this->error('请求错误,请重新登录');
 16         }
 17         $res = Db::name('accounts')->where(['id'=>$id,'status'=>1])->field('type,info_id,id')->find();
 18         $head = new Circle();
 19         $re = $head->adopt_id_get_userInfo($id);
 20         $res['name'] = $re['cname'];
 21         $res['photo']= $re['photo'];
 22 
 23 
 24         $user = session('da');
 25         Db::name('chat_record')->where(['form'=>$user['id'],'to'=>$res['id'],'type'=>1])->setField('read',1);
 26 
 27         $sql = "SELECT * FROM `ams_chat_record` WHERE  (`to` = ".$res['id']."  AND `form` = ".$user['id']."  AND `type` = 1) OR (`to` = ".$user['id']."  AND `form` = ".$res['id']."  AND `type` = 1) ";
 28         $msg = Db::query($sql);
 29 
 30         /*$redis = new Redis();
 31         $hand = $redis->handler();
 32 //        $redis->clear();
 33         $msg = $redis->get($id.'_'.session('da.id'))?$redis->get($id.'_'.session('da.id')):[];
 34         $msg1 = $redis->get(session('da.id').'_'.$id)?$redis->get(session('da.id').'_'.$id):[];
 35 //        dump($msg);
 36 //        dump($msg1);
 37         $msg = array_merge($msg,$msg1);
 38         // 排序
 39         array_multisort(array_column($msg,'sent'),SORT_ASC,$msg );*/
 40         $nickname = Db::name('remake')->where(['user'=>$user['id'],'friend'=>$res['id']])->field('remake')->find();
 41         if($nickname){
 42             $res['name'] = $nickname['remake'];
 43         }
 44 
 45         $this->assign('user',$user);
 46         $this->assign('res',$res);
 47         $this->assign('msg',$msg);
 48         return $this->fetch();
 49     }
 50 
 51     public function new_privateChat()
 52     {
 53         $id = $this->request->param('id');
 54         if(!$id){
 55             $this->error('请求错误,请重新登录');
 56         }
 57         $res = Db::name('accounts')->where(['id'=>$id,'status'=>1])->field('type,info_id,id')->find();
 58         $head = new Circle();
 59         $re = $head->adopt_id_get_userInfo($id);
 60         $res['name'] = $re['cname'];
 61         $res['photo']= $re['photo'];
 62 
 63         $user = session('da');
 64         Db::name('chat_record')->where(['form'=>$user['id'],'to'=>$res['id'],'type'=>1])->setField('read',1);
 65 
 66         $sql = "SELECT * FROM `ams_chat_record` WHERE  (`to` = ".$res['id']."  AND `form` = ".$user['id']."  AND `type` = 1) OR (`to` = ".$user['id']."  AND `form` = ".$res['id']."  AND `type` = 1) ";
 67         $msg = Db::query($sql);
 68         /*$redis = new Redis();
 69         $hand = $redis->handler();
 70 //        $redis->clear();
 71         $msg = $redis->get($id.'_'.session('da.id'))?$redis->get($id.'_'.session('da.id')):[];
 72         $msg1 = $redis->get(session('da.id').'_'.$id)?$redis->get(session('da.id').'_'.$id):[];
 73 //        dump($msg);
 74 //        dump($msg1);
 75         $msg = array_merge($msg,$msg1);
 76         // 排序
 77         array_multisort(array_column($msg,'sent'),SORT_ASC,$msg );*/
 78         $nickname = Db::name('remake')->where(['user'=>$user['id'],'friend'=>$res['id']])->field('remake')->find();
 79         if($nickname){
 80             $res['name'] = $nickname['remake'];
 81         }
 82 
 83         return $this->success($msg);
 84     }
 85 
 86     /**
 87      * to 消息接收人
 88      * form 消息发送人
 89      * sent 消息发送时间
 90      * recd 消息状态
 91      */
 92     public function save_msg()
 93     {
 94         if($this->request->isAjax()){
 95 //            $redis = new Redis();
 96 //            $redis->connect('127.0.0.1',6379);
 97             $data = $this->request->post();
 98             if($data['type'] == 1){
 99                 $data['form'] = session('da.id');
100             }
101             if($data['type'] == 3){
102                 $data['type'] = 1;
103             }
104             $data['create_time'] = time();
105             $data['content'] = $data['msg'];
106             unset($data['msg']);
107             if($data['type'] == 2){
108                 $res = Db::name('chat_record')->insertGetId($data);
109             }else{
110                 $res = Db::name('chat_record')->insert($data);
111             }
112 
113             if($res){
114                 if($data['type'] == 2){
115                     $this->success($res);
116                 }else{
117                     $this->success();
118                 }
119             }else{
120                 $this->error();
121             }
122 //            $redis->lPush('name',$data);
123 //            $msg = $redis->get($data['form'].'_'.$data['to'])?$redis->get($data['form'].'_'.$data['to']):[];
124 //            array_push($msg,$data);
125 //            $redis->set($data['form'].'_'.$data['to'],$msg);
126         }
127     }
128 
129     public function group_chat()
130     {
131         $id = $this->request->param('group');
132         if(!$id){
133             $this->error('请选择正确的群');
134         }
135         $res = Db::name('circle_group')->where(['id'=>$id,'status'=>1])->find();
136 
137         $user = session('da');
138         $head = new Circle();
139         $result = $head->adopt_id_get_userInfo($user['id']);
140         $user['name'] = $result['cname'];
141         $msg = Db::name('chat_record')->where(['form'=>$id,'type'=>2])->select();
142         foreach($msg as $k=>$value){
143             $re = $head->adopt_id_get_userInfo($value['to']);
144             $msg[$k]['name'] = $re['cname'];
145             $msg[$k]['photo'] = $re['photo'];
146         }
147         if($msg){
148             $rs = Db::name('record_user_group')->where(['user'=>$user['id'],'group'=>$res['id']])->find();
149             if($rs){
150                 Db::name('record_user_group')->where('id',$rs['id'])->setField('last_id',$msg[count($msg)-1]['id']);
151             }else{
152                 Db::name('record_user_group')->insert(['user'=>$user['id'],'group'=>$res['id'],'last_id'=>$msg[count($msg)-1]['id']]);
153             }
154         }
155         $this->assign('user',$user);
156         $this->assign('res',$res);
157         $this->assign('msg',$msg);
158         return $this->fetch();
159     }
160     public function new_group_chat()
161     {
162         $id = $this->request->param('group');
163         if(!$id){
164             $this->error('请选择正确的群');
165         }
166         $res = Db::name('circle_group')->where(['id'=>$id,'status'=>1])->find();
167 
168         $user = session('da');
169         $head = new Circle();
170         $result = $head->adopt_id_get_userInfo($user['id']);
171         $user['name'] = $result['cname'];
172         $msg = Db::name('chat_record')->where(['form'=>$id,'type'=>2])->select();
173         foreach($msg as $k=>$value){
174             $re = $head->adopt_id_get_userInfo($value['to']);
175             $msg[$k]['name'] = $re['cname'];
176             $msg[$k]['photo'] = $re['photo'];
177         }
178         if($msg){
179             $rs = Db::name('record_user_group')->where(['user'=>$user['id'],'group'=>$res['id']])->find();
180             if($rs){
181                 Db::name('record_user_group')->where('id',$rs['id'])->setField('last_id',$msg[count($msg)-1]['id']);
182             }else{
183                 Db::name('record_user_group')->insert(['user'=>$user['id'],'group'=>$res['id'],'last_id'=>$msg[count($msg)-1]['id']]);
184             }
185         }
186 //        $this->assign('user',$user);
187 //        $this->assign('res',$res);
188 //        $this->assign('msg',$msg);
189 
190 
191         $this->success($msg);
192     }
193 
194 
195 
196     /**
197      * 记录用户最后看到的群聊消息id
198      */
199     public function record_group()
200     {
201         $data = $this->request->post();
202         $data['user'] = session('da.id');
203         $data['group'] = substr($data['group'],5);
204         $rs = Db::name('record_user_group')->where(['user'=>$data['user'],'group'=>$data['group']])->find();
205         if($rs){
206             Db::name('record_user_group')->where('id',$rs['id'])->setField('last_id',$data['last_id']);
207         }else{
208             Db::name('record_user_group')->insert($data);
209         }
210     }
211 
212     public function uploadImg()
213     {
214         if($this->request->isAjax() && $this->request->isPost())
215         {
216             $percent = 1;
217             $file = $_FILES['file'];
218             if ($file["error"] > 0){
219                 $this->error('上传错误');
220             }
221             if ((($file["type"] == "image/jpg") || ($file["type"] == "image/jpeg") ||($file["type"] == "image/png") ||($file["type"] == "image/gif"))){
222                 $upload_path = "chat/".date('Ymd',time()).'/';//上传文件的存放路径
223                 if(!is_dir('upload/'.$upload_path)){
224                     mkdir('upload/'.$upload_path,0777,true);
225                 }
226                 $new_file = time().'.'.substr(strrchr($file['name'], '.'), 1);
227                 $new_path = $upload_path.$new_file;
228                 if(!move_uploaded_file($file['tmp_name'],'upload/'.$new_path)) {
229                     $this->error('发送失败!');
230                 }
231                 if($file['size'] > 1024000){
232                     $pic = new Picture('upload/'.$new_path,$percent);
233                     $img = $pic->compressImg('upload/'.$new_path);
234                     if($img != null){
235                         $this->success($img);
236                     }else{
237                         $this->error('图片发送失败');
238                     }
239                 }else{
240                     $this->success('upload/'.$new_path);
241                 }
242             }else{
243                 $this->error('目前只支持发送jpg,jpeg,png,gif格式的图片');
244             }
245         }
246     }
247     public function uploadText()
248     {
249         if($this->request->isAjax() && $this->request->isPost())
250         {
251             $file = $_FILES['text'];
252             if ($file["error"] > 0)$this->error('上传错误');
253             if($file['size'] > 10240000)$this->error('上传文件过大。');
254             if ((($file["type"] == "application/octet-stream") || ($file['type'] == "application/x-msdownload")))$this->error('上传文件格式不正确!');
255             $upload_path = "chat/".date('Ymd',time()).'/';//上传文件的存放路径
256             if(!is_dir('upload/'.$upload_path)){
257                 mkdir('upload/'.$upload_path,0777,true);
258             }
259             $new_file = time().'.'.substr(strrchr($file['name'], '.'), 1);
260             $new_path = $upload_path.$new_file;
261             if(!move_uploaded_file($file['tmp_name'],'upload/'.$new_path)) {
262                 $this->error('发送失败!');
263             }else{
264                 $this->success('upload/'.$new_path);
265             }
266 
267         }
268     }
269 }
270 ?>

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!