Пример #1
0
 public function actionRebuy($id)
 {
     global $sysSettings;
     $model = $this->loadModel($id);
     //	var_dump($model);
     $courseMember = CourseMember::model()->findByAttributes(array('userId' => Yii::app()->user->id, 'courseId' => $model->id));
     //	echo '$courseMember';
     //    var_dump($courseMember->orderId);
     //    var_dump($courseMember->endTime);
     if ($model !== null && $courseMember !== null && time() > $courseMember->endTime) {
         if (isset($sysSettings['payment']['means']) && ($sysSettings['payment']['means'] == 'aliGuaran' || $sysSettings['payment']['means'] == 'aliDual' || $sysSettings['payment']['means'] == 'ali' || $sysSettings['payment']['means'] == 'aliDirect') && $model->renewFee > 0) {
             $order = new Order();
             $order->userId = Yii::app()->user->id;
             $order->status = Order::ORDER_WAIT_PAY;
             $order->produceEntityId = $model->entityId;
             $order->meansOfPayment = "ali";
             $order->addTime = time();
             // modified by wzh
             $order->price = $model->renewFee;
             $order->subject = Yii::t('app', '购买课程《{name}》', array('{name}' => $model->name));
             $order->save();
             $alipay = new Alipay($sysSettings['payment']['aliPartner'], $sysSettings['payment']['aliKey']);
             if ($sysSettings['payment']['means'] == 'aliDirect') {
                 $alipay->service = "create_direct_pay_by_user";
             } else {
                 $alipay->service = "trade_create_by_buyer";
             }
             $alipay->seller_email = $sysSettings['payment']['aliSellerAccount'];
             $alipay->subject = $order->subject;
             $alipay->out_trade_no = $order->id;
             // modified by wzh
             $alipay->price = $model->renewFee;
             $alipay->notify_url = Yii::app()->createAbsoluteUrl('course/index/alipayNotifyRenewFee');
             $alipay->return_url = Yii::app()->createAbsoluteUrl('course/index/alipayReturn');
             echo $alipay->submit();
             Yii::app()->end();
             //$this->render('buy',array('htmlText'=>$htmlText));
         } else {
             if (isset($sysSettings['payment']['means']) && ($sysSettings['payment']['means'] == 'aliGuaran' || $sysSettings['payment']['means'] == 'aliDual' || $sysSettings['payment']['means'] == 'ali' || $sysSettings['payment']['means'] == 'aliDirect') && $model->renewFee > 0) {
                 //$order = new Order();
                 //$order->userId = Yii::app()->user->id;
                 //$order->status = Order::ORDER_WAIT_PAY;
                 //$order->produceEntityId = $model->entityId;
                 //$order->meansOfPayment = "ali";
                 //$order->addTime = time();
                 //// modified by fbl
                 //$order->price = $model->renewFee;
                 //$order->subject = Yii::t('app','购买课程《{name}》',array('{name}'=>$model->name));
                 //$order->save();
                 $this->redirect(array('pay/default/form'));
             } else {
                 $member = new CourseMember();
                 $member->userId = Yii::app()->user->id;
                 $member->courseId = $model->id;
                 $member->startTime = time();
                 $member->arrRoles = array('student');
                 if ($member->save()) {
                     Yii::app()->user->setFlash('success', Yii::t('app', '加入成功!'));
                 } else {
                     Yii::app()->user->setFlash('error', Yii::t('app', '错误,加入失败!'));
                 }
                 $this->redirect(array('view', 'id' => $id));
             }
         }
     }
 }