瀏覽代碼

xiugai message

lgy 6 年之前
父節點
當前提交
46f0e1525f

+ 5 - 0
application/inter/controller/Application.php

@@ -300,6 +300,7 @@ class Application extends Base
                 $t = '1';
                 $url = Message::url($sessionid,$param['id'],1,$exam_info['exam_class'],$r_id);
                 Message::insert($t,$c,$d,$t,$url,1,$aid);
+                Cache::rm('messages_'.$doctor['id']);
                 //保存  申请
                 $dinfo = DB::table('doctors')->where('id',$application_info['remote_doctor_id'])->find();
                 $d_phone = $dinfo['phone'];
@@ -435,6 +436,7 @@ class Application extends Base
         $exam_class = DB::table('exams')->where('id',$re['exam_id'])->field('exam_class')->find();
         $url = Message::url($sessionid,$re['exam_id'],0,$exam_class['exam_class'],$report['id']);
         Message::insert($t,$c,$d,$type,$url,1,$id);
+        Cache::rm('messages_'.$doctor['id']);
         // 驳回发短信
         $d_phone = $dinfo['phone'];
         if($dinfo['institution_id'] == '22100002' || $dinfo['send_sms'] == 1){ //魏庙下级
@@ -498,6 +500,7 @@ class Application extends Base
         $report = DB::table('report')->where('remote_application_id',$id)->field('id')->find();
         $url = Message::url($sessionid,$re['exam_id'],0,$exam_class['exam_class'],$report['id']);
         Message::insert($t,$c,$d,$type,$url,1,$id);
+        Cache::rm('messages_'.$doctor['id']);
         return json_encode(['status'=>'ok','code'=>'0000','sessionid'=>$sessionid]);
     }
 
@@ -557,6 +560,7 @@ class Application extends Base
         DB::table('bbs')->insert($info);
         // 添加message消息
         Message::bbs_message($param['appid'],$doctor['id'],$param['content'],$info['reply'],$remote,$sessionid);
+        Cache::rm('messages_'.$doctor['id']);
         return json_encode(['status'=>'ok','code'=>'0000','sessionid'=>$sessionid]);
     }
     public  function  getbbs(){
@@ -670,6 +674,7 @@ class Application extends Base
         $report = DB::table('report')->where('remote_application_id',$status['id'])->field('id')->find();
         $url = Message::url($sessionid,$id,1,$exam_class['exam_class'],$report['id']);
         Message::insert($t,$c,$d,$type,$url,1,$status['id']);
+        Cache::rm('messages_'.$doctor['id']);
         return json_encode(['status'=>'ok','code'=>'0000','msg'=>'撤回成功']);
     }
 }

+ 41 - 0
application/inter/controller/Messages.php

@@ -95,6 +95,47 @@ class Messages extends Base
             return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]);
         }
 
+    }
+    /**
+     * 未读消息条数
+     *
+     * @ApiTitle            (未读消息条数)
+     * @ApiSummary          (未读消息条数)
+     * @ApiSector           (远程诊断)
+     * @ApiMethod           (POST)
+     * @ApiRoute            (/inter/messages/unread_count)
+     * @ApiHeaders        (name="sign", type="string", required=true, description="请求头-校验key")
+     * @ApiHeaders        (name="nonce", type="string", required=true, description="请求头-随机数")
+     * @ApiHeaders        (name="timestamp", type=string, required=true, description="请求头-时间戳s")
+     * @ApiParams         (name="sessionid",                 type="string",      required=true,      description="参数json字符串")
+     * @ApiReturnParams   (name="status",                      type="integer", required=true, sample="0", description="返回码 fail 失败 ok成功"))
+     * @ApiReturnParams   (name="code",                      type="integer",     required=true,      sample="0", description="返回状态码")
+     * @ApiReturnParams   (name="num",                      type="integer",     required=true,      sample="0", description="消息条数")
+     * @ApiReturnParams   (name="sessionid",                      type="object",      sample="{}",        description="缓存的数据key")
+     * @ApiReturn   (data="
+    {
+    'status': ok,
+    'code': '0000',
+    'sessionid': 'a17z7a7a8f9g9rh9d89jio',
+    'num' : '10',
+    }
+     *")
+     **/
+    public function unread_count(){
+        try{
+            $sessionid = $_REQUEST['sessionid'];
+            $doctor = Cache::get($sessionid);
+            if(Cache::get('messages_'.$doctor['id'])){
+                $num = Cache::get('messages_'.$doctor['id']);
+            }else{
+                $num = DB::table('messages')->where('doctor_id',$doctor['id'])->where('status',0)->where('is_read',0)->count();
+                Cache::set('messages_'.$doctor['id'],$num);
+            }
+            return json_encode(['status'=>'ok','code'=>'0000','sessionid'=>$sessionid,'num'=>$num]);
+        }catch(\Exception $e){
+            return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]);
+        }
+
     }
 
     /**

+ 2 - 0
application/inter/controller/Writereport.php

@@ -497,6 +497,7 @@ class Writereport extends Base
                 $type = '6';
                 $url = '';
                 Message::insert($t,$c,$d,$type,$url,1,$report_info['remote_application_id']);
+                Cache::rm('messages_'.$doctor['id']);
             }
             DB::table('exams')->where('id',$id)->update(['film_type'=>$_REQUEST['param']['film_type']]);
             DB::table('report')->where('id',$report_id)->update($rinfo);
@@ -628,6 +629,7 @@ class Writereport extends Base
                 $exam_class = DB::table('exams')->where('id',$id)->field('exam_class')->find();
                 $url = Message::url($sessionid,$id,0,$exam_class['exam_class'],$report_id);
                 Message::insert($t,$c,$d,$type,$url,1,$report['remote_application_id']);
+                Cache::rm('messages_'.$doctor['id']);
             }
             $url = 'wechat.pacsonline.cn/wxzskk/uwx/requestWxQrcode?reportId='.$report_id;
             $info = $this->curl_get($url);