/** * 获取相关问答数据 * @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; }
/** * 症状首页相关问答缓存数据 * 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); }