コード例 #1
0
 /**
  * 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');
         //跳转到完善信息
     }
 }
コード例 #2
0
 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]);
 }