From bef4f6d51bff03c0512a75f43e79699b7296f1fa Mon Sep 17 00:00:00 2001 From: EricsHu <hrr145632> Date: 星期四, 23 十一月 2023 18:00:53 +0800 Subject: [PATCH] 修改系统角色逻辑、和老师身份逻辑 --- src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java | 266 ++++++++++++++++++++++++++++++----------------------- 1 files changed, 151 insertions(+), 115 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java index 3aa4e02..4138bff 100644 --- a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java +++ b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java @@ -81,7 +81,7 @@ */ @Override public Result insertReClass(String className, String classNumber, Date startTime, Date endTime, String subjectId, - String teacherId,String classTypes) { + String teacherId,String classTypes) { ClsClass cls = new ClsClass(); @@ -97,14 +97,14 @@ save(cls); return new Result(true, "success",CollectionUtils.newStringMap("classId",cls.getClassId())); } - @Override - public ClsClass getReClass(String classTypes) { - String hql = "select c from ClsClass c where c.deleteFlag is false and c.classTypes=? "; + @Override + public ClsClass getReClass(String classTypes) { + String hql = "select c from ClsClass c where c.deleteFlag is false and c.classTypes=? "; - ClsClass cls = findUnique(hql, CollectionUtils.newList(classTypes), - ClsClass.class); - return cls; - } + ClsClass cls = findUnique(hql, CollectionUtils.newList(classTypes), + ClsClass.class); + return cls; + } @Override public Result updateClass(String classId, String className, String classNumber, Date startTime, Date endTime, @@ -134,23 +134,59 @@ public ClsClass read(String classId) { return read(ClsClass.class, classId); } +// +// /** +// * 鍘熷锛氳幏鍙栫彮绾у垪琛� +// */ +// @Override +// public List<ClsClass> getClassLst(String keyword, String teacherId, Integer pageSize, Integer pageNum, Integer pageType) { +// String keyword_ = StringUtils.isBlank(keyword) ? "" : keyword; +//// System.out.println(keyword_); +// StringBuffer hql = new StringBuffer("from ClsClass c where c.deleteFlag is false and c.orgId=? and c.name like ? and c.createId=?"); +// +// if (pageType == 1) { +// hql.append(" and c.endTime >= sysdate() "); +// }else if(pageType == 2) { +// hql.append(" and c.endTime < sysdate() "); +// } +//// System.out.println("vvvvv"+ClientUtils.getOrgId()+"333333333"+ClientUtils.getUserId()); +// List<Object> args = CollectionUtils.newList(ClientUtils.getOrgId(),keyword_ + "%",ClientUtils.getUserId()); +//// System.out.println(args); +// if (!StringUtils.isEmpty(teacherId)) { +// hql.append(" and exists( select 1 from ClsClassReSubject r,Subject t where r.subjectId=t.subjectId and c.classId= r.classId and t.teacherId=? and r.deleteFlag is false and t.deleteFlag is false)"); +// args.add(teacherId); +// } +// +// hql.append(" order by c.createTime desc"); +//// System.out.println(hql.toString()); +//// System.out.println(findList(hql.toString(), new Pager(pageSize, pageNum), args, ClsClass.class)); +// return findList(hql.toString(), new Pager(pageSize, pageNum), args, ClsClass.class); +// } /** - * 鑾峰彇鐝骇鍒楄〃 + * 浼樺寲鑾峰彇鐝骇鍒楄〃 + * @param keyword + * @param teacherId + * @param pageSize + * @param pageNum + * @param pageType + * @return */ - @Override public List<ClsClass> getClassLst(String keyword, String teacherId, Integer pageSize, Integer pageNum, Integer pageType) { String keyword_ = StringUtils.isBlank(keyword) ? "" : keyword; // System.out.println(keyword_); - StringBuffer hql = new StringBuffer("from ClsClass c where c.deleteFlag is false and c.orgId=? and c.name like ? and c.createId=?"); + StringBuffer hql = new StringBuffer("from ClsClass c where c.deleteFlag is false and c.orgId=? and c.name like ? "); if (pageType == 1) { hql.append(" and c.endTime >= sysdate() "); }else if(pageType == 2) { hql.append(" and c.endTime < sysdate() "); } -// System.out.println("vvvvv"+ClientUtils.getOrgId()+"333333333"+ClientUtils.getUserId()); - List<Object> args = CollectionUtils.newList(ClientUtils.getOrgId(),keyword_ + "%","40288a1261d106ba0161d1072e260000"); +// if (!StringUtils.isEmpty(teacherId)) { +// hql.append("and c.createId=?)"); +// } +// System.out.println("vvvvv"+ClientUtils.getOrgId()+"333333333"+ClientUtils.getUserId()); ,ClientUtils.getUserId() + List<Object> args = CollectionUtils.newList(ClientUtils.getOrgId(),keyword_ + "%"); // System.out.println(args); if (!StringUtils.isEmpty(teacherId)) { hql.append(" and exists( select 1 from ClsClassReSubject r,Subject t where r.subjectId=t.subjectId and c.classId= r.classId and t.teacherId=? and r.deleteFlag is false and t.deleteFlag is false)"); @@ -170,13 +206,13 @@ if (pageType == 1) { hql.append(" and c.endTime >= sysdate() "); }else if(pageType == 2) { - hql.append(" and c.endTime < sysdate() "); + hql.append(" and c.endTime < sysdate() "); } List<Object> args = CollectionUtils.newList(ClientUtils.getOrgId(),keyword + "%"); if (!StringUtils.isEmpty(teacherId)) { - hql.append(" and exists( select 1 from ClsClassReSubject r,Subject t where r.subjectId=t.subjectId and c.classId= r.classId and t.teacherId=? and r.deleteFlag is false and t.deleteFlag is false)"); + hql.append(" and exists( select 1 from ClsClassReSubject r,Subject t where r.subjectId=t.subjectId and c.classId= r.classId and t.teacherId=? and r.deleteFlag is false and t.deleteFlag is false)"); args.add(teacherId); } @@ -316,138 +352,138 @@ @Override public List<Map<String,Object>> queryAvailableClassIdAndName(String teacherId,String subjectId) { - StringBuffer hql = new StringBuffer(1000); - // and c.endTime>=sysdate() 澧炲姞鏉′欢杩囨护鎺夊巻鍙茬彮绾� - hql.append("select c.classId as classId ,c.name as className from ClsClass c where c.deleteFlag is false and c.orgId=:orgId and c.createId=:createId " ); - Map<String,Object> queryParam = new HashMap<String,Object>(); - queryParam.put("orgId", ClientUtils.getOrgId()); - queryParam.put("createId", ClientUtils.getUserId()); + StringBuffer hql = new StringBuffer(1000); + // and c.endTime>=sysdate() 澧炲姞鏉′欢杩囨护鎺夊巻鍙茬彮绾� + hql.append("select c.classId as classId ,c.name as className from ClsClass c where c.deleteFlag is false and c.orgId=:orgId and c.createId=:createId " ); + Map<String,Object> queryParam = new HashMap<String,Object>(); + queryParam.put("orgId", ClientUtils.getOrgId()); + queryParam.put("createId", ClientUtils.getUserId()); - if(StringUtils.isNotEmpty(teacherId)||StringUtils.isNotEmpty(subjectId)){ - hql.append(" and exists (select 1 from ClsClassReSubject r ,Subject s where r.subjectId=s.subjectId and r.classId =c.classId and r.deleteFlag is false "); - } + if(StringUtils.isNotEmpty(teacherId)||StringUtils.isNotEmpty(subjectId)){ + hql.append(" and exists (select 1 from ClsClassReSubject r ,Subject s where r.subjectId=s.subjectId and r.classId =c.classId and r.deleteFlag is false "); + } - if(!StringUtils.isEmpty(teacherId)){ - hql.append(" and s.teacherId=:teacherId "); - queryParam.put("teacherId", teacherId); - } + if(!StringUtils.isEmpty(teacherId)){ + hql.append(" and s.teacherId=:teacherId "); + queryParam.put("teacherId", teacherId); + } - if(!StringUtils.isEmpty(subjectId)){ - hql.append(" and s.origSubjectId=:subjectId "); - queryParam.put("subjectId", subjectId); - } + if(!StringUtils.isEmpty(subjectId)){ + hql.append(" and s.origSubjectId=:subjectId "); + queryParam.put("subjectId", subjectId); + } - if(StringUtils.isNotEmpty(teacherId)||StringUtils.isNotEmpty(subjectId)){ - hql.append(")"); - } + if(StringUtils.isNotEmpty(teacherId)||StringUtils.isNotEmpty(subjectId)){ + hql.append(")"); + } - return this.findListWithMapByHql(hql.toString(), queryParam); + return this.findListWithMapByHql(hql.toString(), queryParam); } - @Override + @Override public List<Map<String,Object>> queryAllClassIdAndName() { - StringBuffer hql = new StringBuffer(500); + StringBuffer hql = new StringBuffer(500); // c.deleteFlag is false and - hql.append("select c.classId as classId ,c.name as className from ClsClass c where c.endTime>=:endTime and c.orgId=:orgId " ); + hql.append("select c.classId as classId ,c.name as className from ClsClass c where c.endTime>=:endTime and deleteFlag is false and c.orgId=:orgId " ); - return this.findListWithMapByHql(hql.toString(), CollectionUtils.newObjectMap("endTime",new Date(),"orgId",ClientUtils.getOrgId())); + return this.findListWithMapByHql(hql.toString(), CollectionUtils.newObjectMap("endTime",new Date(),"orgId",ClientUtils.getOrgId())); } - /** - * 鏌ヨ鐝骇 - * - * type 1姝e父鐝礆锛�2鍘嗗彶鐝礆 - */ - public Result classList(String keyword, Pager pager, int type) { - //鑾峰彇鑰佸笀id - String teacherId = teacherService.getTeacherIdByUserId(ClientUtils.getUserId()); - if (StringUtils.isEmpty(teacherId)) { - return new Result(false, "闈炶�佸笀瑙掕壊鏃犳硶鏌ョ湅鐝骇"); - } - QClsClass qClsClass = QClsClass.clsClass; - QSubject qSubject = QSubject.subject; - QClsClassReSubject qClsClassReSubject = QClsClassReSubject.clsClassReSubject; - QSubjectProgressTreeV qSubjectProgressTreeV = QSubjectProgressTreeV.subjectProgressTreeV; + /** + * 鏌ヨ鐝骇 + * + * type 1姝e父鐝礆锛�2鍘嗗彶鐝礆 + */ + public Result classList(String keyword, Pager pager, int type) { + //鑾峰彇鑰佸笀id + String teacherId = teacherService.getTeacherIdByUserId(ClientUtils.getUserId()); + if (StringUtils.isEmpty(teacherId)) { + return new Result(false, "闈炶�佸笀瑙掕壊鏃犳硶鏌ョ湅鐝骇"); + } + QClsClass qClsClass = QClsClass.clsClass; + QSubject qSubject = QSubject.subject; + QClsClassReSubject qClsClassReSubject = QClsClassReSubject.clsClassReSubject; + QSubjectProgressTreeV qSubjectProgressTreeV = QSubjectProgressTreeV.subjectProgressTreeV; - //鏌ヨ鑴氭湰 - JPAQuery<Tuple> queryDsl = this.getQueryFactory() - .select(qClsClass.name, qClsClass.classId, qClsClass.classNumber, qClsClass.studentCount, - qClsClass.createTime, qClsClass.startTime, qClsClass.endTime, qSubject) - .from(qClsClass, qSubject, qClsClassReSubject) - .where(qClsClass.deleteFlag.isFalse().and((type == 2 ? qClsClass.endTime.lt(new Date()) : qClsClass.endTime.gt(new Date()))).and(qClsClass.name.like("%" + keyword + "%")) - .and(qSubject.teacherId.eq(teacherId)).and(qSubject.deleteFlag.isFalse()) - .and(qClsClassReSubject.deleteFlag.isFalse()) - .and(qClsClassReSubject.classId.eq(qClsClass.classId)) - .and(qClsClassReSubject.subjectId.eq(qSubject.subjectId))) - .groupBy(qClsClass.classId); + //鏌ヨ鑴氭湰 + JPAQuery<Tuple> queryDsl = this.getQueryFactory() + .select(qClsClass.name, qClsClass.classId, qClsClass.classNumber, qClsClass.studentCount, + qClsClass.createTime, qClsClass.startTime, qClsClass.endTime, qSubject) + .from(qClsClass, qSubject, qClsClassReSubject) + .where(qClsClass.deleteFlag.isFalse().and((type == 2 ? qClsClass.endTime.lt(new Date()) : qClsClass.endTime.gt(new Date()))).and(qClsClass.name.like("%" + keyword + "%")) + .and(qSubject.teacherId.eq(teacherId)).and(qSubject.deleteFlag.isFalse()) + .and(qClsClassReSubject.deleteFlag.isFalse()) + .and(qClsClassReSubject.classId.eq(qClsClass.classId)) + .and(qClsClassReSubject.subjectId.eq(qSubject.subjectId))) + .groupBy(qClsClass.classId); - //鎬绘暟 - long count = queryDsl.fetchCount(); + //鎬绘暟 + long count = queryDsl.fetchCount(); - //listData - List<Map<String, Object>> listData = queryDsl.limit(pager.getPageSize()).offset(pager.getOffset()) - .orderBy(qClsClass.createTime.desc(), qSubject.createTime.desc()).fetch().stream().map(tuple -> { - Map<String, Object> map = new HashMap<String, Object>(); - Subject subject = tuple.get(qSubject); + //listData + List<Map<String, Object>> listData = queryDsl.limit(pager.getPageSize()).offset(pager.getOffset()) + .orderBy(qClsClass.createTime.desc(), qSubject.createTime.desc()).fetch().stream().map(tuple -> { + Map<String, Object> map = new HashMap<String, Object>(); + Subject subject = tuple.get(qSubject); - map.put("className", tuple.get(qClsClass.name)); - map.put("classId", tuple.get(qClsClass.classId)); - map.put("classNumber", tuple.get(qClsClass.classNumber)); - map.put("studentCount", tuple.get(qClsClass.studentCount)); - map.put("createTime", tuple.get(qClsClass.createTime)); - map.put("startTime", tuple.get(qClsClass.startTime)); - map.put("endTime", tuple.get(qClsClass.endTime)); - if (subject != null) { - map.put("subjectName", subject.getName()); - map.put("progressPercent", - this.getQueryFactory().select(qSubjectProgressTreeV.percent.avg()) - .from(qSubjectProgressTreeV) - .where(qSubjectProgressTreeV.id.nodeId.eq(subject.getSubjectId()) - .and(qSubjectProgressTreeV.nodeType.eq(Progress.PROGRESS_TYPE_SUBJECT))) - .groupBy(qSubjectProgressTreeV.id.nodeId).fetchOne()); - } else { - map.put("subjectName", "鏆傛棤寮�鐝绋�"); - map.put("progressPercent", 0); - } - return map; - }).collect(Collectors.toList()); + map.put("className", tuple.get(qClsClass.name)); + map.put("classId", tuple.get(qClsClass.classId)); + map.put("classNumber", tuple.get(qClsClass.classNumber)); + map.put("studentCount", tuple.get(qClsClass.studentCount)); + map.put("createTime", tuple.get(qClsClass.createTime)); + map.put("startTime", tuple.get(qClsClass.startTime)); + map.put("endTime", tuple.get(qClsClass.endTime)); + if (subject != null) { + map.put("subjectName", subject.getName()); + map.put("progressPercent", + this.getQueryFactory().select(qSubjectProgressTreeV.percent.avg()) + .from(qSubjectProgressTreeV) + .where(qSubjectProgressTreeV.id.nodeId.eq(subject.getSubjectId()) + .and(qSubjectProgressTreeV.nodeType.eq(Progress.PROGRESS_TYPE_SUBJECT))) + .groupBy(qSubjectProgressTreeV.id.nodeId).fetchOne()); + } else { + map.put("subjectName", "鏆傛棤寮�鐝绋�"); + map.put("progressPercent", 0); + } + return map; + }).collect(Collectors.toList()); - return new Result(true, "success", CollectionUtils.newObjectMap("count", count, "listData", listData)); - } + return new Result(true, "success", CollectionUtils.newObjectMap("count", count, "listData", listData)); + } @Override public String [] queryClassNamesByIds(String[] classIds){ - if(classIds!=null && classIds.length==0){ - return null; - } + if(classIds!=null && classIds.length==0){ + return null; + } - String [] classNames = null; + String [] classNames = null; - List<Map<String,Object>> lstResult= this.findListWithMapByHql("select c.classId as classId ,c.name as className from ClsClass c where c.classId in (:classIds) ", - CollectionUtils.newObjectMap("classIds",classIds)); + List<Map<String,Object>> lstResult= this.findListWithMapByHql("select c.classId as classId ,c.name as className from ClsClass c where c.classId in (:classIds) ", + CollectionUtils.newObjectMap("classIds",classIds)); - if(lstResult!=null && lstResult.size()==classIds.length){ - Map<String,String> map= new HashMap<String,String>(lstResult.size()); - classNames =new String [classIds.length]; + if(lstResult!=null && lstResult.size()==classIds.length){ + Map<String,String> map= new HashMap<String,String>(lstResult.size()); + classNames =new String [classIds.length]; - for(Map<String,Object> item:lstResult){ - map.put((String)item.get("classId"), (String)item.get("className")); - } + for(Map<String,Object> item:lstResult){ + map.put((String)item.get("classId"), (String)item.get("className")); + } - for(int i=0;i<classIds.length;i++){ - classNames[i]= map.get(classIds[i]); - } - } + for(int i=0;i<classIds.length;i++){ + classNames[i]= map.get(classIds[i]); + } + } - return classNames; + return classNames; } @Override public List<ClsClass> queryStudentClassesByUserId(String userId) { - return this.find("from ClsClass c where c.deleteFlag is false and exists( select 1 from StuStudent t where t.classId = c.classId and t.userId=? and t.status=? ) ", - CollectionUtils.newList(userId,StuStudent.STATUS_ACTIVE),ClsClass.class); + return this.find("from ClsClass c where c.deleteFlag is false and exists( select 1 from StuStudent t where t.classId = c.classId and t.userId=? and t.status=? ) ", + CollectionUtils.newList(userId,StuStudent.STATUS_ACTIVE),ClsClass.class); } -- Gitblit v1.8.0