first commit
This commit is contained in:
85
app/admin/controller/OrderController.php
Normal file
85
app/admin/controller/OrderController.php
Normal file
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
namespace app\admin\controller;
|
||||
|
||||
use support\Request;
|
||||
use app\common\model\Order;
|
||||
|
||||
class OrderController
|
||||
{
|
||||
public function list(Request $request)
|
||||
{
|
||||
$status = $request->get('status', 'all');
|
||||
$page = max(1, intval($request->get('page', 1)));
|
||||
$pageSize = min(50, max(1, intval($request->get('page_size', 10))));
|
||||
|
||||
$query = Order::query();
|
||||
if ($status !== 'all') {
|
||||
$query->where('status', $status);
|
||||
}
|
||||
|
||||
if ($orderNo = $request->get('order_no')) {
|
||||
$query->where('order_no', 'like', "%{$orderNo}%");
|
||||
}
|
||||
|
||||
$total = $query->count();
|
||||
$items = $query->orderBy('id', 'desc')
|
||||
->offset(($page - 1) * $pageSize)
|
||||
->limit($pageSize)
|
||||
->get();
|
||||
|
||||
return jsonResponse([
|
||||
'items' => $items,
|
||||
'total' => $total,
|
||||
'page' => $page,
|
||||
'page_size' => $pageSize
|
||||
]);
|
||||
}
|
||||
|
||||
public function detail(Request $request)
|
||||
{
|
||||
$id = (int)$request->get('id');
|
||||
$order = Order::with(['logs'])->find($id);
|
||||
|
||||
if (!$order) {
|
||||
return jsonResponse(null, '订单不存在', 404);
|
||||
}
|
||||
|
||||
return jsonResponse($order);
|
||||
}
|
||||
|
||||
public function receive(Request $request)
|
||||
{
|
||||
$id = (int)$request->post('id');
|
||||
$order = Order::find($id);
|
||||
|
||||
if (!$order) {
|
||||
return jsonResponse(null, '订单不存在', 404);
|
||||
}
|
||||
|
||||
try {
|
||||
\app\common\service\OrderFlowService::adminReceive($order, $request->admin->id);
|
||||
return jsonResponse(null, '确认收件成功,已进入鉴定状态');
|
||||
} catch (\Exception $e) {
|
||||
return jsonResponse(null, $e->getMessage(), 400);
|
||||
}
|
||||
}
|
||||
|
||||
public function returnShip(Request $request)
|
||||
{
|
||||
$id = (int)$request->post('id');
|
||||
$expressCompany = trim((string)$request->post('express_company', ''));
|
||||
$expressNo = trim((string)$request->post('express_no', ''));
|
||||
|
||||
$order = Order::find($id);
|
||||
if (!$order) {
|
||||
return jsonResponse(null, '订单不存在', 404);
|
||||
}
|
||||
|
||||
try {
|
||||
\app\common\service\OrderFlowService::adminReturnShip($order, $request->admin->id, $expressCompany, $expressNo);
|
||||
return jsonResponse(null, '回寄信息已提交');
|
||||
} catch (\Exception $e) {
|
||||
return jsonResponse(null, $e->getMessage(), 400);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user