| | |
| | | |
| | | private InteractDAO interactDAO; |
| | | |
| | | /** 扩展练习service */ |
| | | /** 扩展练习service */ |
| | | @Autowired |
| | | private IExerciseService exerciseService; |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 依赖注入 |
| | | * 依赖注入 |
| | | * |
| | | * @param interactDAO |
| | | */ |
| | |
| | | @Override |
| | | public Result insertInteract(String interactName, String exerciseTime) { |
| | | |
| | | // 设置基本字段 |
| | | // 设置基本字段 |
| | | ExerciseGroup group = new ExerciseGroup(); |
| | | TraceUtils.setCreateTrace(group); |
| | | group.setName(interactName); |
| | |
| | | |
| | | this.exerciseService.saveExerciseGroup(group); |
| | | |
| | | // 添加组扩展表信息 |
| | | // 添加组扩展表信息 |
| | | ExerciseGroupExtend extend = new ExerciseGroupExtend(); |
| | | extend.setGroupId(group.getGroupId()); |
| | | extend.setExerciseTime(exerciseTime); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Result doStartInteracts(String[] interactIds) {// 激活 |
| | | public Result doStartInteracts(String[] interactIds) {// 激活 |
| | | |
| | | Result result = new Result(true); |
| | | |
| | |
| | | TraceUtils.setUpdateTrace(interact); |
| | | save(interact); |
| | | }else{ |
| | | result = new Result(true,"只有锁定的互动才能激活"); |
| | | result = new Result(true,"只有锁定的互动才能激活"); |
| | | } |
| | | } |
| | | |
| | |
| | | TraceUtils.setUpdateTrace(interact); |
| | | save(interact); |
| | | }else{ |
| | | result = new Result(true,"只有锁定和正在互动的互动才能停用"); |
| | | result = new Result(true,"只有锁定和正在互动的互动才能停用"); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 修改互动状态 |
| | | * 修改互动状态 |
| | | * @param interactIds |
| | | * @param status |
| | | * @return |
| | |
| | | }*/ |
| | | |
| | | /** |
| | | * 新增练习记录 |
| | | * 新增练习记录 |
| | | * @param groupId |
| | | * @return |
| | | */ |
| | |
| | | } |
| | | |
| | | /** |
| | | * 新增练习记录 |
| | | * 新增练习记录 |
| | | * @param groupId |
| | | * @return |
| | | */ |
| | |
| | | } |
| | | |
| | | /** |
| | | * 新增练习记录答案 |
| | | * 新增练习记录答案 |
| | | * @return |
| | | */ |
| | | public Result insertExerciseItemAnswerU(String exerciseId, |
| | | String exerciseRecordId, String answers, byte corrects) { |
| | | String userId = ClientUtils.getUserId(); |
| | | |
| | | // 组装答案记录 |
| | | // 组装答案记录 |
| | | ExerciseItemAnswerU answerU = new ExerciseItemAnswerU(); |
| | | |
| | | answerU.setExerciseItemId(exerciseId); |
| | |
| | | answerU.setDeleteFlag(false); |
| | | TraceUtils.setCreateTrace(answerU); |
| | | |
| | | // 保存 |
| | | // 保存 |
| | | this.save(answerU); |
| | | |
| | | return new Result(true); |
| | | } |
| | | |
| | | /** |
| | | * 更新练习记录答案 |
| | | * 更新练习记录答案 |
| | | * @return |
| | | */ |
| | | public Result updateExerciseItemAnswerU(ExerciseItemAnswerU answerU, String answers, byte corrects) { |
| | |
| | | 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); |
| | |
| | | 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 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 查询互动练习结果 |
| | | * 查询互动练习结果 |
| | | * @param hql |
| | | * @param args |
| | | * @return |
| | |
| | | } |
| | | |
| | | /** |
| | | * 操作互动练习答案记录 |
| | | * 操作互动练习答案记录 |
| | | * @return |
| | | */ |
| | | @Override |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | |
| | | // 2.保存答案 |
| | | // 2.保存答案 |
| | | this.saveInteractExerciseAnswerBatch(resultData.getItems(), exerciseRecordId); |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 批量保存互动答案 |
| | | * 批量保存互动答案 |
| | | * @param resultData |
| | | * @param exerciseRecordId |
| | | * @return |
| | |
| | | lstAnswerU.add(answerU); |
| | | } |
| | | |
| | | // 保存结果 |
| | | // 保存结果 |
| | | this.saveOrUpdateAll(lstAnswerU); |
| | | |
| | | return new Result(true); |
| | |
| | | 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); |