예제 #1
0
파일: Order.php 프로젝트: guohao214/xinya
 /**
  * 订单支付
  * @param $orderNo
  */
 public function pay($orderNo)
 {
     // 是否授权
     $openId = (new WeixinUtil())->getOpenId();
     if (!$openId) {
         $this->message('错误的授权!');
     }
     // 获得订单信息
     $where = array('order_no' => $orderNo, 'open_id' => $openId);
     $orders = (new OrderModel())->getOrder($where, OrderModel::ORDER_NOT_PAY);
     if (!$orders) {
         $this->message('订单不存在!');
     }
     if (!isset($orders[0])) {
         $this->message('订单不存在!');
     }
     // 如果有多条, 获得第一条的订单记录
     $order = array_shift($orders);
     if ($order['order_status'] == OrderModel::ORDER_PAYED) {
         $this->message('订单已经支付!');
     }
     // 订单时间, 2个小时过期
     if (!DateUtil::orderIsValidDate($order['create_time'])) {
         $this->message('订单已经过期!');
     }
     // 判断相同的时间是否已经被预约
     $findHasPayedAppointTimeWhere = array('appointment_day' => $order['appointment_day'], 'appointment_start_time' => $order['appointment_start_time'], 'order_status' => OrderModel::ORDER_PAYED, 'beautician_id' => $order['beautician_id']);
     $findOrder = (new CurdUtil(new OrderModel()))->readOne($findHasPayedAppointTimeWhere);
     if ($findOrder) {
         $this->message('由于您未能及时付款,此时间段已被预约!');
     }
     // 获得预付款ID
     $weixinPay = new WeixinPayUtil();
     $prePayId = $weixinPay->fetchPrepayId($openId, '购买不期而遇美容产品', $orderNo, $order['total_fee']);
     LogUtil::weixinLog('预付款ID:', $prePayId);
     if (!$prePayId) {
         $this->message('获得微信预付款ID失败,请重试!');
     }
     //生成支付参数
     $payParams = $weixinPay->getParameters($prePayId);
     LogUtil::weixinLog('支付参数:', $payParams);
     $shops = (new ShopModel())->getAllShops();
     $shop = $shops[$order['shop_id']];
     $this->view('order/pay', array('order' => $order, 'payParams' => $payParams, 'shop' => $shop));
 }
예제 #2
0
파일: order.php 프로젝트: guohao214/xinya
                    <dd>
                        <?php 
        if ($order['order_sign'] == OrderModel::ORDER_NOT_PAY && DateUtil::orderIsValidDate($order['create_time'])) {
            ?>
                            <a class="colorW"
                               href="<?php 
            echo UrlUtil::createUrl('order/pay/' . $order['order_no']);
            ?>
">去支付</a>
                            <a class="colorW cancel-order" data-val="<?php 
            echo $order['order_id'];
            ?>
"
                               style="margin-left: 15px;">取消订单</a>
                        <?php 
        } elseif ($order['order_sign'] == OrderModel::ORDER_NOT_PAY && !DateUtil::orderIsValidDate($order['create_time'])) {
            ?>
                            <a class="order-expire">订单已过期</a>
                        <?php 
        } elseif ($order['order_sign'] == OrderModel::ORDER_CANCEL) {
            ?>
                            <a class="order-expire">订单已取消</a>
                        <?php 
        } elseif ($order['order_sign'] == OrderModel::ORDER_PAYED) {
            ?>
                            <a class="order-payed">已支付</a>
                        <?php 
        } else {
            ?>
                        <?php 
        }