1.添加购票按钮
对应的html代码
因为列表是js函数动态填充的,故添加按钮应该在js函数中,完整代码如下:
1 /** 2 * 注意在调用该函数时必须输入参数 3 * 查询+ 分页 4 * */ 5 function query(_pageSize,_currentPage){ 6 // alert("------query------"); 7 //1.获取参数 8 var startStation = $("#startStation").val(); 9 var stopStation = $("#stopStation").val();10 //2.发送请求11 var params = {12 startStation:startStation,13 stopStation:stopStation,14 _pageSize:_pageSize,//分页需要的数据15 _currentPage:_currentPage//分页需要的数据16 };17 var url = 'http://localhost:8080/ticket2/data3';18 jQuery.ajax({19 type: 'POST',20 contentType: 'application/x-www-form-urlencoded',21 url: url,22 data: params,23 dataType: 'json',24 success: function (data) {25 //取出列表26 var ticketList = data.list;27 //取出分页数据28 var currentPage= data.currentPage;29 var count= data.count;30 var pageSize= data.pageSize;31 var totalPage= data.totalPage;32 var html=''+33 '编号'+34 '开始车站'+35 '到达车站'+36 '余票数'+37 '操作'+ //添加购票按钮38 '';39 //解析数据到table表中40 for (var i=0;i" +48 ' '+id+''+49 ''+startStation+''+50 ''+stopStation+''+51 ''+standby+''+52 ' '+ //添加购票按钮53 '';54 }55 //3.填充数据56 //填充列表57 $("#ticketList").html(html);58 //填充分页数据59 $("#totalPage").html(totalPage);60 $("#pageSize").html(pageSize);61 $("#count").html(count);62 $("#currentPage").html(currentPage);63 },64 error: function (data) {65 alert("失败啦");66 }67 });68 } View Code 购买js函数
1 function buyTicket(id){ 2 alert("buyTicket----"+id); 3 //2.发送请求 4 var params = { 5 id:id 6 }; 7 var url = 'http://localhost:8080/ticket2/buyTicket'; 8 jQuery.ajax({ 9 type: 'POST',10 contentType: 'application/x-www-form-urlencoded',11 url: url,12 data: params,13 dataType: 'json',14 success: function (data) {15 alert("成功");16 //刷新数据17 query(5,1);18 },19 error: function (data) {20 alert("失败啦");21 }22 });23 }
2.控制层代码
1 /** 2 * 购票功能 3 * @param id 4 * @param req 5 * @return 6 */ 7 @RequestMapping("/buyTicket") 8 @ResponseBody //请求数据必须写这个 9 public Result getData3(Integer id,HttpServletRequest req){10 //1.接收参数11 //2.调用业务方法12 HttpSession session = req.getSession();13 LoginUser loginUser = (LoginUser) session.getAttribute("LOGIN_IN_SESSION");14 Result
3.业务层代码
@Override public Result buyTicket(Integer id,LoginUser loginUser) { Result result = new Result(); //1.修改原来的余票数 //查询出车票 Ticket ticket = ticketDao.queryById(id); Integer standby = ticket.getStandby(); if (standby<=0){ //购票失败 余票不足 result.setSuccess(false); result.setCode("0001");//余票不足 result.setMsg("余票不足"); return result; } // 修改车票 ticket.setStandby(standby-1);//余票减1 ticketDao.update(ticket); //2.创建订单 车票id 用户id 购票数 订单编号(业务编号 + 时间 + 序列号 + 用户id) TicketOrder ticketOrder = new TicketOrder(); //车票id ticketOrder.setTicketId(id); //用户id session ticketOrder.setUserId(loginUser.getId()); //订单编号 String orderNUm = UUID.randomUUID().toString(); ticketOrder.setOrderNumber(orderNUm); //3.保存订单数据 tiketOrderDao.saveTicketOrder(ticketOrder); return result; }
4.dao层接口
4.1对车票的查询与修改接口
1 /** 2 * 根据id查询车票对象 3 * @param id 4 * @return 5 */ 6 Ticket queryById(Integer id); 7 8 /** 9 * 根据id修改余票数修改余票数10 * @param ticket11 */12 void update(Ticket ticket);
4.2对车票的查询与修改 mapper 文件
1 2 5 67 UPDATE ticket SET standby=#{standby} WHERE id=#{id}8
4.3对订单保存接口
1 /**2 * 保存订单3 * @param ticketOrder4 */5 void saveTicketOrder(TicketOrder ticketOrder);
4.4对订单保存 mapper 文件
1 23 INSERT INTO ticket_order (order_number,user_id,ticket_id) VALUES (#{orderNumber},#{userId},#{ticketId})4
5.测试各dao
View Code1 /** 2 * 测试 根据id查询车票 3 */ 4 @Test 5 public void testQueryById(){ 6 Ticket ticket = ticketDao.queryById(1); 7 System.out.println("ticket="+ticket); 8 } 9 10 /**11 * 测试 更新12 */13 @Test14 public void testUpdate(){15 Ticket ticket1 = new Ticket();16 ticket1.setId(1);17 ticket1.setStandby(32);18 ticketDao.update(ticket1);19 }20 21 /**22 * 测试保存订单23 */24 @Test25 public void testSave(){26 TicketOrder ticketOrder = new TicketOrder();27 ticketOrder.setOrderNumber("123456");28 ticketOrder.setUserId(5);29 ticketOrder.setTicketId(2);30 this.ticketOrder.saveTicketOrder(ticketOrder);31 }6.新增的ticketOrder.java模型
TicketOrder.java1 package com.day02.sation.model; 2 3 /** 4 * Created by Administrator on 1/2. 5 */ 6 public class TicketOrder { 7 private Integer id; 8 private String orderNumber; 9 private Integer userId;10 private Integer ticketId;11 12 public Integer getId() {13 return id;14 }15 16 public void setId(Integer id) {17 this.id = id;18 }19 20 public String getOrderNumber() {21 return orderNumber;22 }23 24 public void setOrderNumber(String orderNumber) {25 this.orderNumber = orderNumber;26 }27 28 public Integer getUserId() {29 return userId;30 }31 32 public void setUserId(Integer userId) {33 this.userId = userId;34 }35 36 public Integer getTicketId() {37 return ticketId;38 }39 40 public void setTicketId(Integer ticketId) {41 this.ticketId = ticketId;42 }43 }到此购票功能完成,重启项目购票吧!
转载于:https://www.cnblogs.com/newAndHui/p/8177661.html
你可能感兴趣的文章android多层树形结构列表学习笔记查看>>Android_去掉EditText控件周围橙色高亮区域查看>>《构建之法》第一、二、十六章阅读笔记查看>>arrow:让Python的日期与时间变的更好查看>>(转)Excel的 OleDb 连接串的格式(连接Excel 2003-2013)查看>>Java并发编程查看>>Git Stash用法查看>>sql server 2008学习8 sql server存储和索引结构查看>>Jquery radio选中查看>>memcached 细究(三)查看>>RSA System.Security.Cryptography.CryptographicException查看>>webservice整合spring cxf查看>>[解题报告] 100 - The 3n + 1 problem查看>>Entity Framework 学习高级篇1—改善EF代码的方法(上)查看>>Mybatis逆向工程配置文件详细介绍(转)查看>>String类的深入学习与理解查看>>不把DB放进容器的理由查看>>OnePage收集查看>>Java parseInt()方法查看>>yahoo的30条优化规则查看>>