Exemplo n.º 1
0
 /**
  * Updates an existing SourceRatio model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionMatch($id)
 {
     $ratioModel = $this->findModel($id);
     #update sourceTemp
     $sourceTempModel = models\SourceTemp::findOne($ratioModel->source_id);
     if (!$sourceTempModel) {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
     $sourceTempModel->basic_id = $ratioModel->basic_id;
     $tempRet = $sourceTempModel->save();
     if (!$tempRet) {
         throw new ServerErrorHttpException('update source temp fail');
     }
     #add source
     $sourceModel = new models\Source();
     $sourceModel->source_temp_id = $ratioModel->source_id;
     $sourceModel->basic_id = $sourceTempModel->basic_id;
     $sourceModel->type = $sourceTempModel->type;
     $sourceModel->name = $sourceTempModel->name;
     $sourceModel->download_url = $sourceTempModel->download_url;
     $sourceModel->play_url = $sourceTempModel->play_url;
     $sourceModel->ext = $sourceTempModel->ext;
     $sourceModel->update_time = time();
     $sourceModel->create_time = time();
     $sourceModel->save();
     #update sourceRatio
     $ratioModel->status = $ratioModel::STATUS_MATCHED;
     $ret = $ratioModel->save();
     #update basic
     $basicModel = models\Basic::findOne($ratioModel->basic_id);
     if (!$basicModel) {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
     $basicModel->source_num = $basicModel->source_num + 1;
     $basicModel->update_time = time();
     $ret = $basicModel->save();
     if ($ret) {
         $data['code'] = 0;
     } else {
         $data['code'] = 1;
         $data['message'] = "更新失败";
     }
     echo json_encode($data);
     exit;
 }
Exemplo n.º 2
0
 /**
  * Creates a new Source model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $basicModel = '';
     $basicId = 0;
     $params = Yii::$app->request->post();
     if ($params && $params['Source']) {
         foreach ($params['Source'] as $key => $value) {
             $params['Source']['update_time'] = time();
             $params['Source']['create_time'] = time();
         }
         $basicId = $params['Source']['basic_id'];
         $basicModel = Basic::findOne($basicId);
         if (!$basicModel) {
             throw new NotFoundHttpException('The basic info does not exist.');
         }
         $urlEncode = "";
         if (!empty($params['Source']['download_url'])) {
             $urlEncode = md5(trim($params['Source']['download_url']));
         } elseif (!empty($params['Source']['play_url'])) {
             $urlEncode = md5(trim($params['Source']['play_url']));
         }
         #check source temp url_encode
         $sourceTempData = SourceTemp::findOne(['url_encode' => $urlEncode]);
         if ($sourceTempData) {
             throw new ServerErrorHttpException('The source temp info does exist.');
         }
     }
     $model = new Source();
     if ($model->load($params) && $model->save()) {
         #add source_temp
         $sourceTempModel = new sourceTemp();
         $sourceTempModel->basic_id = $basicId;
         $sourceTempModel->title = $basicModel->title;
         $sourceTempModel->year = $basicModel->year;
         $sourceTempModel->type = $params['Source']['type'];
         $sourceTempModel->name = $params['Source']['name'];
         $sourceTempModel->download_url = $params['Source']['download_url'];
         $sourceTempModel->play_url = $params['Source']['play_url'];
         $sourceTempModel->ext = $params['Source']['ext'];
         $sourceTempModel->url_encode = $urlEncode;
         $sourceTempModel->sort = $params['Source']['sort'];
         $sourceTempModel->status = $params['Source']['status'];
         $sourceTempModel->update_time = time();
         $sourceTempModel->create_time = time();
         $sourceTempModel->save();
         #update basic
         $basicModel->source_num = $basicModel->source_num + 1;
         $basicModel->update_time = time();
         $ret = $basicModel->save();
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }