예제 #1
0
 /**
  * Action BuyingCar
  *
  */
 public function actionBuyingCar()
 {
     $user = yii::$app->util->isLogin() ? yii::$app->util->isLogin() : $this->redirect(['user/login']);
     $session = Yii::$app->session;
     $session->isActive ? '' : $session->open();
     $product[] = $session['product'];
     $data = Yii::$app->request->post();
     if (empty($data)) {
         return $this->redirect(['product/view', 'id' => $product[0]['pid']]);
         //跳转到完善信息
     } else {
         $session->set('rel_id', $data['rel_id']);
         // $product[] = $session['product'];
         //Todo....
         $mActivityProduct = new ActivityProduct();
         $productActivity = $mActivityProduct->getByIdAndStatus($data['rel_id']);
         $number = $productActivity['stock'];
         if ($data['acti_id'] == 8) {
             //$number = 1;
             $mBaiyingShare = new BaiyingShare();
             $result = $mBaiyingShare->getCouldPay($data['rel_id'], $user['uid'], $data['acti_id']);
             if ($number > 0) {
                 $number = 1;
             }
             if ($result) {
                 $couldPay = 1;
             }
         } else {
             // $mActivityProduct = new ActivityProduct();
             // $productActivity = $mActivityProduct->getByIdAndStatus($data['rel_id']);
             // $number = $productActivity['stock'];
             $couldPay = 1;
         }
         //Endto
         $coupon = 0;
         foreach ($session['activityprice'] as $key => $value) {
             if ($key == $session['rel_id']) {
                 $payPrice = $value;
                 $coupon = intval($product[0]['price']) - intval($value);
                 if ($coupon < 0) {
                     $coupon = 0;
                 }
             }
         }
         return $this->render('buyingcar', ['product' => $product[0], 'coupon' => $coupon, 'payvalue' => $payPrice, 'num' => $number, 'couldpay' => isset($couldPay) ? $couldPay : '', 'rel_id' => $session['rel_id']]);
     }
 }
예제 #2
0
 /**
  * 365活动生成专题页
  * @param $rel_id int 产品活动ID
  */
 public function actionGenerationPage()
 {
     $parr = Yii::$app->request->get();
     $rel_id = isset($parr['rel_id']) && $parr['rel_id'] && is_numeric($parr['rel_id']) ? intval($parr['rel_id']) : $this->redirect(['product/index']);
     $status = ActivityProduct::STATUS_VERIFY_THROUGH;
     $activityproduct_model = new ActivityProduct();
     // XXX: 注释代码有用,业务逻辑还需要优化
     $user = PublicLibrary::is_login();
     if ($user && isset($user['uid'])) {
         $status = false;
     }
     $actprod = $activityproduct_model->getByIdAndStatus($rel_id, $status);
     if ($actprod) {
         if ($user && isset($user['uid'])) {
             $status = $user['uid'] == $actprod['user_id'] ? false : ActivityProduct::STATUS_VERIFY_THROUGH;
             if ($actprod['status'] != ActivityProduct::STATUS_VERIFY_THROUGH) {
                 //审核状态
                 if ($user['uid'] != $actprod['user_id']) {
                     $this->redirect(['product/index']);
                 }
             } else {
                 $status = ActivityProduct::STATUS_VERIFY_THROUGH;
             }
         } else {
             if ($actprod['status'] != ActivityProduct::STATUS_VERIFY_THROUGH) {
                 $this->redirect(['product/index']);
             } else {
                 $status = ActivityProduct::STATUS_VERIFY_THROUGH;
             }
         }
     } else {
         $this->redirect(['product/index']);
     }
     $actdetail = $activityproduct_model->getDetailBypk($rel_id);
     // print_r($actdetail['product']['user_oriented_age']);exit;
     // $actdetail['product']['user_oriented_age'] = str_split($actdetail['product']['user_oriented_age']);
     // echo "<pre>";
     // print_r($actdetail);
     // exit;
     $acprattr_model = new ActivityProductAttrVal();
     $acprattr = $acprattr_model->getRealAttrVals($rel_id, 2);
     if (!empty($acprattr['video']['val']['video_url'])) {
         if (substr($acprattr['video']['val']['video_url'], 0, 4) == 'http') {
             $acprattr['video']['val']['video_url'] = Yii::$app->util->generalVideo($acprattr['video']['val']['video_url']);
         }
     }
     //查询该产品  type=4 的 图片  用在 首屏背景图那里
     $mpimg = new ProductImage();
     $fourimg = $mpimg->getByTypeAndPid(ProductImage::TYPE_CATIONFIRST, $actdetail['product_id']);
     // var_dump($fourimg);
     // exit;
     // //产品基本信息表,获取产品图片 显示在第二屏产品图片那里
     // $mpbase = new IProductBase();
     // $pbase = $mpbase->getAllTypesByIds($actdetail['product_id']);
     //增加页面访问量
     $ActivityProductStat_model = new ActivityProductStat();
     $ActivityProductStat_model->incr($rel_id, 'page_views');
     // print_r($actprod);exit;
     $this->layout = false;
     return $this->render('generationpage', ['actdetail' => $actdetail, 'acprattr' => $acprattr, 'fourimg' => $fourimg, 'actprod' => $actprod]);
 }
예제 #3
0
 /**
  * 选择地址确认付款页面
  * @param
  *
  * @return
  * */
 public function actionHarvest()
 {
     $user = PublicLibrary::is_login();
     if (isset($user['uid'])) {
         $uid = $user['uid'];
     } else {
         return $this->redirect(['product/index']);
         exit;
     }
     if (Yii::$app->request->isPost) {
         $date = Yii::$app->request->post();
         $rel_id = intval($date['rel_id']);
         $num = intval($date['num']);
         if (empty($rel_id) || empty($num)) {
             return $this->redirect(['product/index']);
             exit;
         }
         $session = Yii::$app->session;
         $session->isActive ? '' : $session->open();
         $product = $session->get('product');
         //查询 活动产品id 是否是 上一步 存在session中,如果存在 把键值中的 活动价格取出
         $actprice = $session->get('activityprice');
         if (isset($actprice[$rel_id])) {
             $product['activity_price'] = $actprice[$rel_id];
         } else {
             return $this->redirect(['product/index']);
             exit;
         }
         $product['num'] = $num;
         $product['rel_id'] = $rel_id;
         $mActivityProduct = new ActivityProduct();
         $productActivity = $mActivityProduct->getByIdAndStatus($rel_id);
         $product['product_id'] = $productActivity['product_id'];
         $number = $productActivity['stock'];
         //Todo....
         $couldPay = false;
         if ($productActivity['acti_id'] == 8) {
             $mBaiyingShare = new BaiyingShare();
             $result = $mBaiyingShare->getCouldPay($rel_id, $uid, 8);
             if ($result && $number > 0) {
                 $couldPay = 1;
             }
         } else {
             if ($number >= $num) {
                 $couldPay = 1;
             }
         }
         //库存不足
         if ($couldPay != 1) {
             return $this->redirect(['support/choose-activity', 'pid' => $productActivity['product_id']]);
         }
         //收货地址
         $mharaddr = new HarvestAddress();
         $addresslist = $mharaddr->getByUid($uid);
         $mDistrict = new District();
         $prolist = $mDistrict->getByLevel();
         $mVolume = new Volume();
         $voluelist = $mVolume->getByUid($uid, '', Volume::COUPONSTATUS_CANUSE);
         $code = mt_rand(0, 1000000);
         $_SESSION['fsess'] = $code;
         return $this->render('harvest', ['addresslist' => $addresslist, 'prolist' => $prolist, 'voluelist' => $voluelist, 'product' => $product, 'code' => $code]);
     } else {
         return $this->redirect(['product/index']);
     }
 }