|
@@ -1152,6 +1152,9 @@ class WholeController extends Curd
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 删除订单
|
|
|
+ */
|
|
|
public function delete(Request $request): Response
|
|
|
{
|
|
|
$params = $request->post();
|
|
@@ -1214,6 +1217,48 @@ class WholeController extends Curd
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 取消订单
|
|
|
+ */
|
|
|
+ public function cancelOrder(Request $request)
|
|
|
+ {
|
|
|
+ $orderId = $request->post('order_id','');
|
|
|
+ if (!$orderId){
|
|
|
+ return json_fail('参数异常');
|
|
|
+ }
|
|
|
+
|
|
|
+ Db::beginTransaction();
|
|
|
+ try{
|
|
|
+ $order = Order::where('order_id',$orderId)->first();
|
|
|
+ if (empty($order)){
|
|
|
+ return json_fail('订单数据异常');
|
|
|
+ }
|
|
|
+ if ($order->order_status_system != 'PAYING' || $order->order_category != 'DISHES'){
|
|
|
+ return json_fail('仅未支付的餐饮订单可以取消!');
|
|
|
+ }
|
|
|
+ // sheet 表
|
|
|
+ OrderSheet::where('join_sheet_order_id',$orderId)->update(['order_sheet_status'=>'CANCEL']);
|
|
|
+ // payDetail 表
|
|
|
+ PayDetail::where('join_pay_order_id',$order->order_groupby)->update([
|
|
|
+ 'pay_status'=>'CANCEL',
|
|
|
+ 'pay_extend_json' => json_encode(['cancel_times'=>date('Y-m-d H:i:s')])
|
|
|
+ ]);
|
|
|
+
|
|
|
+ $order->order_is_complete = 'Y';
|
|
|
+ $order->order_status_system = 'CANCEL';
|
|
|
+ $order->order_status_payment = 'CANCEL';
|
|
|
+ $order->save();
|
|
|
+
|
|
|
+ Db::commit();
|
|
|
+
|
|
|
+ return json_success('');
|
|
|
+ }catch(\Exception $e){
|
|
|
+ Db::rollBack();
|
|
|
+
|
|
|
+ return json_fail('订单取消失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public function insert(Request $request): Response
|
|
|
{
|
|
|
$params = $request->post();
|