Переглянути джерело

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

zouxuan 1 рік тому
батько
коміт
c75b4402f8
21 змінених файлів з 287 додано та 641 видалено
  1. 15 7
      mec-application/src/main/java/com/ym/mec/student/controller/StudentCourseHomeworkController.java
  2. 12 14
      mec-application/src/main/java/com/ym/mec/teacher/controller/CourseHomeworkController.java
  3. 16 16
      mec-application/src/main/java/com/ym/mec/teacher/controller/ExtracurricularExercisesController.java
  4. 11 0
      mec-application/src/main/java/com/ym/mec/teacher/controller/SysConfigController.java
  5. 27 40
      mec-application/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java
  6. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysConfigDao.java
  7. 5 252
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseHomeworkStudentDetailDto.java
  8. 15 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentLessonTrainingDetailWrapper.java
  9. 4 147
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ExtracurricularExercisesReply.java
  10. 10 6
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentLessonTrainingDetail.java
  11. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentCourseHomeworkService.java
  12. 3 1
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentLessonTrainingDetailService.java
  13. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java
  14. 4 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesServiceImpl.java
  15. 61 84
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java
  16. 84 46
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentLessonTrainingDetailServiceImpl.java
  17. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysConfigServiceImpl.java
  18. 4 17
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  19. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  20. 1 3
      mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml
  21. 3 0
      mec-biz/src/main/resources/config/mybatis/SysConfigMapper.xml

+ 15 - 7
mec-application/src/main/java/com/ym/mec/student/controller/StudentCourseHomeworkController.java

@@ -3,6 +3,7 @@ package com.ym.mec.student.controller;
 import com.ym.mec.biz.dal.dto.CourseHomeworkWrapper;
 import com.ym.mec.biz.dal.dto.HomeworkStat;
 import com.ym.mec.biz.dal.dto.StudentHomeworkRecordDto;
+import com.ym.mec.biz.dal.dto.StudentLessonTrainingDetailWrapper;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercisesReply;
 import com.ym.mec.biz.dal.entity.StudentCourseHomework;
 import com.ym.mec.biz.dal.entity.StudentLessonTrainingDetail;
