Easyui项目之订单管理

目标

        一:卖家的发货功能,未发货、已发货、已签收、订单项数据的查看

        二:买家的撤单、签收功能的实现,以及未发货、已发货、已签收的数据查看

 一:卖家功能

 第一步:写dao层方法(OrderDao、OrderItemDao)

OrderDao

package com.sg.dao;

import java.util.List;

import com.sg.entity.Order;
import com.zking.util.BaseDao;
import com.zking.util.PageBean;


public class OrderDao extends BaseDao<Order>{
	/**
	 * 购物车结算生成订单
	 * @param order
	 * @throws Exception
	 */
	public void add(Order order) throws Exception {
		String sql="insert into t_easyui_order(uid,orderTime,consignee,phone,postalcode,address,sendType,sendTime,orderPrice,orderState) values(?,now(),?,?,?,?,?,?,?,?)";
		super.executeUpdate(sql, order, new String[] {"uid","consignee","phone","postalcode","address","sendType","sendTime","orderPrice","orderState"});
	}
	
	/**
	 * 按照订单时间倒序查询
	 * @param order
	 * @param pageBean
	 * @return
	 * @throws Exception
	 */
	public List<Order> list( Order order, PageBean pageBean) throws Exception {
		String sql="select * from t_easyui_order where 1=1 ";
		long id=order.getId();
		if(id!=0) {
			sql+=" and id="+id;
		}
		int orderState = order.getOrderState();
		if(orderState!=0) {
			sql+=" and orderState="+orderState;
		}
		sql+=" order by orderTime desc";
		return super.executeQuery(sql, Order.class, pageBean);
	}
	/**
	 * 修改订单状态
	 */
	public void editState(Order order) throws Exception {
		String sql="update t_easyui_order set orderState = ? where id =?";
		int orderState = order.getOrderState();
		if(orderState==2) {
		   sql="update t_easyui_order set orderState = ?,sendTime=now() where id =?";
		}
		super.executeUpdate(sql, order, new String[] {"orderState","id"});
	}
}

OrderItemDao

package com.sg.dao;

import java.util.List;

import com.sg.entity.OrderItem;
import com.zking.util.BaseDao;
import com.zking.util.PageBean;


public class OrderItemDao extends BaseDao<OrderItem>{
	/**
	 * 购物车结算生成订单项
	 * @param OrderItem
	 * @throws Exception
	 */
	public void add(OrderItem orderItem) throws Exception {
		String sql="insert into t_easyui_orderitem(oid,bid,quantity) values(?,?,?)";
		super.executeUpdate(sql, orderItem, new String[] {"oid","bid","quantity"});
	}
	public List<OrderItem> list(OrderItem orderItem, PageBean pageBean) throws Exception {
		// TODO Auto-generated method stub
		String sql="select * from t_easyui_orderItem where 1=1";
		long oid = orderItem.getId();
		if(oid!=0) {
			sql+=" and oid="+oid;
		}
		return super.executeQuery(sql, OrderItem.class, pageBean);
	}
}

第二步:web层(OrderAction、OrderItemAction)

OrderAction

package com.sg.web;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sg.dao.OrderDao;
import com.sg.entity.Order;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriver;
import com.zking.util.PageBean;
import com.zking.util.R;
import com.zking.util.ResponseUtil;

public class OrderAction extends ActionSupport implements ModelDriver<Order>{
	private Order order=new Order();
	private OrderDao orderDao=new OrderDao();
	@Override
	public Order getModel() {
		// TODO Auto-generated method stub
		return order;
	}
	public void list(HttpServletRequest req, HttpServletResponse resp) {
		// TODO Auto-generated method stub
		PageBean pageBean=new PageBean();
		pageBean.setRequest(req);
		try {
			List<Order> list = orderDao.list(order, pageBean);
			ResponseUtil.writeJson(resp, new R().data("total", pageBean.getTotal()).data("rows", list));
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	/**
	 * 发货、撤单、签收公用方法
	 * @param req
	 * @param resp
	 */
	public void cancelAndReceive(HttpServletRequest req, HttpServletResponse resp) {
		// TODO Auto-generated method stub
		try {
			orderDao.editState(order);
			ResponseUtil.writeJson(resp, 1);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			try {
				ResponseUtil.writeJson(resp, 0);
			} catch (Exception e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
		}
	}
}

OrderItemAction

package com.sg.web;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sg.dao.OrderItemDao;
import com.sg.entity.OrderItem;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriver;
import com.zking.util.PageBean;
import com.zking.util.R;
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 void list(HttpServletRequest req, HttpServletResponse resp) {
		// TODO Auto-generated method stub
		PageBean pageBean=new PageBean();
		pageBean.setRequest(req);
		try {
			List<OrderItem> list = orderItemDao.list(orderItem, pageBean);
			ResponseUtil.writeJson(resp, new R().data("total", pageBean.getTotal()).data("rows", list));
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

第三步:配置文件

<action path="/order" type="com.sg.web.OrderAction">
	</action>
	
	<action path="/orderItem" type="com.sg.web.OrderItemAction">
	</action>

页面展示:

 

 在未发货页面点击发货(发货张三)

 

二:买家 

买家的功能也已经实现了

因为OrderAction中的

/**
	 * 发货、撤单、签收公用方法
	 * @param req
	 * @param resp
	 */
	public void cancelAndReceive(HttpServletRequest req, HttpServletResponse resp) {
		// TODO Auto-generated method stub
		try {
			orderDao.editState(order);
			ResponseUtil.writeJson(resp, 1);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			try {
				ResponseUtil.writeJson(resp, 0);
			} catch (Exception e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
		}
	}

这个方法是公用的

效果展示:

 

 在未发货页面点击撤单(撤单张三)

 

 在已发货页面点击签收(签收99)

 

 

今天就到这了,拜拜各位!!! 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容介绍 项目结构: Controller层:使用Spring MVC来处理用户请求,负责将请求分发到相应的业务逻辑层,并将数据传递给视图层进行展示。Controller层通常包含控制器类,这些类通过注解如@Controller、@RequestMapping等标记,负责处理HTTP请求并返回响应。 Service层:Spring的核心部分,用于处理业务逻辑。Service层通过接口和实现类的方式,将业务逻辑与具体的实现细节分离。常见的注解有@Service和@Transactional,后者用于管理事务。 DAO层:使用MyBatis来实现数据持久化,DAO层与数据库直接交互,执行CRUD操作。MyBatis通过XML映射文件或注解的方式,将SQL语句与Java对象绑定,实现高效的数据访问。 Spring整合: Spring核心配置:包括Spring的IOC容器配置,管理Service和DAO层的Bean。配置文件通常包括applicationContext.xml或采用Java配置类。 事务管理:通过Spring的声明式事务管理,简化了事务的处理,确保数据一致性和完整性。 Spring MVC整合: 视图解析器:配置Spring MVC的视图解析器,将逻辑视图名解析为具体的JSP或其他类型的视图。 拦截器:通过配置Spring MVC的拦截器,处理请求的预处理和后处理,常用于权限验证、日志记录等功能。 MyBatis整合: 数据源配置:配置数据库连接池(如Druid或C3P0),确保应用可以高效地访问数据库。 SQL映射文件:使用MyBatis的XML文件或注解配置,将SQL语句与Java对象映射,支持复杂的查询、插入、更新和删除操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值