コード例 #1
0
 /**
  * 产品详情页
  *
  * @param array $_GET['id'] 对应产品id号
  */
 public function actionView()
 {
     $params = Yii::$app->request->get();
     $id = isset($params['id']) ? intval($params['id']) : 0;
     if ($id) {
         $mIProductBase = new IProductBase();
         $detail = $mIProductBase->getAllTypesByIds($id);
         if (isset($detail['city'])) {
             //获取产品省市
             $mDistrict = new District();
             $dist = $mDistrict->getBycity($detail['city']);
         }
         return $this->render('view', ['detail' => $detail, 'dist' => $dist ? $dist : '']);
     }
 }
コード例 #2
0
 /**
  * Action getProductNumber
  * @param $options  ID集合 
  */
 function getProductNumber($options)
 {
     $mProductBase = new IProductBase();
     $result = $mProductBase->find()->select(['uid', 'count(id) as num'])->where(['status' => 4]);
     if (empty($options)) {
         $result = $result->groupBy('uid');
     } else {
         if (is_array($options)) {
             $conditions = "`uid` in (" . implode(',', $options) . ")";
             $result = $result->andwhere($conditions)->groupBy('uid');
         }
     }
     $results = $result->asArray()->all();
     return $results;
 }
コード例 #3
0
ファイル: TestController.php プロジェクト: songhongyu/idaiyan
 public function command()
 {
     $connection = \Yii::$app->db;
     // $schema = $connection->getSchema();
     // $tables = $schema->getTableNames();
     // print_r($tables);exit;
     $re = $connection->createCommand()->addColumn(IProductBase::tableName(), 'zhanglu', 'string');
     // var_dump($connection);exit;
     // var_dump(IProductBase::tableName());exit;
     // $re = \Yii::$app->command->addColumn(IProductBase::tableName(), 'zhanglu', 'string');
     // $re = $re->getSql();
     var_dump($re);
 }
コード例 #4
0
ファイル: BaiyingShare.php プロジェクト: songhongyu/idaiyan
 /**
  * 定义与product_base的关联关系
  *
  */
 public function getProduct()
 {
     return $this->hasOne(IProductBase::className(), ['id' => 'product_id']);
 }
コード例 #5
0
ファイル: IProductBase.php プロジェクト: songhongyu/idaiyan
 public function myProducts($uid)
 {
     $conditions = ['uid' => $uid, 'status' => IProductBase::STATUS_VERIFEND];
     $ac = IProductBase::find()->select(['id', 'name', 'album'])->where($conditions)->orderBy(['id' => SORT_DESC]);
     $res = $ac->asArray()->all();
     if ($res !== null) {
         return $res;
     } else {
         return false;
     }
 }
コード例 #6
0
 /**
  * @author shimeixia <*****@*****.**>
  * @param $pid 产品id
  *
  * @return
  */
 public function actionGoodProduct()
 {
     $user = yii::$app->util->isLogin() ? yii::$app->util->isLogin() : $this->redirect(['user/login']);
     $parr = Yii::$app->request->get();
     $pid = isset($parr['pid']) ? intval($parr['pid']) : '';
     $aid = ActivityBase::GOOD_PRODUCT;
     if (empty($pid) || empty($aid)) {
         return $this->redirect(['home-page/lists', 'uid' => $user['uid']]);
         //跳转到完善信息
     }
     //判断是否存在该活动
     $mActiBase = new ActivityBase();
     $activity = $mActiBase->pk($aid);
     if (!$activity) {
         return $this->redirect(['home-page/lists', 'uid' => $user['uid']]);
         //跳转到用户主页
     }
     //查询是不是该用户发布的产品
     $model = new IProductBase();
     $res = $model->isMyProduct($user['uid'], $pid);
     if (!$res) {
         return $this->redirect(['home-page/lists', 'uid' => $user['uid']]);
         //跳转到用户主页
     }
     //查询该商品有没有参加过该活动
     $mactivitypdt = new ActivityProduct();
     $one = $mactivitypdt->isinActivity($user['uid'], $aid, $pid);
     //属性Map
     $mArag = new ActivityRelAttrGroup();
     $attrMap = $mArag->getAttrMapping($aid);
     if (!$one) {
         //入库
         $apdata = ['product_id' => $pid, 'acti_id' => $aid, 'user_id' => $user['uid'], 'status' => ActivityProduct::STATUS_SAVE, 'apply_way' => 1];
         $rel_id = $mactivitypdt->store($apdata);
         //插入到活动产品统计表
         $apstart = new ActivityProductStat();
         $data = ['rel_id' => $rel_id, 'acti_id' => $aid, 'product_id' => $pid];
         $apstart->store($data);
         //赛区数据入库
         $mbaseattr = new BaseAttribute();
         $value = $mbaseattr->save($rel_id, $user['uid'], 15, ActivityBase::GOODPRODUCT_CITY, false, 1);
         $value = $mbaseattr->save($rel_id, $user['uid'], 18, time(), false, 1);
     } else {
         $rel_id = $one['id'];
         if ($one['status'] == ActivityProduct::STATUS_VERIFYING) {
             //审核中
             return $this->redirect(['home-page/lists', 'uid' => $user['uid']]);
             //跳转到完善信息
         }
     }
     //查询左侧菜单
     $ActivityAttrGroup = new ActivityAttrGroup();
     $menu = $ActivityAttrGroup->getCompleteStatus($rel_id);
     // echo "<pre>";
     // var_dump($menu);die;
     $ActivityProductAttrVal = new ActivityProductAttrVal();
     $attrval = $ActivityProductAttrVal->getRealAttrVals($rel_id, $aid);
     $attrval = array_merge($attrMap, $attrval);
     if (isset($attrval['pokedex']['val']) && is_array($attrval['pokedex']['val'])) {
         foreach ($attrval['pokedex']['val'] as $key => $value) {
             if ($value['type'] == ProductImage::TYPE_GOODPRODUCT) {
                 $image[] = $value;
             }
         }
     }
     $this->layout_data = 'uc';
     return $this->render('goodproduct', ['pid' => $pid, 'rel_id' => $rel_id, 'menu' => $menu, 'attrs' => isset($attrval) ? $attrval : "", 'attrMap' => $attrMap, 'image' => isset($image) ? $image : " ", 'goodproduct_city' => ActivityBase::GOODPRODUCT_CITY]);
 }
