From 0b58416c304aa15c150f598d9adab4a131fb180c Mon Sep 17 00:00:00 2001 From: zkh <1065691191@qq.com> Date: Thu, 27 Feb 2025 18:58:56 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=B7=B1=E5=A2=9E=E5=8A=A0=E7=9A=84?= =?UTF-8?q?=E4=BE=8B=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/xs/ai/controller/OpenAiController.java | 2 +- src/main/java/com/xs/ai/services/BookingTools.java | 9 +++++++++ src/main/java/com/xs/ai/services/FlightBookingService.java | 10 ++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/xs/ai/controller/OpenAiController.java b/src/main/java/com/xs/ai/controller/OpenAiController.java index c0f962a..e8c3bde 100644 --- a/src/main/java/com/xs/ai/controller/OpenAiController.java +++ b/src/main/java/com/xs/ai/controller/OpenAiController.java @@ -50,7 +50,7 @@ public class OpenAiController { //每一次对话拦截后,搜索附加上后再给大模型 //new QuestionAnswerAdvisor(vectorStore, SearchRequest.defaults()), // RAG new LoggingAdvisor()) - .defaultFunctions("getBookingDetails", "changeBooking", "cancelBooking") // FUNCTION CALLING + .defaultFunctions("getBookingDetails", "changeBooking", "cancelBooking","deleteBooking") // FUNCTION CALLING .build(); diff --git a/src/main/java/com/xs/ai/services/BookingTools.java b/src/main/java/com/xs/ai/services/BookingTools.java index 1c284cc..148875c 100644 --- a/src/main/java/com/xs/ai/services/BookingTools.java +++ b/src/main/java/com/xs/ai/services/BookingTools.java @@ -69,4 +69,13 @@ public class BookingTools { }; } + @Bean + @Description("删除机票预定") + public Function deleteBooking() { + return request -> { + flightBookingService.deleteBooking(request.bookingNumber(), request.name()); + return ""; + }; + } + } diff --git a/src/main/java/com/xs/ai/services/FlightBookingService.java b/src/main/java/com/xs/ai/services/FlightBookingService.java index 143544c..9434bb5 100644 --- a/src/main/java/com/xs/ai/services/FlightBookingService.java +++ b/src/main/java/com/xs/ai/services/FlightBookingService.java @@ -93,6 +93,16 @@ public class FlightBookingService { booking.setBookingStatus(BookingStatus.CANCELLED); } + // 删除预定航班 + public void deleteBooking(String bookingNumber, String name) { + var booking = findBooking(bookingNumber, name); + if (booking.getDate().isBefore(LocalDate.now().plusDays(2))) { + throw new IllegalArgumentException("Booking cannot be cancelled within 48 hours of the start date."); + } + System.out.println("进入删除。。。。。"); + booking.setBookingStatus(BookingStatus.CONFIRMED); + } + private BookingDetails toBookingDetails(Booking booking) { return new BookingDetails(booking.getBookingNumber(), booking.getCustomer().getName(), booking.getDate(), booking.getBookingStatus(), booking.getFrom(), booking.getTo(), booking.getBookingClass().toString());