diff --git a/src/main/java/com/peanut/modules/common/controller/ClassController.java b/src/main/java/com/peanut/modules/common/controller/ClassController.java index b65030e5..0f5ba860 100644 --- a/src/main/java/com/peanut/modules/common/controller/ClassController.java +++ b/src/main/java/com/peanut/modules/common/controller/ClassController.java @@ -333,15 +333,13 @@ public class ClassController { //心得评分 @RequestMapping("/editTaskScore") public R editTaskScore(@RequestBody Map params){ - classEntityService.editTaskScore(params); - return R.ok(); + return classEntityService.editTaskScore(params); } //打分 @RequestMapping("/editScore") public R editScore(@RequestBody Map params){ - classEntityService.editScore(params); - return R.ok(); + return classEntityService.editScore(params); } //编辑作业 diff --git a/src/main/java/com/peanut/modules/common/service/ClassEntityService.java b/src/main/java/com/peanut/modules/common/service/ClassEntityService.java index 175af218..a70b7688 100644 --- a/src/main/java/com/peanut/modules/common/service/ClassEntityService.java +++ b/src/main/java/com/peanut/modules/common/service/ClassEntityService.java @@ -77,9 +77,9 @@ public interface ClassEntityService extends IService { Page getReplyListByTaskIdStudent(Map params); - void editTaskScore(Map params); + R editTaskScore(Map params); - void editScore(Map params); + R editScore(Map params); void editClassTaskAndQuesReply(ClassTaskAndQuesReply classTaskAndQuesReply); diff --git a/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java index 93e382d4..bca79cc1 100644 --- a/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java +++ b/src/main/java/com/peanut/modules/common/service/impl/ClassEntityServiceImpl.java @@ -962,49 +962,62 @@ public class ClassEntityServiceImpl extends ServiceImpl params) { + public R editTaskScore(Map params) { ClassTask classTask = classTaskDao.selectById(params.get("taskId").toString()); - classTask.setScoreSuccess(classTask.getScoreSuccess()+1); - classTask.setScore(Double.parseDouble(params.get("score").toString())); - classTaskDao.updateById(classTask); + ClassEntity classEntity = this.baseMapper.selectById(classTask.getClassId()); + if ("1".equals(classEntity.getState())||"3".equals(classEntity.getState())){ + classTask.setScoreSuccess(classTask.getScoreSuccess()+1); + classTask.setScore(Double.parseDouble(params.get("score").toString())); + classTaskDao.updateById(classTask); + }else { + return R.error("此班级状态不能评分"); + } + return R.ok(); } @Override - public void editScore(Map params) { + @Transactional + public R editScore(Map params) { ClassTaskAndQuesReply classTaskAndQuesReply = classTaskAndQuesReplyDao.selectById(params.get("replyId").toString()); - String score = params.get("score").toString(); - String scoreInfo = ""; - Map userIdAndScore = new HashMap<>(); - if (StringUtils.isNotEmpty(classTaskAndQuesReply.getScoreInfo())){ - boolean flag = true; - userIdAndScore = JSON.parseObject(classTaskAndQuesReply.getScoreInfo()); - for (Map.Entry key : userIdAndScore.entrySet()) { - if (key.equals(ShiroUtils.getUId().toString())){ - flag = false; - key.setValue(score); + ClassEntity classEntity = this.baseMapper.selectById(classTaskAndQuesReply.getClassId()); + if ("1".equals(classEntity.getState())||"3".equals(classEntity.getState())){ + String score = params.get("score").toString(); + String scoreInfo = ""; + Map userIdAndScore = new HashMap<>(); + if (StringUtils.isNotEmpty(classTaskAndQuesReply.getScoreInfo())){ + boolean flag = true; + userIdAndScore = JSON.parseObject(classTaskAndQuesReply.getScoreInfo()); + for (Map.Entry key : userIdAndScore.entrySet()) { + if (key.equals(ShiroUtils.getUId().toString())){ + flag = false; + key.setValue(score); + } } - } - if (flag) { + if (flag) { + userIdAndScore.put(""+ShiroUtils.getUId(),score); + } + }else { userIdAndScore.put(""+ShiroUtils.getUId(),score); } + scoreInfo = JSON.toJSONString(userIdAndScore); + classTaskAndQuesReply.setScoreInfo(scoreInfo); + classTaskAndQuesReplyDao.updateById(classTaskAndQuesReply); + //生成成绩 + Map userIdScore = JSON.parseObject(classTaskAndQuesReply.getScoreInfo()); + double socre = 0; + for (Map.Entry key : userIdScore.entrySet()) { + socre = socre + Double.valueOf(key.getValue().toString()); + } + socre = socre/userIdScore.size(); + BigDecimal socre2 = new BigDecimal(socre); + socre2 = socre2.setScale(2,RoundingMode.HALF_UP); + classTaskAndQuesReply.setScoreSuccess(classTaskAndQuesReply.getScoreSuccess()+1); + classTaskAndQuesReply.setScore(socre2.doubleValue()); + classTaskAndQuesReplyDao.updateById(classTaskAndQuesReply); }else { - userIdAndScore.put(""+ShiroUtils.getUId(),score); + return R.error("此班级状态不能评分"); } - scoreInfo = JSON.toJSONString(userIdAndScore); - classTaskAndQuesReply.setScoreInfo(scoreInfo); - classTaskAndQuesReplyDao.updateById(classTaskAndQuesReply); - //生成成绩 - Map userIdScore = JSON.parseObject(classTaskAndQuesReply.getScoreInfo()); - double socre = 0; - for (Map.Entry key : userIdScore.entrySet()) { - socre = socre + Double.valueOf(key.getValue().toString()); - } - socre = socre/userIdScore.size(); - BigDecimal socre2 = new BigDecimal(socre); - socre2 = socre2.setScale(2,RoundingMode.HALF_UP); - classTaskAndQuesReply.setScoreSuccess(classTaskAndQuesReply.getScoreSuccess()+1); - classTaskAndQuesReply.setScore(socre2.doubleValue()); - classTaskAndQuesReplyDao.updateById(classTaskAndQuesReply); + return R.ok(); } @Override