function get_disease_symptom() { $console = Yii::getAlias("@console"); $file = $console . '/shell/disease_symptom.php'; $disease_symptom_arr = []; if (file_exists($file)) { $disease_symptom_str = file_get_contents($file); $disease_symptom_arr = unserialize($disease_symptom_str); } else { $diseases = \common\models\Disease::find()->asArray()->all(); foreach ($diseases as $disease) { $name = $disease['name']; $row = array('id' => $disease['id'], 'source_flag' => 1); $disease_symptom_arr[$name] = $row; } $symptoms = \common\models\Symptom::find()->asArray()->all(); foreach ($symptoms as $symptom) { $name = $symptom['name']; if (!isset($disease_symptom_arr[$name])) { $row = array('id' => $symptom['id'], 'source_flag' => 2); $disease_symptom_arr[$name] = $row; } } $disease_symptom_str = serialize($disease_symptom_arr); file_put_contents($file, $disease_symptom_str); } return $disease_symptom_arr; }
/** * 根据疾病的拼音简写,得到疾病的信息 * @author gaoqing * @date 2016-03-23 * @param String $pyInitial 疾病的拼音简写 * @return array 疾病的信息集 */ public function getDiseasesByPinyin($pyInitial) { $disease = []; if ($this->isNotNull($pyInitial)) { //疾病基本信息 $diseaseBasic = Disease::find()->where(['pinyin_initial' => $pyInitial])->asArray(true)->one(); //疾病详细信息 $diseaseContent = []; if ($this->isNotNull($diseaseBasic)) { $diseaseContent = DiseaseContent::find()->where(['id' => $diseaseBasic['id']])->asArray(true)->one(); } if ($this->isNotNull($diseaseBasic) && $this->isNotNull($diseaseContent)) { $diseaseContentApp = $diseaseContent; foreach ($diseaseContentApp as $key => $content) { $diseaseContentApp[$key] = String::cutString($content, 35); } $disease = array_merge($diseaseBasic, $diseaseContent); $disease['content_app'] = $diseaseContentApp; } } if (!isset($disease) || empty($disease)) { throw new NotFoundHttpException("当前访问的页面不存在!"); } return $disease; }
public static function createAllDiseaseSymptomCache4Redis() { $redis = \Yii::$app->redis; $redis_expired = 24 * 60 * 60; //秒 $cache_all_disease_symptom_link_key = APP_CACHE_PREFIX . 'CACHE_ALL_DISEASE_SYMPTOM_LINK'; $cache_all_disease_symptom_link_data = array(); $all_disease = Disease::find()->select(['name', 'pinyin_initial'])->asArray()->all(); foreach ($all_disease as $k => $v) { $cache_all_disease_symptom_link_data[$v['name']] = \Yii::getAlias('@jb_domain') . '/' . $v['pinyin_initial'] . '/'; } $all_symptom = Symptom::find()->select(['name', 'pinyin_initial'])->asArray()->all(); foreach ($all_symptom as $k => $v) { $cache_all_disease_symptom_link_data[$v['name']] = \Yii::getAlias('@jb_domain') . '/zhengzhuang/' . $v['pinyin_initial'] . '/'; } $redis->hMset($cache_all_disease_symptom_link_key, $cache_all_disease_symptom_link_data, $redis_expired); return $cache_all_disease_symptom_link_data; }
public function actionRedirect() { $diseaseid = $this->helpGquery('disid', 0); if ($diseaseid > 0) { $oldDisease = new oldDisease(); $disInfo = $oldDisease->getDiseaseByContentid($diseaseid); $url = \Yii::getAlias("@jb_domain"); // var_dump($url);exit; if ($disInfo) { $disname = $disInfo['title']; $newDisInfo = Disease::find()->where('name=:name', [':name' => $disname])->one(); $pinyin_initial = $newDisInfo ? $newDisInfo->pinyin_initial : ''; $url .= '/' . $pinyin_initial . '/'; header("Location:{$url}", true, 301); exit; } else { $this->actionDispatch(); } } }
/** * 疾病 sitemap * @author gaoqing * @date 2016-04-25 * @return array 响应信息 */ private function diseaseSitemap() { /** * <urlset> * <url> * <loc>http://jb.9939.com/article/2009/0327/1.shtml</loc> * <lastmod>2009-03-27</lastmod> * <changefreq>always</changefreq> * <priority>0.6</priority> * </url> * </urlset> */ $where = $this->_ownership; $sitemap = '<?xml version="1.0" encoding="UTF-8"?>'; $sitemap .= $this->_baidu ? '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">' : '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; //判断jb还是wapjb $prefix = $where == 'pc' ? '' : 'wap_'; //1、生成 疾病 部分的 sitemap $diseases = Disease::find()->asArray()->all(); $sitemap .= $this->setSitemapURL($diseases, $prefix . 'disease'); //2、生成 症状 部分的 sitemap $symptoms = Symptom::find()->asArray()->all(); $sitemap .= $this->setSitemapURL($symptoms, $prefix . 'symptom'); //3、生成 科室 部分的 sitemap $departments = Department::find()->asArray()->all(); $sitemap .= $this->setSitemapURL($departments, $prefix . 'department'); //4、生成 部位 部分的 sitemap $parts = Part::find()->asArray()->all(); $sitemap .= $this->setSitemapURL($parts, $prefix . 'part'); $sitemap .= '</urlset>'; //5、生成 sitemap 文件 if ($where == 'pc') { $frontend = \Yii::getAlias("@frontend"); $frontDomain = \Yii::getAlias("@frontdomain"); } elseif ($where == 'wap') { $frontend = \Yii::getAlias("@wapjb"); $frontDomain = \Yii::getAlias("@mjb_domain"); } // $frontend = \Yii::getAlias("@frontend"); $sitemapFolder = 'sitemap'; $fileFolder = $frontend . '/web/' . $sitemapFolder; if (!file_exists($fileFolder) || !is_dir($fileFolder)) { mkdir($fileFolder, 0755); } $fileName = $this->_baidu ? 'diseasebaidusitemap.xml' : 'diseasesitemap.xml'; if (file_put_contents($fileFolder . '/' . $fileName, $sitemap)) { // $frontDomain = \Yii::getAlias("@frontdomain"); return ['flag' => 1, 'url' => $frontDomain . '/' . $sitemapFolder . '/' . $fileName, 'name' => $fileName]; } return []; }
public function getDiseaseLimit($where = [], $offset = 0, $length = 10, $orderBy = 'id DESC') { return Disease::find()->where($where)->orderBy($orderBy)->offset($offset)->limit($length)->asArray()->all(); }