基于大模型的旅游平台(十四)

本文介绍了个人飞机票订单改签按钮的编写。

我认为个人飞机票订单改签的关键是将所选订单的信息储存起来,然后根据订单中的起始地和终点地进行航班的搜索,选择航班购买后还要将原来的订单给退订。

将所选订单的信息储存起来

在后端写一个基于spring MVC的Java后端控制器方法,处理HTTP POST请求,并返回一个Map作为JSON响应。

@PostMapping("/change")
    @ResponseBody
    public Map sendLoginResult(@RequestBody Map<String,String> map1
            , HttpSession session){
        Map map = flightTicketService.changeOrder(map1, session);
        return map;
    }

具体实现changeOrder这个方法

首先创建一个新的 HashMap 对象 map1,用于存储返回给前端的数据,然后将状态码和消息初始化。将传入的 map 对象存储在会话中,键名为 "cforder",这样可以在会话期间保持订单信息。将 msg 和 status 添加到 map1 中,作为方法的返回结果。这个 map1 将会被转换为 JSON 或其他格式发送给前端。下面是相应的代码:

public Map changeOrder(Map<String, String> map, HttpSession session) {
        HashMap<String, Object> map1 = new HashMap<>();
        Integer status=200;
        String msg="";
        session.setAttribute("cforder",map);
        map1.put("msg",msg);
        map1.put("status",status.toString());
        return map1;
    }

通过以上操作就完成了将所选订单的信息储存起来的操作。

改签按钮的点击事件

当用户点击按钮时,获取对应的订单ID和信息,然后通过AJAX将这些信息发送到服务器将订单信息储存起来,最后根据服务器返回的结果做出相应的页面跳转或其他处理。

 var orderId = $(this).data("order-id");
          var param = orders.find(order => order.id == orderId);
           $.ajax({
            url:'/flight/order/change',
            type:'post',
            // async:false,
            data:JSON.stringify(param),
            contentType: "application/json; charset=utf-8",
            dataType:"json",
            success:function (data){
                if (data.status==200){
                      window.location.href='/cflight';

                }

            }

        });

新页面的初始化和改签的实现

新页面是与购买飞机票的页面基本相似的页面,去除了上方的输入框,修改了初始化和购买的方法。

首先是初始化,初始化时根据会话中储存的订单信息进行初始化

 loadFlights(1, 10, cforder.oapname,cforder.aapname);

购买时不仅要添加新订单还要把原来的订单进行退订操作,完成操作后还要返回飞机票个人订单的页面

$.ajax({
                               url: '/flight/order/' + cforder.id,
                               type: 'DELETE',
                               success: function(success) {
                                   // 删除成功后的操作,更新订单列表
                                   if (success) {
                                   alert("改签成功!");
                                       console.log("Order deleted successfully");
                                       layer.closeAll();
                                       window.location.href='/flight_order';
                                   } else {
                                       console.error("Failed to delete order");
                                   }
                               },
                               error: function(xhr, status, error) {
                                   // 删除失败时的操作,可以提示用户或者记录错误信息等
                                   console.error("Error deleting order:", error);
                               }
                           });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值