派生自 projectDept/qhighschool

yn147
2023-11-24 26780c533f2c2af6b9216306f649c1bcede94e4a
src/main/java/com/qxueyou/scc/admin/examroom/service/impl/ExamRoomService.java
@@ -9,6 +9,7 @@
import com.qxueyou.scc.base.util.CollectionUtils;
import com.qxueyou.scc.base.util.TraceUtils;
import com.qxueyou.scc.exam.model.ExamInfo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -30,7 +31,7 @@
      ExamRoom newExamRoom = read(ExamRoom.class, examRoom.getExamroomId());
      if (newExamRoom == null) {
         return new Result(false, "考场不存在");
         return new Result(false, "考场不存在");
      }
      TraceUtils.setUpdateTrace(newExamRoom);
@@ -52,7 +53,7 @@
   @Override
   public Result doRelease(String[] examroomIds) {
      if(examroomIds==null || examroomIds.length==0){
         return new Result(false, "没有选择要发布的考场");
         return new Result(false, "没有选择要发布的考场");
      }
      
      List<ExamRoom> lstClsRoom = this.findByComplexHql("from ExamRoom where examroomId in (:examroomIds)",
@@ -60,7 +61,7 @@
      for (ExamRoom room : lstClsRoom) {
         if (ExamInfo.STATUS_DRAFT != room.getStatus()) {
            return new Result(false, "只有草稿状态的考场,才能发布。");
            return new Result(false, "只有草稿状态的考场,才能发布。");
         }
         room.setStatus(ExamRoom.STATUS_PUBLISH);
         TraceUtils.setUpdateTrace(room);
@@ -73,7 +74,7 @@
   @Override
   public Result doCancel(String[] examroomIds) {
      if(examroomIds==null || examroomIds.length==0){
         return new Result(false, "没有选择要撤回的考场");
         return new Result(false, "没有选择要撤回的考场");
      }
      
      List<ExamRoom> lstClsRoom = this.findByComplexHql("from ExamRoom where examroomId in (:examroomIds)",
@@ -81,7 +82,7 @@
      
      for (ExamRoom room : lstClsRoom) {
         if (ExamInfo.STATUS_PUBLISH != room.getStatus()) {
            return new Result(false, "只有发布状态的 考场,才能撤回");
            return new Result(false, "只有发布状态的 考场,才能撤回");
         }
         room.setStatus(ExamInfo.STATUS_DRAFT);
         TraceUtils.setUpdateTrace(room);
@@ -93,14 +94,19 @@
   @Override
   public List<ExamRoom> list(String roomID, String keyword, Short status, Integer pageSize, Integer pageNum) {
      StringBuffer hql = new StringBuffer(500);
      hql.append(" from ExamRoom where createId=? and roomId =? ");
      List<Object> params = CollectionUtils.newList(ClientUtils.getUserId(),roomID);
      //判断是否是教师
      String teacherId = ClientUtils.isAdmin() ? null : ClientUtils.getUserId();
      hql.append(" from ExamRoom where  roomId =? ");
      List<Object> params = CollectionUtils.newList(roomID);
      if (StringUtils.isNotBlank(teacherId)) {
         hql.append(" and createId=?");
         params.add(teacherId);
      }
      if(status!=null){
         hql.append(" and status = ? ");
         params.add(status);
      }
      hql.append(" and deleteFlag is false order by createTime desc");
      
      return findList(hql.toString(),new Pager(pageSize, pageNum),params, ExamRoom.class);
@@ -109,13 +115,19 @@
   @Override
   public int listCount(String roomID, String keyword, Short status) {
      StringBuffer hql = new StringBuffer(500);
      hql.append(" from ExamRoom where createId=? and roomId =? ");
      List<Object> params = CollectionUtils.newList(ClientUtils.getUserId(),roomID);
      //判断是否是教师
      String teacherId = ClientUtils.isAdmin() ? null : ClientUtils.getUserId();
      hql.append(" from ExamRoom where   roomId =? ");
      List<Object> params = CollectionUtils.newList(roomID);
      
      if(status!=null){
         hql.append(" and status = ? ");
         params.add(status);
      }
      if (StringUtils.isNotBlank(teacherId)) {
         hql.append(" and createId=?");
         params.add(teacherId);
      }
      /**
       *
       */