コード例 #1
0
ファイル: class.Order.php プロジェクト: GavinLai/SimMatch
 /**
  * 取消订单
  *
  * @param integer $order_id
  * @return boolean
  */
 static function cancel($order_id)
 {
     if (!$order_id) {
         return false;
     }
     D()->update(ectable('order_info'), ['order_status' => OS_CANCELED], ['order_id' => $order_id], true);
     if (D()->affected_rows() == 1) {
         //还要将对应的库存加回去
         $order_goods = Goods::getOrderGoods($order_id);
         if (!empty($order_goods)) {
             foreach ($order_goods as $g) {
                 Goods::changeGoodsStock($g['goods_id'], $g['goods_number']);
             }
         }
         //写order_action的日志
         self::order_action_log($order_id, ['action_note' => '用户取消']);
         return true;
     }
     return false;
 }
コード例 #2
0
 /**
  * tips页显示
  * @param Request $request
  * @param Response $response
  */
 public function order_topay(Request $request, Response $response)
 {
     if ($request->is_post()) {
         global $user;
         if (!$user->uid) {
             Fn::show_error_message('未登录,请先登录');
         }
         $this->v = new PageView('', 'topay');
         $pay_mode = $request->post('pay_mode', 'wxpay');
         //默认微信支付
         $order_id = $request->post('order_id', 0);
         $back_url = $request->post('back_url', '');
         $supported_paymode = ['wxpay' => '微信安全支付', 'alipay' => '支付宝支付'];
         if (!in_array($pay_mode, array_keys($supported_paymode))) {
             Fn::show_error_message('不支持该支付方式: ' . $pay_mode);
         }
         if (!$order_id) {
             Fn::show_error_message('订单为空');
         }
         $order_info = Order::info($order_id);
         if (empty($order_info)) {
             Fn::show_error_message('订单不存在');
         } else {
             $order_info['order_goods'] = Goods::getOrderGoods($order_info['order_id']);
             if (empty($order_info['order_goods'])) {
                 Fn::show_error_message('订单下没有对应商品');
             }
         }
         if ('wxpay' == $pay_mode) {
             $jsApiParams = Wxpay::unifiedOrder($order_info, $user->openid);
             $this->v->assign('jsApiParams', $jsApiParams);
         }
         $this->v->assign('pay_mode', $pay_mode);
         $this->v->assign('supported_paymode', $supported_paymode);
         $this->v->assign('back_url', $back_url);
         $response->send($this->v);
     } else {
         Fn::show_error_message('非法访问');
     }
 }