1.订单模块分析
1、商家:
1、查看订单(未发货、已发货、已签收、订单项)
2、发货功能(状态:1:未发货、2:已发货、3:已签收、4:已撤单)
3、订单项查看(通过订单ID查看订单项)
2、买家:
1、查看订单(未发货、已发货、已签收)
2、撤单
3、签收
2.订单管理
OrderDao(订单)
/**
* 订单状态查询
* 未发货、已发货、已签收
* @param o
* @param p
* @return
* @throws Exception
*/
public List<Order> getallorder(Order o,PageBean p) throws Exception{
String sql="SELECT * FROM t_easyui_order where orderState="+o.getOrderState();
return super.executeQuery(sql, Order.class, p);
}
/**
* 订单状态修改
* @param o
* @throws Exception
*/
public void cancelAndReceive(Order o) throws Exception{
String sql="update t_easyui_order set orderState=? where id=?";
String ss[]=new String [] {"orderState","id"};
super.executeUpdate(sql, o, ss);
}
OrderitemDao(订单项)
/**
* 通过订单ID查询订单项
* @param o
* @param p
* @return
* @throws Exception
*/
public List<Orderitem> list(Orderitem o,PageBean p) throws Exception{
String sql="SELECT * FROM t_easyui_orderitem where 1=1";
long oid = o.getOid();
if(oid!=0) {
sql+=" and oid="+oid;
}
return super.executeQuery(sql, Orderitem.class, p);
}
子控制器
OrderItemAction
在商家板块中,商家可以查看某个订单中包含了哪些商品.
package com.wyy.Action;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.wyy.dao.OrderitemDao;
import com.wyy.entity.Orderitem;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriver;
import com.zking.util.PageBean;
import com.zking.util.ResponseUtil;
public class OrderItemAction extends ActionSupport implements ModelDriver<Orderitem> {
private Orderitem orderitem=new Orderitem();
private OrderitemDao orderitemdao=new OrderitemDao();
@Override
public Orderitem getModel() {
// TODO Auto-generated method stub
return orderitem;
}
public String list(HttpServletRequest req, HttpServletResponse resp) throws Exception {
PageBean p=new PageBean();
p.setRequest(req);
List<Orderitem> list = orderitemdao.list(orderitem, p);
Map<String , Object> map=new HashMap<String, Object>();
map.put("total", p.getTotal());
map.put("rows", list);
ResponseUtil.writeJSON(resp, map);
return null;
}
}
OrderAction
不管是撤单、发货、签收......只需要修改订单的状态即可。其他功能类似
package com.wyy.Action;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.wyy.dao.OrderDao;
import com.wyy.entity.Order;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriver;
import com.zking.util.PageBean;
import com.zking.util.ResponseUtil;
public class OrderAction extends ActionSupport implements ModelDriver<Order>{
private Order o=new Order();
OrderDao orderdao=new OrderDao();
@Override
public Order getModel() {
// TODO Auto-generated method stub
return o;
}
public String getallorder(HttpServletRequest req, HttpServletResponse resp) {
PageBean p=new PageBean();
p.setRequest(req);
try {
List<Order> getallorder = orderdao.getallorder(o, p);
Map<String , Object> map=new HashMap<String, Object>();
map.put("total", p.getTotal());
map.put("rows", getallorder);
ResponseUtil.writeJSON(resp, map);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public String cancelAndReceive(HttpServletRequest req, HttpServletResponse resp) {
try {
orderdao.cancelAndReceive(o);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
配置mvc文件
<action path="/order" type="com.wyy.Action.OrderAction">
</action>
<action path="/orderItem" type="com.wyy.Action.OrderItemAction">
</action>
商家
前端jsp代码以及js代码
其他显示页面基本上类似只是方法调用有一丢丢不同。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>商家订单页面</title>
<link rel="stylesheet" type="text/css"
href="${pageContext.request.contextPath}/static/js/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/js/easyui/themes/icon.css">
<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script>
<script type="text/javascript"
src="${pageContext.request.contextPath}/static/js/easyui/jquery.easyui.min.js"></script>
<script src="${pageContext.request.contextPath}/static/js/main.js"></script>
</head>
<body>
<table id="dg" style="style=" width:400px;height:200px;
"></table>
<script>
$(function () {
$('#dg').datagrid({
url: '${pageContext.request.contextPath}/order.action?methodName=getallorder&&orderState=1',
fit: true,
fitColumns: true,
pagination: true,
singleSelect: true,
columns: [[
// {field:'id',title:'id',width:100},
{field: 'id', title: '书籍名称', hidden: true},
{field: 'postalcode', title: '收货人邮编', hidden: true},
{field: 'uid', title: '用户', width: 50},
{field: 'consignee', title: '收货人', width: 50},
{field: 'phone', title: '手机号', width: 50},
{field: 'address', title: '收获人地址', width: 50},
{field: 'orderPrice', title: '价格', width: 50},
{field: 'sendTime', title: '发货时间', width: 50},
{field: 'orderTime', title: '订单时间', width: 50},
{
field: 'sendType', title: '发送方式', width: 50, formatter: function (value, row, index) {
if (row.sendType == 1) {
return "平邮";
} else if (row.sendType == 2) {
return "快递";
}
}
},
{
field: 'orderState', title: '订单状态', width: 100, formatter: function (value, row, index) {
if (row.orderState == 1) {
return "未发货";
} else if (row.orderState == 2) {
return "已发货";
} else if (row.orderState == 3) {
return "已签收";
} else if (row.orderState == 4) {
return "已撤单";
}
}
},
{
field: 'xxxx', title: '操作', width: 100, formatter: function (value, row, index) {
return '<a href="#" onclick="sendOrder();">发货</a>';
}
}
]]
});
})
function sendOrder() {
var row = $('#dg').datagrid('getSelected');
var id=0;
if (row) {
id = row.id;
}else {
alert("请勾选数据...");
return;
}
$.messager.confirm('确认', '您确认想要发货吗?', function (r) {
if (r) {
$.ajax({
url: '${pageContext.request.contextPath}/order.action?methodName=cancelAndReceive&&orderState=2&id='+id,
success: function (data) {
$('#dg').datagrid('reload');
}
});
}
})
}
</script>
</body>
</html>
页面效果(商家)
用户