<?php foreach ($product['aproduct'] as $key => $val) { ?> <a href="<?php echo Url::toRoute(['product/view', 'id' => $product['id']]); ?> " class="tabitem tab1 fl"> <div class="tab_img"> <?php if (isset($val['mark'])) { ?> <?php if ($val['mark'] == 'baiying') { ?> <?php $mBaiyingShare = new BaiyingShare(); $number = $mBaiyingShare->getShareNum($val['id']); $over = isset($number) ? intval($number) : 0; $rel_id = isset($val['id']) ? $val['id'] : ''; $act_id = isset($val['acti_id']) ? $val['acti_id'] : ''; $model = new ActivityProductAttrVal(); $attr = $model->getRealAttrVals($rel_id, $act_id); // $attr = $model->getRealAttrVals(32831,8); $limit_people_num = isset($attr['limit_people_num']['val']) ? $attr['limit_people_num']['val'] : 0; $supply_num = isset($attr['supply_num']['val']) ? $attr['supply_num']['val'] : 0; $total = $limit_people_num * $supply_num; $step2 = 0; if ($total !== 0) { $tmp = $over / $total; $step2 = 100 * round($tmp, 2); }
/** * 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']]); } }
/** * [产品详情] * @param int $id 产品id * @return array 产品信息渲染到页面view */ public function actionView($id) { $session = Yii::$app->session; $session->isActive ? '' : $session->open(); //判断产品是否发布 $base = IProductBase::find()->select('status,uid')->where('id = :id', [':id' => $id])->asArray()->one(); if (!empty($_SESSION['user'])) { if ($base['status'] != IProductBase::STATUS_VERIFEND) { if ($base['uid'] != $_SESSION['user']['uid']) { return $this->redirect(['index']); //跳转到完善信息 } } } else { if ($base['status'] != IProductBase::STATUS_VERIFEND) { return $this->redirect(['index']); //跳转到完善信息 } } //增加总访问量 $mProductStat = new IProductStat(); $mProductStat->modify('page_views', $id, 1, true); //访问日志 $mViewsLog = new ViewsLog(); $mViewsLog->modify($id, ViewsLog::PRODUCT_TYPE); //增加周访问量,月访问量 $week_num = $mViewsLog->ViewsNum($id, ViewsLog::PRODUCT_TYPE, 7); $month_num = $mViewsLog->ViewsNum($id, ViewsLog::PRODUCT_TYPE, 30); $mProductStat->modifyviewnum('week_views', $id, $week_num); $mProductStat->modifyviewnum('month_views', $id, $month_num); //基础数据和扩展数据查询 $re = IProductBase::find()->With('extra', 'stat')->where(IProductBase::tableName() . '.id = :id', [':id' => $id])->asArray()->one(); //该产品用户共发布产品数 $presentNum = IProductBase::find()->where(['uid' => $re['uid'], 'status' => IProductBase::STATUS_VERIFEND])->count(); //喜欢此产品用户 $model = new ProductFollow(); $loves = $model->getFollowUsers($id); //产品发布人头像及姓名 $model = new Member(); $user = $model->find()->select(['avatar', 'nickname'])->where(['uid' => $re['uid']])->asArray()->one(); //参加活动 $model = new ActivityProduct(); // print_r($id);exit; $actives = $model->getActivityDetail($id); // $actives = $model->getActivitiseById($id); // print_r($actives);exit; foreach ($actives as $key => $value) { if ($value['acti_id'] == 8) { $mBaiyingShare = new BaiyingShare(); $number = $mBaiyingShare->getShareNum($value['id']); } if ($value['acti_id'] == 9) { $rel_id = $value['id']; } } //活动map $activityBase = new ActivityBase(); $activesMap = $activityBase->getActivityMap(); if (isset($rel_id)) { //投票信息 $city = "上海"; $poll_type_id = PollType::GOODPRODUCT_TYPE; $mpoll = new poll(); $pollone = $mpoll->getPollByCity($city, $poll_type_id); //投票项信息 $moption = new polloption(); $optione = $moption->getOptionByowner($pollone['poll_id'], $rel_id); } return $this->render('view', ['re' => $re, 'present_num' => $presentNum, 'actives' => $actives, 'now' => time(), 'number' => isset($number) ? intval($number) : '', 'loves' => $loves, 'user' => $user, 'activesMap' => $activesMap, 'optione' => isset($optione) ? $optione : '']); }
/** * @author hongye * * @param int $supportid 支持人id * 测试地址:http://dev.idaiyan.cn/baiying/support?sid=2598 * @return array * */ public function actionSupport() { $user = PublicLibrary::is_login(); if ($user && isset($user['uid']) && $user['uid'] != 'weixin') { $uid = isset($user['uid']) ? $user['uid'] : ''; } else { return $this->redirect(['baiying/productlist']); } $shareid = Yii::$app->request->get('sid'); $shareid = intval($shareid); $models = new BaiyingSupport(); $res = $models->Supportme($shareid); $mbshare = new BaiyingShare(); $shareone = $mbshare->pk($shareid); if ($shareone['uid'] != $uid) { return $this->redirect(['baiying/userproduct']); } $rel_id = $shareone['rel_id']; $acti_id = $shareone['acti_id']; $product_id = $shareone['product_id']; $uid = $shareone['uid']; $share_num = $shareone['share_num']; //支持数 $pmodels = new IProductBase(); $temp = $pmodels->pk($product_id); $name = $temp['name']; // $mshare = new BaiyingShare(); $slist = $mbshare->getShareone($rel_id, $uid, ActivityBase::APPLY_BAIYING); // print_r($slist); // echo '<pre>'; // print_r($slist); // exit; // $acprattr_model = new ActivityProductAttrVal(); // $acprattr = $acprattr_model->getRealAttrVals($rel_id,ActivityBase::APPLY_BAIYING); // echo '<pre>'; // print_r($acprattr); // $supply_num = isset($acprattr['supply_num']['val'])?$acprattr['supply_num']['val']:'30';//商品提供 // echo '<pre>'; // print_r($supply_num); $this->layout = false; return $this->render('supportme', ['res' => $res, 'name' => $name, 'share_num' => $share_num, 'slist' => $slist]); }
/** * 选择地址确认付款页面 * @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']); } }