/** * 产品详情页 * * @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 : '']); } }
/** * 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; }
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); }
/** * 定义与product_base的关联关系 * */ public function getProduct() { return $this->hasOne(IProductBase::className(), ['id' => 'product_id']); }
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; } }
/** * @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]); }
/** * [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.'); } }
public function actionQuery() { $query = IProductBase::find()->andFilterWhere(['id' => 2, 'type' => '1'])->all(); print_r($query); }
/** * 用户产品列表 * * 个人中心产品列表显示 * * @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]); }
/** * 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 Apstat() { $re = IProductBase::find()->with('aproduct')->with('apstat')->where(['id' => 38])->asArray()->one(); echo "string"; print_r($re); }
/** * @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]); }
/** * 推荐产品管理页面 */ 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]); }
/** * 检测专业字段图片是否存在 * @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"; } }
/** * 获取分页数据 ----暂未使用, * * @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; }
/** * 解析产品列表页推荐产品数据 * * @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; }
/** * [中国好产品活动宣传主题页 查询该用户的可以参加中国好产品活动的产品的接口] * @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; } }
public function actionSrch() { $mProduct = new IProductBase(); $mProduct->search(['type' => 0, 'page' => 1, 'time_status' => 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]); }
/** * 定义与IProductBase的关联关系 */ public function getIproduct() { return $this->hasMany(IProductBase::className(), ['uid' => 'uid']); }
/** * 活动产品关联搜索 * @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; }
/** * 商品生成订单 * @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; } }