/**
  * 疾病图集
  * @author gaoqing
  * @date 2016-03-25
  * @return string 视图
  */
 public function actionDisimages()
 {
     $view = "disease_images";
     $dname = $this->helpGparam('dname', "");
     $dname = trim($dname, '/');
     $domudle = $this->helpGparam('dmodule', 'tuji');
     $domudle = trim($domudle, '/');
     $pageStr = trim(trim($domudle, 'tuji'), '_');
     $page = 1;
     if (!empty($pageStr)) {
         $page = intval($pageStr);
     }
     $disease = $this->diseaseService->getDiseasesByPinyin($dname, false, false, false, false);
     //图集信息
     $icondition = ['flag' => 1, 'relid' => $disease['id']];
     $images = Image::search($icondition);
     $imagesList = $images['list'];
     //获取相关疾病图集
     $relDiseaseImages = ArticleService::getRelDiseaseImages($disease['id'], 6);
     $return_img_list = [];
     foreach ($imagesList as $k => $v) {
         $v['url'] = \librarys\helpers\utils\Url::getuploadfileUrl(1, $v['name']);
         $return_img_list[] = $v;
     }
     $params = ['disease' => $disease, 'imagesList' => $return_img_list, 'relDiseaseImages' => $relDiseaseImages];
     return $this->renderPartial($view, $params);
 }
 /**
  * 根据疾病id, 获取当前疾病相关疾病的图集
  * @author gaoqing
  * @date 2016-05-05
  * @param int $diseaseid 疾病id
  * @param int $size 所需的个数
  * @return array 相关疾病的图集
  */
 public static function getRelDiseaseImages($diseaseid, $size)
 {
     $relDiseaseImages = [];
     //1、得到所有的相关疾病
     $disease = new Disease();
     $relDiseases = $disease->getDiseaseDisByDisid($diseaseid);
     //2、得到相关疾病的图集
     if (isset($relDiseases) && !empty($relDiseases)) {
         $notHasImages = [];
         $inner = [];
         $relDiseaseImagesIndex = 0;
         foreach ($relDiseases as $relDisease) {
             $images = [];
             $inner['disease'] = $relDisease;
             $inner['images'] = $images;
             //2.1、如果当前图集,已经够 $size 了,就停止查询
             if ($relDiseaseImagesIndex == 6) {
                 break;
             }
             //2.2、得到疾病图集
             $icondition = ['flag' => 1, 'relid' => $relDisease['id']];
             $imagesTemp = Image::search($icondition);
             if (isset($imagesTemp['list']) && !empty($imagesTemp['list'])) {
                 $images = $imagesTemp['list'];
                 $inner['images'] = $images;
                 $relDiseaseImages[] = $inner;
                 $relDiseaseImagesIndex++;
             } else {
                 $notHasImages[] = $inner;
             }
         }
         $relDiseaseImagesCount = count($relDiseaseImages);
         /*
          * 3.1、当前 $relDiseaseImages 中不到指定的个数 $size时:
          * 3.2、计算出,距离 $size 所需的个数 $needCount
          * 3.3、从 $notHasImages 中,提前 $needCount 个数据
          */
         if ($relDiseaseImagesCount < $size) {
             $needCount = $size - $relDiseaseImagesCount;
             $needArr = array_slice($notHasImages, 0, $needCount);
             $relDiseaseImages = array_merge($relDiseaseImages, $needArr);
         }
     }
     return $relDiseaseImages;
 }
 /**
  * 症状图集
  * lc 2016-4-1
  * @return string 视图
  */
 public function actionSymimages()
 {
     $view = "symptom_images";
     $dname = $this->helpGparam('dname', "");
     $dname = trim($dname, '/');
     $domudle = $this->helpGparam('dmodule', 'tuji');
     $domudle = trim($domudle, '/');
     $pageStr = trim(trim($domudle, 'tuji'), '_');
     $page = 1;
     if (!empty($pageStr)) {
         $page = intval($pageStr);
     }
     $condition = ["{{%symptom}}.pinyin_initial" => $dname];
     $disease = $this->symptom->getSymptomByCondition($condition, [], 1, 0);
     if (!isset($disease) || empty($disease)) {
         throw new NotFoundHttpException("当前访问的页面不存在!");
     }
     $disease = $disease[0];
     if (!empty($disease)) {
         $symptomContent = SymptomContent::find()->select('examine')->where(['id' => $disease['id']])->asArray(true)->one();
         if (isset($symptomContent) && !empty($symptomContent)) {
             $disease = array_merge($disease, $symptomContent);
         }
     }
     //图集信息
     $icondition = ['flag' => 2, 'relid' => $disease['id']];
     $size = 1;
     $paging = $this->helpPaging('pager')->setSize($size)->setPageSetSize(9)->setUrlFormat('/' . $dname . '/tuji_%d' . '/')->setCurrentClass('cupat');
     $offset = $paging->getOffset();
     $images = Image::search($icondition, $offset, $size, 'id DESC', true);
     $imagesList = $images['list'];
     $paging->setTotal($images['total']);
     //获取相关疾病文章
     $relArtsAndAsks = CacheHelper::getCache('frontend_symptom_detail_xgwz', ['title' => $disease['name'], 'id' => $disease['id'], 'diseaseid' => $disease['id'], 'pinyin' => $disease['pinyin']]);
     $relArticles = $relArtsAndAsks['relArticles'];
     //相关问答
     $asks = $relArtsAndAsks['relAsks'];
     //大家还在找部分
     $stillFind = $this->getStillFindDatas($disease['name']);
     //右侧:最新文章
     $lastestArticles = $this->getLatestArticles();
     $return_img_list = [];
     foreach ($imagesList as $k => $v) {
         $v['url'] = \librarys\helpers\utils\Url::getuploadfileUrl(2, $v['name']);
         $return_img_list[] = $v;
     }
     $params = ['disease' => $disease, 'imagesList' => $return_img_list, 'relArticles' => $relArticles, 'paging' => $paging, 'asks' => $asks, 'lastestArticles' => $lastestArticles, 'stillFind' => $stillFind];
     return $this->render($view, $params);
 }