/****************************************************************************** * 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); } }