⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 orderservicespringimpl.java

📁 订货系统:这是在Eclipse环境下开发的
💻 JAVA
字号:
package cn.hxex.order.service.spring;

import java.util.Iterator;
import java.util.List;
import java.util.Set;

import cn.hxex.order.bo.Order;
import cn.hxex.order.bo.OrderLineItem;
import cn.hxex.order.exception.OrderException;
import cn.hxex.order.exception.OrderMinimumAmountException;
import cn.hxex.order.service.IOrderService;
import cn.hxex.order.service.dao.IOrderDAO;

/**
 * 业务逻辑接口的实现类
 * 
 * @author galaxy
 * 
 */
public class OrderServiceSpringImpl implements IOrderService {

	private static final double ORDER_MINIMUM = 100.0;

	private IOrderDAO orderDAO;

	/**
	 * 缺省的构造方法
	 */
	public OrderServiceSpringImpl() {
		super();
	}

	/**
	 * 保存新的订单信息
	 */
	public Order saveNewOrder(Order order) throws OrderException,
			OrderMinimumAmountException {

		// do some business logic
		if (order != null && order.getTotal() == 0) {

			double total = 0.0;

			Set items = order.getOrderLineItems();
			Iterator iter = items.iterator();
			while (iter.hasNext()) {
				OrderLineItem item = (OrderLineItem) iter.next();
				total += item.getLineItemPrice();
			}

			if (total < OrderServiceSpringImpl.ORDER_MINIMUM) {
				throw new OrderMinimumAmountException(
						"Order did not exceed the order minimum");
			} else {
				order.setTotal(total);
			}
		}

		Order savedOrder = null;
		try {
			savedOrder = getOrderDAO().saveOrder(order);
		} catch (RuntimeException e) {
			throw new OrderException("Could not save order " + e.toString());
		}

		return savedOrder;
	}

	/**
	 * 通过订单用户来查找订单的信息
	 * 
	 * @param user
	 *            下订单的用户名
	 * @return Order 订单的信息
	 */
	public List findOrderByUser(String user) throws OrderException {

		List orders = null;
		try {
			orders = getOrderDAO().findOrdersPlaceByUser(user);
		} catch (RuntimeException e) {
			// should really use a logger instead of System.out
			System.out.println("Could not locate order by user "
					+ e.getMessage());
			throw new OrderException("Could not locate order by user "
					+ e.getMessage());
		}
		return orders;
	}

	/**
	 * 通过订单ID来取得订单的信息
	 * 
	 * @param id
	 * @return Order
	 */
	public Order findOrderById(int id) throws OrderException {

		Order order = null;
		try {
			order = getOrderDAO().findOrderById(id);
		} catch (RuntimeException e) {
			// should really use a logger instead of System.out
			System.out
					.println("Could not locate order by ID " + e.getMessage());
			throw new OrderException("Could not locate order by ID "
					+ e.getMessage());
		}
		return order;
	}

	/**
	 * @return
	 */
	public IOrderDAO getOrderDAO() {
		return orderDAO;
	}

	/**
	 * 设置IOrderDAO接口的实例
	 * 
	 * @param orderDAO
	 */
	public void setOrderDAO(IOrderDAO orderDAO) {
		this.orderDAO = orderDAO;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -