/** * Action ChooseActivity * */ public function actionChooseActivity() { $user = yii::$app->util->isLogin(); if (yii::$app->util->isAjax()) { $pid = Yii::$app->request->get('pid') ? Yii::$app->request->get('pid') : ''; $rel_id = Yii::$app->request->get('rel_id') ? Yii::$app->request->get('rel_id') : ''; if ($user) { if ($pid) { $url = '/support/choose-activity?pid=' . $pid; } else { $url = '/support/choose-activity?rel_id=' . $rel_id; } $data['url'] = $url; echo yii::$app->util->formatResEncode('0', '该用户已经登录', $data); exit; } else { echo yii::$app->util->formatResEncode('1', '该用户没有登录'); exit; } } if (Yii::$app->request->get('pid') || Yii::$app->request->get('rel_id')) { $rel_id = Yii::$app->request->get('rel_id'); if ($rel_id) { $mActivityProduct = new ActivityProduct(); $productActivity = $mActivityProduct->getByIdAndStatus($rel_id); $pid = intval($productActivity['product_id']); } else { $pid = Yii::$app->request->get('pid'); } $mProductBase = new IProductBase(); $myproduct = $mProductBase->isMyProduct($user['uid'], $pid); // $myproduct = ''; if (!$myproduct) { $mProductBase = new IProductBase(); $mActivityBase = new ActivityBase(); $mActivityProductAttrVal = new ActivityProductAttrVal(); $result = $mProductBase->getAllById(intval($pid)); //查询活动 $activity = $mActivityBase->getByFeature(); foreach ($activity as $key => $val) { $key = $val['id']; $activity[$key] = $val; } //var_dump($result['aproduct']);die; //产品对应活动和价格 if (!empty($result['aproduct'])) { foreach ($result['aproduct'] as $key => $value) { $attr[] = $mActivityProductAttrVal->getRealAttrVals($value['id'], $value['acti_id']); // echo "<pre>"; // var_dump($attr[$key]['discount_price']['val']['price']);die; $result['aproduct'][$key]['attr'] = isset($attr[$key]['discount_price']['val']) ? $attr[$key]['discount_price']['val'] : 0; $result['aproduct'][$key]['num'] = isset($attr[$key]['supply_num']['val']) ? $attr[$key]['supply_num']['val'] : 0; $price[$value['id']] = isset($attr[$key]['discount_price']['val']['price']) ? $attr[$key]['discount_price']['val']['price'] : 0; // $price[] = array($value['id'] => $attr[$key]['discount_price']['val']['price']); // // $price[$value['id']] = $attr[$key]['discount_price']['val']['price']; //var_dump($price);die; if (!empty($activity[$value['acti_id']])) { $result['aproduct'][$key]['activity'] = $activity[$value['acti_id']]; } } } else { return $this->redirect(['home-page/lists', 'uid' => $user['uid']]); //跳转到完善信息 } $productData = array('pid' => $pid, 'name' => $result['name'], 'summary' => $result['extra']['summary'], 'album' => $result['album'], 'price' => $result['price']); $session = Yii::$app->session; $session->isActive ? '' : $session->open(); $session->set('product', $productData); if (isset($price)) { $session->set('activityprice', $price); } //$session->set('activityprice',$price); // echo "<pre>"; // //var_dump($productActivity['acti_id']); // var_dump($result);die; $this->layout = '@app/views/layouts/main.php'; //调用个人中心的布局 if ($result) { return $this->render('chooseactivity', ['data' => isset($result) ? $result : '', 'acti_id' => isset($productActivity) ? $productActivity['acti_id'] : '']); } } else { return $this->redirect(['home-page/lists', 'uid' => $user['uid']]); //跳转到完善信息 } } else { return $this->redirect('/product/index'); //跳转到完善信息 } }
public function actionIndex($page = 1) { $session = Yii::$app->session; $session->isActive ? '' : $session->open(); $session->remove('backurl'); $session->remove('form'); $form = Yii::$app->request->post('product'); //查询活动 $Activity = new ActivityBase(); $res_activity = $Activity->getByFeature(); foreach ($res_activity as $key => $val) { $key = $val['id']; $res_activity[$key] = $val; } //查询类别 $ProductType = new IProductType(); $p_type = $ProductType->product_type_list(); // print_r($type); $model = new IProductBase(); // 计算产品“模糊”数量 $productCount = $model->getCount(); if ($productCount) { $productCount = $this->calVagueCount($productCount); } // $type_id = Yii::$app->request->get('type_id') ? Yii::$app->request->get('type_id') : 0; $type_id = Yii::$app->request->get('type_id', 0); //参数过滤 $type_id = intval($type_id); if (Yii::$app->request->get('order_by')) { // $order_by = Yii::$app->request->get('type_id') ? Yii::$app->request->get('type_id') : 1; $order_by = Yii::$app->request->get('order_by', 2); //参数过滤 $order_by = is_numeric($order_by) ? $order_by : 2; } else { $order_by = 2; } if ($_GET) { // $time_status = Yii::$app->request->get('time_status') ? Yii::$app->request->get('time_status') : 0; $time_status = Yii::$app->request->get('time_status', 0); //参数过滤 $time_status = intval($time_status); if (intval($time_status) > 3) { $time_status = 0; } else { $time_status = Yii::$app->request->get('time_status', 0); //参数过滤 $time_status = intval($time_status); } } else { $time_status = 0; } //筛选条件 $options = ['type' => $type_id, 'page' => $page, 'time_status' => intval($time_status), 'order_by' => $order_by]; $ar = $model->search($options, false); // $re = $ar->asArray()->all(); // echo count($re); // echo "<br/>"; // echo $ar-> count(); // echo "<br/>"; $pages = new Pagination(['totalCount' => $ar->count(), 'pageSize' => IProductBase::PAGE_SIZE]); // print_r($pages);exit; $form = Yii::$app->request->get(); //参数过滤 $form = array_map('intval', $form); //拼凑一对多的产品关系 $res = $ar->asArray()->all(); //查询产品ids $ids = array_keys($res); //产品活动和图片数据 $ex = $model->extrData($ids); // print_r($ex); // print_r($ids); // print_r($res);exit; // echo "zhanglu"; // print_r($res_activity);exit; // die; $dist_model = new District(); foreach ($res as $key => $val) { //拼凑活动,图片数据 $res[$key]['aproduct'] = $ex[$key]['aproduct']; $res[$key]['image'] = $ex[$key]['image']; foreach ($ex[$key]['aproduct'] as $keya => $vaa) { if (!empty($res_activity[$vaa['acti_id']])) { // print_r($vaa); // print_r($res_activity[$vaa['acti_id']]);exit; //当活动为1.1 或 活动状态不为 3时 去掉改活动数据 if ($vaa['acti_id'] == ActivityBase::FANS_FESTIVAL || $vaa['status'] != ActivityProduct::STATUS_VERIFY_THROUGH) { unset($res[$key]['aproduct'][$keya]); } else { $res[$key]['aproduct'][$keya]['feature'] = $res_activity[$vaa['acti_id']]['feature']; $res[$key]['aproduct'][$keya]['subject'] = $res_activity[$vaa['acti_id']]['subject']; $res[$key]['aproduct'][$keya]['summary'] = $res_activity[$vaa['acti_id']]['summary']; $res[$key]['aproduct'][$keya]['config'] = $res_activity[$vaa['acti_id']]['config']; $res[$key]['aproduct'][$keya]['mark'] = $res_activity[$vaa['acti_id']]['mark']; $res[$key]['aproduct'][$keya]['activity_start_time'] = $res_activity[$vaa['acti_id']]['start_time']; $res[$key]['aproduct'][$keya]['activity_end_time'] = $res_activity[$vaa['acti_id']]['end_time']; } // $start = $res[$key]['aproduct'][$keya]['start_time']; // $end = $res[$key]['aproduct'][$keya]['end_time']; // $now = time(); // if ($start > $now) { // $step = "即将开始"; // } if ($end < $now ) { // $step = "已结束"; // } else { // $step ="预定中"; // } // $res[$key]['aproduct'][$keya]['step'] = $step; // $res[$key]['aproduct'][$keya]['status'] = $res_activity[$vaa['acti_id']]['status']; //$res[$key]['aproduct'][$keya] = $res_activity[$vaa['acti_id']]; } } if ($val['user']['city'] == 0) { $res[$key]['user']['city'] = '北京市'; } else { $dist = $dist_model->getByCity($val['user']['city']); $adrs = $dist['province'] . ',' . $dist['name']; $res[$key]['user']['city'] = $adrs; } } // echo '<pre>'; // print_r($res);die; // print_r($res_activity);exit; //获取推荐产品数据 // $res=[]; if (empty($res)) { $data = $this->getRecommendProduct($page, $res_activity); if ($data) { $products = isset($data['products']) ? $data['products'] : ''; $recommendPages = isset($data['recommendPages']) ? $data['recommendPages'] : ''; } } // echo "<pre>"; // print_r($res);die; // print_r($data);die; return $this->render('index', ['model' => $res, 'p_type' => $p_type, 'pages' => $pages, 'recommendPages' => isset($recommendPages) ? $recommendPages : '', 'product_count' => $productCount, 'products' => isset($products) ? $products : '', 'options' => $options]); }