Browse Source

骑手抢单,未完成

master
李可松 4 years ago
parent
commit
f73a90a20f
  1. 59
      app/Http/Controllers/GrabOrderController.php
  2. 31
      app/Http/JsonReturn.php
  3. 13
      resources/views/web/grab_order.blade.php
  4. 7
      routes/web.php

59
app/Http/Controllers/GrabOrderController.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());
}
}
}

31
app/Http/JsonReturn.php

@ -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]);
}
}

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

@ -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>

7
routes/web.php

@ -1,5 +1,6 @@
<?php
use App\Http\Controllers\GrabOrderController;
use Illuminate\Support\Facades\Route;
/*
@ -13,9 +14,9 @@ use Illuminate\Support\Facades\Route;
|
*/
Route::get('/', function(){
return redirect("/admin");
});
Route::get('/', [GrabOrderController::class, 'index']);
Route::get('/grab_order/{id}', [GrabOrderController::class, 'index'])->where(['id' => '\d+']);
Route::post('/', [GrabOrderController::class, 'grabOrder']);
Route::get('/test', 'TestController@Test');
Route::get('/export', 'TestController@export');

Loading…
Cancel
Save