ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

客车网上售票系统(2)

2020-07-24 15:02:40  阅读:1505  来源: 互联网

标签:售票 客车 cid int oid 订单 item 网上 public


一、今日完成任务

车票查询

车票查询分页

预订车票

提交订单

付款、取消订单

退票

二、核心源码:

1)车票查询:根据出发地、目的地、出发日期查询车票

 

//查询 
    $("#searchBtn").click(function(){
        //ajax提交后台
        $.ajax({
            type:"post",
            url:"search",
            data:{"begin_sta":$("#begin").val(),"end_sta":$("#cf").val(),"start_date":$("#time").val()},
            dataType:"json",
            success:function(data){
                $("#start_y").val(data[0].start);
                $("#start_c").val(data[0].count);
                $("#start_l").val(data[0].last);
                $("#tbody").html("");
                $.each(data[1],function(i,item){
                    var str="<tr><td>" + item.tnum + "</td><td>"+item.begin_sta+"</td><td>"+item.end_sta+
                            "</td><td>"+item.start_time+"</td><td>"+item.end_time+"</td><td>"+item.price+"</td><td>"
                            +item.snum+"</td><td><a class='yd' href='yd/"+item.cid+"'>预订</a></td></tr>";
                    $("#tbody").append(str);
                });
            }
        });
    });

 

dao

//根据出发地、目的地、出发日期  查票
    @Select("select c.*,t.tnum,t.seatnum from carinfo c,traininfo t where c.tid=t.tid and c.begin_sta=#{begin_sta} and c.end_sta=#{end_sta} and start_date=#{start_date}")
    public List<CarTrain> findByProperty(Carinfo car);

controller

//查票
    @RequestMapping(value="/search",produces={"application/json;charset=utf-8"})
    @ResponseBody
    public String serackCar(Carinfo car,HttpServletRequest request,Page page){
        PageHelper.offsetPage(page.getStart(), 5);
        List<CarTrain> list = carSerivce.findByProperty(car);
        System.out.println(list.size());
        //总数
        PageInfo<CarTrain> pageInfo=new PageInfo<CarTrain>(list);
        int total=(int) pageInfo.getTotal();
        page.caculateLast(total);
        
        JSONArray array=new JSONArray();
        array.add(page);
        array.add(list);
        return array.toString();
        
    }

(2)预订车票  查询列车信息显示到预订页面

//点击预订查询列车信息
    @Select("select c.*,t.tnum,t.seatnum from carinfo c,traininfo t where c.tid=t.tid and c.cid=#{cid}")
    public CarTrain findByCid(int cid);

(3)提交订单     在预订页面点击提交订单,提交订单需要添加一条订单信息,还需锁定座位

//添加订单
    @Insert("insert into orderinfo(cid,ucard,urealname,tel,oprice,state,odate,seatnum) values(#{cid},#{ucard},#{urealname},#{tel},#{oprice},#{state},#{odate},#{seatnum})")
    public int addOrder(Orderinfo orderinfo);
    
    //座位数减少
    @Update("update carinfo set snum=snum-1 where cid=#{cid}")
    public int updateSnum(int cid);

controller

//提交订单
    @RequestMapping("/addOrder")
    public String addOrder(Orderinfo order,HttpServletRequest request){
        //获取订单提交时间
        Date date=new Date();
        SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
        String d = format.format(date);
        
        order.setOdate(d);
        order.setState("0");//未支付
        
        int a = carSerivce.addOrder(order);
        carSerivce.updateSnum(order.getCid());
        //待确认订单
        return "redirect:/confirmOrder";
    }

(4)付款、取消订单   提交订单后查询待确认订单(未付款订单),在此页面可以取消订单和付款

取消订单 mapperdao
//取消订单
    //删除订单
    @Delete("delete from orderinfo where oid=#{oid}")
    public int delOrder(int oid);
    //座位数增加
    @Update("update carinfo set snum=snum+1 where cid=#{cid}")
    public int updateSnum2(int cid);

付款

//订单编号查询订单
    @Select("select * from orderinfo where oid=#{oid}")
    public Orderinfo findOrderByOid(int oid);
    
    //付款 更改订单状态
    @Update("update orderinfo set state=1 where oid=#{oid}")
    public int updateOrderByOid(int oid);
    
    //添加车票信息
    @Insert("insert into ticketinfo(oid) values(#{oid})")
    public int addTicket(int oid);

controller

@RequestMapping("/endOrder/{oid}")
    @ResponseBody
    public String endOrder(@PathVariable("oid")int oid){
        carSerivce.updateOrderByOid(oid);
        return oid+"";
    }

(5)退票 退票需要先查询所有已付款订单,然后需要在发车前两小时钱退票

三、页面展示:

 

 

 

 

 

四、遇到的问题:

1)业务流程不熟悉,花费时间较多

2)layui框架分页等的使用不熟练

五、解决的方法:

1)浏览售票网站,参考功能设计

2)熟悉layui框架

六、项目燃尽图更新:

 

 

 

标签:售票,客车,cid,int,oid,订单,item,网上,public
来源: https://www.cnblogs.com/guotongxue/p/13371952.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有