/** * 发货提醒 * @author Hanxiang * @param $order * @return bool */ public function sendDeliveredMsg($order) { $wxUser = Buyer::find($order->buyer_id)->wxUser; $this->_deliverData['touser'] = $wxUser->openid; $this->_deliverData['template_id'] = Config::get('weixin.template_id.deliver'); $this->_deliverData['url'] = sprintf(Config::get('app.kuaidi100'), $order->express_number); $this->_deliverData['data']['keyword1']['value'] = $order->order_number; // 订单号 $this->_deliverData['data']['keyword2']['value'] = Express::find($order->express_id)->name; // 快递公司 $this->_deliverData['data']['keyword3']['value'] = $order->express_number; // 物流单号 $this->_sendTplMsg($this->_deliverData); return true; }
/** * 订单发货操作 * @author Hanxiang * @param $orderNumber * @param $express_id * @param $express_num * @return array */ public function deliver($orderNumber, $express_id, $express_num) { $order = Order::where('order_number', $orderNumber)->first(); if (!count($order)) { return ['r' => false, 'msg' => '订单不存在']; } $express = Express::find($express_id); if (!$express) { return ['r' => false, 'msg' => '快递参数错误']; } $order->express_id = $express_id; $order->express_number = $express_num; $order->deliver_status = Order::DELIVER_STATUS_YES; $order->status = Order::STATUS_TO_RECEIVE; $order->save(); return ['r' => true, 'msg' => '操作成功']; }
/** * 订单详情 * @author Hanxiang * @param $number 订单号 * @return view */ public function detail($number) { $order = Order::where('order_number', $number)->first(); if (count($order) == 0) { abort(404); } // Buyer Info $buyer = Buyer::find($order->buyer_id); if (count($buyer) == 0) { $buyer = new \stdClass(); //TODO $wxUser = new \stdClass(); //TODO } else { $wxUser = $buyer->wxUser; } $total = 0; $quantity = 0; $orderItems = OrderItem::where('order_id', $order->id)->get(); foreach ($orderItems as $oi) { $total += $oi->item_total; $quantity += $oi->quantity; $supplier = Item::find($oi->item_id)->supplier; $oi->supplier = $supplier; } $order->totalPrice = $total; $order->totalQuantity = $quantity; $expresses = Express::where('status', 1)->orderBy('sort')->get(); $express = Express::find($order->express_id); if (count($express) == 0) { $express = new \stdClass(); $express->name = ''; } $order->expressObj = $express; $commission = $order->commission; if (!$commission) { $commission = new \stdClass(); $commission->amount = 0; $order->commission = $commission; } return view('admin.orders.detail')->with('order', $order)->with('buyer', $buyer)->with('wxUser', $wxUser)->with('orderItems', $orderItems)->with('expresses', $expresses); }