public function getTakeorder(Request $request, $shop_id, $offer_id, $product_amount) { $user = $request->user(); $business = Business::apiFind($shop_id); $offer = Offer::apiFind($shop_id, $offer_id); $coupon_id = $request->input('coupon_id'); $item = Order::item($offer_id, $product_amount); $check = Offer::apiCheck($item, $shop_id, $coupon_id); $mobile = $request->input('mobile'); $touch = $request->input('touch'); $sex = $request->input('sex'); $url = '/business/takeorder/' . $shop_id . '/' . $offer_id . '/' . $product_amount . '?mobile=' . $mobile . '&touch=' . $touch . '&sex=' . $sex; session(['url' => $url]); return view('auth.business.takeorder', ['TITLE' => '下单', 'META_KEYWORDS' => META_KEYWORDS, 'META_DESC' => META_DESC, 'PAGE_CODE' => 'auth.business.takeorder', 'user' => $user, 'business' => $business, 'offer' => $offer, 'check' => $check, 'product_amount' => $product_amount, 'mobile' => $mobile, 'touch' => $touch, 'sex' => $sex, 'coupon_id' => $coupon_id, 'url' => $url]); }
public function postAddoffer(request $request) { $user = $request->user(); $offer_id = $request->input('offer_id'); $product_amount = $request->input('product_amount'); $item = Order::item($offer_id, $product_amount); $shop_id = $request->input('shop_id'); $coupon_id = $request->input('coupon_id'); $mobile = $request->input('mobile'); $touch = $request->input('touch'); $sex = $request->input('sex'); $url = $request->input('url'); $response = Offer::apiCheck($item, $shop_id, $coupon_id); if ($response) { $params = ['item_id' => $shop_id, 'item' => $item, 'mobile' => $mobile, 'touch' => $touch, 'sex' => $sex]; if ($coupon_id) { $params['coupon_id'] = $coupon_id; } $order = Order::apiCreateZd($params); if (is_object($order)) { $business = new Business(env('WECHAT_APPID'), env('WECHAT_APPSECRET'), env('WECHAT_MCHID'), env('WECHAT_KEY')); $wxorder = new WxOrder(); $wxorder->body = $order->odrno; $wxorder->out_trade_no = $order->odrno; $wxorder->total_fee = $order->final * 100; // 单位为 “分”, 字符串类型 $wxorder->openid = $user->user_open_id; $wxorder->notify_url = API_PAY_CALLBACK_URL; $unifiedOrder = new UnifiedOrder($business, $wxorder); $payment = new Payment($unifiedOrder); $res = redirect('/pay')->with(['payment' => $payment, 'order' => $order, 'wxorder' => $wxorder, 'url' => $url, 'type' => 'ZD']); } else { $res = redirect()->back()->with('msgError', $order); } } else { $res = redirect()->back()->with('msgError', '订单信息错误'); } return $res; }