change to innodb engine and cancel order
This commit is contained in:
parent
69090d84ca
commit
e1063eb3f2
|
|
@ -27,6 +27,7 @@ class StateMachineService
|
|||
const PAID = 'paid'; // 已支付
|
||||
const SHIPPED = 'shipped'; // 已发货
|
||||
const COMPLETED = 'completed'; // 已完成
|
||||
const CANCELLED = 'cancelled'; // 已取消
|
||||
|
||||
const ORDER_STATUS = [
|
||||
self::CREATED,
|
||||
|
|
@ -39,12 +40,13 @@ class StateMachineService
|
|||
const MACHINES = [
|
||||
self::CREATED => [
|
||||
self::UNPAID => ['updateStatus', 'addHistory'],
|
||||
self::PAID => ['updateStatus', 'addHistory', 'subStock'],
|
||||
],
|
||||
self::UNPAID => [
|
||||
self::PAID => ['updateStatus', 'addHistory', 'subStock'],
|
||||
self::CANCELLED => ['updateStatus', 'addHistory'],
|
||||
],
|
||||
self::PAID => [
|
||||
self::CANCELLED => ['updateStatus', 'addHistory', 'revertStock'],
|
||||
self::SHIPPED => ['updateStatus', 'addHistory'],
|
||||
self::COMPLETED => ['updateStatus', 'addHistory']
|
||||
],
|
||||
|
|
@ -239,4 +241,13 @@ class StateMachineService
|
|||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 恢复库存
|
||||
*/
|
||||
private function revertStock($oldCode, $newCode)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ class OrderController extends Controller
|
|||
|
||||
|
||||
/**
|
||||
* 订单完成
|
||||
* 完成订单
|
||||
*
|
||||
* @param Request $request
|
||||
* @param $number
|
||||
|
|
@ -107,4 +107,25 @@ class OrderController extends Controller
|
|||
StateMachineService::getInstance($order)->changeStatus(StateMachineService::COMPLETED, $comment);
|
||||
return json_success(trans('shop/account.order.completed'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 取消订单
|
||||
*
|
||||
* @param Request $request
|
||||
* @param $number
|
||||
* @return array
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function cancel(Request $request, $number)
|
||||
{
|
||||
$customer = current_customer();
|
||||
$order = OrderRepo::getOrderByNumber($number, $customer);
|
||||
if (empty($order)) {
|
||||
throw new \Exception('无效的订单');
|
||||
}
|
||||
$comment = '用户取消订单';
|
||||
StateMachineService::getInstance($order)->changeStatus(StateMachineService::CANCELLED, $comment);
|
||||
return json_success(trans('shop/account.order.cancelled'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ return [
|
|||
'prefix' => '',
|
||||
'prefix_indexes' => true,
|
||||
'strict' => true,
|
||||
'engine' => null,
|
||||
'engine' => 'InnoDB',
|
||||
'options' => extension_loaded('pdo_mysql') ? array_filter([
|
||||
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
|
||||
]) : [],
|
||||
|
|
|
|||
Loading…
Reference in New Issue