コード例 #7
0
 /**
  * [findModel description]
  * @param  [type] $id [description]
  * @return [type]     [description]
  */
 protected function findModel($id)
 {
     if (($model = IProductBase::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
コード例 #8
0
 public function actionQuery()
 {
     $query = IProductBase::find()->andFilterWhere(['id' => 2, 'type' => '1'])->all();
     print_r($query);
 }
コード例 #9
0
 /**
  * 用户产品列表
  *
  * 个人中心产品列表显示
  *
  * @param int $uid 用户的id号
  *
  * @return array 个人中心产品列表页渲染所有数据
  */
 public function actionLists()
 {
     // print_r($_GET);exit;
     $uid = Yii::$app->request->get('uid');
     $uid = intval($uid);
     $self = false;
     //表示身份
     $login = PublicLibrary::is_login() ? PublicLibrary::is_login() : '';
     //异常默认uid
     if (empty($uid) && PublicLibrary::is_login()) {
         $uid = $login['uid'];
     }
     //判断是否登录
     if ($login !== '' && $login['uid'] == $uid) {
         $self = true;
     }
     //用户信息
     $member = new Member();
     $user = $member->getByUid($uid);
     // print_r($user);exit;
     //完善用户信息
     if (!$user) {
         //是否存在该用户
         return $this->redirect(['product/index']);
     } else {
         $user['renqi'] = isset($user['memberstar']) && is_array($user['memberstar']) ? array_sum($user['memberstar']) : 0;
         //用户位置信息
         $dist = new District();
         if (!empty($user['city'])) {
             $user['address'] = $dist->getByCity($user['city']['id']);
         } else {
             // $user['address'] = $dist->getByCity(40);
             $user['address'] = ['name' => '不详', 'province' => '地址'];
         }
         //获取用户头像
         $user['avatar'] = PublicLibrary::getBigAvatar($user['avatar']);
         //获取用户发布产品个数数据
         $iProductBase = new IProductBase();
         $user['pub_num'] = $iProductBase->getCountByUid($uid);
     }
     //筛选map
     $activeMap = ['0' => '全部', '1' => '即将开始', '2' => '预定中', '3' => '已结束'];
     //游客和自己可以看的map是不同的
     if ($self) {
         //筛选参数处理
         $statusMap = ['0' => '全部', '2' => '待发布', '3' => '审核中', '4' => '发布中', '6' => '审核未通过'];
         $orderMap = ['0' => '全部', '1' => '最新发布', '2' => '支持最多', '3' => '最新更新'];
     } else {
         //筛选参数处理
         $statusMap = ['0' => '全部', '2' => '待发布'];
         $orderMap = ['0' => '默认', '1' => '最新发布', '2' => '支持最多', '3' => '最新更新'];
     }
     $params = [];
     $type = Yii::$app->request->get('type') ? Yii::$app->request->get('type') : 0;
     $type = intval($type);
     in_array($type, array_keys($statusMap)) ? $params['type'] = $type : ($params['type'] = 0);
     $stat = Yii::$app->request->get('stat') ? Yii::$app->request->get('stat') : 0;
     $stat = intval($stat);
     in_array($stat, array_keys($activeMap)) ? $params['stat'] = $stat : ($params['stat'] = 0);
     $order = Yii::$app->request->get('order') ? Yii::$app->request->get('order') : 0;
     $order = intval($order);
     in_array($order, array_keys($orderMap)) ? $params['order'] = $order : ($params['order'] = 0);
     $iProductBase = new IProductBase();
     $list = $iProductBase->choose($uid, $type, $stat, $order);
     //获取用户没有删除的产品总数
     $user['count'] = $iProductBase->hasCountByUid($uid);
     // print_r($user['count']);exit;
     //修该 $list便于模板展示
     //未填第二步发布信息,提示信息map
     $map = ['roles' => ['1' => '创始人', '2' => '合伙人', '3' => '分销推广代表', '4' => '投资人', '5' => '股东', '6' => '企业法人', '7' => '继承人', '8' => '投资人', '9' => '股东', '10' => '企业法人', '11' => '继承人'], 'ages' => ['1' => '0-15周岁', '10' => '16-30周岁', '100' => '30-60周岁', '1000' => '60周岁以上'], 'gender' => ['0' => '全部', '1' => '男', '2' => '女']];
     //活动map
     $activityBase = new ActivityBase();
     $activesMap = $activityBase->getActivityMap();
     //休整$list——便于显示
     //        print_r($list);exit;
     foreach ($list as $k => $v) {
         if ($v['status'] == IProductBase::STATUS_VERIFEND) {
             //产品都是发布成功的——状态为4
             //功能判断标志
             $rendMark = ['del' => 1, 'update' => 1, 'apply' => 1];
             //产品发布天数
             $days = floor((time() - $v['create_time']) / 86400);
             $list[$k]['days'] = $days;
             if (!empty($v['aproduct'])) {
                 //有活动
                 //到期时间——默认为true到期
                 $endTime = true;
                 //活动计数
                 $num = 0;
                 foreach ($v['aproduct'] as $ki => $vi) {
                     // print_r(!$self);exit;
                     //当游客看时 取出不合格的活动信息
                     if ($self) {
                         if ($vi['acti_id'] == ActivityBase::FANS_FESTIVAL) {
                             unset($list[$k]['aproduct'][$ki]);
                             continue;
                         }
                     } else {
                         if ($vi['acti_id'] == ActivityBase::FANS_FESTIVAL || $vi['status'] != ActivityProduct::STATUS_VERIFY_THROUGH) {
                             unset($list[$k]['aproduct'][$ki]);
                             continue;
                         }
                     }
                     $num++;
                     if ($vi['end_time'] > time()) {
                         $endTime = false;
                     }
                     //删除功能
                     if ($vi['status'] == ActivityProduct::STATUS_VERIFYING || $vi['status'] == ActivityProduct::STATUS_VERIFY_THROUGH) {
                         //审核中或有通过审核的
                         $rendMark['del'] = 0;
                     }
                     //编辑功能
                     if ($vi['status'] == ActivityProduct::STATUS_VERIFYING) {
                         $rendMark['update'] = 0;
                     }
                     //活动申请
                     if ($num == 4 || $vi['status'] == ActivityProduct::STATUS_VERIFYING || $vi['status'] == ActivityProduct::STATUS_VERIFY_NOTTHROUGH || $vi['status'] == ActivityProduct::STATUS_SAVE) {
                         $rendMark['apply'] = 0;
                     }
                     //状态显示
                     $map1 = ['flow' => '', 'now' => time()];
                     if ($vi['status'] == ActivityProduct::STATUS_SAVE) {
                         $map1['flow'] = '保存中';
                     } else {
                         if ($vi['status'] == ActivityProduct::STATUS_VERIFYING) {
                             $map1['flow'] = '审核中';
                         } else {
                             if ($vi['status'] == ActivityProduct::STATUS_VERIFY_NOTTHROUGH) {
                                 $map1['flow'] = '审核未通过';
                             } else {
                                 if ($vi['status'] == ActivityProduct::STATUS_VERIFY_THROUGH) {
                                     if (!empty($vi['start_time']) || !empty($vi['end_time'])) {
                                         $start = $vi['start_time'];
                                         $end = $vi['end_time'];
                                     } else {
                                         $start = $activesMap[$vi['acti_id']]['start_time'];
                                         $end = $activesMap[$vi['acti_id']]['end_time'];
                                     }
                                     // $start = $vi['start_time'];
                                     // $end = $vi['end_time'];
                                     $now = time();
                                     if ($now < $start) {
                                         $map1['flow'] = '即将开始';
                                     } else {
                                         if ($end > $now && $now >= $start) {
                                             $map1['flow'] = '进行中';
                                         } else {
                                             if ($now >= $end) {
                                                 $map1['flow'] = '已结束';
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                     $list[$k]['aproduct'][$ki]['map'] = $map1;
                     //页面只显示四个活动 多的数据清除掉
                     if ($num > 4) {
                         unset($list[$k]['aproduct'][$ki]);
                     }
                 }
                 if ($endTime) {
                     $rendMark['del'] = 1;
                 }
             }
             $list[$k]['rendMark'] = $rendMark;
         } else {
             if ($v['status'] == IProductBase::STATUS_FIRST || $v['status'] == IProductBase::STATUS_INVALID) {
                 //状态为5 只发布第一步 或状态为99 预览 显示信息拼凑
                 $list[$k]['apply_role'] = $map['roles'][$v['apply_role']];
                 $rand = str_split(str_pad($v['user_oriented_age'], 4, 0, STR_PAD_LEFT));
                 $ages = '';
                 $rand[3] ? $ages .= $map['ages']['1'] . ' 、' : ($ages = $ages);
                 $rand[2] ? $ages .= $map['ages']['10'] . ' 、' : ($ages = $ages);
                 $rand[1] ? $ages .= $map['ages']['100'] . ' 、' : ($ages = $ages);
                 $rand[0] ? $ages .= $map['ages']['1000'] . ' 、' : ($ages = $ages);
                 $list[$k]['user_oriented_age'] = trim($ages, '、');
                 $list[$k]['user_oriented_gender'] = $map['gender'][$v['user_oriented_gender']];
                 $iProductType = new IProductType();
                 $typeMap = $iProductType->getTypeMap();
                 $list[$k]['type'] = $typeMap[$v['type']];
             }
         }
     }
     // print_r($list);exit;
     // //活动map
     // $activityBase = new ActivityBase();
     // $activesMap = $activityBase->getActivityMap();
     // print_r($activesMap);exit;
     //调用个人中心的布局
     $this->layout = '@app/views/layouts/main.php';
     //        return $this->render(
     //            'index',
     //            [
     //                'list' => $list,
     //                'user' => $user,
     //                'self' => $self,
     //                'activesMap' => $activesMap
     //            ]
     //        );
     // print_r($list);exit;
     //user 数据添加
     $mMerberStat = new MemberStat();
     $user['stat'] = $mMerberStat->getByUid($uid);
     // print_r($list);exit;
     $refresh = isset($_GET['pid']) ? $_GET['pid'] : '';
     return $this->render('homepage', ['user' => $user, 'self' => $self, 'list' => $list, 'params' => $params, 'statusMap' => $statusMap, 'orderMap' => $orderMap, 'activesMap' => $activesMap, 'activeMap' => $activeMap, 'refresh' => $refresh]);
 }
コード例 #10
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');
         //跳转到完善信息
     }
 }
コード例 #11
0
 public function Apstat()
 {
     $re = IProductBase::find()->with('aproduct')->with('apstat')->where(['id' => 38])->asArray()->one();
     echo "string";
     print_r($re);
 }
コード例 #12
0
 /**
  * @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]);
 }
コード例 #13
0
ファイル: PageController.php プロジェクト: songhongyu/idaiyan
 /**
  * 推荐产品管理页面
  */
 public function actionRecommend()
 {
     //菜单权限检测
     Yii::$app->util->adminAuth() ? '' : $this->redirect('/admin/login');
     $params = Yii::$app->request->get();
     $params = array_map('trim', $params);
     $params = array_map('intval', $params);
     $mIProductBase = new IProductBase();
     $options = ['page' => isset($params['page']) ? $params['page'] : 1, 'time_status' => isset($params['time_status']) ? $params['time_status'] : 0, 'type' => isset($params['type']) ? $params['type'] : 0, 'order_by' => isset($params['order_by']) ? $params['order_by'] : 0];
     $products = $mIProductBase->search($options, false);
     $pages = new Pagination(['totalCount' => $products->count(), 'pageSize' => IProductBase::PAGE_SIZE]);
     $products = $products->asArray()->all();
     //推荐新品数据
     $mPageCustomBlock = new PageCustomBlock();
     $data = $mPageCustomBlock->block(['customId' => 'product_list_products', 'page' => 1]);
     $data = $data->asArray()->all();
     // $ids = ArrayHelper::getColumn($data, 'id');
     // print_r($ids);
     // print_r($data);exit;
     // $data = ArrayHelper::multisort($data, 'id', $ids);
     // print_r($data);exit;
     //产品分类map
     $mIProductType = new IProductType();
     $typeMap = $mIProductType->getTypeMap();
     return $this->render('recommend', ['pages' => $pages, 'products' => $products, 'options' => $options, 'data' => $data, 'type' => $typeMap]);
 }
コード例 #14
0
 /**
  * 检测专业字段图片是否存在
  * @return  [description]
  */
 protected function check()
 {
     $thumb = true;
     //是否有相应缩略图
     $attribute = "album_new";
     //检测字段 空行不检测
     //检测model
     $arr1 = $model = IProductBase::find()->where($attribute . " != :string", [':string' => ""])->all();
     foreach ($arr1 as $k => $v) {
         $real = Yii::getAlias("@frontend/web/" . $v[$attribute]);
         $real = str_replace("\\", "/", $real);
         $orange = $real . ".jpg";
         if (file_exists($orange)) {
             $row = $v['id'] . "--图片存在";
         } else {
             $row = $v['id'] . "--|不存在该图片|--" . $v[$attribute];
         }
         if ($thumb) {
             $thumbPath = $real . ".thumb_312x196.jpg";
             if (file_exists($thumbPath)) {
                 $row .= "--缩略图yes--";
             } else {
                 $row .= "--缩略图no--";
             }
         }
         echo $row . "\n";
     }
 }
コード例 #15
0
ファイル: Member.php プロジェクト: songhongyu/idaiyan
 /**
  * 获取分页数据  ----暂未使用,
  *
  * @param int $pager 当前页
  * @param boolean $isExecute 是否执行查询
  *
  * @return ActiveRecord
  */
 public function getFounderPage($pager = 1, $isExecute = true)
 {
     $result;
     //查询审核通过的产品的用户uid集合
     $puids = IProductBase::find()->select('uid')->distinct()->where('uid > 0 and status=' . IProductBase::STATUS_VERIFEND)->asArray()->all();
     foreach ($puids as $key => $value) {
         $ids[] = $value['uid'];
     }
     if (empty($ids) || !is_array($ids)) {
         return $result;
     }
     $startnum = ($pager - 1) * self::PAGE_SIZE;
     $result = self::find()->select(['uid', 'username', 'nickname', 'truename', 'avatar', 'province', 'city', 'update_at'])->where(['uid' => $puids, 'is_del' => self::STATUS_MEMBERIS_DEL])->with(['iproduct' => function ($query) {
         return $query->select(['id', 'title', 'album', 'uid'])->where(['status' => IProductBase::STATUS_VERIFEND])->orderBy(['update_time' => SORT_DESC]);
     }])->with(['memberstar' => function ($query) {
         return $query->select(['uid', 'follow_num', 'pfollow_allnum']);
     }])->with(['province' => function ($query) {
         return $query->select(['id', 'name']);
     }])->with(['city' => function ($query) {
         return $query->select(['id', 'name']);
     }])->offset($startnum)->limit(self::PAGE_SIZE)->orderBy(['uid' => SORT_DESC]);
     if ($isExecute == true) {
         $result = $result->asArray()->all();
     }
     return $result;
 }
コード例 #16
0
 /**
  * 解析产品列表页推荐产品数据
  *
  * @param string $data 产品数据
  *  - DataFormat: JSON-String
  * @return array
  */
 protected function _parseProductListProducts($data, $options)
 {
     $result = [];
     $data = json_decode($data, true);
     $mProduct = new IProductBase();
     $startNum = ($options['page'] - 1) * IProductBase::PAGE_SIZE;
     if ($startNum > count($data)) {
         $page = intval(count($data) / IProductBase::PAGE_SIZE) + 1;
     } else {
         $page = $options['page'];
     }
     if ($data) {
         $result = $mProduct->getByIds($data, $page);
     }
     return $result;
 }
コード例 #17
0
 /**
  * [中国好产品活动宣传主题页 查询该用户的可以参加中国好产品活动的产品的接口]
  * @param  [int] $uid [用户id]
  * @return [json_encode]
  * 本地地址:http://www.idaiyan-website.cn/index.php?r=special-topic/applygoodproduct
  * 线上地址:http://test.idaiyan.cn/special-topic/applygoodproduct
  */
 public function actionApplygoodproduct()
 {
     $user = Yii::$app->util->isLogin();
     //判断是否登陆
     if (!$user) {
         echo Yii::$app->util->formatResEncode('1000', 'no login!');
         exit;
     }
     $uid = $user['uid'];
     $models = new IProductBase();
     $res = $models->myProducts($uid);
     //创建一个新数组$new,新数组以元素组的 id 为索引
     $new = array();
     foreach ($res as $key => $value) {
         $new[$value['id']]['id'] = $value['id'];
         $new[$value['id']]['name'] = $value['name'];
         if ($value['album']) {
             $new[$value['id']]['album'] = $value['album'] . ProductImage::THUMB_POSTFIX;
         } else {
             $new[$value['id']]['album'] = '';
         }
     }
     $mactivitypdt = new ActivityProduct();
     foreach ($new as $key => $value) {
         $res2 = $mactivitypdt->getActivityProduct($value['id']);
         $status = 1;
         foreach ($res2 as $key => $val) {
             // if (($val['status'] == ActivityProduct::STATUS_SAVE && $val['acti_id'] != ActivityBase::GOOD_PRODUCT) ||
             //     ($val['status'] == ActivityProduct::STATUS_VERIFYING && $val['acti_id'] != ActivityBase::GOOD_PRODUCT)) {
             //     if ($status == 1) {
             //         $status = false;
             //     }
             //     if ($status == true) {
             //         $status = true;
             //     } else {
             //        $status = false;
             //     }
             // }
             // if ($val['acti_id'] == ActivityBase::GOOD_PRODUCT && $val['status'] != ActivityProduct::STATUS_VERIFYING) {
             //     $status = true;
             // } else if ($val['acti_id'] == ActivityBase::GOOD_PRODUCT){
             //     var_dump($val['status']);
             //     $status = false;
             // }
             if ($val['acti_id'] != ActivityBase::GOOD_PRODUCT) {
                 if ($val['status'] == ActivityProduct::STATUS_SAVE || $val['status'] == ActivityProduct::STATUS_VERIFYING || $val['status'] == ActivityProduct::STATUS_VERIFY_NOTTHROUGH) {
                     if ($status == 1) {
                         $status = false;
                     }
                     if ($status == true) {
                         $status = true;
                     } else {
                         $status = false;
                     }
                 } else {
                     if ($status == 1) {
                         $status = true;
                     }
                     if ($status == false) {
                         $status = false;
                     } else {
                         $status = true;
                     }
                 }
             } else {
                 if ($val['acti_id'] == ActivityBase::GOOD_PRODUCT && $val['status'] != ActivityProduct::STATUS_VERIFYING) {
                     $status = true;
                 } else {
                     $status = false;
                 }
             }
         }
         if ($status == 1) {
             $status = true;
         }
         if ($status == false) {
             unset($new[$val['product_id']]);
         }
     }
     if ($new) {
         //成功返回产品信息 <!--如果有产品-->
         $str = '<div class="activity-product-choose">';
         $str .= '<div class="title">选择一款产品参与<span>中国好产品</span>活动</div>';
         $str .= '<form action="/goodproduct/good-product" method="GET">';
         $str .= '<div class="input-wrap">';
         $str .= '<select name="pid" class="product" id="product_id">';
         foreach ($new as $key => $val) {
             $str .= '<option value=' . $val['id'] . '>' . $val['name'] . '</option>';
         }
         $str .= '</select>';
         $str .= '<input type="hidden" name = "aid" value = "9">';
         $str .= '<button class="continue bluebtn">继续</button>';
         $str .= '</div>';
         $str .= '</form>';
         $str .= '<div class="tips">无法确认这款产品?可以去<a href="#">产品详情页</a>确认详细内容。</div>';
         $str .= '</div>';
         echo '{"code":"1001","msg":"applygoodproduct!","data":"' . addslashes($str) . '"}';
         // echo "{code:'1001','apply365days!',$str}";
         exit;
     } else {
         $str = '<div class="activity-product-choose no-product">';
         $str .= '<div class="title">您没有能参加此活动的产品,现在就去发布吧</div>';
         $str .= '<a class="publish bluebtn" href="/product/create">发布代言</a>';
         $str .= '</div>';
         echo '{"code":"1002","msg":"applygoodproduct!","data":"' . addslashes($str) . '"}';
         // echo "{code:'1001','apply365days!',$str}";
         exit;
     }
 }
コード例 #18
0
ファイル: DemoController.php プロジェクト: songhongyu/idaiyan
 public function actionSrch()
 {
     $mProduct = new IProductBase();
     $mProduct->search(['type' => 0, 'page' => 1, 'time_status' => 0]);
 }
コード例 #19
0
 /**
  * @author shimeixia <*****@*****.**>
  * @param $pid 产品id
  * @param $aid 活动id
  *
  * @return
  */
 public function actionApplybaiyingDiy()
 {
     $user = PublicLibrary::is_login() ? PublicLibrary::is_login() : $this->redirect(['user/login']);
     $parr = Yii::$app->request->get();
     $pid = isset($parr['pid']) ? intval($parr['pid']) : '';
     $aid = intval(ActivityBase::APPLY_BAIYING);
     if (empty($pid) || empty($aid)) {
         return $this->redirect(['home-page/lists', 'uid' => $user['uid']]);
         //跳转到完善信息
     }
     //判断是否存在该活动
     $mActiBase = new ActivityBase();
     $activity = $mActiBase->pk($aid);
     if (!$activity) {
         return $this->redirect(['home-page/lists', 'uid' => $user['uid']]);
         //跳转到用户主页
     }
     //查询是不是该用户发布的产品
     $model = new IProductBase();
     $res = $model->isMyProduct($user['uid'], $pid);
     if (!$res) {
         return $this->redirect(['home-page/lists', 'uid' => $user['uid']]);
         //跳转到用户主页
     }
     //$session->set('acti_config', $activity['config']);
     //查询该商品有没有参加过该活动
     $mactivitypdt = new ActivityProduct();
     $one = $mactivitypdt->isinActivity($user['uid'], $aid, $pid);
     //$one = $mactivitypdt ->applyWay($user['uid'],$aid,$pid,0);
     // echo '<pre>';
     // var_dump($one);die;
     //活动属性map
     $mArag = new ActivityRelAttrGroup();
     $attrMap = $mArag->getAttrMapping($aid);
     if (!$one) {
         //入库
         $apdata = ['product_id' => $pid, 'acti_id' => $aid, 'user_id' => $user['uid'], 'status' => ActivityProduct::STATUS_SAVE, 'apply_way' => 0];
         $rel_id = $mactivitypdt->store($apdata);
         //插入到活动产品统计表
         $apstart = new ActivityProductStat();
         $data = ['rel_id' => $rel_id, 'acti_id' => $aid, 'product_id' => $pid];
         $apstart->store($data);
     } else {
         // //判断是否是官方申请
         // $model = $mactivitypdt->pk($one['id']);
         // $model->apply_way == 1 ? '' : $this->redirect(['home-page/lists', 'uid' => $user['uid']]);
         $rel_id = $one['id'];
         if ($one['apply_way'] == 1) {
             $apdata = ['id' => $rel_id, 'apply_way' => 0];
             $mactivitypdt->store($apdata);
         }
         if ($one['status'] == ActivityProduct::STATUS_VERIFYING) {
             //审核中
             return $this->redirect(['home-page/lists', 'uid' => $_SESSION['user']['uid']]);
             //跳转到完善信息
         } else {
             $ActivityProductAttrVal = new ActivityProductAttrVal();
             $attrval = $ActivityProductAttrVal->getRealAttrVals($rel_id, $aid);
             $attrval = array_merge($attrMap, $attrval);
             // echo '<pre>';
             // print_r($attrval);
             if (isset($attrval['album']['val']) && is_array($attrval['album']['val'])) {
                 foreach ($attrval['album']['val'] as $key => $value) {
                     if ($value['type'] == ProductImage::TYPE_CATIONFIRST) {
                         $fourpimag[] = $value;
                     }
                     if ($value['type'] == ProductImage::TYPE_CATIONINDE) {
                         $fivepimag[] = $value;
                     }
                 }
             }
         }
     }
     //查询左侧菜单
     $ActivityAttrGroup = new ActivityAttrGroup();
     $menu = $ActivityAttrGroup->getCompleteStatus($rel_id);
     //echo '<pre>';
     //print_r($attrval);
     // exit;
     $this->layout_data = 'uc';
     return $this->render('applybaiyingdiy', ['price' => $res[0]['price'], 'attrs' => isset($attrval) ? $attrval : '', 'pid' => $pid, 'rel_id' => $rel_id, 'menu' => $menu, 'attrMap' => $attrMap]);
 }
コード例 #20
0
ファイル: MemberStat.php プロジェクト: songhongyu/idaiyan
 /**
  * 定义与IProductBase的关联关系
  */
 public function getIproduct()
 {
     return $this->hasMany(IProductBase::className(), ['uid' => 'uid']);
 }
コード例 #21
0
 /**
  * 活动产品关联搜索
  * @param  array  $options 搜索条件
  * [
  *     'page' => '页码',
  *     'product_name' => '产品名',
  *     'user_name' => '发布人姓名',
  *     'nickname' => '发布人昵称',
  *     'mobile' => '电话',
  *     'status' => '活动状态',
  *     'activity' => '活动',
  * ]
  * @return [type]          [description]
  */
 public function search($options = [])
 {
     $df = ['page' => 1, 'product_name' => '', 'user_name' => '', 'nickname' => '', 'mobile' => '', 'status' => 0, 'activity' => 0];
     $options = array_merge($df, $options);
     $statusFields = [self::STATUS_SAVE, self::STATUS_VERIFYING, self::STATUS_VERIFY_THROUGH, self::STATUS_VERIFY_NOTTHROUGH];
     $activitiesFields = ['7' => '365', '8' => '一呼百应', '9' => '中国好产品'];
     $activitiesFields = array_keys($activitiesFields);
     $options['status'] = in_array($options['status'], $statusFields) ? $options['status'] : 0;
     $options['activity'] = in_array($options['activity'], $activitiesFields) ? $options['activity'] : 0;
     $choose = [self::tableName() . '.status ' => $options['status'], self::tableName() . '.acti_id ' => $options['activity']];
     $choose = array_filter($choose);
     $offset = ($options['page'] - 1) * self::ACT_PAGESIZE;
     $data = self::find()->joinWith(['member' => function ($query) {
         $query->select([Member::tableName() . '.uid', Member::tableName() . '.truename', Member::tableName() . '.nickname', Member::tableName() . '.mobile', Member::tableName() . '.email']);
     }, 'activity' => function ($query) {
         $query->select([ActivityBase::tableName() . '.id', ActivityBase::tableName() . '.subject', ActivityBase::tableName() . '.summary']);
     }, 'product' => function ($query) {
         $query->select([IProductBase::tableName() . '.id', IProductBase::tableName() . '.name']);
     }])->where(self::tableName() . '.status != :del', [':del' => self::STATUS_INVALID])->andFilterWhere(['like', IProductBase::tableName() . '.name', $options['product_name']])->andFilterWhere(['like', Member::tableName() . '.truename', $options['user_name']])->andFilterWhere(['like', Member::tableName() . '.nickname', $options['nickname']])->andFilterWhere(['like', Member::tableName() . '.mobile', $options['mobile']])->andFilterWhere($choose)->offset($offset)->limit(self::ACT_PAGESIZE)->orderBy([self::tableName() . '.id' => SORT_DESC]);
     return $data;
 }
コード例 #22
0
 /**
  * 商品生成订单
  * @1.订单id orderno,
  * @提交地址:http://dev.idaiyan.cn/payment/finishpay?orderno=idy20150424163341192185
  * todo 仅仅可以通过某个链接过来。
  */
 public function actionFinishpay()
 {
     //开启缓存
     $session = Yii::$app->session;
     $session->isActive ? '' : $session->open();
     //判断用户有没有登录
     $user = PublicLibrary::is_login();
     if (!$user) {
         return $this->redirect(['product/index']);
         exit;
     }
     $uid = $_SESSION['user']['uid'];
     $parr = Yii::$app->request->get();
     if ($parr) {
         //接收传过来的数据
         $orderno = isset($parr['orderno']) ? strip_tags($parr['orderno']) : '';
         $model_order = new Order();
         $res = $model_order->getByOrderNo($orderno, $uid);
         if (!$res) {
             return $this->redirect(['product/index']);
             exit;
         }
         //支付成功的话跳转到个人中心
         if ($res['ispay']) {
             return $this->redirect(['ucenter/my-order']);
             exit;
         }
         $rel_id = $res['rel_id'];
         $nums = $res['nums'];
         $totalpay = $res['totalpay'];
         $truename = $res['truename'];
         $address = $res['address'];
         $mobile = $res['mobile'];
         $province = $res['province'];
         $city = $res['city'];
         $location = $province . ',' . $city;
         /*
             通过rel_id 查询产品相关的信息
         */
         $pmodel = new ActivityProduct();
         // $product = $pmodel->pk(33104);//33104
         $product = $pmodel->pk($rel_id);
         //33104
         $product_id = $product['product_id'];
         $acti_id = $product['acti_id'];
         $stock = $product['stock'];
         //库存
         //判断需求数和库存数
         if ($nums > $stock) {
             return $this->redirect(['product/index']);
             exit;
         }
         /*
             通过product_id 查询产品相关的信息
         */
         $pmodel = new IProductBase();
         $pres = $pmodel->pk($product_id);
         $name = isset($pres['name']) ? strip_tags($pres['name']) : '';
         //产品名称
         $relpay = $totalpay * 100;
         //价格换算
         $native = Yii::$app->util->weixinnative(1, $name, $orderno);
         //支付宝生成二维码
         $params = ['out_trade_no' => $orderno, 'subject' => $name, 'total_fee' => 0.01, 'body' => $name, 'show_url' => Yii::$app->params['idaiyan'] . '/product/view?id=' . $product_id];
         $formHtml = Yii::$app->alipay->form($params);
         $qrCodeHtml = Yii::$app->alipay->qrcode($params);
         return $this->render('order', ['orderno' => $orderno, 'totalpay' => $totalpay, 'address' => $address, 'location' => $location, 'mobile' => $mobile, 'truename' => $truename, 'native' => $native, 'formHtml' => $formHtml, 'qrCodeHtml' => $qrCodeHtml]);
     } else {
         echo '该页面已经过期啦!';
         exit;
     }
 }