Ejemplo n.º 1
0
 public static function getsymptom($params)
 {
     $symptomObj = new ModelSymptom();
     $symptomContentObj = new ModelSymptomContent();
     $pinyin_initial = $params['pinyin_initial'];
     $condition = ["{{%symptom}}.pinyin_initial" => $pinyin_initial];
     $info = $symptomObj->getSymptomByCondition($condition, [], 1, 0);
     $res = $info[0];
     if (empty($info)) {
         //如果不存在抛出404
         return self::result(404, '找不到数据');
     }
     //处理缩略图
     $thumb = empty($res['thumbnail']) ? '/patients/styles/images/dise_02.jpg' : \librarys\helpers\utils\Url::getuploadfileUrl(2, $res['thumbnail']);
     $res['thumbnail'] = $thumb;
     //处理基本信息
     if (isset($params['fileds'])) {
         if (strpos($params['fileds'], ',') === false) {
             $column = $params['fileds'];
         } else {
             $column = explode(',', $params['fileds']);
         }
         $tmpCont = $symptomContentObj->getSymptomContentById($column, $res['id']);
         if (is_array($column)) {
             //如果是多个字段
             foreach ($column as $v) {
                 $res[$v] = str_replace("\n", "<br>", $tmpCont[$v]);
             }
         } else {
             $res['content'] = str_replace("\n", "<br>", $tmpCont[$column]);
         }
     }
     //处理相关文章
     if (isset($params['relarticles']) && $params['relarticles'] == 1) {
         $symptomid = $res['id'];
         $self = new self();
         $arts = $self->getRightInfo($symptomid, ['disease', 'articles']);
         foreach ($arts as $k => $v) {
             $res[$k] = $v;
         }
     }
     return self::result(200, '获取数据成功', $res);
 }
Ejemplo n.º 2
0
 /**
  * 症状图集
  * 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);
 }
Ejemplo n.º 3
0
 /**
  * 删除症状
  * @param type $id
  * @return type
  */
 public function actionDelete($id)
 {
     $flag[] = Symptom::deleteAll('id = :id', ['id' => $id]);
     $flag[] = SymptomContent::deleteAll('id = :id', ['id' => $id]);
     $flag[] = $this->relate->deleteRelateDisease($id);
     $flag[] = $this->relate->deleteRelateSymptom($id);
     $flag[] = $this->relate->deleteRelatePart($id);
     $flag[] = $this->relate->delImage($id);
     $num = count($flag);
     //当前删除记录操作的总个数
     $n = 0;
     foreach ($flag as $v) {
         //循环出所有的值,值分为0 1 ,成功是1,失败是0
         $n = $v + $n;
     }
     if ($n < $num) {
         //如果结果小于总个数,说明有失败
         if (!$flag) {
             Yii::$app->getSession()->setFlash('error', 'ID:' . $id . ' 删除失败!');
             return $this->redirect(Url::toRoute('symptom/index'));
         }
     }
     Yii::$app->getSession()->setFlash('success', 'ID:' . $id . ' 成功删除!');
     return $this->redirect(Url::toRoute('symptom/index'));
 }