/**
  * 获取相关问答数据
  * @param type $param
  */
 public function getRelAsks($keywords, $offset = 0, $limit = 5)
 {
     $asks = Search::search_ask($keywords, $offset, $limit);
     //相关问答
     $doc = new Doctor();
     foreach ($asks['list'] as $k => $v) {
         if (isset($v['answer'])) {
             $v['userid'] = '';
             $res = $doc->getDoctorById($v['answer']['userid']);
             $doctor = array_shift($res);
             $asks['list'][$k]['answer']['truename'] = $doctor['truename'] ?: $doctor['nickname'];
             $asks['list'][$k]['answer']['doc_keshi'] = $doctor['doc_keshi'];
             $asks['list'][$k]['answer']['pic'] = $doctor['pic'] ?: 'default.jpg';
             unset($res);
             unset($doctor);
         }
     }
     return $asks;
 }
示例#2
0
 /**
  * 症状首页相关问答缓存数据
  * lc 2016-4-15
  * @param type $parms
  * @return type
  */
 public static function cacheSymptomRelateAsk($cacheKey, $parms, $forceCache = false)
 {
     $search = new Search();
     $symptomid = $parms['id'];
     $name = $parms['name'];
     $cache = \Yii::$app->cache_data_file;
     $key = $cacheKey . '_' . $symptomid;
     $data = $cache->get($key);
     if ($forceCache) {
         $data = false;
     }
     if (!isset($data) || empty($data)) {
         $questions = Search::search_ask($name, 0, 5);
         $cache->set($key, $questions, self::DURATION);
         return $questions;
     } else {
         return $data;
     }
 }
 private function get_relasklist($wd, $offset, $size)
 {
     $explain_ext_config = array('is_ext_words' => 1);
     $explainflag = 1;
     $condition = $this->rand_condition();
     return Search::search_ask($wd, $offset, $size, $condition, $explainflag, $explain_ext_config);
 }
 public function actionCheckBodyStepThree()
 {
     $condition['age'] = $this->helpGparam('age', 1);
     $condition['sex'] = $this->helpGparam('sex', 1);
     $condition['job'] = $this->helpGparam('job', 1);
     $model['option']['sex'] = $this->sexOptions;
     $model['option']['age'] = $this->ageOptions;
     $model['option']['job'] = $this->jobOptions;
     //已选择症状
     $selectSymptomId = $this->helpGparam('symptomid');
     $selectSymptomInfo = $this->symptom->getOneSymptom($selectSymptomId);
     $model['selectSymptom'] = $selectSymptomInfo;
     //相关症状
     $relSymptom = $this->relate->getRelateSymptoms($selectSymptomId);
     $model['relSymptom'] = $relSymptom;
     //相关疾病
     $relDisease = $this->relate->getRelateDiseases($selectSymptomId);
     $perpage = 6;
     $pagenum = $this->helpGparam('page', 1);
     $totalPage = count($relDisease);
     $page = $pagenum <= $totalPage / $perpage ? $pagenum : $totalPage / $perpage;
     $paging = $this->helpPaging('pagerjs_2')->setSize($perpage);
     $paging->setTotal($totalPage)->setCurrent($page);
     $offset = $paging->getOffset();
     $relDisease = array_slice($relDisease, $offset, $perpage);
     //查询结果
     $model['paging'] = $paging;
     $model['relDisease'] = $relDisease;
     //        print_r($relDisease);
     //        exit;
     //相关问答
     //        $cacheKey = 'frontend_symptom_index_xgwd';
     //        $parms = [
     //            'id' => $selectSymptomId,
     //            'name' => $selectSymptomInfo['name'],
     //        ];
     //        $questions = $this->cacheHelper->getCache($cacheKey, $parms);
     $questions = Search::search_ask($selectSymptomInfo['name'], 0, 5);
     //        print_r($questions['list']);
     //        exit;
     $doctor = new Doctor();
     $asks = [];
     foreach ($questions['list'] as $k => $v) {
         foreach ($v as $kk => $vv) {
             $asks[$k][$kk] = $vv;
             if (isset($v['answer'])) {
                 $doctorTmp = $doctor->getDoctorById($v['answer']['userid']);
                 $doctorTmp = array_shift($doctorTmp);
                 $asks[$k]['doctor'] = $doctorTmp;
             } else {
                 $asks[$k]['doctor'] = false;
             }
             //                print_r($tmp);
             //                exit;
         }
     }
     //        print_r($asks);
     //        exit;
     $model['questions'] = $asks;
     $model['condition'] = $condition;
     return $this->render('step3', ['model' => $model]);
 }
 /**
  * 在线问诊
  */
 public function actionOnlineInquiry()
 {
     $data = [];
     $temp = $this->params;
     $disease = $this->disease->getDiseasesByPinyin($temp['dname']);
     $doctor = $this->getDoctor($disease['id'], 3, 3);
     $asks = Search::search_ask($disease['keywords'], 0, 6);
     //相关问答
     //得到当前病 对应到 9939_com_v2sns wd_keshi 表中的 id 值
     $v2snsKeshiID = $this->diseaseService->getKeshiIDByName($disease['name']);
     $data['disease'] = $disease;
     $data['doctor'] = $doctor;
     $data['asks'] = $asks;
     $data['v2snsKeshiID'] = $v2snsKeshiID;
     return $this->render('online_inquiry', $data);
 }