📄 orderserviceimpl.java
字号:
package com.laoniu.service.impl;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.Map.Entry;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.laoniu.bean.Book;
import com.laoniu.bean.Orderform;
import com.laoniu.common.exception.CustomerServiceException;
import com.laoniu.common.exception.OrderServiceException;
import com.laoniu.common.transaction.HibernateTransaction;
import com.laoniu.common.transaction.Transaction;
import com.laoniu.dao.IOrderDao;
import com.laoniu.service.IOrderService;
import com.laoniu.common.BeanFactory;
public class OrderServiceImpl implements IOrderService {
//删除订单
public void delOrder(Long orderid) throws OrderServiceException {
Orderform order=null;
IOrderDao dao=(IOrderDao)BeanFactory.getBean(BeanFactory.ORDERDAO);
Transaction tran=new HibernateTransaction();
try {
tran.beginTransaction();
order=dao.findOrderById(orderid);
//System.out.println(order.getId());
if(order==null){
throw new OrderServiceException("该订单已经被删除!");
}
dao.deleteOrder(order);
tran.commit();
} catch (Exception e) {
tran.rollback();
if(e instanceof CustomerServiceException)
{
throw (OrderServiceException)e;
}else
{
e.printStackTrace();
}
}
}
//查找某一订单
public Orderform findOrderById(Long orderid) throws OrderServiceException {
Orderform order=null;
IOrderDao dao=(IOrderDao)BeanFactory.getBean(BeanFactory.ORDERDAO);
Transaction tran=new HibernateTransaction();
try {
tran.beginTransaction();
order=dao.findOrderById(orderid);
if(order==null){
throw new OrderServiceException("此订单不存在!");
}
tran.commit();
} catch (Exception e) {
tran.rollback();
e.printStackTrace();
}
return order;
}
//获得图书清单
public Map<Long, Book> listAllBook() throws OrderServiceException {
IOrderDao dao=(IOrderDao)BeanFactory.getBean(BeanFactory.ORDERDAO);
Transaction tran=new HibernateTransaction();
Map<Long,Book> map=null;
try {
tran.beginTransaction();
map=dao.findAllBook();
tran.commit();
} catch (Exception e) {
tran.rollback();
throw new OrderServiceException("系统忙,请稍候查询!");
}
return map;
}
//获得订单清单
public Map<Long, Orderform> listAllOrder(Long customerid)
throws OrderServiceException {
IOrderDao dao=(IOrderDao)BeanFactory.getBean(BeanFactory.ORDERDAO);
Transaction tran=new HibernateTransaction();
Map<Long,Orderform> map=null;
try {
tran.beginTransaction();
map=dao.findAllOrder(customerid);
System.out.println(map.isEmpty());
if(null==map){
throw new OrderServiceException("对不起,您还没有下过订单!");
}
tran.commit();
} catch (Exception e) {
tran.rollback();
throw new OrderServiceException("系统忙,请稍候查询!");
}
return map;
}
//保存一个订单
public void saveOrder(Orderform order) throws OrderServiceException {
IOrderDao dao=(IOrderDao)BeanFactory.getBean(BeanFactory.ORDERDAO);
Transaction tran=new HibernateTransaction();
try {
tran.beginTransaction();
dao.saveOrder(order);
tran.commit();
} catch (Exception e) {
tran.rollback();
e.printStackTrace();
}
}
public Map<Long, Orderform> listAllorder() throws OrderServiceException
{
HibernateTransaction tran=new HibernateTransaction();
tran.beginTransaction();
IOrderDao orderDao=(IOrderDao)BeanFactory.getBean(BeanFactory.ORDERDAO);
Map<Long,Orderform> orders=null;
try {
orders=orderDao.listAllOrder();
tran.commit();
} catch (Exception e) {
e.printStackTrace();
tran.rollback();
throw new OrderServiceException("对不起,无法查找全部订单!");
}
return orders;
}
//分页函数
/*
* map 为所有订单的集合
* num 为当前页显示的数量
* currentPage 当前页的页数
* */
public List<Orderform> searchOrder(Map<Long, Orderform> map, int num, int currentPage) throws OrderServiceException {
// TODO Auto-generated method stub
List<Orderform> sublist=null;
//初始值
int startValue=0;
//末位值
int endValue=0;
List<Orderform> list=new ArrayList<Orderform>();
for(Object o : map.values()){
Orderform order=(Orderform)o;
list.add(order);
}
//suoyouyuanshu de shuliang
int size=list.size();
//page shu
int pages=size/num;
//yushu
int mod=size%num;
if(size<num){
sublist=list.subList(0, size);
}else if(currentPage<=pages){
sublist=list.subList((currentPage-1)*num, (currentPage-1)*num+num);
}else{
sublist=list.subList(pages*num,pages*num+mod);
}
return sublist;
}
public void deleteBook(Long bookid) throws OrderServiceException {
HibernateTransaction tran=new HibernateTransaction();
tran.beginTransaction();
IOrderDao orderDao=(IOrderDao)BeanFactory.getBean(BeanFactory.ORDERDAO);
try {
tran.beginTransaction();
orderDao.deleteBook(bookid);
tran.commit();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
tran.rollback();
}
}
public void addBook(String name, Double price) throws OrderServiceException {
HibernateTransaction tran=new HibernateTransaction();
tran.beginTransaction();
IOrderDao orderDao=(IOrderDao)BeanFactory.getBean(BeanFactory.ORDERDAO);
try{
Book book=new Book();
book.setName(name);
book.setPrice(price);
orderDao.addBook(book);
tran.commit();
}catch(Exception e)
{
e.printStackTrace();
tran.rollback();
throw new OrderServiceException(e.getMessage());
}
}
//tushu fenye
public List<Book> searchBook(Map<Long, Book> map, int num, int currentPage) throws OrderServiceException {
// TODO Auto-generated method stub
List<Book> sublist=null;
//初始值
int startValue=0;
//末位值
int endValue=0;
List<Book> list=new ArrayList<Book>();
for(Object o : map.values()){
Book book=(Book)o;
list.add(book);
}
//suoyouyuanshu de shuliang
int size=list.size();
//page shu
int pages=size/num;
//yushu
int mod=size%num;
if(size<num){
sublist=list.subList(0, size);
}else if(currentPage<=pages){
sublist=list.subList((currentPage-1)*num, (currentPage-1)*num+num);
}else{
sublist=list.subList(pages*num,pages*num+mod);
}
return sublist;
}
/*public static void main(String args[]){
Map<Long,Book> map=null;
OrderServiceImpl os=new OrderServiceImpl();
try {
map=os.listAllBook();
for(Entry entry : map.entrySet()){
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -