派生自 projectDept/qhighschool

EricsHu
2022-12-05 068fc7f2e81178e55fa191a13709af64b1a163f6
src/main/java/com/qxueyou/scc/school/service/impl/InteactService.java
@@ -32,7 +32,7 @@
   
   private InteractDAO interactDAO;
   
   /** 扩展练习service */
   /** 扩展练习service */
   @Autowired
   private IExerciseService exerciseService;
   
@@ -41,7 +41,7 @@
   }
   
   /**
     * 依赖注入
     * 依赖注入
     *
     * @param interactDAO
     */
@@ -58,7 +58,7 @@
   @Override
   public Result insertInteract(String interactName, String exerciseTime) {
      
      // 设置基本字段
      // 设置基本字段
      ExerciseGroup group = new ExerciseGroup();
      TraceUtils.setCreateTrace(group);
      group.setName(interactName);
@@ -69,7 +69,7 @@
      
      this.exerciseService.saveExerciseGroup(group);
      
      // 添加组扩展表信息
      // 添加组扩展表信息
      ExerciseGroupExtend extend = new ExerciseGroupExtend();
      extend.setGroupId(group.getGroupId());
      extend.setExerciseTime(exerciseTime);
@@ -105,7 +105,7 @@
   }
   @Override
   public Result doStartInteracts(String[] interactIds) {// 激活
   public Result doStartInteracts(String[] interactIds) {// 激活
      
      Result result = new Result(true);
      
@@ -117,7 +117,7 @@
            TraceUtils.setUpdateTrace(interact);
            save(interact);            
         }else{
            result = new Result(true,"只有锁定的互动才能激活");
            result = new Result(true,"只有锁定的互动才能激活");
         }
      }
      
@@ -137,7 +137,7 @@
            TraceUtils.setUpdateTrace(interact);
            save(interact);            
         }else{
            result = new Result(true,"只有锁定和正在互动的互动才能停用");
            result = new Result(true,"只有锁定和正在互动的互动才能停用");
         }
      }
      
@@ -145,7 +145,7 @@
   }
   
   /**
    * 修改互动状态
    * 修改互动状态
    * @param interactIds
    * @param status
    * @return
@@ -161,7 +161,7 @@
   }*/
   
   /**
    * 新增练习记录
    * 新增练习记录
    * @param groupId
    * @return 
    */
@@ -188,7 +188,7 @@
   }
   
   /**
    * 新增练习记录
    * 新增练习记录
    * @param groupId
    * @return 
    */
@@ -202,14 +202,14 @@
   }
   
   /**
    * 新增练习记录答案
    * 新增练习记录答案
    * @return
    */
   public Result insertExerciseItemAnswerU(String exerciseId, 
         String exerciseRecordId, String answers, byte corrects) {
      String userId = ClientUtils.getUserId();
      
      // 组装答案记录
      // 组装答案记录
      ExerciseItemAnswerU   answerU = new ExerciseItemAnswerU();
         
      answerU.setExerciseItemId(exerciseId);
@@ -220,14 +220,14 @@
      answerU.setDeleteFlag(false);
      TraceUtils.setCreateTrace(answerU);
         
      // 保存
      // 保存
      this.save(answerU);
      
      return new Result(true);
   }
   
   /**
    * 更新练习记录答案
    * 更新练习记录答案
    * @return
    */
   public Result updateExerciseItemAnswerU(ExerciseItemAnswerU answerU, String answers, byte corrects) {
@@ -235,33 +235,33 @@
      answerU.setCorrect(corrects);
      TraceUtils.setUpdateTrace(answerU);
         
      // 保存更新
      // 保存更新
      this.save(answerU);
      
      return new Result(true);
   }
   
   /**
    * 操作互动练习答案记录
    * 操作互动练习答案记录
    * @return
    */
   @Override
   public Result doOperInteractExerciseAnswer(String interactGroupId, 
            String exerciseId, String answers,byte corrects,String currTitleNumber) {
      // 1.互动组 判断 是否新纪录
      // 1.互动组 判断 是否新纪录
      String hql = "from ExerciseRecord where deleteFlag is false "
            + "and exerciseGroupId=? and userId=? ";
      
      List<ExerciseRecord> lstRecord = this.find(hql, 
            CollectionUtils.newList(interactGroupId, ClientUtils.getUserId()), ExerciseRecord.class);
      
      // 练习记录id
      // 练习记录id
      String exerciseRecordId= "";
      if(lstRecord.isEmpty()){
         // 1. 没有   互动组记录 插入一条新数据
         // 1. 没有   互动组记录 插入一条新数据
         exerciseRecordId = this.insertExerciseRecord(interactGroupId,currTitleNumber);
      }else{
         // 更新题号
         // 更新题号
         ExerciseRecord record = lstRecord.get(0);
         record.setTitleMaxNumber(currTitleNumber);
         updateExerciseRecord(record);
@@ -269,30 +269,30 @@
         exerciseRecordId = record.getRecordId();
      }
      
      /*// 判断是否重复提交  已经存在 先删除 再插入
      /*// 判断是否重复提交  已经存在 先删除 再插入
      hql = "from ExerciseItemAnswerU where deleteFlag is false "
            + "and exerciseItemId=? and userId=? and exerciseRecordId=?";
      
      List<ExerciseItemAnswerU> lstAnswerU =  this.find(hql, 
            CollectionUtils.newList(exerciseId, ClientUtils.getUserId(),exerciseRecordId), ExerciseItemAnswerU.class);
      
      // 2.已经存在 更新
      // 2.已经存在 更新
      if(!lstAnswerU.isEmpty()){
         
         // 答案obj
         // 答案obj
         ExerciseItemAnswerU answerU = lstAnswerU.get(0);
         
         return updateExerciseItemAnswerU(answerU, answers, corrects);
      }*/
      
      // 3.不存在 插入
      // 3.不存在 插入
      Result result = this.insertExerciseItemAnswerU(exerciseId, exerciseRecordId, answers, corrects);
      
      return result;
   }
   
   /**
    * 查询互动练习结果
    * 查询互动练习结果
    * @param hql
    * @param args
    * @return
@@ -319,7 +319,7 @@
   }
   
   /**
    * 查询互动练习结果
    * 查询互动练习结果
    * @param hql
    * @param args
    * @return
@@ -332,7 +332,7 @@
   }
   
   /**
    * 操作互动练习答案记录
    * 操作互动练习答案记录
    * @return
    */
   @Override
@@ -342,20 +342,20 @@
      String exerciseGroupId = resultData.getExerciseGroupId();
      String currTitleNumber = resultData.getCurrTitleNum();
      
      // 1.互动组 判断 是否新纪录
      // 1.互动组 判断 是否新纪录
      String hql = "from ExerciseRecord where deleteFlag is false "
            + "and exerciseGroupId=? and userId=? ";
      
      List<ExerciseRecord> lstRecord = this.find(hql, 
            CollectionUtils.newList(exerciseGroupId, ClientUtils.getUserId()), ExerciseRecord.class);
      
      // 练习记录id
      // 练习记录id
      String exerciseRecordId= "";
      if(lstRecord.isEmpty()){
         // 1. 没有   互动组记录 插入一条新数据
         // 1. 没有   互动组记录 插入一条新数据
         exerciseRecordId = this.insertExerciseRecord(exerciseGroupId,currTitleNumber);
      }else{
         // 更新题号
         // 更新题号
         ExerciseRecord record = lstRecord.get(0);
         record.setTitleMaxNumber(currTitleNumber);
         record.setStatus(ExerciseRecord.STATUS_SUBMIT);
@@ -366,7 +366,7 @@
      }
      
      
      // 2.保存答案
      // 2.保存答案
      this.saveInteractExerciseAnswerBatch(resultData.getItems(), exerciseRecordId);
      
      
@@ -374,7 +374,7 @@
   }
   
   /**
    * 批量保存互动答案
    * 批量保存互动答案
    * @param resultData
    * @param exerciseRecordId
    * @return
@@ -398,7 +398,7 @@
         lstAnswerU.add(answerU);
      }
      
      // 保存结果
      // 保存结果
      this.saveOrUpdateAll(lstAnswerU);
      
      return new Result(true);
@@ -408,19 +408,19 @@
   public Result doSubmitInteractResult(String interactGroupId) {
   
      // 1.互动组 判断 是否新纪录
      // 1.互动组 判断 是否新纪录
      String hql = "from ExerciseRecord where deleteFlag is false "
            + "and exerciseGroupId=? and userId=? ";
      
      List<ExerciseRecord> lstRecord = this.find(hql, 
            CollectionUtils.newList(interactGroupId, ClientUtils.getUserId()), ExerciseRecord.class);
      
      // 练习记录id
      // 练习记录id
      if(lstRecord.isEmpty()){
         // 1. 没有   互动组记录 插入一条新数据
         // 1. 没有   互动组记录 插入一条新数据
         this.insertExerciseRecord(interactGroupId,null);
      }else{
         // 更新题号
         // 更新题号
         ExerciseRecord record = lstRecord.get(0);
         
         record.setStatus(ExerciseRecord.STATUS_SUBMIT);