4 changed files with 107 additions and 3 deletions
-
59app/Http/Controllers/GrabOrderController.php
-
31app/Http/JsonReturn.php
-
13resources/views/web/grab_order.blade.php
-
7routes/web.php
@ -0,0 +1,59 @@ |
|||
<?php |
|||
|
|||
namespace App\Http\Controllers; |
|||
|
|||
use App\Http\JsonReturn; |
|||
use App\Models\ImsCjdcOrderMain; |
|||
use Illuminate\Http\JsonResponse; |
|||
use Illuminate\Http\Request; |
|||
use Illuminate\Support\Facades\Validator; |
|||
|
|||
/** |
|||
* 骑手抢单 |
|||
*/ |
|||
class GrabOrderController extends Controller |
|||
{ |
|||
use JsonReturn; |
|||
|
|||
public function index(Request $request) |
|||
{ |
|||
$id = (int)$request->route('id'); |
|||
if (!$id || !$order = ImsCjdcOrderMain::find($id)) { |
|||
return self::error('唉呀,来晚啦,订单已经被接走啦~~~'); |
|||
} |
|||
|
|||
/*$order = ImsCjdcOrderMain::with(['market:id,name']) |
|||
->where([['state', '=', 2], ['pay_time', '>', 0]]) |
|||
->orderBy('pay_time')->orderByDesc('id') |
|||
->limit(15)->get();*/ |
|||
|
|||
return view('web.grab_order', ['order_list' => $order ?? []]); |
|||
} |
|||
|
|||
/** |
|||
* 抢单post |
|||
*/ |
|||
public function grabOrder(Request $request): JsonResponse |
|||
{ |
|||
try { |
|||
$formData = $request->only(['id', 'name', 'mobile']); |
|||
Validator::make($formData, [ |
|||
'id' => 'required|int', |
|||
'name' => 'required|between:2,20', |
|||
'mobile' => ['required', 'regex:/^1\d{10}$/'], |
|||
], [ |
|||
'*.required' => ':attribute不能为空', |
|||
'name.between' => ':attribute输入不正确', |
|||
'mobile.regex' => ':attribute输入不正确', |
|||
], [ |
|||
'id' => 'ID', |
|||
'name' => '姓名', |
|||
'mobile' => '手机号', |
|||
]); |
|||
|
|||
return self::success('恭喜您,运气太好啦,订单被您抢到啦!'); |
|||
} catch (\Exception $exception) { |
|||
return self::error($exception->getMessage()); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,31 @@ |
|||
<?php |
|||
|
|||
namespace App\Http; |
|||
use \Illuminate\Http\JsonResponse; |
|||
|
|||
trait JsonReturn |
|||
{ |
|||
/** |
|||
* 成功返回 |
|||
* @param $data |
|||
* @param string $message |
|||
* @param int $code |
|||
* @return JsonResponse |
|||
*/ |
|||
public static function success($data, string $message = '成功', int $code = 0): JsonResponse |
|||
{ |
|||
return response()->json(['code' => $code, 'data' => $data, 'message' => $message]); |
|||
} |
|||
|
|||
/** |
|||
* 失败返回 |
|||
* @param string $message |
|||
* @param int $code |
|||
* @param $data |
|||
* @return JsonResponse |
|||
*/ |
|||
public static function error(string $message, int $code = 1, $data = null): JsonResponse |
|||
{ |
|||
return response()->json(['code' => $code, 'data' => $data, 'message' => $message]); |
|||
} |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
<!doctype html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> |
|||
<meta http-equiv="X-UA-Compatible" content="ie=edge"> |
|||
<title>抢单大厅</title> |
|||
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script> |
|||
</head> |
|||
<body> |
|||
|
|||
</body> |
|||
</html> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue