/******************************************************************************
|
* All Rights Reserved.
|
* 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
|
* 不得使用、复制、修改或发布本软件.
|
*****************************************************************************/
|
|
package com.qxueyou.scc.school.dao;
|
|
import java.text.ParseException;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import org.hibernate.SQLQuery;
|
import org.hibernate.Session;
|
import org.hibernate.transform.Transformers;
|
import org.springframework.stereotype.Repository;
|
|
import com.qxueyou.scc.base.dao.BaseDAO;
|
import com.qxueyou.scc.base.model.Pager;
|
import com.qxueyou.scc.base.util.CollectionUtils;
|
import com.qxueyou.scc.school.model.SchClassSchedule;
|
|
|
@Repository(value="lessonDAO")
|
/**
|
* 自动注入sessionFactory
|
*
|
* @author ody.yuan
|
* @since JDK1.6
|
* @history 2015-04-23
|
*/
|
public class LessonDAO extends BaseDAO {
|
|
/**
|
* 查询课程列表明细
|
* @param sql
|
* @param args
|
* @return
|
* @throws ParseException
|
*/
|
public List<SchClassSchedule> queryLessonList(String sql,List<Object> args) {
|
// 查询结果
|
Session session = this.getSessionFactory().getCurrentSession();
|
SQLQuery query = session.createSQLQuery(sql);
|
query.setResultTransformer(Transformers.aliasToBean(SchClassSchedule.class));
|
for(int i = 0;args !=null && i < args.size() ; i++ ){
|
query.setParameter(i, args.get(i));
|
}
|
@SuppressWarnings("unchecked")
|
List<SchClassSchedule> lstItems = query.list();
|
|
return lstItems;
|
}
|
|
/**
|
* 组装查询练习题目 顺序、随机练习
|
* @return
|
*/
|
public List<SchClassSchedule> queryAppLessonList(final String hql, final Pager page,
|
final List<Object> args) {
|
List<SchClassSchedule> lstitems = new ArrayList<SchClassSchedule>();
|
SchClassSchedule item;
|
List<Object[]> lst = this.findList(hql, page, args, Object[].class);
|
|
for (Object[] obj : lst) {
|
item = (SchClassSchedule) obj[0];
|
item.setTeacherImg(String.valueOf(obj[1]));
|
lstitems.add(item);
|
}
|
return lstitems;
|
}
|
|
/**
|
* 根据讲师id查询班级
|
* @param orgTeacherId
|
* @return
|
*/
|
public List<String> queryClassesByTeacher(String orgTeacherId) {
|
String hql = "select s.classId from SchClassSchedule s where s.teacherId=:teacherId and EXISTS (select 1 from ClsClass c where c.classId = s.classId and c.deleteFlag is FALSE) GROUP BY s.classId";
|
|
return findByComplexHql(hql, CollectionUtils.newObjectMap("teacherId",orgTeacherId), String.class);
|
}
|
|
/**
|
* 查询讲师关联的直播
|
*
|
* @param orgTeacherId
|
* @return
|
*/
|
public List<String> queryClassesByLive(String orgTeacherId) {
|
|
String hql = "select s.classId from MediaVideoLive s where s.anchorId=:teacherId and EXISTS (select 1 from ClsClass c where c.classId = s.classId and c.deleteFlag is FALSE) GROUP BY s.classId";
|
|
return findByComplexHql(hql, CollectionUtils.newObjectMap("teacherId",orgTeacherId), String.class);
|
}
|
}
|