package org.taobao88.taobao.enterprise.dao.impl; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; import org.taobao88.taobao.enterprise.dao.PackageDAO; import org.taobao88.taobao.enterprise.entity.OrderT; import org.taobao88.taobao.enterprise.entity.PackageT; import org.taobao88.taobao.enterprise.entity.UserT; import java.util.ArrayList; import java.util.List; /** * Created by User on 15.06.14. */ @Transactional @Repository("packageDAO") public class PackageDAOImpl implements PackageDAO{ @Autowired SessionFactory sessionFactory; @Override public int addPackage(PackageT packageT) { sessionFactory.getCurrentSession().save(packageT); return (Integer) sessionFactory.getCurrentSession().getIdentifier(packageT); } @Override public PackageT findPackageById(int id) { return (PackageT)sessionFactory.getCurrentSession().get(PackageT.class,id); } @SuppressWarnings("unchecked") @Override public List<PackageT> getPackagesForAdmin() { String query = ""; query = "from PackageT where approve='false' ORDER BY idPackage DESC "; List<PackageT> packageTs = sessionFactory.getCurrentSession().createQuery(query).list(); for(int i=0;i<packageTs.size();i++) { System.out.println(packageTs); } return (List<PackageT>) sessionFactory.getCurrentSession().createQuery(query).list(); } @SuppressWarnings("unchecked") @Override public List<PackageT> getPackagesForAdminHistory() { String query = ""; query = "from PackageT where approve='true' ORDER BY datePackage desc"; return (List<PackageT>) sessionFactory.getCurrentSession().createQuery(query).list(); } @Override public void deletePackage(int id) { sessionFactory.getCurrentSession().delete(findPackageById(id)); } @Override public void updatePackage(PackageT packageT) { sessionFactory.getCurrentSession().update(packageT); } @SuppressWarnings("unchecked") @Override public ArrayList<OrderT> getPackagesForUser(int idUser) { String query = "select idPackage from OrderT where (approve='false' AND idUser="+idUser+")"; System.out.println(query); return (ArrayList<OrderT>) sessionFactory.getCurrentSession().createQuery(query).list(); } @SuppressWarnings("unchecked") @Override public List<PackageT> getPackagesByUser(UserT user) { return sessionFactory.getCurrentSession().createQuery("FROM PackageT P, OrderT O WHERE P.approve = 'false' AND P.idPackage = O.packageT.idPackage AND O.idUser = :user_id").setParameter("user_id", user.getIdUser()).list(); } @SuppressWarnings("unchecked") @Override public ArrayList<OrderT> getPackagesForUserHistory(int idUser) { String query = "select idPackage from OrderT where (approve='true' AND idUser="+idUser+")"; return (ArrayList<OrderT>) sessionFactory.getCurrentSession().createQuery(query).list(); } }