Browse Source

增加抢单后检测

master
李可松 4 years ago
parent
commit
5c661ed17a
  1. 27
      app/Http/Controllers/GrabOrderController.php
  2. 17
      resources/views/web/grab_order.blade.php

27
app/Http/Controllers/GrabOrderController.php

@ -20,21 +20,26 @@ class GrabOrderController extends Controller
public function index(Request $request) public function index(Request $request)
{ {
try { try {
$user = $request->user();
$user = $request->session()->get('wechat_user');
$id = $request->route('id'); $id = $request->route('id');
$fields = ['id', 'order_num', 'refund_time', 'complete_time', 'money', 'tel', 'name', 'address', 'note', 'area',
'lat', 'lng', 'pay_type', 'order_type', 'market_id', 'total_money', 'created_at', 'pay_time'];
if (!$id || !$order = ImsCjdcOrderMain::where('state', 3)->find($id, $fields)) {
if (!$id || !$order = ImsCjdcOrderMain::with('employees')->where('state', 3)->find($id)) {
throw new \Exception('唉呀,来晚啦,订单已经被接走啦~~~'); throw new \Exception('唉呀,来晚啦,订单已经被接走啦~~~');
} else if (!empty($order->employees->user_id)) {
if ($order->employees->user_id == $user->id) {
$success_msg = '运气太好了吧,订单被您抢到啦~~';
} else {
unset($order);
throw new \Exception('唉呀,来晚啦,订单已经被接走啦~~~');
}
} }
} catch (\Exception $exception) { } catch (\Exception $exception) {
$error_msg = $exception->getMessage(); $error_msg = $exception->getMessage();
} }
return view('web.grab_order', [ return view('web.grab_order', [
'error_msg' => $error_msg ?? null, 'error_msg' => $error_msg ?? null,
'success_msg' => $success_msg ?? null,
'user' => $user ?? null, 'user' => $user ?? null,
'order' => $order ?? [], 'order' => $order ?? [],
]); ]);
@ -55,10 +60,10 @@ class GrabOrderController extends Controller
throw new \Exception("您还不是骑手,请联系管理员增加骑手权限"); throw new \Exception("您还不是骑手,请联系管理员增加骑手权限");
} }
$order = ImsCjdcOrderMain::where('id', $id)->first();
$order = ImsCjdcOrderMain::with('employees')->where('id', $id)->first();
if (!$order) { if (!$order) {
throw new \Exception('订单跑丢了~~'); throw new \Exception('订单跑丢了~~');
} else if ($order->state != 3) {
} else if ($order->state != 3 || !empty($order->horseman_id)) {
throw new \Exception('您来晚啦,订单已经被人接走啦~~'); throw new \Exception('您来晚啦,订单已经被人接走啦~~');
} }
@ -68,9 +73,9 @@ class GrabOrderController extends Controller
throw new \Exception('服务器开小差,抢单失败~'); throw new \Exception('服务器开小差,抢单失败~');
} }
return self::success('抢单成功,已消息通知客户,请尽快配送');
return self::success([], '抢单成功,已消息通知客户,请尽快配送');
} catch (\Exception $exception) { } catch (\Exception $exception) {
return self::error($exception->getMessage());
return self::error($exception->getMessage(), 1, config('app.debug') ? $exception->getTrace() : null);
} }
} }
@ -114,7 +119,7 @@ class GrabOrderController extends Controller
$order = ImsCjdcOrderMain::where('id', $formData['order_id'])->first(); $order = ImsCjdcOrderMain::where('id', $formData['order_id'])->first();
if (!$order) { if (!$order) {
throw new \Exception('订单跑丢了~~'); throw new \Exception('订单跑丢了~~');
} else if ($order->state != 3) {
} else if ($order->state != 3 || !empty($order->horseman_id)) {
throw new \Exception('您来晚啦,订单已经被人接走啦~~'); throw new \Exception('您来晚啦,订单已经被人接走啦~~');
} }
@ -124,7 +129,7 @@ class GrabOrderController extends Controller
throw new \Exception('服务器开小差,抢单失败~'); throw new \Exception('服务器开小差,抢单失败~');
} }
return self::success('抢单成功,已消息通知客户,请尽快配送');
return self::success([], '抢单成功,已消息通知客户,请尽快配送');
} catch (\Exception $exception) { } catch (\Exception $exception) {
return self::error($exception->getMessage()); return self::error($exception->getMessage());
} }

17
resources/views/web/grab_order.blade.php

@ -46,23 +46,31 @@
.order-info li { .order-info li {
margin: .2rem 0; margin: .2rem 0;
} }
h2#error {
h2.msg {
font-size: .36rem; font-size: .36rem;
color: #f00; color: #f00;
text-align: center; text-align: center;
margin-bottom: 1rem;
} }
h2#error:before { h2#error:before {
content: '😭'; content: '😭';
}
h2#success:before {
content: '😄';
}
h2.msg:before {
display: block; display: block;
font-size: 2rem; font-size: 2rem;
line-height: 2;
margin: 1rem auto .8rem;
line-height: 1.4;
margin: .4rem auto .6rem;
} }
</style> </style>
</head> </head>
<body> <body>
@if($error_msg) @if($error_msg)
<h2 id="error">{{ $error_msg }}</h2>
<h2 class="msg" id="error">{{ $error_msg }}</h2>
@elseif($success_msg)
<h2 class="msg" id="success">{{ $success_msg }}</h2>
@else @else
<button id="grab">立即抢单</button> <button id="grab">立即抢单</button>
@endif @endif
@ -88,6 +96,7 @@
_token: '{{ csrf_token() }}', _token: '{{ csrf_token() }}',
}, function (res) { }, function (res) {
alert(res.message); alert(res.message);
window.location.reload();
}); });
}); });
}) })

Loading…
Cancel
Save