| | |
| | | tStudyListen.setIsVip(studyListenDTO.getIsVip()); |
| | | tStudyListen.setRate(dto.getListenRate()); |
| | | tStudyListen.setStudySort(studyListenDTO.getStudySort()); |
| | | tStudyListen.setType(studyListenDTO.getType()); |
| | | tStudyListen.setSort(studyListenDTO.getSort()); |
| | | studyListenService.save(tStudyListen); |
| | | } |
| | | List<Integer> ids1 = studyLookService.lambdaQuery().eq(TStudyLook::getId, one.getId()) |
| | |
| | | tStudyPair.setRate(dto.getPairRate()); |
| | | tStudyPair.setIsVip(studyPairDTO.getIsVip()); |
| | | tStudyPair.setStudySort(studyPairDTO.getStudySort()); |
| | | tStudyPair.setSort(studyPairDTO.getSort()); |
| | | studyPairService.save(tStudyPair); |
| | | } |
| | | } |
| | |
| | | // 听音选图 |
| | | List<TStudyListen> list = studyListenService.list(new QueryWrapper<TStudyListen>() |
| | | .eq("week", week) |
| | | .eq("day", day).orderByAsc("studySort")); |
| | | // studySort 会有重复值,追加 id 升序作为二级排序,保证与提交数组顺序一致 |
| | | .eq("day", day).orderByAsc("studySort").orderByAsc("id")); |
| | | List<TSubject> list9 = subjectService.list(); |
| | | |
| | | for (TStudyListen tStudyListen : list) { |
| | |
| | | for (String s : tStudyListen.getSubject().split(",")) { |
| | | TSubject byId = list9.stream().filter(e -> e.getId().equals(Integer.valueOf(s))).findFirst().orElse(null); |
| | | if (byId != null) { |
| | | temp.append(byId.getName()).append(","); |
| | | temp.append(byId.getName()).append("#"); |
| | | } |
| | | } |
| | | String string = temp.toString(); |
| | |
| | | studyListenVO.setIsVip(tStudyListen.getIsVip()); |
| | | studyListenVO.setId(tStudyListen.getId()); |
| | | studyListenVO.setType(tStudyListen.getType()); |
| | | studyListenVO.setSort(tStudyListen.getSort()); |
| | | listenVOS.add(studyListenVO); |
| | | } |
| | | res.setListenRate(tStudyListen.getRate()); |
| | |
| | | // 看音选图 |
| | | List<TStudyLook> list1 = studyLookService.list(new QueryWrapper<TStudyLook>() |
| | | .eq("week", week) |
| | | .eq("day", day).orderByAsc("studySort") |
| | | .eq("day", day).orderByAsc("studySort").orderByAsc("id") |
| | | ); |
| | | for (TStudyLook tStudyLook : list1) { |
| | | int index = 0; |
| | |
| | | for (String s : tStudyLook.getSubject().split(",")) { |
| | | TSubject byId = list9.stream().filter(e -> e.getId().equals(Integer.valueOf(s))).findFirst().orElse(null); |
| | | if (byId != null) { |
| | | names.append(byId.getName()).append(","); |
| | | names.append(byId.getName()).append("#"); |
| | | } |
| | | String[] split = tStudyLook.getSort().split(","); |
| | | String s1 = split[index]; |
| | |
| | | // 归纳排除 |
| | | List<TStudyInduction> list2 = studyInductionService.list(new QueryWrapper<TStudyInduction>() |
| | | .eq("week", week) |
| | | .eq("day", day).orderByAsc("studySort") |
| | | .eq("day", day).orderByAsc("studySort").orderByAsc("id") |
| | | ); |
| | | for (TStudyInduction tStudyInduction : list2) { |
| | | StringBuilder names = new StringBuilder(); |
| | |
| | | String replace = s.replace("-", ""); |
| | | TSubject byId = list9.stream().filter(e -> e.getId().equals(Integer.valueOf(replace))).findFirst().orElse(null); |
| | | if (byId != null) { |
| | | names.append(byId.getName()).append(","); |
| | | names.append(byId.getName()).append("#"); |
| | | } |
| | | } |
| | | String string = names.toString(); |
| | |
| | | // 有问有答 |
| | | List<TStudyAnswer> list3 = studyAnswerService.list(new QueryWrapper<TStudyAnswer>() |
| | | .eq("week", week) |
| | | .eq("day", day).orderByAsc("studySort")); |
| | | .eq("day", day).orderByAsc("studySort").orderByAsc("id")); |
| | | for (TStudyAnswer tStudyAnswer : list3) { |
| | | StringBuilder names = new StringBuilder(); |
| | | StudyAnswerVO studyAnswerVO = new StudyAnswerVO(); |
| | |
| | | |
| | | TSubject byId = list9.stream().filter(e -> e.getId().equals(tStudyAnswer.getSubject())).findFirst().orElse(null); |
| | | if (byId != null) { |
| | | names.append(byId.getName()).append(","); |
| | | names.append(byId.getName()).append("#"); |
| | | } |
| | | } |
| | | if (tStudyAnswer.getAnswerSubject() != null) { |
| | | |
| | | TSubject byId1 = list9.stream().filter(e -> e.getId().equals(tStudyAnswer.getAnswerSubject())).findFirst().orElse(null); |
| | | if (byId1 != null) { |
| | | names.append(byId1.getName()).append(","); |
| | | names.append(byId1.getName()).append("#"); |
| | | } |
| | | } |
| | | } else { |
| | | if (tStudyAnswer.getSubject() != null) { |
| | | TSubject byId = list9.stream().filter(e -> e.getId().equals(tStudyAnswer.getSubject())).findFirst().orElse(null); |
| | | if (byId != null) { |
| | | names.append(byId.getName()).append(","); |
| | | names.append(byId.getName()).append("#"); |
| | | } |
| | | } |
| | | if (tStudyAnswer.getAnswerSubject() != null) { |
| | | TSubject byId1 = list9.stream().filter(e -> e.getId().equals(tStudyAnswer.getAnswerSubject())).findFirst().orElse(null); |
| | | if (byId1 != null) { |
| | | names.append(byId1.getName()).append(","); |
| | | names.append(byId1.getName()).append("#"); |
| | | } |
| | | } |
| | | } |
| | |
| | | // 音图相配 |
| | | List<TStudyPair> list4 = studyPairService.list(new QueryWrapper<TStudyPair>() |
| | | .eq("week", week) |
| | | .eq("day", day).orderByAsc("studySort") |
| | | .eq("day", day).orderByAsc("studySort").orderByAsc("id") |
| | | ); |
| | | for (TStudyPair tStudyPair : list4) { |
| | | StringBuilder names = new StringBuilder(); |
| | |
| | | |
| | | TSubject byId = list9.stream().filter(e -> e.getId().equals(Integer.valueOf(s))).findFirst().orElse(null); |
| | | if (byId != null) { |
| | | names.append(byId.getName()).append(","); |
| | | names.append(byId.getName()).append("#"); |
| | | } |
| | | } |
| | | String string = names.toString(); |
| | |
| | | studyPairVO.setSubject(tStudyPair.getSubject()); |
| | | studyPairVO.setIsVip(tStudyPair.getIsVip()); |
| | | studyPairVO.setId(tStudyPair.getId()); |
| | | studyPairVO.setSort(tStudyPair.getSort()); |
| | | pairVOS.add(studyPairVO); |
| | | } |
| | | res.setPairRate(tStudyPair.getRate()); |
| | |
| | | for (String s : tStory.getStory().split(",")) { |
| | | TStory byId = list10.stream().filter(e -> e.getId().equals(Integer.valueOf(s))).findFirst().orElse(null); |
| | | if (byId != null) { |
| | | names.append(byId.getName()).append(","); |
| | | names.append(byId.getName()).append("#"); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | TStory byId = list10.stream().filter(e -> e.getId().equals(Integer.valueOf(s))).findFirst().orElse(null); |
| | | if (byId != null) { |
| | | names1.append(byId.getName()).append(","); |
| | | names1.append(byId.getName()).append("#"); |
| | | } |
| | | } |
| | | } |
| | |
| | | studyRecord.setTotalStudy(Math.round((float) (totalStudy + sum) / 3600)); |
| | | studyRecord = studyService.studySchedule(studyRecord, week); |
| | | // 数据库保存的是已完成的学习进度,返回前端时需要转换为剩余学习进度 |
| | | Integer look = studyRecord.getLook(); |
| | | if (look != 100 && look != -1) { |
| | | studyRecord.setLook(100 - look); |
| | | } |
| | | Integer pair = studyRecord.getPair(); |
| | | if (pair != 100 && pair != -1) { |
| | | studyRecord.setPair(100 - pair); |
| | | } |
| | | Integer answer = studyRecord.getAnswer(); |
| | | if (answer != 100 && answer != -1) { |
| | | studyRecord.setAnswer(100 - answer); |
| | | } |
| | | Integer induction = studyRecord.getInduction(); |
| | | if (induction != 100 && induction != -1) { |
| | | studyRecord.setInduction(100 - induction); |
| | | } |
| | | Integer listen = studyRecord.getListen(); |
| | | if (listen != 100 && listen != -1) { |
| | | studyRecord.setListen(100 - listen); |
| | | } |
| | | // -1 表示未开始(中性值)原样返回;100 表示已完成,转换为 0(剩余0%) |
| | | studyRecord.setLook(convertToSurplus(studyRecord.getLook())); |
| | | studyRecord.setPair(convertToSurplus(studyRecord.getPair())); |
| | | studyRecord.setAnswer(convertToSurplus(studyRecord.getAnswer())); |
| | | studyRecord.setInduction(convertToSurplus(studyRecord.getInduction())); |
| | | studyRecord.setListen(convertToSurplus(studyRecord.getListen())); |
| | | } |
| | | return R.ok(studyRecord); |
| | | } |
| | | |
| | | /** |
| | | * 将数据库中的「已完成学习进度」转换为前端展示的「剩余学习进度」 |
| | | * |
| | | * @param completedProgress 已完成进度;-1 表示未开始,100 表示已完成 |
| | | * @return 剩余进度;未开始(-1)原样返回 |
| | | */ |
| | | private Integer convertToSurplus(Integer completedProgress) { |
| | | if (null == completedProgress || Constants.BURDEN_ONE.equals(completedProgress)) { |
| | | return completedProgress; |
| | | } |
| | | return Constants.ONE_HUNDRED - completedProgress; |
| | | } |
| | | |
| | | /** |
| | |
| | | // 非会员只能查看非会员题目,会员可以查看所有题目 |
| | | List<TStudyListen> studyListens = studyListenService.listenSelectPicture(quarter, week, day); |
| | | for (TStudyListen studyListen : studyListens) { |
| | | if(studyListen.getType()==null || studyListen.getType()==1){ |
| | | String sort = studyListen.getSort(); |
| | | if(sort!=null){ |
| | | String subject = studyListen.getSubject(); |
| | | String[] split = sort.split(","); |
| | | String[] subjectIds = subject.split(","); |
| | | ArrayList<Map<String, String>> maps = new ArrayList<>(); |
| | | for (int i = 0; i < split.length; i++) { |
| | | HashMap<String, String> map = new HashMap<>(); |
| | | map.put("sort", split[i]); |
| | | map.put("subject", subjectIds[i]); |
| | | maps.add(map); |
| | | } |
| | | List<Map<String, String>> sort1 = maps.stream().sorted(Comparator.comparingInt(o -> Integer.parseInt(o.get("sort")))).collect(Collectors.toList()); |
| | | ArrayList<String> strings = new ArrayList<>(); |
| | | for (Map<String, String> stringStringMap : sort1) { |
| | | String s = stringStringMap.get("subject"); |
| | | strings.add(s); |
| | | } |
| | | subject = strings.stream().collect(Collectors.joining(",")); |
| | | studyListen.setSubject(subject); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | System.out.println("数据2!!"+studyListens); |
| | | |
| | | for (TStudyListen studyListen : studyListens) { |
| | | if (studyListen.getIsVip() == 0) { |
| | | // 需要会员查看 |
| | | if (!isVip) { |
| | |
| | | Boolean isVip = userService.isVip(); |
| | | // 非会员只能查看非会员题目,会员可以查看所有题目 |
| | | List<TStudyPair> pairList = studyPairService.pictureMateVoice(quarter, week, day); |
| | | |
| | | |
| | | for (TStudyPair pair : pairList) { |
| | | if (pair.getIsVip() == 0) { |
| | | // 需要会员查看 |
| | |
| | | return R.vipError("以下内容仅限会员查看,请通过家长端成为会员!"); |
| | | } |
| | | } |
| | | |
| | | |
| | | String sort = pair.getSort(); |
| | | if(sort!=null){ |
| | | String subject = pair.getSubject(); |
| | | String[] split = sort.split(","); |
| | | String[] subjectIds = subject.split(","); |
| | | ArrayList<Map<String, String>> maps = new ArrayList<>(); |
| | | for (int i = 0; i < split.length; i++) { |
| | | HashMap<String, String> map = new HashMap<>(); |
| | | map.put("sort", split[i]); |
| | | map.put("subject", subjectIds[i]); |
| | | maps.add(map); |
| | | } |
| | | List<Map<String, String>> sort1 = maps.stream().sorted(Comparator.comparingInt(o -> Integer.parseInt(o.get("sort")))).collect(Collectors.toList()); |
| | | ArrayList<String> strings = new ArrayList<>(); |
| | | for (Map<String, String> stringStringMap : sort1) { |
| | | String s = stringStringMap.get("subject"); |
| | | strings.add(s); |
| | | } |
| | | subject = strings.stream().collect(Collectors.joining(",")); |
| | | pair.setSubject(subject); |
| | | } |
| | | |
| | | } |
| | | return studyService.pictureMateVoice(week, day, pairList, tokenService.getLoginUserStudy().getUserid()); |
| | | } |
| | |
| | | } |
| | | System.err.println("答题DTO"+answerQuestionDTO); |
| | | TSubjectRecordDetail byId = subjectRecordDetailService.getById(answerQuestionDTO.getId()); |
| | | byId.setUserId(null); |
| | | byId.setStatus(answerQuestionDTO.getStatus()); |
| | | subjectRecordDetailService.updateById(byId); |
| | | if(byId.getStatus()==1){ |
| | | byId.setUserId(null); |
| | | byId.setStatus(answerQuestionDTO.getStatus()); |
| | | subjectRecordDetailService.updateById(byId); |
| | | } |
| | | |
| | | return R.ok(); |
| | | } |
| | | |