Esempio n. 1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Order::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['orderID' => $this->orderID, 'userID' => $this->userID, 'productID' => $this->productID, 'record' => $this->record]);
     return $dataProvider;
 }
Esempio n. 2
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Order::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     //        if (!$this->validate()) {
     //            // uncomment the following line if you do not want to return any records when validation fails
     //            // $query->where('0=1');
     //            return $dataProvider;
     //        }
     $query->andFilterWhere(['id' => $this->id, 'created_at' => $this->created_at, 'item_id' => $this->item_id]);
     $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'email', $this->email])->andFilterWhere(['like', 'tel', $this->tel])->andFilterWhere(['like', 'message', $this->message]);
     return $dataProvider;
 }
Esempio n. 3
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Order::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['order_id' => $this->order_id, 'order_created_date' => $this->order_created_date, 'user_id' => $this->user_id, 'product_id' => $this->product_id, 'product_quantity' => $this->product_quantity]);
     $query->andFilterWhere(['like', 'product_name', $this->product_name]);
     return $dataProvider;
 }
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $uid = Yii::$app->user->identity->id;
     $query = Order::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['user_id' => $uid, 'product_id' => $this->product_id, 'id' => $this->id]);
     $query->andFilterWhere(['like', 'username', $this->username])->andFilterWhere(['like', 'qty', $this->qty])->andFilterWhere(['like', 'date', $this->date])->andFilterWhere(['like', 'Status', $this->Status]);
     return $dataProvider;
 }
			<?php 
$index_vip = "vorder";
echo $this->render(FVariable::$layoutVipmenu_view, ['index_vip' => $index_vip]);
?>
		</div>
		<div class="vipcon-right">
			<div class="order cl">
			    <div class="order-head">
					<?php 
$order_vip = "ordercancel";
$userId = Yii::$app->session->get(FVariable::$session_userId_str);
$orderIndex = \frontend\models\Order::find()->where(array('userID' => $userId))->all();
$orderStay = \frontend\models\Order::find()->where(array('userID' => $userId, 'orderStatus' => GlobalArray::$orderStateConstantArray['waitPay']))->all();
$orderFinish = \frontend\models\Order::find()->where(array('userID' => $userId, 'orderStatus' => GlobalArray::$orderStateConstantArray['completed']))->all();
$orderEvaluate = \frontend\models\Order::find()->where(array('userID' => $userId, 'orderStatus' => GlobalArray::$orderStateConstantArray['waitEvaluate']))->all();
$orderCancel = \frontend\models\Order::find()->where(array('userID' => $userId, 'orderStatus' => GlobalArray::$orderStateConstantArray['hasCancel']))->all();
echo $this->render(FVariable::$layoutVipordermenu_view, ['order_vip' => $order_vip, 'orderIndex' => $orderIndex, 'orderStay' => $orderStay, 'orderFinish' => $orderFinish, 'orderEvaluate' => $orderEvaluate, 'orderCancel' => $orderCancel]);
?>
			    </div>
			    
			    <div class="order-con">
					<ul>
						<?php 
