/******************************************************************************
|
* Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
|
* All Rights Reserved.
|
* 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
|
* 不得使用、复制、修改或发布本软件.
|
*****************************************************************************/
|
|
package com.qxueyou.scc.school.dao;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import org.hibernate.Query;
|
import org.hibernate.SQLQuery;
|
import org.hibernate.Session;
|
import org.springframework.orm.hibernate4.HibernateCallback;
|
import org.springframework.stereotype.Repository;
|
|
import com.qxueyou.scc.base.dao.BaseDAO;
|
import com.qxueyou.scc.base.model.Pager;
|
import com.qxueyou.scc.school.model.SchHandout;
|
|
|
@Repository(value="handoutDAO")
|
/**
|
* 自动注入sessionFactory 互动
|
*
|
* @author 邓志永
|
* @since JDK1.6
|
* @history 2015-01-07 邓志永 新建
|
*/
|
public class HandoutDAO extends BaseDAO {
|
/**
|
* 查询互动练习结果,加下拉和分页
|
* @param hql
|
* @param args
|
* @return
|
*/
|
public List<SchHandout> schHandoutList(int type,final String hql, final Pager page, final List<Object> args) {
|
|
List<SchHandout> handoutLst = new ArrayList<SchHandout>(20);
|
SchHandout handout = null;
|
// 查询结果
|
List<Object[]> lst = this.findList(hql, page, args, Object[].class);
|
|
for (Object[] obj : lst) {
|
handout = new SchHandout();
|
handout = (SchHandout) obj[0];
|
if(type == 1){//讲义收藏
|
handout.setTotalCount(handout.getPageCount());
|
handout.setPageCount(Integer.parseInt(String.valueOf(obj[1])));
|
}
|
handoutLst.add(handout);
|
}
|
return handoutLst;
|
}
|
|
|
/**
|
* 后台列表查询讲义数据
|
* @param sql
|
* @param args
|
* @return
|
*/
|
@SuppressWarnings("unchecked")
|
public List<SchHandout> queryDataList(String sql,List<Object> args) {
|
// 查询结果
|
Session session = this.getSessionFactory().getCurrentSession();
|
SQLQuery query = session.createSQLQuery(sql).addEntity(SchHandout.class);
|
//query.setResultTransformer(Transformers.aliasToBean(SchHandout.class));
|
for(int i = 0;args !=null && i < args.size() ; i++ ){
|
query.setParameter(i, args.get(i));
|
}
|
List<SchHandout> lstHandouts = query.list();
|
|
return lstHandouts;
|
}
|
|
|
/**
|
* 通过讲义观看记录查询讲义实际观看了的页码
|
* @param hql
|
* @param args
|
* @return
|
*/
|
@SuppressWarnings({ "unchecked"})
|
public List<String> schHandoutPageNum(final String hql, final List<Object> args) {
|
|
// 查询结果
|
List<Integer> lst = this.getHibernateTemplate().execute(new HibernateCallback<List<Integer>>() {
|
|
public List<Integer> doInHibernate(Session session) {
|
Query query = session.createSQLQuery(hql);
|
int i = 0;
|
for (Object arg : args) {
|
query.setParameter(i++, arg);
|
}
|
|
return query.list();
|
}
|
});
|
List<String> pageLst = new ArrayList<String>();
|
|
for (Integer obj : lst) {
|
if(null!=obj){
|
pageLst.add(String.valueOf(obj));
|
|
}
|
}
|
return pageLst;
|
}
|
|
}
|