MVC&EasyUI项目之订单管理

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>

页面效果(商家) 

 

 用户

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值