foreach ($orderCanceled as $k => $v) {
    echo "<li>";
    echo "<div class='order-con-head'>";
    echo "<span class='ord-number'>订单号:<b>" . $v->orderNo . "</b></span>";
    echo "<span class='ord-times'>" . $v->orderTime . "</span>";
    echo "</div>";
    echo "<div class='order-sub-con'>";
    echo "<div class='sub-con-list'>";
 public function actionJspay()
 {
     // echo "string";
     //使用jsapi接口
     $jsApi = new \JsApi_pub();
     //如果是直接include过来的要在new 的类名前面加一个 反斜杠 \ 才可以 解析
     $form = Yii::$app->request->get();
     //获取地址栏中get过来的信息
     if (!empty($form['id'])) {
         $id = $form['id'];
     }
     //=========步骤1:网页授权获取用户openid============
     //通过code获得openid
     if (!isset($_GET['code'])) {
         //触发微信返回code码
         $redirect_uri = urlencode(\WxPayConf_pub::JS_API_CALL_URL);
         $url = $jsApi->createOauthUrlForCode($redirect_uri, $id);
         // echo $url;exit;
         return $this->redirect($url);
         //用yii自带的跳转
         // Header("Location: $url"); //这里不会跳转,用yii自带的跳转
     } else {
         //获取code码,以获取openid
         $code = $_GET['code'];
         $jsApi->setCode($code);
         $session = Yii::$app->session;
         $session->isActive ? '' : $session->open();
         if (!empty($_SESSION['pay']['openid'])) {
             $openid = $_SESSION['pay']['openid'];
         } else {
             $openid = $jsApi->getOpenId();
             $_SESSION['pay']['openid'] = $openid;
         }
         $form = Yii::$app->request->get();
         $id = intval($form['state']);
         // echo $id.'h';//测试回掉id成功
     }
     /* 通过id获取订单信息 */
     $orderBase = Order::find()->where(['id' => $id])->asArray()->one();
     $price = $orderBase['totalpay'] * 100;
     //价格
     $mobile = $orderBase['mobile'];
     $truename = $orderBase['truename'];
     $address = $orderBase['address'];
     $out_trade_no = $orderBase['orderno'];
     // echo $price.'<br />';
     // echo $address.'<br />';
     // echo $truename.'<br />';
     // echo $out_trade_no.'<br />';
     // exit;
     //=========步骤2:使用统一支付接口,获取prepay_id============
     //使用统一支付接口
     $unifiedOrder = new \UnifiedOrder_pub();
     //设置统一支付接口参数
     //设置必填参数
     //appid已填,商户无需重复填写
     //mch_id已填,商户无需重复填写
     //noncestr已填,商户无需重复填写
     //spbill_create_ip已填,商户无需重复填写
     //sign已填,商户无需重复填写
     $unifiedOrder->setParameter("openid", "{$openid}");
     //商品描述
     $unifiedOrder->setParameter("body", "365活动");
     //商品描述
     //自定义订单号,此处仅作举例
     $timeStamp = time();
     // $out_trade_no = \WxPayConf_pub::APPID."$timeStamp";
     // echo $out_trade_no;
     // $out_trade_no = $out_trade_no;
     $unifiedOrder->setParameter("out_trade_no", "{$out_trade_no}");
     //商户订单号 此处变量要用大括号阔起来
     $unifiedOrder->setParameter("total_fee", "{$price}");
     //总金额
     $unifiedOrder->setParameter("notify_url", \WxPayConf_pub::NOTIFY_URL);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "JSAPI");
     //交易类型
     //非必填参数,商户可根据实际情况选填
     //$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号
     //$unifiedOrder->setParameter("device_info","XXXX");//设备号
     //$unifiedOrder->setParameter("attach","XXXX");//附加数据
     $unifiedOrder->setParameter("time_start", date('YmdHis'));
     //交易起始时间
     $time_expire = date("YmdHis", strtotime("+7 day"));
     $unifiedOrder->setParameter("time_expire", "{$time_expire}");
     //交易结束时间
     // $unifiedOrder->setParameter("time_expire",date('YmdHis'));//交易结束时间
     $unifiedOrder->setParameter("goods_tag", "红叶");
     //商品标记
     //$unifiedOrder->setParameter("openid","XXXX");//用户标识
     $unifiedOrder->setParameter("product_id", "0008");
     //商品ID
     // ECHO $openid.'--P1';
     $prepay_id = $unifiedOrder->getPrepayId();
     //=========步骤3:使用jsapi调起支付============
     $jsApi->setPrepayId($prepay_id);
     $jsApiParameters = $jsApi->getParameters();
     $this->layout = false;
     //调用个人中心的布局
     return $this->render('pay', ['jsApiParameters' => $jsApiParameters, 'relprice' => $orderBase['totalpay'], 'mobile' => $mobile, 'truename' => $truename, 'address' => $address, 'out_trade_no' => $out_trade_no]);
     //显示页面,同时把$jsApiParameters 发送至页面
 }
 public function actionVipordercancel()
 {
     $userId = Yii::$app->session->get(FVariable::$session_userId_str);
     if (!$userId) {
         return $this->redirect(FVariable::$siteLogin_view);
     }
     $pagination = new Pagination(['defaultPageSize' => 6, 'totalCount' => Order::find()->where(array('userID' => $userId, 'orderStatus' => GlobalArray::$orderStateConstantArray['hasCancel']))->count()]);
     $orderCanceled = Order::find()->where(array('userID' => $userId, 'orderStatus' => GlobalArray::$orderStateConstantArray['hasCancel']))->offset($pagination->offset)->limit($pagination->limit)->orderBy(['orderTime' => SORT_DESC])->all();
     return $this->render(FVariable::$userVipordercancel_view, ['orderCanceled' => $orderCanceled, 'pagination' => $pagination]);
 }
Esempio n. 8
0
 public function findOrderId($id, $userId, $orderStatus)
 {
     $OrderAll = Order::find()->where(array('id' => $id, 'userId' => $userId, 'orderStatus' => $orderStatus))->one();
     if (!$OrderAll) {
         return false;
     }
     return $OrderAll;
 }
Esempio n. 9
0
 public function actionRemoveFromCart()
 {
     if (Yii::$app->request->isAjax) {
         $prods = [];
         /* @var Order $model */
         $model = Order::find()->where(['user_id' => Yii::$app->user->id, 'status' => Order::STATUS_START])->one();
         if (empty($model)) {
             return 'not match product ;)';
         } else {
             $prods = unserialize($model->orders_details);
             foreach ($prods as $key => $value) {
                 if ($value == $_POST['productId']) {
                     unset($prods[$key]);
                 }
             }
             $model->orders_details = serialize($prods);
         }
         $model->sum = 50;
         if ($model->save()) {
             return 'removed' . Yii::$app->user->id;
         } else {
             return 'error';
         }
     } else {
         return 'not ajax request';
     }
 }
 /**
  * 用户支持产品和支付金额统计
  * Action AllSupportNumPrice
  */
 public function actionAllSupportNumPrice()
 {
     $i = 0;
     $mMemberStat = new MemberStat();
     $mOrder = new Order();
     do {
         $i++;
         $startnum = ($i - 1) * self::GROUP_NUMBER;
         $data = $mMemberStat->find()->select('uid')->offset($startnum)->limit(self::GROUP_NUMBER)->asArray()->all();
         foreach ($data as $key => $value) {
             $result = $mOrder->find()->select(['count(product_id) as num', 'sum(totalpay) as price'])->where(['uid' => $value['uid'], 'ispay' => self::PAY_SUCCESS, 'status' => self::ORDER_NORMAL])->asArray()->all();
             $price = floatval($result[0]['price']);
             $num = intval($result[0]['num']);
             $sql = "update `i_member_stat` set `support_num` = " . $num . ",`support_price` = " . $price . " where `uid` = " . $value['uid'];
             $q = Yii::$app->db->createCommand($sql)->execute();
             echo "uid = " . $value['uid'];
             echo ";";
             echo "support_num = " . $num . "\n";
             echo "uid = " . $value['uid'];
             echo ";";
             echo "support_price = " . $price . "\n";
         }
     } while ($data);
 }