@@ -17,10 +18,10 @@ import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
@@ -32,16 +33,15 @@ import java.util.List;
 @RestController
 public class StudentCourseHomeworkController extends BaseController {
 
-    @Autowired
+    @Resource
     private StudentCourseHomeworkService studentCourseHomeworkService;
-    @Autowired
+    @Resource
     private ExtracurricularExercisesReplyService extracurricularExercisesReplyService;
-    @Autowired
+    @Resource
     private SysUserService sysUserService;
-    @Autowired
+    @Resource
     private StudentServeService studentServeService;
-
-    @Autowired
+    @Resource
     private StudentLessonTrainingDetailService studentLessonTrainingDetailService;
 
     @ApiOperation(value = "提交作业")
@@ -121,6 +121,14 @@ public class StudentCourseHomeworkController extends BaseController {
         return succeed(studentCourseHomeworkService.findStudentHomeworkRecordDetail(query));
     }
 
+    @ApiOperation(value = "获取学生作业课件列表")
+    @PostMapping(value = "/findStudentHomeworkCourseware")
+    public HttpResponseResult<List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail>>
+    findStudentHomeworkCourseware(@RequestBody CourseHomeworkWrapper.StudentCourseHomeworkQuery query){
+        query.setUserId(sysUserService.getUserId().longValue());
+        return succeed(studentCourseHomeworkService.findStudentHomeworkCourseware(query));
+    }
+
 
 
     @ApiOperation(value = "添加作业练习记录")

+ 12 - 14
mec-application/src/main/java/com/ym/mec/teacher/controller/CourseHomeworkController.java

@@ -17,10 +17,10 @@ import com.ym.mec.common.exception.BizException;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -34,25 +34,23 @@ import java.util.Objects;
 @RestController
 public class CourseHomeworkController extends BaseController {
 
-    @Autowired
+    @Resource
     private CourseHomeworkService courseHomeworkService;
-    @Autowired
+    @Resource
     private StudentCourseHomeworkService studentCourseHomeworkService;
-    @Autowired
+    @Resource
     private ExtracurricularExercisesReplyService extracurricularExercisesReplyService;
-    @Autowired
+    @Resource
     private SysUserService sysUserService;
-
-    @Autowired
+    @Resource
     private StudentLessonTrainingDetailService studentLessonTrainingDetailService;
-
-    @Autowired
+    @Resource
     private CourseHomeworkDao courseHomeworkDao;
 
     @ApiOperation(value = "布置课堂作业")
     @GetMapping("/addCourseHomework")
     @AuditLogAnnotation(operateName = "布置课堂作业")
-    public HttpResponseResult addCourseHomework(CourseHomework courseHomework){
+    public HttpResponseResult<Object> addCourseHomework(CourseHomework courseHomework){
         courseHomeworkService.addCourseHomework(courseHomework);
         return succeed();
     }
@@ -66,7 +64,7 @@ public class CourseHomeworkController extends BaseController {
 
     @ApiOperation(value = "根据课程计划获取需要交作业的学生")
     @GetMapping("/findCourseStudents")
-    public Object findCourseStudents(Long courseScheduleId,String userName){
+    public HttpResponseResult<List<StudentCourseHomework>> findCourseStudents(Long courseScheduleId, String userName){
         if (Objects.isNull(courseScheduleId)) {
             throw new BizException("请指定课程");
         }
@@ -75,7 +73,7 @@ public class CourseHomeworkController extends BaseController {
 
     @ApiOperation(value = "根据课程计划获取需要交作业的学生-公用")
     @GetMapping("/findCourseStudentsPublic")
-    public Object findCourseStudentsPublic(Long courseScheduleId,String userName, boolean extra){
+    public HttpResponseResult<List<StudentCourseHomework>> findCourseStudentsPublic(Long courseScheduleId, String userName, boolean extra){
         if(!extra){
             if (Objects.isNull(courseScheduleId)) {
                 throw new BizException("请指定课程");
@@ -88,7 +86,7 @@ public class CourseHomeworkController extends BaseController {
 
     @ApiOperation(value = "获取学生作业界面详细信息")
     @GetMapping(value = "/findCourseHomeworkStudentDetail")
-    public Object findCourseHomeworkStudentDetail(Long courseScheduleID,Long userId){
+    public HttpResponseResult<CourseHomeworkStudentDetailDto> findCourseHomeworkStudentDetail(Long courseScheduleID,Long userId){
         StudentCourseHomework studentCourseHomework1 = studentCourseHomeworkService.get(courseScheduleID);
         if(Objects.isNull(studentCourseHomework1)){
             return failed("训练不存在");
@@ -105,7 +103,7 @@ public class CourseHomeworkController extends BaseController {
 
     @ApiOperation(value = "获取学生作业界面详细信息-公用")
     @GetMapping(value = "/findCourseHomeworkStudentDetailPublic")
-    public Object findCourseHomeworkStudentDetailPublic(Long courseScheduleID,Long userId, boolean extra){
+    public HttpResponseResult<CourseHomeworkStudentDetailDto> findCourseHomeworkStudentDetailPublic(Long courseScheduleID,Long userId, boolean extra){
         if(!extra){
             StudentCourseHomework studentCourseHomework1 = studentCourseHomeworkService.get(courseScheduleID);
             if(Objects.isNull(studentCourseHomework1)){

+ 16 - 16
mec-application/src/main/java/com/ym/mec/teacher/controller/ExtracurricularExercisesController.java

@@ -3,8 +3,7 @@ package com.ym.mec.teacher.controller;
 import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
 import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
 import com.ym.mec.biz.dal.dao.SubjectDao;
-import com.ym.mec.biz.dal.dto.BasicUserDto;
-import com.ym.mec.biz.dal.dto.CourseHomeworkWrapper;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercises;
 import com.ym.mec.biz.dal.entity.MusicGroup;
@@ -26,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -38,24 +38,24 @@ import java.util.stream.Collectors;
 @RestController
 public class ExtracurricularExercisesController extends BaseController {
 
-    @Autowired
+    @Resource
     private ExtracurricularExercisesService extracurricularExercisesService;
-    @Autowired
+    @Resource
     private ExtracurricularExercisesReplyService extracurricularExercisesReplyService;
-    @Autowired
+    @Resource
     private StudentExtracurricularExercisesSituationService studentExtracurricularExercisesSituationService;
-    @Autowired
+    @Resource
     private SysUserService sysUserService;
-    @Autowired
+    @Resource
     private StudentRegistrationDao studentRegistrationDao;
-    @Autowired
+    @Resource
     private ClassGroupStudentMapperDao classGroupStudentMapperDao;
-    @Autowired
+    @Resource
     private SubjectDao subjectDao;
 
     @ApiOperation(value = "获取教师有服务指标的课程列表")
     @GetMapping("/queryTeacherServeHomeworkDetail")
-    public HttpResponseResult queryTeacherServeHomeworkDetail(TeacherServeHomeworkQueryInfo queryInfo) {
+    public HttpResponseResult<PageInfo<TeacherServeHomeworkPojo>> queryTeacherServeHomeworkDetail(TeacherServeHomeworkQueryInfo queryInfo) {
         queryInfo.setTeacherId(sysUserService.getUserId());
         return succeed(studentExtracurricularExercisesSituationService.queryTeacherServeHomeworkDetail1(queryInfo));
     }
@@ -78,21 +78,21 @@ public class ExtracurricularExercisesController extends BaseController {
 
     @ApiOperation(value = "获取老师训练统计")
     @GetMapping("/getStatistics")
-    public HttpResponseResult getStatistics(ExtraExercilseQueryInfo queryInfo) {
+    public HttpResponseResult<TeacherExercisesServiceDto> getStatistics(ExtraExercilseQueryInfo queryInfo) {
         queryInfo.setTeacherId(sysUserService.getUserId());
         return succeed(studentExtracurricularExercisesSituationService.getStatistics(queryInfo));
     }
 
     @ApiOperation(value = "统计老师当前时间能布置作业的课程数量")
     @GetMapping("/countWaitCreateHomeworkNum")
-    public HttpResponseResult countWaitCreateHomeworkNum() {
+    public HttpResponseResult<Integer> countWaitCreateHomeworkNum() {
         return succeed(studentExtracurricularExercisesSituationService.countWaitCreateHomeworkNum());
     }
 
     @ApiOperation(value = "创建课外训练")
     @PostMapping("/createExtraExercises")
     @AuditLogAnnotation(operateName = "创建课外训练")
-    private HttpResponseResult createExtraExercises(ExtracurricularExercises exercises){
+    private HttpResponseResult<Object> createExtraExercises(ExtracurricularExercises exercises){
         exercises.setTeacherId(sysUserService.getUserId());
         exercises.setGroupType(ELessonTrainingType.EXTRACURRICULAR.getCode());
         extracurricularExercisesService.createExtraExercises(exercises);
@@ -102,7 +102,7 @@ public class ExtracurricularExercisesController extends BaseController {
     @ApiOperation(value = "创建课外训练")
     @PostMapping("/createExtraExercisesForJson")
     @AuditLogAnnotation(operateName = "创建课外训练")
-    private HttpResponseResult createExtraExercisesForJson(@RequestBody ExtracurricularExercises exercises){
+    private HttpResponseResult<Object> createExtraExercisesForJson(@RequestBody ExtracurricularExercises exercises){
         if(null == exercises.getExpireDate()){
             Calendar instance = Calendar.getInstance();
             instance.add(Calendar.WEEK_OF_MONTH,1);
@@ -116,14 +116,14 @@ public class ExtracurricularExercisesController extends BaseController {
 
     @ApiOperation(value = "获取课外训练列表")
     @GetMapping("/findExtraExercilses")
-    private HttpResponseResult findExtraExercilses(ExtraExercilseQueryInfo queryInfo){
+    private HttpResponseResult<List<Map<String, Object>>> findExtraExercilses(ExtraExercilseQueryInfo queryInfo){
         queryInfo.setTeacherId(sysUserService.getUserId());
         return succeed(extracurricularExercisesService.findExtraExercilses(queryInfo));
     }
 
     @ApiOperation(value = "获取已布置训练列表(包含课后,课外)")
     @GetMapping("/findExtraExercilsesHomeworks")
-    private HttpResponseResult findExtraExercilsesHomeworks(ExtraExercilseQueryInfo queryInfo){
+    private HttpResponseResult<PageInfo<TeacherHomeworkListDto>> findExtraExercilsesHomeworks(ExtraExercilseQueryInfo queryInfo){
         queryInfo.setTeacherId(sysUserService.getUserId());
         return succeed(extracurricularExercisesService.findExtraExercilsesHomeworks(queryInfo));
     }

+ 11 - 0
mec-application/src/main/java/com/ym/mec/teacher/controller/SysConfigController.java

@@ -3,11 +3,13 @@ package com.ym.mec.teacher.controller;
 import com.ym.mec.biz.dal.entity.SysConfig;
 import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -43,4 +45,13 @@ public class SysConfigController extends BaseController {
 		}
 		return succeed(sysConfigService.findByParamName(paramName));
 	}
+
+	@ApiOperation(value = "查询参数(多个逗号分隔)")
+	@PostMapping(value = "queryByParamNames")
+	public HttpResponseResult<List<SysConfig>> queryByParamNames(String paramName) {
+		if(StringUtils.isBlank(paramName)){
+			return failed("参数不能为空");
+		}
+		return succeed(sysConfigService.findByParamNames(paramName));
+	}
 }

+ 27 - 40
mec-application/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java

@@ -1,13 +1,13 @@
 package com.ym.mec.teacher.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.StudentAttendanceDao;
 import com.ym.mec.biz.dal.dto.StudentAttendanceDto;
+import com.ym.mec.biz.dal.dto.StudentAttendanceViewDto;
 import com.ym.mec.biz.dal.dto.TeacherSignOutDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.StudentAttendance;
+import com.ym.mec.biz.dal.entity.TeacherAttendance;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
@@ -17,17 +17,16 @@ import com.ym.mec.biz.dal.wrapper.LiveGroupWrapper;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
-import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.date.DateUtil;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.util.CollectionUtils;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -36,42 +35,42 @@ import java.util.stream.Collectors;
 @RestController
 public class TeacherAttendanceController extends BaseController {
 
-    @Autowired
+    @Resource
     private TeacherAttendanceService teacherAttendanceService;
-    @Autowired
+    @Resource
     private StudentAttendanceService studentAttendanceService;
-    @Autowired
+    @Resource
     private StudentAttendanceDao studentAttendanceDao;
-    @Autowired
+    @Resource
     private ClassGroupService classGroupService;
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
-    @Autowired
+    @Resource
+    private SysUserService sysUserService;
+    @Resource
     private SysMessageService sysMessageService;
-    @Autowired
+    @Resource
     private CourseScheduleService courseScheduleService;
-    @Autowired
+    @Resource
     private MusicGroupService musicGroupService;
-    @Autowired
+    @Resource
     private OrganizationService organizationService;
 
     @ApiOperation(value = "新增教师签到")
     @PostMapping("/add")
     @AuditLogAnnotation(operateName = "新增教师签到")
-    public Object add(@RequestBody TeacherSignOutDto teacherSignOutDto) {
+    public HttpResponseResult<Map<String, Object>> add(@RequestBody TeacherSignOutDto teacherSignOutDto) {
         return succeed(teacherAttendanceService.addTeacherAttendanceRecord(teacherSignOutDto));
     }
 
     @ApiOperation(value = "分页查询教师签到列表")
     @GetMapping("/queryPage")
-    public Object queryPage(TeacherAttendanceQueryInfo queryInfo) {
+    public HttpResponseResult<PageInfo<TeacherAttendance>> queryPage(TeacherAttendanceQueryInfo queryInfo) {
         return succeed(teacherAttendanceService.queryPage(queryInfo));
     }
 
 
     @ApiOperation(value = "根据班级ID获取当前课程的学生")
     @GetMapping("/getCurrentCourseStudents")
-    public Object getCurrentCourseStudents(Long courseScheduleId){
+    public HttpResponseResult<List<StudentAttendanceViewDto>> getCurrentCourseStudents(Long courseScheduleId){
         return succeed(classGroupService.findAttendanceStudentByCourse(courseScheduleId));
     }
 
@@ -79,7 +78,7 @@ public class TeacherAttendanceController extends BaseController {
 
     @ApiOperation(value = "根据班级ID获取当前课程的学生")
     @PostMapping("/getLiveCurrentCourseStudents")
-    public Object getLiveCurrentCourseStudents(@RequestBody LiveGroupWrapper.LiveCourseStudentQuery query){
+    public HttpResponseResult<List<StudentAttendanceViewDto>> getLiveCurrentCourseStudents(@RequestBody LiveGroupWrapper.LiveCourseStudentQuery query){
         return succeed(classGroupService.getLiveCurrentCourseStudents(query));
     }
 
@@ -87,23 +86,19 @@ public class TeacherAttendanceController extends BaseController {
     @GetMapping("/getGradeList")
     public HttpResponseResult<Map<Integer,String>> getGradeList(Long courseScheduleId) {
         CourseSchedule courseSchedule = courseScheduleService.get(courseScheduleId);
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null){
-            return failed("请重新登录");
-        }
         return succeed(organizationService.getGradeList(courseSchedule.getOrganId()));
     }
 
     @ApiOperation(value = "点名")
     @PostMapping("/addStudentAttendances")
     @AuditLogAnnotation(operateName = "点名")
-    public Object addStudentAttendances(@RequestBody StudentAttendanceDto studentAttendanceInfo){
+    public HttpResponseResult<Map<String, Object>> addStudentAttendances(@RequestBody StudentAttendanceDto studentAttendanceInfo){
         return succeed(studentAttendanceService.addStudentAttendances(studentAttendanceInfo));
     }
 
     @ApiOperation(value = "学员到课提醒")
     @PostMapping("/studentAttendanceNormalRemind")
-    public HttpResponseResult studentAttendanceNormalRemind(Long courseId){
+    public HttpResponseResult<Object> studentAttendanceNormalRemind(Long courseId){
         int remindNum = studentAttendanceDao.countNormalRemindNum(courseId);
         if(remindNum > 0){
             return failed("您已发送过到课提醒");
@@ -129,7 +124,7 @@ public class TeacherAttendanceController extends BaseController {
             }
         }
 
-        if (normal != null && normal.size() > 0) {
+        if (CollectionUtils.isNotEmpty(normal)) {
             Map<Integer, String> receivers = new HashMap<>(normal.size());
             normal.forEach(e -> receivers.put(e.getUserId(), e.getUserId().toString()));
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_NAMES_ACHIEVE,
@@ -143,29 +138,21 @@ public class TeacherAttendanceController extends BaseController {
 
     @ApiOperation(value = "获取签退详情")
     @GetMapping("/getTeacherSignDetail")
-    public Object getTeacherSignDetail(Integer courseScheduleId){
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if(Objects.isNull(user)){
-            return failed(HttpStatus.FORBIDDEN,"请登录");
-        }
-        return succeed(teacherAttendanceService.getTeacherSignDetail(courseScheduleId, user.getId()));
+    public HttpResponseResult<TeacherSignOutDto> getTeacherSignDetail(Integer courseScheduleId){
+        return succeed(teacherAttendanceService.getTeacherSignDetail(courseScheduleId, sysUserService.getUserId()));
     }
 
     @ApiOperation(value = "提交考勤申述")
     @PostMapping("/addComplaints")
-    public Object addComplaints(Long courseScheduleId, String content, String url, UpdateAttendanceEnum complaintsType){
+    public HttpResponseResult<Object> addComplaints(Long courseScheduleId, String content, String url, UpdateAttendanceEnum complaintsType){
         teacherAttendanceService.addComplaints(courseScheduleId,content,url,null,complaintsType);
         return succeed();
     }
 
     @ApiOperation(value = "撤销考勤申述")
     @PostMapping("/repealComplaints")
-    public Object repealComplaints(Long courseScheduleId){
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if(Objects.isNull(user)){
-            throw new BizException("请登录");
-        }
-        teacherAttendanceService.repealComplaints(courseScheduleId,user.getId());
+    public HttpResponseResult<Object> repealComplaints(Long courseScheduleId){
+        teacherAttendanceService.repealComplaints(courseScheduleId,sysUserService.getUserId());
         return succeed();
     }
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysConfigDao.java

@@ -25,4 +25,6 @@ public interface SysConfigDao extends BaseDAO<Long, SysConfig> {
     String findConfigValue(String paramName);
 
     void batchUpdate(@Param("configList") List<SysConfig> configList);
+
+    List<SysConfig> findByParamNames(@Param("paramName") String paramName);
 }

+ 5 - 252
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseHomeworkStudentDetailDto.java

@@ -1,19 +1,20 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.entity.MusicGroupTrainPlan;
+import com.ym.mec.biz.dal.entity.SysMusicScore;
 import com.ym.mec.biz.dal.enums.StandardEnum;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import java.util.Date;
 import java.util.List;
 
-import com.ym.mec.biz.dal.entity.MusicGroupTrainPlan;
-import com.ym.mec.biz.dal.entity.SysMusicScore;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
-
 /**
  * @Author Joburgess
  * @Date 2019/9/18
  */
+@Data
 public class CourseHomeworkStudentDetailDto {
 
     @ApiModelProperty(value = "乐团名称",required = false)
@@ -94,254 +95,6 @@ public class CourseHomeworkStudentDetailDto {
     @ApiModelProperty(value = "作业创建时间",required = false)
     private Date createTime;
 
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public Boolean getSubmitFlag() {
-        return submitFlag;
-    }
-
-    public void setSubmitFlag(Boolean submitFlag) {
-        this.submitFlag = submitFlag;
-    }
-
-    public Date getSubmitTime() {
-        return submitTime;
-    }
-
-    public void setSubmitTime(Date submitTime) {
-        this.submitTime = submitTime;
-    }
-
-    public boolean getExpire() {
-        return expire;
-    }
-
-    public void setExpire(boolean expire) {
-        this.expire = expire;
-    }
-
-    public StandardEnum getStandardFlag() {
-        return standardFlag;
-    }
-
-    public void setStandardFlag(StandardEnum standardFlag) {
-        this.standardFlag = standardFlag;
-    }
-
-    public String getMusicScoreContent() {
-        return musicScoreContent;
-    }
-
-    public void setMusicScoreContent(String musicScoreContent) {
-        this.musicScoreContent = musicScoreContent;
-    }
-
-    public SysMusicScore getSysMusicScore() {
-        return sysMusicScore;
-    }
-
-    public void setSysMusicScore(SysMusicScore sysMusicScore) {
-        this.sysMusicScore = sysMusicScore;
-    }
-
-    public List<SysMusicScore> getSysMusicScoreList() {
-        return sysMusicScoreList;
-    }
-
-    public void setSysMusicScoreList(List<SysMusicScore> sysMusicScoreList) {
-        this.sysMusicScoreList = sysMusicScoreList;
-    }
-
-    public Integer getHasMember() {
-        return hasMember;
-    }
-
-    public void setHasMember(Integer hasMember) {
-        this.hasMember = hasMember;
-    }
-
     @ApiModelProperty(value = "提交云教练的作业开关",required = false)
     private Integer homeworkOpenFlag;
-
-    public Integer getHomeworkOpenFlag() {
-        return homeworkOpenFlag;
-    }
-
-    public void setHomeworkOpenFlag(Integer homeworkOpenFlag) {
-        this.homeworkOpenFlag = homeworkOpenFlag;
-    }
-
-    public String getMusicScoreId() {
-        return musicScoreId;
-    }
-
-    public void setMusicScoreId(String musicScoreId) {
-        this.musicScoreId = musicScoreId;
-    }
-
-    public String getMusicScoreName() {
-        return musicScoreName;
-    }
-
-    public void setMusicScoreName(String musicScoreName) {
-        this.musicScoreName = musicScoreName;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public Long getCourseScheduleId() {
-        return courseScheduleId;
-    }
-
-    public void setCourseScheduleId(Long courseScheduleId) {
-        this.courseScheduleId = courseScheduleId;
-    }
-
-    public Integer getStudentId() {
-        return studentId;
-    }
-
-    public void setStudentId(Integer studentId) {
-        this.studentId = studentId;
-    }
-
-    public String getStudentName() {
-        return studentName;
-    }
-
-    public void setStudentName(String studentName) {
-        this.studentName = studentName;
-    }
-
-    public Integer getTeacherId() {
-        return teacherId;
-    }
-
-    public void setTeacherId(Integer teacherId) {
-        this.teacherId = teacherId;
-    }
-
-    public String getTeacherName() {
-        return teacherName;
-    }
-
-    public void setTeacherName(String teacherName) {
-        this.teacherName = teacherName;
-    }
-
-    public Long getStudentCourseHomeworkId() {
-        return studentCourseHomeworkId;
-    }
-
-    public void setStudentCourseHomeworkId(Long studentCourseHomeworkId) {
-        this.studentCourseHomeworkId = studentCourseHomeworkId;
-    }
-
-    public YesOrNoEnum getStatus() {
-        return status;
-    }
-
-    public void setStatus(YesOrNoEnum status) {
-        this.status = status;
-    }
-
-    public YesOrNoEnum getIsReplied() {
-        return isReplied;
-    }
-
-    public void setIsReplied(YesOrNoEnum isReplied) {
-        this.isReplied = isReplied;
-    }
-
-    public String getMusicGroupName() {
-        return musicGroupName;
-    }
-
-    public void setMusicGroupName(String musicGroupName) {
-        this.musicGroupName = musicGroupName;
-    }
-
-    public String getClassGroupName() {
-        return classGroupName;
-    }
-
-    public void setClassGroupName(String classGroupName) {
-        this.classGroupName = classGroupName;
-    }
-
-    public Long getCourseHomeworkId() {
-        return courseHomeworkId;
-    }
-
-    public void setCourseHomeworkId(Long courseHomeworkId) {
-        this.courseHomeworkId = courseHomeworkId;
-    }
-
-    public String getContent() {
-        return content;
-    }
-
-    public void setContent(String content) {
-        this.content = content;
-    }
-
-    public Date getExpiryDate() {
-        return expiryDate;
-    }
-
-    public void setExpiryDate(Date expiryDate) {
-        this.expiryDate = expiryDate;
-    }
-
-    public Integer getCompletedNum() {
-        return completedNum;
-    }
-
-    public void setCompletedNum(Integer completedNum) {
-        this.completedNum = completedNum;
-    }
-
-    public Integer getExpectNum() {
-        return expectNum;
-    }
-
-    public void setExpectNum(Integer expectNum) {
-        this.expectNum = expectNum;
-    }
-
-    public String getAttachments() {
-        return attachments;
-    }
-
-    public void setAttachments(String attachments) {
-        this.attachments = attachments;
-    }
-
-    public Long getScore() {
-        return score;
-    }
-
-    public void setScore(Long score) {
-        this.score = score;
-    }
-
-	public MusicGroupTrainPlan getMusicGroupTrainPlan() {
-		return musicGroupTrainPlan;
-	}
-
-	public void setMusicGroupTrainPlan(MusicGroupTrainPlan musicGroupTrainPlan) {
-		this.musicGroupTrainPlan = musicGroupTrainPlan;
-	}
 }

+ 15 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentLessonTrainingDetailWrapper.java

@@ -28,6 +28,9 @@ public class StudentLessonTrainingDetailWrapper {
         @ApiModelProperty("曲目id")
         private Long musicScoreId;
 
+        @ApiModelProperty("曲目名称")
+        private String musicScoreName;
+
         @ApiModelProperty("练习速度")
         private Integer trainingSpeed;
 
@@ -45,6 +48,9 @@ public class StudentLessonTrainingDetailWrapper {
 
         @ApiModelProperty("结束小节")
         private Integer end;
+
+        @ApiModelProperty("作业类型,VIDEO,MUSIC_SCORE")
+        private String homeworkType = "MUSIC_SCORE";
     }
 
     @Data
@@ -67,6 +73,9 @@ public class StudentLessonTrainingDetailWrapper {
         @ApiModelProperty("曲目名称")
         private String  musicScoreName;
 
+        @ApiModelProperty("作业类型,VIDEO,MUSIC_SCORE")
+        private String homeworkType = "MUSIC_SCORE";
+
         @ApiModelProperty("分谱")
         private Integer partIndex;
 
@@ -88,16 +97,20 @@ public class StudentLessonTrainingDetailWrapper {
         @ApiModelProperty("标准练习次数")
         private Integer times;
 
-
         @ApiModelProperty("声部id")
         private Long subjectId;
 
         @ApiModelProperty("声部名称")
         private String subjectName;
 
-
         @ApiModelProperty("作业分组")
         private Integer group;
+
+        @ApiModelProperty("播放地址")
+        private String content;
+
+        @ApiModelProperty("资源是否有效")
+        private Boolean validFlag = true;
         
         public String jsonString() {
             return JSON.toJSONString(this);

+ 4 - 147
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ExtracurricularExercisesReply.java

@@ -1,17 +1,18 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.enums.StandardEnum;
+import com.ym.mec.common.entity.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.common.entity.BaseEntity;
-
 import java.util.Date;
 
 /**
  * 对应数据库表(extracurricular_exercises_reply):
  */
+@Data
 public class ExtracurricularExercisesReply extends BaseEntity {
 
 	/**  */
@@ -71,150 +72,6 @@ public class ExtracurricularExercisesReply extends BaseEntity {
 	@ApiModelProperty(value = "作业评级",required = true)
 	private StandardEnum standardFlag;
 
-	public StandardEnum getStandardFlag() {
-		return standardFlag;
-	}
-
-	public void setStandardFlag(StandardEnum standardFlag) {
-		this.standardFlag = standardFlag;
-	}
-
-	public String getMusicScoreContent() {
-		return musicScoreContent;
-	}
-
-	public void setMusicScoreContent(String musicScoreContent) {
-		this.musicScoreContent = musicScoreContent;
-	}
-
-	public String getMusicScoreId() {
-		return musicScoreId;
-	}
-
-	public void setMusicScoreId(String musicScoreId) {
-		this.musicScoreId = musicScoreId;
-	}
-
-	public Integer getIsRepliedTimely() {
-		return isRepliedTimely;
-	}
-
-	public void setIsRepliedTimely(Integer isRepliedTimely) {
-		this.isRepliedTimely = isRepliedTimely;
-	}
-
-	public Date getSubmitTime() {
-		return submitTime;
-	}
-
-	public void setSubmitTime(Date submitTime) {
-		this.submitTime = submitTime;
-	}
-
-	public ExtracurricularExercises getExtracurricularExercises() {
-		return extracurricularExercises;
-	}
-
-	public void setExtracurricularExercises(ExtracurricularExercises extracurricularExercises) {
-		this.extracurricularExercises = extracurricularExercises;
-	}
-
-	public void setId(Long id){
-		this.id = id;
-	}
-	
-	public Long getId(){
-		return this.id;
-	}
-			
-	public void setExtracurricularExercisesId(Long extracurricularExercisesId){
-		this.extracurricularExercisesId = extracurricularExercisesId;
-	}
-	
-	public Long getExtracurricularExercisesId(){
-		return this.extracurricularExercisesId;
-	}
-			
-	public void setUserId(Integer userId){
-		this.userId = userId;
-	}
-	
-	public Integer getUserId(){
-		return this.userId;
-	}
-			
-	public void setAttachments(String attachments){
-		this.attachments = attachments;
-	}
-	
-	public String getAttachments(){
-		return this.attachments;
-	}
-			
-	public void setCreateTime(java.util.Date createTime){
-		this.createTime = createTime;
-	}
-	
-	public java.util.Date getCreateTime(){
-		return this.createTime;
-	}
-			
-	public void setUpdateTime(java.util.Date updateTime){
-		this.updateTime = updateTime;
-	}
-	
-	public java.util.Date getUpdateTime(){
-		return this.updateTime;
-	}
-			
-	public void setRemark(String remark){
-		this.remark = remark;
-	}
-	
-	public String getRemark(){
-		return this.remark;
-	}
-			
-	public void setStatus(Integer status){
-		this.status = status;
-	}
-	
-	public Integer getStatus(){
-		return this.status;
-	}
-			
-	public void setIsReplied(Integer isReplied){
-		this.isReplied = isReplied;
-	}
-	
-	public Integer getIsReplied(){
-		return this.isReplied;
-	}
-			
-	public void setIsView(Integer isView){
-		this.isView = isView;
-	}
-	
-	public Integer getIsView(){
-		return this.isView;
-	}
-			
-	public SysUser getUser() {
-		return user;
-	}
-
-	public void setUser(SysUser user) {
-		this.user = user;
-	}
-
-	public String getOrganName() {
-		return organName;
-	}
-
-	public void setOrganName(String organName) {
-		this.organName = organName;
-	}
-
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 10 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentLessonTrainingDetail.java

@@ -25,8 +25,8 @@ import java.util.Date;
 public class StudentLessonTrainingDetail implements Serializable {
 
     @ApiModelProperty("主键ID") 
-	    @TableId(value = "id_",type = IdType.AUTO)
-	    private Long id;
+    @TableId(value = "id_",type = IdType.AUTO)
+    private Long id;
 
     @ApiModelProperty("用户ID") 
 	@TableField(value = "user_id_")
@@ -36,22 +36,18 @@ public class StudentLessonTrainingDetail implements Serializable {
     @TableField(value = "type_")
     private ELessonTrainingType type;
 
-
     @ApiModelProperty("作业分组")
     @TableField(value = "group_")
     private Integer group;
 
-
     @ApiModelProperty("练习编号") 
 	@TableField(value = "course_homework_id_")
     private Long courseHomeworkId;
 
-
     @ApiModelProperty("声部id")
     @TableField(value = "subject_id_")
     private Long subjectId;
 
-
     @ApiModelProperty("曲目id") 
 	@TableField(value = "music_score_id_")
     private Long musicScoreId;
@@ -84,6 +80,14 @@ public class StudentLessonTrainingDetail implements Serializable {
 	@TableField(value = "times_")
     private Integer times;
 
+    @ApiModelProperty("作业类型,VIDEO,MUSIC_SCORE")
+    @TableField(value = "homework_type_")
+    private String homeworkType = "MUSIC_SCORE";
+
+    @ApiModelProperty("曲目名称")
+    @TableField(value = "music_score_name_")
+    private String musicScoreName;
+
     @ApiModelProperty("创建时间") 
 	@TableField(value = "create_time_")
     private Date createTime;

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

@@ -126,6 +126,8 @@ public interface StudentCourseHomeworkService extends BaseService<Long, StudentC
      */
     CourseHomeworkWrapper.CourseHomeworkList findStudentHomeworkRecordDetail(CourseHomeworkWrapper.StudentCourseHomeworkQuery query);
 
+    List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail> findStudentHomeworkCourseware(CourseHomeworkWrapper.StudentCourseHomeworkQuery query);
+
     /**
      * 添加学生作业练习记录
      */

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/StudentLessonTrainingDetailService.java

@@ -62,7 +62,9 @@ public interface StudentLessonTrainingDetailService extends IService<StudentLess
      * @param type 作业类型
      * @param userId 学生ID
      */
-    List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail> getBaseLessonTrainingDetail(Long courseHomeworkId, ELessonTrainingType type, Long userId);
+    List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail> getBaseLessonTrainingDetail(Long courseHomeworkId, ELessonTrainingType type, Long userId,String homeworkType);
+
+    void updateMusicScoreName(List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail> studentLessonTrainingDetails);
 
     /**
      * 查询作业详情练习组

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

@@ -488,4 +488,6 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
     void updateConfig(SysConfig config);
 
     void redisTransfer();
+
+    List<SysConfig> findByParamNames(String paramName);
 }

+ 4 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesServiceImpl.java

@@ -18,13 +18,12 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
 import java.time.DayOfWeek;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
@@ -74,7 +73,7 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
         }
         List<MusicScoreSubjectDto> scoreSubjectDtoList = exercises.getMusicScoreSubjectDtos();
         if(StringUtils.isBlank(exercises.getStudentIdList())){
-            if(scoreSubjectDtoList == null || scoreSubjectDtoList.size() == 0){
+            if(CollectionUtils.isEmpty(scoreSubjectDtoList)){
                 throw new BizException("请指定学生");
             }
             List<Integer> studentIdList = new ArrayList<>();
@@ -115,7 +114,7 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
         List<ExtracurricularExercisesReply> extracurricularExercisesReplies = new ArrayList<>();
 
         List<StudentLessonTrainingDetail> studentLessonTrainingDetailList = new ArrayList<>();
-        if(!CollectionUtils.isEmpty(scoreSubjectDtoList)){
+        if(CollectionUtils.isNotEmpty(scoreSubjectDtoList)){
             for (MusicScoreSubjectDto musicScoreSubjectDto : scoreSubjectDtoList) {
                 // 原本作业逻辑
                 for (Integer userId : musicScoreSubjectDto.getUserIdList()) {
@@ -150,7 +149,7 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
         for (ExtracurricularExercisesReply extracurricularExercisesReply : extracurricularExercisesReplies) {
             extracurricularExercisesReplyDao.insert(extracurricularExercisesReply);
         }
-        if (!CollectionUtils.isEmpty(studentLessonTrainingDetailList)) {
+        if (CollectionUtils.isNotEmpty(studentLessonTrainingDetailList)) {
             // 学生ID集合
             Set<Integer> userIdList = studentLessonTrainingDetailList.stream()
                     .map(StudentLessonTrainingDetail::getUserId)

+ 61 - 84
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java

@@ -1,47 +1,15 @@
 package com.ym.mec.biz.service.impl;
 
-import java.math.BigDecimal;
-import java.time.DayOfWeek;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.temporal.ChronoUnit;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.biz.dal.enums.ELessonTrainingType;
-import com.ym.mec.biz.dal.enums.StandardEnum;
-import com.ym.mec.biz.service.*;
-import org.apache.commons.lang3.StringUtils;
-import org.jetbrains.annotations.NotNull;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
-import com.ym.mec.biz.dal.enums.GroupType;
-import com.ym.mec.biz.dal.enums.MessageTypeEnum;
-import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
-import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.biz.dal.page.StudentCourseHomeWorkQueryInfo;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -52,66 +20,73 @@ import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.jetbrains.annotations.NotNull;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 @Service
 public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, StudentCourseHomework> implements StudentCourseHomeworkService {
 
-    @Autowired
+    @Resource
     private StudentCourseHomeworkDao studentCourseHomeworkDao;
-    @Autowired
+    @Resource
     private CourseHomeworkService courseHomeworkService;
-    @Autowired
+    @Resource
     private CourseHomeworkDao courseHomeworkDao;
-    @Autowired
+    @Resource
     private CourseScheduleDao courseScheduleDao;
-    @Autowired
+    @Resource
     private ClassGroupDao classGroupDao;
-    @Autowired
+    @Resource
     private SysUserFeignService sysUserFeignService;
-    @Autowired
+    @Resource
     private SysMessageService sysMessageService;
-    @Autowired
+    @Resource
     private CourseScheduleReviewDao courseScheduleReviewDao;
-    @Autowired
+    @Resource
     private TeacherDao teacherDao;
-    @Autowired
+    @Resource
     private StudentDao studentDao;
-    @Autowired
+    @Resource
     private SubjectDao subjectDao;
-    @Autowired
+    @Resource
     private StudentServeService studentServeService;
-    @Autowired
-    private MusicGroupDao musicGroupDao;
-    @Autowired
+    @Resource
     private StudentRegistrationDao studentRegistrationDao;
-    @Autowired
+    @Resource
     private VipGroupDao vipGroupDao;
-    @Autowired
+    @Resource
     private PracticeGroupDao practiceGroupDao;
-    @Autowired
+    @Resource
     private ExtracurricularExercisesReplyDao extracurricularExercisesReplyDao;
-    @Autowired
+    @Resource
     private SysConfigDao sysConfigDao;
-    @Autowired
+    @Resource
     private SysMusicScoreDao sysMusicScoreDao;
-    @Autowired
+    @Resource
     private MusicGroupTrainPlanService musicGroupTrainPlanService;
-    @Autowired
+    @Resource
     private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
-
-    @Autowired
+    @Resource
     private ExtracurricularExercisesReplyService extracurricularExercisesReplyService;
-
-    @Autowired
+    @Resource
     private MusicGroupService musicGroupService;
-
-    @Autowired
+    @Resource
     private StudentLessonExaminationDao studentLessonExaminationDao;
-
-    @Autowired
+    @Resource
     private StudentLessonTrainingDetailService studentLessonTrainingDetailService;
-
-    @Autowired
+    @Resource
     private ExtracurricularExercisesDao extracurricularExercisesDao;
 
     @Override
@@ -194,7 +169,7 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
             String courseDate = DateUtil.dateToString(courseSchedule.getClassDate(), "yyyy年MM月dd日");
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_HOMEWORK_SUBMIT,
                     userMap, null, 0, notifyUrl, "TEACHER", courseSchedule.getName(), courseDate, user.getUsername());
-            MusicGroup musicGroup = musicGroupDao.get(courseSchedule.getMusicGroupId());
+            MusicGroup musicGroup = musicGroupService.get(courseSchedule.getMusicGroupId());
 
             sysMessageService.batchSendImMessage(MessageTypeEnum.IM_HOMEWORK_SUBMIT_PUSH, bean.getUserId().toString(), extra,
                     new String[]{courseSchedule.getActualTeacherId().toString()},
@@ -608,7 +583,7 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
             Map<Long, List<VipGroup>> vipGroupMap = new HashMap<>();
             Map<Long, List<PracticeGroup>> practiceGroupMap = new HashMap<>();
             if (musicGroupIds.size() > 0) {
-                musicGroupMap = musicGroupDao.getMusicGroupByIds(musicGroupIds).stream().collect(Collectors.groupingBy(MusicGroup::getId));
+                musicGroupMap = musicGroupService.getDao().getMusicGroupByIds(musicGroupIds).stream().collect(Collectors.groupingBy(MusicGroup::getId));
             }
             if (vipGroupIds.size() > 0) {
                 vipGroupMap = vipGroupDao.getVipGroupByIds(vipGroupIds).stream().collect(Collectors.groupingBy(VipGroup::getId));
@@ -654,11 +629,11 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
         MapUtil.populateMap(params, queryInfo);
         params.put("musicGroupStatus", MusicGroupStatusEnum.PROGRESS.getCode());
 
-        int count = musicGroupDao.queryCount(params);
+        int count = musicGroupService.getDao().queryCount(params);
         pageInfo.setTotal(count);
         params.put("offset", pageInfo.getOffset());
 //        StudentService
-        List<MusicGroup> musicGroups = musicGroupDao.queryPage(params);
+        List<MusicGroup> musicGroups = musicGroupService.getDao().queryPage(params);
 
         List<EduHomeworkStatDto> dataList = new ArrayList<>();
         if(!CollectionUtils.isEmpty(musicGroups)){
@@ -709,7 +684,7 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
     @Override
     public List<EduHomeworkStatDto> queryEduHomeworkStatDetail(StudentCourseHomeWorkQueryInfo queryInfo) {
         List<EduHomeworkStatDto> dataList = new ArrayList<>();
-        MusicGroup musicGroup = musicGroupDao.get(queryInfo.getGroupId());
+        MusicGroup musicGroup = musicGroupService.get(queryInfo.getGroupId());
         if(Objects.isNull(musicGroup)){
             return dataList;
         }
@@ -717,7 +692,7 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
         Map<Integer, Long> subjectStudentNumMap = studentRegistrations.stream().collect(Collectors.groupingBy(StudentRegistration::getActualSubjectId, Collectors.counting()));
 
         Map<Integer, Subject> idSubjectMap = new HashMap<>();
-        if(!CollectionUtils.isEmpty(subjectStudentNumMap)){
+        if(!subjectStudentNumMap.isEmpty()){
             List<Subject> subjects = subjectDao.findBySubjectIds(new ArrayList<>(subjectStudentNumMap.keySet()));
             idSubjectMap = subjects.stream().collect(Collectors.toMap(Subject::getId, s -> s, (s1, s2) -> s1));
         }
@@ -789,7 +764,6 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
         }
 
         // 设置是否会员
-
         // 获取用户id集合
         List<Integer> userIds = studentCourseHomeworkByCourse.stream().map(StudentCourseHomework::getUserId).collect(Collectors.toList());
 
@@ -814,11 +788,7 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
                 }
             }
         }
-
-
         // 设置声部
-
-        // 获取声部id集合
         List<Integer> voicePartIds = studentCourseHomeworkByCourse.stream().map(o -> o.getSubjectId()).collect(Collectors.toList());
 
         if (CollectionUtils.isEmpty(voicePartIds)) {
@@ -853,7 +823,9 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
         List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail> studentLessonTrainingDetails = studentCourseHomeworkDao
             .findByStudentIdsAndCourseScheduleId(studentIds, studentCourseHomework.getCourseHomeworkId(),studentCourseHomework.getType());
 
-        if (!CollectionUtils.isEmpty(studentLessonTrainingDetails)) {
+        if (CollectionUtils.isNotEmpty(studentLessonTrainingDetails)) {
+            //设置曲目名称
+            studentLessonTrainingDetailService.updateMusicScoreName(studentLessonTrainingDetails);
             // 按userid分组 ,
             Map<Long, List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail>> studentLessonTrainingDetailMap = studentLessonTrainingDetails.stream()
                 .collect(Collectors.groupingBy(StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail::getUserId,
@@ -877,9 +849,9 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
         List<StudentCourseHomework> studentCourseHomeworks = getStudentCourseHomeworks(extraExerciseStudents);
         if (query.getSubjectId() != null) {
             studentCourseHomeworks = studentCourseHomeworks.stream()
-                                                         .filter(o ->o.getSubjectId() != null)
-                                                         .filter(o -> o.getSubjectId().equals(query.getSubjectId()))
-                                                         .collect(Collectors.toList());
+            .filter(o ->o.getSubjectId() != null)
+            .filter(o -> o.getSubjectId().equals(query.getSubjectId()))
+            .collect(Collectors.toList());
         }
         return studentCourseHomeworks;
     }
@@ -914,7 +886,7 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 
         // 获取作业信息
         List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail> detailList = studentLessonTrainingDetailService.getBaseLessonTrainingDetail(
-            courseHomeworkDetail.getCourseHomeworkId(), query.getType(), query.getUserId());
+            courseHomeworkDetail.getCourseHomeworkId(), query.getType(), query.getUserId(),null);
 
         long count = detailList.stream().filter(o -> o.getTrainingTimes() < o.getTimes()).count();
         if (count >0) {
@@ -928,6 +900,11 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 
     }
 
+    @Override
+    public List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail> findStudentHomeworkCourseware(CourseHomeworkWrapper.StudentCourseHomeworkQuery query) {
+        return studentLessonTrainingDetailService.getBaseLessonTrainingDetail(query.getCourseScheduleId().longValue(), query.getType(), query.getUserId(),"VIDEO");
+    }
+
     /**
      * 添加学生作业练习记录
      *

+ 84 - 46
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentLessonTrainingDetailServiceImpl.java

@@ -2,6 +2,10 @@ package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayaedu.cbs.openfeign.client.CoursewareFeignService;
+import com.dayaedu.cbs.openfeign.wrapper.courseware.CbsMaterialWrapper;
+import com.microsvc.toolkit.common.response.paging.PageInfo;
+import com.microsvc.toolkit.common.response.template.R;
 import com.ym.mec.biz.dal.dao.CourseHomeworkDao;
 import com.ym.mec.biz.dal.dao.StudentLessonTrainingDetailMapper;
 import com.ym.mec.biz.dal.dao.SubjectDao;
@@ -16,12 +20,11 @@ import com.ym.mec.biz.service.ExtracurricularExercisesService;
 import com.ym.mec.biz.service.StudentLessonTrainingDetailService;
 import com.ym.mec.biz.service.SubjectService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.jetbrains.annotations.NotNull;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-
+import javax.annotation.Resource;
 import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
@@ -34,20 +37,18 @@ import java.util.stream.Collectors;
 @Service
 public class StudentLessonTrainingDetailServiceImpl extends ServiceImpl<StudentLessonTrainingDetailMapper, StudentLessonTrainingDetail> implements StudentLessonTrainingDetailService {
 
-    @Autowired
+    @Resource
     private SysMusicScoreDao sysMusicScoreDao;
-
-    @Autowired
+    @Resource
     private SubjectDao subjectDao;
-
-    @Autowired
+    @Resource
     private CourseHomeworkDao courseHomeworkDao;
-
-    @Autowired
+    @Resource
     private SubjectService subjectService;
-
-    @Autowired
+    @Resource
     private ExtracurricularExercisesService extracurricularExercisesService;
+    @Resource
+    private CoursewareFeignService coursewareFeignService;
 
     /**
      * 查询详情
@@ -101,27 +102,22 @@ public class StudentLessonTrainingDetailServiceImpl extends ServiceImpl<StudentL
             group = 1;
         }
 
-        List<StudentLessonTrainingDetail> result = new ArrayList<>();
-
-        List<StudentLessonTrainingDetail> details = JSON.parseArray(
-            JSON.toJSONString(detailList), StudentLessonTrainingDetail.class);
-        result.addAll(details);
+        List<StudentLessonTrainingDetail> result = JSON.parseArray(JSON.toJSONString(detailList), StudentLessonTrainingDetail.class);
         // 根据声部添加学生作业详情
         userIdList.forEach(userId -> {
-            List<StudentLessonTrainingDetail> detailsUser = JSON.parseArray(
-                JSON.toJSONString(detailList), StudentLessonTrainingDetail.class);
+            List<StudentLessonTrainingDetail> detailsUser = JSON.parseArray(JSON.toJSONString(detailList), StudentLessonTrainingDetail.class);
             for (StudentLessonTrainingDetail studentLessonTrainingDetail : detailsUser) {
                 studentLessonTrainingDetail.setUserId(userId.longValue());
             }
             result.addAll(detailsUser);
         });
+        Date date = new Date();
         for (StudentLessonTrainingDetail studentLessonTrainingDetail : result) {
-
             studentLessonTrainingDetail.setCourseHomeworkId(homeworkId);
             studentLessonTrainingDetail.setTrainingTimes(0);
             studentLessonTrainingDetail.setTrainingStatus(StandardEnum.NOT_START);
-            studentLessonTrainingDetail.setCreateTime(new Date());
-            studentLessonTrainingDetail.setUpdateTime(new Date());
+            studentLessonTrainingDetail.setCreateTime(date);
+            studentLessonTrainingDetail.setUpdateTime(date);
             studentLessonTrainingDetail.setGroup(group);
             studentLessonTrainingDetail.setType(type);
         }
@@ -136,7 +132,7 @@ public class StudentLessonTrainingDetailServiceImpl extends ServiceImpl<StudentL
      */
     @Override
     public List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail> getBaseLessonTrainingDetail(Long courseHomeworkId, ELessonTrainingType type) {
-        return getBaseLessonTrainingDetail(courseHomeworkId, type, null);
+        return getBaseLessonTrainingDetail(courseHomeworkId, type, null,null);
     }
 
     /**
@@ -147,11 +143,13 @@ public class StudentLessonTrainingDetailServiceImpl extends ServiceImpl<StudentL
      * @param userId           学生ID
      */
     @Override
-    public List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail> getBaseLessonTrainingDetail(Long courseHomeworkId, ELessonTrainingType type, Long userId) {
+    public List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail>
+    getBaseLessonTrainingDetail(Long courseHomeworkId, ELessonTrainingType type, Long userId,String homeworkType) {
         List<StudentLessonTrainingDetail> list = this.lambdaQuery()
                                                      .eq(StudentLessonTrainingDetail::getCourseHomeworkId,courseHomeworkId)
                                                      .isNull(userId == null,StudentLessonTrainingDetail::getUserId)
                                                      .eq(StudentLessonTrainingDetail::getType, type)
+                                                     .eq(StringUtils.isNotEmpty(homeworkType),StudentLessonTrainingDetail::getHomeworkType, homeworkType)
                                                      .eq(userId != null, StudentLessonTrainingDetail::getUserId, userId)
                                                      .list();
         if (CollectionUtils.isEmpty(list)) {
@@ -160,27 +158,8 @@ public class StudentLessonTrainingDetailServiceImpl extends ServiceImpl<StudentL
         List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail> studentLessonTrainingDetails = JSON.parseArray(
             JSON.toJSONString(list), StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail.class);
 
-         // 曲目id集合
-        List<Long> collect = studentLessonTrainingDetails.stream()
-                                                         .map(
-                                                             StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail::getMusicScoreId)
-                                                         .distinct()
-                                                         .collect(Collectors.toList());
-
-        List<SysMusicScore> scoreList = sysMusicScoreDao.findByIds(
-            collect.stream().map(String::valueOf).collect(Collectors.joining(",")));
-
-        // id 分组
-        Map<Integer, SysMusicScore> musicScoreMap = scoreList.stream()
-                                                     .collect(Collectors.toMap(SysMusicScore::getId, Function.identity()));
-
-        for (StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail studentLessonTrainingDetail : studentLessonTrainingDetails) {
-            SysMusicScore sysMusicScore = musicScoreMap.get(studentLessonTrainingDetail.getMusicScoreId().intValue());
-            if (sysMusicScore != null) {
-                studentLessonTrainingDetail.setMusicScoreName(sysMusicScore.getName());
-            }
-        }
-
+        //更新曲目名称
+        this.updateMusicScoreName(studentLessonTrainingDetails);
         // 声部
         List<Integer> subjectIdList = studentLessonTrainingDetails.stream()
                                                           .map(o -> {
@@ -211,6 +190,65 @@ public class StudentLessonTrainingDetailServiceImpl extends ServiceImpl<StudentL
     }
 
 
+    @Override
+    public void updateMusicScoreName(List<StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail> studentLessonTrainingDetails){
+        // 曲目id集合
+        List<Long> musicScoreIdList = studentLessonTrainingDetails.stream()
+                .filter(o-> StringUtils.isEmpty(o.getHomeworkType()) || o.getHomeworkType().equals("MUSIC_SCORE"))
+                .map(StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail::getMusicScoreId)
+                .distinct()
+                .collect(Collectors.toList());
+        if(CollectionUtils.isNotEmpty(musicScoreIdList)){
+            List<SysMusicScore> scoreList = sysMusicScoreDao.findByIds(musicScoreIdList.stream().map(String::valueOf).collect(Collectors.joining(",")));
+            if(CollectionUtils.isNotEmpty(scoreList)){
+                Map<Integer, SysMusicScore> musicScoreMap = scoreList.stream().collect(Collectors.toMap(SysMusicScore::getId, Function.identity()));
+                for (StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail studentLessonTrainingDetail : studentLessonTrainingDetails) {
+                    if(!StringUtils.equals(studentLessonTrainingDetail.getHomeworkType(),"VIDEO")){
+                        SysMusicScore sysMusicScore = musicScoreMap.get(studentLessonTrainingDetail.getMusicScoreId().intValue());
+                        if (sysMusicScore != null) {
+                            studentLessonTrainingDetail.setMusicScoreName(sysMusicScore.getName());
+                        }else {
+                            studentLessonTrainingDetail.setValidFlag(false);
+                        }
+                    }
+                }
+            }
+        }
+        //课件素材编号列表
+        List<Long> materialList = studentLessonTrainingDetails.stream()
+                .filter(o->"VIDEO".equals(o.getHomeworkType()))
+                .map(StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail::getMusicScoreId)
+                .distinct()
+                .collect(Collectors.toList());
+        if(CollectionUtils.isNotEmpty(materialList)){
+            CbsMaterialWrapper.MaterialQuery var1 = new CbsMaterialWrapper.MaterialQuery();
+            var1.setMaterialIdList(materialList);
+            var1.setPage(1);
+            var1.setRows(materialList.size());
+            R<PageInfo<CbsMaterialWrapper.MaterialDto>> pageInfoR = coursewareFeignService.materialPage(var1);
+            if(pageInfoR.getCode() != 200){
+                log.error("查询课件素材失败:{}",pageInfoR.getMessage());
+            }
+            List<CbsMaterialWrapper.MaterialDto> materialDtoList = pageInfoR.getData().getRows();
+            if(CollectionUtils.isNotEmpty(materialDtoList)){
+                Map<Long, CbsMaterialWrapper.MaterialDto> materialDtoMap = materialDtoList.stream()
+                        .collect(Collectors.toMap(CbsMaterialWrapper.MaterialDto::getId, Function.identity()));
+                for (StudentLessonTrainingDetailWrapper.StudentLessonTrainingDetail studentLessonTrainingDetail : studentLessonTrainingDetails) {
+                    if(StringUtils.equals(studentLessonTrainingDetail.getHomeworkType(),"VIDEO")){
+                        CbsMaterialWrapper.MaterialDto materialDto = materialDtoMap.get(studentLessonTrainingDetail.getMusicScoreId());
+                        if (materialDto != null) {
+                            studentLessonTrainingDetail.setMusicScoreName(materialDto.getName());
+                            studentLessonTrainingDetail.setContent(materialDto.getContent());
+                        }else {
+                            studentLessonTrainingDetail.setValidFlag(false);
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+
     /**
      * 查询作业详情练习组
      *

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysConfigServiceImpl.java

@@ -50,6 +50,11 @@ public class SysConfigServiceImpl extends BaseServiceImpl<Long, SysConfig>  impl
     }
 
     @Override
+    public List<SysConfig> findByParamNames(String paramName) {
+        return sysConfigDao.findByParamNames(paramName);
+    }
+
+    @Override
 	public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
 		this.applicationEventPublisher = applicationEventPublisher;
 	}

+ 4 - 17
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -150,11 +150,8 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	public Map<String, Object> addTeacherAttendanceRecord(TeacherSignOutDto teacherSignOutDto) {
 		SysUser user = sysUserFeignService.queryUserInfo();
 		teacherDao.getLocked(user.getId());
-		if(Objects.isNull(user)){
-			throw new BizException("请登录");
-		}
 
-		if(Objects.isNull(teacherSignOutDto.getTeacherAttendanceInfo().getCourseScheduleId())){
+        if(Objects.isNull(teacherSignOutDto.getTeacherAttendanceInfo().getCourseScheduleId())){
 			throw new BizException("请选择课程!");
 		}
 		Integer tenantId = TenantContextHolder.getTenantId();
@@ -385,7 +382,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 				teacherAttendanceDao.insert(teacherAttendance);
 			}
 
-            if(!CollectionUtils.isEmpty(courseHomeworkInfo.getMusicScoreSubjectDto())){
+            if(CollectionUtils.isNotEmpty(courseHomeworkInfo.getMusicScoreSubjectDto())){
 				CourseHomework courseHomework = courseHomeworkDao.findByCourseSchedule(teacherAttendance.getCourseScheduleId());
 				if(Objects.isNull(courseHomework)){
 					//新增课堂作业
@@ -393,7 +390,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 					courseHomework.setCourseScheduleId(teacherAttendance.getCourseScheduleId());
 					courseHomework.setMusicGroupId(currentCourseDetail.getMusicGroupId());
 					courseHomework.setGroupType(teacherAttendance.getGroupType());
-					courseHomework.setClassGroupId(currentCourseDetail.getClassId().intValue());
+					courseHomework.setClassGroupId(currentCourseDetail.getClassId());
 
                     LocalDateTime localDateTime=LocalDateTime.now();
                     localDateTime=localDateTime.plusDays(Integer.parseInt(sysConfigService.findByParamName("homework_expire_time").getParanValue()))
@@ -453,16 +450,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
                     if (!CollectionUtils.isEmpty(studentLessonTrainingDetails)) {
                         versionTag ="v2";
                     }
-
-					//排除不被服务学员
-//					Set<Integer> serveStudentIds = studentServeService.getStudentWithCourse(teacherAttendance.getCourseScheduleId());
-//					Iterator<StudentCourseHomework> iterator = studentCourseHomeworks.iterator();
-//					while (iterator.hasNext()){
-//						StudentCourseHomework next = iterator.next();
-//						if(!serveStudentIds.contains(next.getUserId())){
-//							iterator.remove();
-//						}
-//					}
 					courseHomework.setExpectNum(studentCourseHomeworks.size());
                     courseHomework.setVersionTag(versionTag);
 
@@ -505,7 +492,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
                             }
 						}
 					}
-                    if (!CollectionUtils.isEmpty(studentLessonTrainingDetails)) {
+                    if (CollectionUtils.isNotEmpty(studentLessonTrainingDetails)) {
                         // 学生ID集合
                         Set<Integer> userIdList = studentLessonTrainingDetails.stream()
                                                                               .map(StudentLessonTrainingDetail::getUserId)

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -228,7 +228,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     }
 
 
-    @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public HttpResponseResult updateLiveGroup(VipGroupApplyDto vipGroup) {
         VipGroupApplyBaseInfoDto applyBaseInfo = vipGroup.getVipGroupApplyBaseInfo();

+ 1 - 3
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -695,8 +695,7 @@
 
     <select id="findByStudentIdsAndCourseScheduleId"
             resultType="com.ym.mec.biz.dal.dto.StudentLessonTrainingDetailWrapper$StudentLessonTrainingDetail">
-        SELECT s.*,sms.name_ as musicScoreName,s2.name_ as subjectName from student_lesson_training_detail s
-        left join sys_music_score sms on s.music_score_id_ = sms.id_
+        SELECT s.*,s2.name_ as subjectName from student_lesson_training_detail s
         left join subject s2 on s.subject_id_ = s2.id_
         where s.user_id_ in
         <foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
@@ -704,7 +703,6 @@
         </foreach>
         and s.course_homework_id_ = #{courseHomeworkId}
         and s.type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
-
         order by s.id_
     </select>
 

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/SysConfigMapper.xml

@@ -103,4 +103,7 @@
     <select id="findConfigValue" resultType="java.lang.String">
 		SELECT paran_value_ FROM sys_config WHERE param_name_ = #{paramName}
 	</select>
+    <select id="findByParamNames" resultMap="SysConfig">
+		SELECT * FROM sys_config WHERE FIND_IN_SET(param_name_,#{paramName})
+	</select>
 </mapper>