$params['order_sn'], 'uid' => $params['uid'], 'project_id' => $params['project_id'], 'order_type' => $params['order_type'], 'total_amount' => $params['total_amount'], 'pay_amount' => $params['pay_amount'], 'status' => $params['status'], 'paid' => $params['paid'], 'pay_time' => $params['pay_time'], 'customer_name' => $params['customer_name'], 'phone' => $params['phone'], 'address' => $params['address'], 'delivery_time' => $params['delivery_time'], ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 编辑 * @param array $params * @return bool * @author likeadmin * @date 2025/07/17 17:16 */ public static function edit(array $params): bool { Db::startTrans(); try { Order::where('id', $params['id'])->update([ 'order_sn' => $params['order_sn'], 'uid' => $params['uid'], 'project_id' => $params['project_id'], 'order_type' => $params['order_type'], 'total_amount' => $params['total_amount'], 'pay_amount' => $params['pay_amount'], 'status' => $params['status'], 'paid' => $params['paid'], 'pay_time' => $params['pay_time'], 'customer_name' => $params['customer_name'], 'phone' => $params['phone'], 'address' => $params['address'], 'delivery_time' => $params['delivery_time'], ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 删除 * @param array $params * @return bool * @author likeadmin * @date 2025/07/17 17:16 */ public static function delete(array $params): bool { return Order::destroy($params['id']); } /** * @notes 获取详情 * @param $params * @return array * @author likeadmin * @date 2025/07/17 17:16 */ public static function detail($params): array { $data = Order::with(['orderDishes' => function ($query) { $query->with('dishes'); }, 'orderProduct' => function ($query) { $query->with('product'); }])->findOrEmpty($params['id']); if (empty($data)) { self::setError('订单不存在'); return []; } $data['status_text'] = $data->statusText; $data['pay_status_text'] = $data->payStatusText; $data['order_type_text'] = $data->orderTypeText; return $data->toArray(); } }