/****************************************************************************** * 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 queryLessonList(String sql,List 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 lstItems = query.list(); return lstItems; } /** * 组装查询练习题目 顺序、随机练习 * @return */ public List queryAppLessonList(final String hql, final Pager page, final List args) { List lstitems = new ArrayList(); SchClassSchedule item; List 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 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 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); } }