Bläddra i källkod

Merge branch 'music_detail' of http://git.dayaedu.com/yonge/mec into music_detail

yonge 4 år sedan
förälder
incheckning
aa724aa5eb

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java

@@ -585,4 +585,6 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param classGroupId
      */
     void cancelPreCourseSchedule(Integer musicGroupSchoolTermCourseDetailId, Integer classGroupId);
+
+    List<ClassGroup> queryStudentClassGroupsAndTeacher(String musicGroupId);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentServeService.java

@@ -84,4 +84,7 @@ public interface StudentServeService {
      * @return void
      */
     List<IndexBaseDto> musicGroupHomeworkStat(String musicGroupId, Integer studentId, String startDay, String endDay);
+
+
+    List<IndexBaseDto> musicGroupHomeworkStatWithStu(String musicGroupId, Integer studentId, String startDay, String endDay);
 }

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -2747,6 +2747,21 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     }
 
     @Override
+    public List<ClassGroup> queryStudentClassGroupsAndTeacher(String musicGroupId) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            throw new BizException("请登录");
+        }
+        List<ClassGroup> classGroups = classGroupDao.queryStudentClassGroups(musicGroupId, sysUser.getId());
+        if(classGroups.size() == 0){
+            classGroups.forEach(e->{
+                e.setTeacherMapperList(classGroupTeacherMapperDao.findClassGroupTeachers(e.getId().toString()));
+            });
+        }
+        return classGroups;
+    }
+
+    @Override
     @Transactional(rollbackFor = Exception.class)
     public HttpResponseResult preCourseSchedule(List<ClassGroup4MixDto> classGroup4MixDtos) {
         Date date = new Date();

+ 47 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

@@ -1111,4 +1111,51 @@ public class StudentServeServiceImpl implements StudentServeService {
         }
         return dataList;
     }
+
+    @Override
+    public List<IndexBaseDto> musicGroupHomeworkStatWithStu(String musicGroupId, Integer studentId, String startDayStr, String endDayStr) {
+        List<IndexBaseDto> result = new ArrayList<>();
+        List<StudentRegistration> musicGroupStu = studentRegistrationDao.getMusicGroupStu(musicGroupId);
+        List<Integer> studentIds = new ArrayList<>();
+        if(Objects.nonNull(studentId)){
+            studentIds.add(studentId);
+        }else if(!CollectionUtils.isEmpty(musicGroupStu)){
+            studentIds = musicGroupStu.stream().map(StudentRegistration::getUserId).collect(Collectors.toList());
+        }
+
+        LocalDate startDate = LocalDate.parse(startDayStr, DateUtil.dateFormatter);
+        LocalDate endDate = LocalDate.parse(endDayStr, DateUtil.dateFormatter);
+        List<String> mondayDateStrs = new ArrayList<>();
+        while (startDate.compareTo(endDate)<0){
+            LocalDate monDayDate = startDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
+            mondayDateStrs.add(monDayDate.toString());
+            startDate = startDate.plusDays(7);
+        }
+
+        Map<IndexDataType, List<IndexBaseMonthData>> typeDateMap = new HashMap<>();
+
+        List<IndexBaseMonthData> d1 = new ArrayList<>();
+        List<IndexBaseMonthData> d2 = new ArrayList<>();
+        List<IndexBaseMonthData> d3 = new ArrayList<>();
+        if(StringUtils.isNotBlank(musicGroupId) && !CollectionUtils.isEmpty(studentIds)){
+            d1 = studentExtracurricularExercisesSituationDao.getHomeworkData(startDayStr, endDayStr, musicGroupId,null, studentIds);
+            d2 = studentExtracurricularExercisesSituationDao.getHomeworkData(startDayStr, endDayStr, musicGroupId, "submit", studentIds);
+            d3 = studentExtracurricularExercisesSituationDao.getHomeworkData(startDayStr, endDayStr, musicGroupId, "comment", studentIds);
+        }
+        musicGroupHomeworkDataDeal(d1, mondayDateStrs, IndexDataType.HOMEWORK_CREATE_RATE);
+        typeDateMap.put(IndexDataType.HOMEWORK_CREATE_RATE, d1);
+
+        musicGroupHomeworkDataDeal(d2, mondayDateStrs, IndexDataType.HOMEWORK_SUBMIT_RATE);
+        typeDateMap.put(IndexDataType.HOMEWORK_SUBMIT_RATE, d2);
+
+        musicGroupHomeworkDataDeal(d3, mondayDateStrs, IndexDataType.HOMEWORK_COMMENT_RATE);
+        typeDateMap.put(IndexDataType.HOMEWORK_COMMENT_RATE, d3);
+
+        for (Map.Entry<IndexDataType, List<IndexBaseMonthData>> typeDateMapEntry : typeDateMap.entrySet()) {
+            IndexBaseDto indexBaseData = new IndexBaseDto(typeDateMapEntry.getKey(),typeDateMapEntry.getKey().getMsg());
+            indexBaseData.setPercent(typeDateMapEntry.getValue().stream().map(IndexBaseMonthData::getTotalNum).reduce(BigDecimal.ZERO, BigDecimal::add));
+            result.add(indexBaseData);
+        }
+        return result;
+    }
 }

+ 3 - 9
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupDetailController.java

@@ -40,7 +40,7 @@ public class MusicGroupDetailController extends BaseController {
     @Autowired
     private MusicGroupService musicGroupService;
     @Autowired
-    private ClassGroupDao classGroupDao;
+    private ClassGroupService classGroupService;
 
     @ApiOperation("获取学员退团页面数据")
     @RequestMapping(value = "getQuitGroupDetail")
@@ -83,13 +83,7 @@ public class MusicGroupDetailController extends BaseController {
 
     @ApiOperation(value = "查询学员班级列表")
     @GetMapping("/queryStudentAndTeacher")
-    @PreAuthorize("@pcs.hasPermissions('musicGroupRecord/queryStudentAndTeacher')")
-    public Object queryStudentAndTeacher(String musicGroupId) {
-        MusicGroup musicGroup = musicGroupService.get(musicGroupId);
-        if(musicGroup == null){
-            return failed("乐团信息查询失败");
-        }
-        List<Mapper> mappers = classGroupDao.countTeacherByMusicGroupId(musicGroupId);
-        return succeed(mappers);
+    public Object queryStudentClassGroupsAndTeacher(String musicGroupId) {
+        return succeed(classGroupService.queryStudentClassGroupsAndTeacher(musicGroupId));
     }
 }

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/controller/StudentCourseHomeworkController.java

@@ -150,7 +150,7 @@ public class StudentCourseHomeworkController extends BaseController {
             endDay = (Integer.valueOf(year) + 1) + "-02-01";
         }
 
-        return succeed(studentServeService.musicGroupHomeworkStat(musicGroupId, sysUser.getId(), startDay, endDay));
+        return succeed(studentServeService.musicGroupHomeworkStatWithStu(musicGroupId, sysUser.getId(), startDay, endDay));
     }
 
 }