1 订单查询
准备工作 修改订单管理链接 未付款订单,state=1 已付款订单,state=2 已发货的订单,state=3 已完成的订单,state=4
d. add ( '0105' , '01' , '订单管理' ) ;
d. add ( '010501' , '0105' , '订单管理' , '${pageContext.request.contextPath}/adminOrderServlet?method=findAllOrders' , '' , 'mainFrame' ) ;
d. add ( '010502' , '0105' , '未付款的订单' , '${pageContext.request.contextPath}/adminOrderServlet?method=findAllOrders&state=1' , '' , 'mainFrame' ) ;
d. add ( '010503' , '0105' , '已付款订单' , '${pageContext.request.contextPath}/adminOrderServlet?method=findAllOrders&state=2' , '' , 'mainFrame' ) ;
d. add ( '010504' , '0105' , '已发货的订单' , '${pageContext.request.contextPath}/adminOrderServlet?method=findAllOrders&state=3' , '' , 'mainFrame' ) ;
d. add ( '010505' , '0105' , '已完成的订单' , '${pageContext.request.contextPath}/adminOrderServlet?method=findAllOrders&state=4' , '' , 'mainFrame' ) ;
添加findAllOrders方法
public String findAllOrders ( HttpServletRequest req, HttpServletResponse resp) throws Exception {
OrderService OrderService = new OrderServiceImp ( ) ;
String st = req. getParameter ( "state" ) ;
List< Order> list = null;
if ( null == st || "" . equals ( st) ) {
list = OrderService. findAllOrders ( ) ;
} else {
list = OrderService. findAllOrders ( st) ;
}
req. setAttribute ( "allOrders" , list) ;
return "/admin/order/list.jsp" ;
}
业务层
public List< Order> findAllOrders ( ) throws Exception {
return orderDao. findAllOrders ( ) ;
}
public List< Order> findAllOrders ( String st) throws Exception {
return orderDao. findAllOrders ( st) ;
}
dao层
public List< Order> findAllOrders ( ) {
String sql = "select * from orders" ;
return template. query ( sql, new BeanPropertyRowMapper < > ( Order. class ) ) ;
}
public List< Order> findAllOrders ( String st) {
String sql = "select * from orders where state= ?" ;
return template. query ( sql, new BeanPropertyRowMapper < > ( Order. class ) , st) ;
}
编写
< tr
style= "FONT-WEIGHT: bold; FONT-SIZE: 12pt; HEIGHT: 25px; BACKGROUND-COLOR: #afd1f3" >
< td align= "center" width= "5%" >
序号
< / td>
< td align= "center" width= "25%" >
订单编号
< / td>
< td align= "center" width= "5%" >
订单金额
< / td>
< td align= "center" width= "5%" >
收货人
< / td>
< td align= "center" width= "5%" >
订单状态
< / td>
< td align= "center" width= "55%" >
订单详情
< / td>
< / tr>
< c: if test= "${empty allOrders }" >
< tr> < td colspan= "6" > 暂无数据< / td> < / tr>
< / c: if >
< c: if test= "${not empty allOrders }" >
< c: forEach items= "${allOrders}" var= "o" varStatus= "status" >
< tr onmouseover= "this.style.backgroundColor = 'white'"
onmouseout= "this.style.backgroundColor = '#F5FAFE';" >
< td style= "CURSOR: hand; HEIGHT: 22px" align= "center"
width= "5%" >
${
status. count}
< / td>
< td style= "CURSOR: hand; HEIGHT: 22px" align= "center"
width= "25%" >
${
o. oid}
< / td>
< td style= "CURSOR: hand; HEIGHT: 22px" align= "center"
width= "5%" >
${
o. total}
< / td>
< td style= "CURSOR: hand; HEIGHT: 22px" align= "center"
width= "5%" >
${
o. name}
< / td>
< td style= "CURSOR: hand; HEIGHT: 22px" align= "center"
width= "5%" >
< ! -- 1 = 未付款、2 = 发货、3 = 已发货、4 = 订单完成 -- >
< c: if test= "${o.state==1}" > 未付款< / c: if >
< c: if test= "${o.state==2}" >
< a href= "${pageContext.request.contextPath}/adminOrderServlet?method=updateOrderByOid&oid=${o.oid}" > 发货< / a>
< / c: if >
< c: if test= "${o.state==3}" > 已发货, 未签收< / c: if >
< c: if test= "${o.state==4}" > 结束< / c: if >
< / td>
< td align= "center" style= "HEIGHT: 22px" >
< input type= "button" value= "订单详情" class = "btn" id= "${o.oid}" / >
< table width= "100%" border= "1" class = "myTb" >
< ! --
< tr> < th> 商品< / th> < th> 名称< / th> < th> 数量< / th> < th> 小计< / th> < / tr>
< tr> < td> < img src= "${pageContext.request.contextPath}/products/1/c_0001.jpg" width= "50px" / > < / td> < td> 名称< / td> < td> 数量< / td> < td> 小计< / td> < / tr>
< tr> < td> < img src= "${pageContext.request.contextPath}/products/1/c_0001.jpg" width= "50px" / > < / td> < td> 名称< / td> < td> 数量< / td> < td> 小计< / td> < / tr>
-- >
< / table>
< / td>
< / tr>
< / c: forEach>
< / c: if >
2 发货
给发货绑定
< c: if test= "${o.state==2}" >
< a href= "${pageContext.request.contextPath}/adminOrderServlet?method=updateOrderByOid&oid=${o.oid}" > 发货< / a>
< / c: if >
编写updateOrderByOid方法
public String updateOrderByOid ( HttpServletRequest req, HttpServletResponse resp) throws Exception {
String oid = req. getParameter ( "oid" ) ;
OrderService OrderService = new OrderServiceImp ( ) ;
Order order = OrderService. findOrderByOid ( oid) ;
order. setState ( 3 ) ;
OrderService. updateOrder ( order) ;
resp. sendRedirect ( req. getContextPath ( ) + "/adminOrderServlet?method=findAllOrders&state=3" ) ;
return null;
}
业务层
public void updateOrder ( Order order) throws Exception {
orderDao. updateOrder ( order) ;
}
dao层,更新数据库
public void updateOrder ( Order order) {
String sql = "UPDATE orders SET ordertime=? ,total=? ,state= ?, address=?,NAME=?, telephone =? WHERE oid=?" ;
Object[ ] params = {
order. getOrdertime ( ) , order. getTotal ( ) , order. getState ( ) , order. getAddress ( ) , order. getName ( ) , order. getTelephone ( ) , order. getOid ( ) } ;
template. update ( sql, params) ;
}
3 查看订单详情
给订单详情绑定单击事件
< script>
$( function ( ) {
$( ".btn" ) . click ( function ( ) {
var val = $( this ) . val ( ) ;
var id = this . id;
var $btn = $( this ) ;
if ( "订单详情" == val) {
$. post ( "${pageContext.request.contextPath}/adminOrderServlet" , {
"method" : "findOrderByOidWithAjax" ,
"oid" : id
} , function ( dt) {
var $tb = $btn. next ( "table" ) ;
$tb. html ( "" ) ;
$tb. append ( "<tr><th>商品</th><th>名称</th><th>数量</th><th>小计</th></tr>" ) ;
$. each ( dt, function ( i, o) {
var tr = "<tr><td><img src='${pageContext.request.contextPath}/" + o. product. pimage + "' width='50px'/></td><td>" + o. product. pname + "</td><td>" + o. quantity + "</td><td>" + o. total + "</td></tr>" ;
$tb. append ( tr) ;
} ) ;
$btn. val ( "关闭" ) ;
} ) ;
}
if ( "关闭" == val) {
var $tb = $btn. next ( "table" ) ;
$tb. html ( "" ) ;
$btn. val ( "订单详情" ) ;
}
} ) ;
} ) ;
< / script>
编写findOrderByOidWithAjax方法
public String findOrderByOidWithAjax ( HttpServletRequest req, HttpServletResponse resp) throws Exception {
String oid = req. getParameter ( "oid" ) ;
OrderService OrderService = new OrderServiceImp ( ) ;
Order order = OrderService. findOrderByOid ( oid) ;
String jsonStr = JSONArray. fromObject ( order. getList ( ) ) . toString ( ) ;
resp. setContentType ( "application/json;charset=utf-8" ) ;
resp. getWriter ( ) . println ( jsonStr) ;
return null;
}