优化接口以及后台页面样式
This commit is contained in:
@@ -46,6 +46,7 @@ class Order extends Backend
|
||||
'receiver_name',
|
||||
'receiver_phone',
|
||||
'receiver_address',
|
||||
'mall_address_id',
|
||||
'create_time',
|
||||
'update_time',
|
||||
];
|
||||
@@ -139,7 +140,52 @@ class Order extends Backend
|
||||
}
|
||||
|
||||
/**
|
||||
* PHYSICAL 驳回:更新状态为 REJECTED,并退回积分到 available_points
|
||||
* 审核通过(非 PHYSICAL):更新状态为 COMPLETED
|
||||
*/
|
||||
public function approve(Request $request): Response
|
||||
{
|
||||
$response = $this->initializeBackend($request);
|
||||
if ($response !== null) {
|
||||
return $response;
|
||||
}
|
||||
|
||||
if ($request->method() !== 'POST') {
|
||||
return $this->error(__('Parameter error'));
|
||||
}
|
||||
|
||||
$id = $request->post('id', 0);
|
||||
if (!$id) {
|
||||
return $this->error(__('Missing required fields'));
|
||||
}
|
||||
|
||||
$order = MallOrder::where('id', $id)->find();
|
||||
if (!$order) {
|
||||
return $this->error(__('Record not found'));
|
||||
}
|
||||
if ($order->status !== MallOrder::STATUS_PENDING) {
|
||||
return $this->error(__('Order status must be PENDING'));
|
||||
}
|
||||
if ($order->type === MallOrder::TYPE_PHYSICAL) {
|
||||
return $this->error(__('Order type not supported'));
|
||||
}
|
||||
|
||||
Db::startTrans();
|
||||
try {
|
||||
$order->status = MallOrder::STATUS_COMPLETED;
|
||||
$order->update_time = time();
|
||||
$order->save();
|
||||
|
||||
Db::commit();
|
||||
} catch (Throwable $e) {
|
||||
Db::rollback();
|
||||
return $this->error($e->getMessage());
|
||||
}
|
||||
|
||||
return $this->success(__('Approved successfully'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核驳回:更新状态为 REJECTED,并退回积分到 available_points(所有类型通用)
|
||||
*/
|
||||
public function reject(Request $request): Response
|
||||
{
|
||||
@@ -164,9 +210,6 @@ class Order extends Backend
|
||||
if (!$order) {
|
||||
return $this->error(__('Record not found'));
|
||||
}
|
||||
if ($order->type !== MallOrder::TYPE_PHYSICAL) {
|
||||
return $this->error(__('Order type not PHYSICAL'));
|
||||
}
|
||||
if ($order->status !== MallOrder::STATUS_PENDING) {
|
||||
return $this->error(__('Order status must be PENDING'));
|
||||
}
|
||||
@@ -187,6 +230,7 @@ class Order extends Backend
|
||||
$order->status = MallOrder::STATUS_REJECTED;
|
||||
$order->reject_reason = $rejectReason;
|
||||
$order->grant_status = MallOrder::GRANT_FAILED_FINAL;
|
||||
$order->update_time = time();
|
||||
$order->save();
|
||||
|
||||
Db::commit();
|
||||
|
||||
Reference in New Issue
Block a user