소스 검색

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

yonge 5 년 전
부모
커밋
ec3594ce58
24개의 변경된 파일177개의 추가작업 그리고 114개의 파일을 삭제
  1. 3 3
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml
  2. 19 15
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  3. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkDao.java
  4. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkReplyDao.java
  5. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentCourseHomeworkReplyQueryInfo.java
  6. 5 3
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  7. 19 9
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  8. 7 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java
  9. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  10. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java
  11. 14 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java
  12. 8 10
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  13. 7 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  14. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  15. 4 2
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  16. 3 3
      mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml
  17. 3 2
      mec-biz/src/main/resources/config/mybatis/ClassGroupTeacherMapperMapper.xml
  18. 45 39
      mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml
  19. 7 4
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  20. 3 3
      mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml
  21. 1 0
      mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml
  22. 7 2
      mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkReplyMapper.xml
  23. 2 3
      mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml
  24. 1 1
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

+ 3 - 3
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -165,11 +165,11 @@
     </select>
 
     <select id="queryByUsername" resultMap="SysUser">
-		select * from sys_user where username_ = #{username} OR phone_ = #{username}
+		select * from sys_user where username_ = #{username} OR phone_ = #{username} LIMIT 1
 	</select>
 
     <select id="queryByPhone" resultMap="SysUser">
-		select * from sys_user where phone_ = #{phone} OR username_ = #{phone}
+		select * from sys_user where phone_ = #{phone} OR username_ = #{phone} LIMIT 1
 	</select>
     <resultMap id="ImUserModel" type="com.ym.mec.common.entity.ImUserModel">
         <result column="id_" property="id"/>
@@ -177,7 +177,7 @@
         <result property="portrait" column="avatar_"/>
     </resultMap>
     <select id="getBasic" resultMap="ImUserModel">
-        select * from sys_user where id_ = #{userId}
+        select * from sys_user where id_ = #{userId} LIMIT 1
     </select>
     
     <select id="queryByStatus" resultMap="SysUser">

+ 19 - 15
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 import com.ym.mec.biz.dal.entity.StudentAttendance;
 import com.ym.mec.biz.dal.entity.StudentCourseScheduleRecordDto;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
+import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.common.dal.BaseDAO;
 
 import org.apache.ibatis.annotations.Param;
@@ -61,15 +62,15 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     int batchDeleteCourseSchedules(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 
     /**
+     * @param musicGroupId:乐团编号
+     * @param status:           状态
+     * @return java.util.List<java.lang.Integer>
      * @describe 获取指定乐团下对应状态的课程编号列表
      * @author Joburgess
      * @date 2019/11/16
-     * @param musicGroupId:乐团编号
-     * @param status: 状态
-     * @return java.util.List<java.lang.Integer>
      */
     List<CourseSchedule> findMusicGroupCourseSchedules(@Param("musicGroupId") String musicGroupId,
-                                               @Param("status") String status);
+                                                       @Param("status") String status);
 
     /**
      * @param teacherId: 教师编号
@@ -256,12 +257,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<CourseSchedule> findCourseSchedulesByIds(@Param("ids") Long[] ids);
 
     /**
-     * 获取班级未开始的课程计划
+     * 获取乐团班级未开始的课程计划
      *
-     * @param classGroupTeacherMapperList
+     * @param classGroupIds
+     * @param groupType
      * @return
      */
-    List<CourseSchedule> findClassGroupNoStartCourseSchedules(@Param("classGroupTeacherMapperList") List<ClassGroupTeacherMapper> classGroupTeacherMapperList);
+    List<CourseSchedule> findClassGroupNoStartCourseSchedules(@Param("classGroupIds") List<Integer> classGroupIds, @Param("groupType") GroupType groupType);
 
     /**
      * @Author: Joburgess
@@ -271,11 +273,11 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<StudentCourseScheduleRecordDto> findStudentCourseScheduleRecords(Map<String, Object> params);
 
     /**
+     * @param classGroupId: 班级编号
+     * @return com.ym.mec.biz.dal.entity.CourseSchedule
      * @describe 获取班级的下一节课
      * @author Joburgess
      * @date 2019/11/19
-     * @param classGroupId: 班级编号
-     * @return com.ym.mec.biz.dal.entity.CourseSchedule
      */
     CourseSchedule getNextCourseSchedule(@Param("classGroupId") Integer classGroupId);
 
@@ -546,12 +548,12 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<CourseSchedule> findByClassGroup(@Param("classGroupId") Integer classGroupId);
 
     /**
+     * @param classGroupId: 班级编号
+     * @param status:       状态
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 根据班级以及课程状态获取课程计划
      * @author Joburgess
      * @date 2019/11/16
-     * @param classGroupId: 班级编号
-     * @param status: 状态
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
     List<CourseSchedule> findByClassGroupAndStatus(@Param("classGroupId") Integer classGroupId,
                                                    @Param("status") String status);
@@ -595,23 +597,25 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     /**
      * 根据班级编号列表删除课程
+     *
      * @param classGroupIds 班级编号列表
      * @return
      */
     int deleteCourseSchedulesByClassGroupIds(@Param("classGroupIds") List<Integer> classGroupIds);
-    
+
     /**
      * 查询所有未签到的学生信息
+     *
      * @return
      */
     List<StudentAttendance> queryUnsignedStudentList();
 
     /**
+     * @param classGroupId: 班级编号
+     * @return java.lang.Integer
      * @describe 统计已上的课时数
      * @author Joburgess
      * @date 2019/11/19
-     * @param classGroupId: 班级编号
-     * @return java.lang.Integer
      */
     Integer countCurrentTimes(Integer classGroupId);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkDao.java

@@ -15,7 +15,7 @@ public interface StudentCourseHomeworkDao extends BaseDAO<Long, StudentCourseHom
      * @Date: 2019/9/18
      * 统计已提交作业的人数
      */
-    @Select("SELECT COUNT(*) FROM student_course_homework WHERE course_homework_id_=#{courseHomeworkID} FOR UPDATE")
+    @Select("SELECT COUNT(*) FROM student_course_homework WHERE course_homework_id_=#{courseHomeworkID} AND attachments_ IS NOT NULL")
     int countCompletedStudentNum(Long courseHomeworkID);
 
     /**

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkReplyDao.java

@@ -21,4 +21,4 @@ public interface StudentCourseHomeworkReplyDao extends BaseDAO<Long, StudentCour
      */
     int batchDeleteReplys(List<Long> ids);
 	
-}
+}

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentCourseHomeworkReplyQueryInfo.java

@@ -15,6 +15,16 @@ public class StudentCourseHomeworkReplyQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "父级评论ID")
     private Long parentID;
 
+    private Integer userId;
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
     public Long getStudentCourseHomeworkId() {
         return studentCourseHomeworkId;
     }

+ 5 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
+import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
@@ -180,12 +181,13 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	void checkNewCourseSchedules(List<CourseSchedule> courseSchedules,boolean checkExistCourseSchedule);
 
 	/**
-	 * 获取班级未开始的课程计划
+	 * 获取乐团班级未开始的课程
 	 *
-	 * @param classGroupTeacherMapperList
+	 * @param classGroupIds
+	 * @param groupType
 	 * @return
 	 */
-	List<CourseSchedule> findClassGroupNoStartCourseSchedules(List<ClassGroupTeacherMapper> classGroupTeacherMapperList);
+	List<CourseSchedule> findClassGroupNoStartCourseSchedules(List<Integer> classGroupIds, GroupType groupType);
 
 	/**
 	 * @Author: Joburgess

+ 19 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -170,7 +170,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             classGroupStudentMapper.setCreateTime(date);
             classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.NORMAL);
             classGroupStudentMapper.setGroupType(GroupType.MUSIC);
-            classGroupStudentMapper.setGroupType(groupType);
             classGroupStudentList.add(classGroupStudentMapper);
 
             StudentRegistration studentRegistration = new StudentRegistration();
@@ -178,6 +177,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             studentRegistration.setUserId(Integer.parseInt(userId));
             studentRegistration.setMusicGroupId(classGroup.getMusicGroupId());
             studentRegistrationDao.updateByUserIdAndMusicGroupId(studentRegistration);
+
             userIdList.add(Integer.parseInt(userId));
         }
         classGroupStudentMapperDao.classGroupStudentsInsert(classGroupStudentList);
@@ -267,6 +267,15 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<ClassGroup> classGroups = classGroupDao.findClassGroupByMusicGroupIdAndType(musicGroup.getId(), ClassGroupTypeEnum.HIGH);
         if (classGroups.size() > 0) {
             List<Integer> classGroupIds = classGroups.stream().map(classGroup -> classGroup.getId()).collect(Collectors.toList());
+
+            List<CourseSchedule> classGroupNoStartCourseSchedules = courseScheduleService.findClassGroupNoStartCourseSchedules(classGroupIds, GroupType.MUSIC);
+
+            if (classGroupNoStartCourseSchedules.size() > 0) {
+                List<Long> courseScheduleIds = classGroupNoStartCourseSchedules.stream().map(courseSchedule -> courseSchedule.getId()).collect(Collectors.toList());
+                courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
+                teacherAttendanceDao.batchDeleteByCourseSchedules(courseScheduleIds);
+            }
+
             //删除基础提高班
             classGroupDao.batchSoftDelete(classGroupIds);
             //删除基础提高班课程
@@ -974,11 +983,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         //3、将老师加入关联关系
         List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroup4MixDto.getClassGroupTeacherMapperList();
 
-        for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
+        classGroupTeacherMapperList.forEach(classGroupTeacherMapper -> {
+            classGroupTeacherMapper.setGroupType(classGroup.getGroupType());
             classGroupTeacherMapper.setClassGroupId(classGroup.getId());
             classGroupTeacherMapper.setMusicGroupId(classGroup4MixDto.getMusicGroupId());
             userIds.add(classGroupTeacherMapper.getUserId());
-        }
+        });
         classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
 
         //创建IM群组
@@ -1185,11 +1195,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         //3、将老师加入关联关系
         List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroup4MixDto.getClassGroupTeacherMapperList();
 
-
-        for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
+        classGroupTeacherMapperList.forEach(classGroupTeacherMapper -> {
+            classGroupTeacherMapper.setGroupType(classGroup.getGroupType());
             classGroupTeacherMapper.setClassGroupId(classGroup.getId());
             classGroupTeacherMapper.setMusicGroupId(classGroup4MixDto.getMusicGroupId());
-        }
+        });
         classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
 
         //5、插入班级排课信息
@@ -1394,12 +1404,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         //3、将老师加入关联关系
         List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroup4MixDto.getClassGroupTeacherMapperList();
 
-
-        for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
+        classGroupTeacherMapperList.forEach(classGroupTeacherMapper -> {
+            classGroupTeacherMapper.setGroupType(classGroup.getGroupType());
             classGroupTeacherMapper.setClassGroupId(classGroup.getId());
             classGroupTeacherMapper.setMusicGroupId(classGroup4MixDto.getMusicGroupId());
             userIds.add(classGroupTeacherMapper.getUserId());
-        }
+        });
         classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
 
         //创建IM群组

+ 7 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service.impl;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.ClassGroupTeachersDto;
 import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.biz.dal.enums.TeachTypeEnum;
 import com.ym.mec.biz.service.*;
@@ -78,6 +79,8 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
             imGroupMemberList.clear();
             for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
                 if (!classGroup.getId().equals(classGroupTeacherMapper.getClassGroupId())) continue;
+                classGroupTeacherMapper.setMusicGroupId(classGroup.getMusicGroupId());
+                classGroupTeacherMapper.setGroupType(classGroup.getGroupType());
                 imGroupMemberList.add(new ImGroupMember(classGroupTeacherMapper.getUserId().toString()));
             }
             ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
@@ -97,8 +100,10 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
     public boolean classGroupTeacherMapperUpdate(List<ClassGroupTeacherMapper> classGroupTeacherMapperList) throws Exception {
         Date date = new Date();
+        List<Integer> classGroupIds = classGroupTeacherMapperList.stream().map(classGroupTeacherMapper -> classGroupTeacherMapper.getClassGroupId()).collect(Collectors.toList());
+
+        List<CourseSchedule> classGroupNoStartCourseSchedules = courseScheduleService.findClassGroupNoStartCourseSchedules(classGroupIds, GroupType.MUSIC);
 
-        List<CourseSchedule> classGroupNoStartCourseSchedules = courseScheduleService.findClassGroupNoStartCourseSchedules(classGroupTeacherMapperList);
         if (classGroupNoStartCourseSchedules == null || classGroupNoStartCourseSchedules.size() == 0) {
             return true;
         }
@@ -165,7 +170,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 if (classGroupNoStartCourseSchedule.getType().equals(CourseSchedule.CourseScheduleType.HIGH)) {
                     //课程时长与结算单位时长占比
                     classTimeDuty = new BigDecimal(duration).divide(new BigDecimal(45), 6, BigDecimal.ROUND_HALF_UP);
-                    baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary();
+                    baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary();
                 }
 
                 salary = baseSalary.multiply(classTimeDuty).setScale(2, BigDecimal.ROUND_HALF_UP);

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -837,8 +837,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
-    public List<CourseSchedule> findClassGroupNoStartCourseSchedules(List<ClassGroupTeacherMapper> classGroupTeacherMapperList) {
-		return courseScheduleDao.findClassGroupNoStartCourseSchedules(classGroupTeacherMapperList);
+    public List<CourseSchedule> findClassGroupNoStartCourseSchedules(List<Integer> classGroupIds,GroupType groupType) {
+		return courseScheduleDao.findClassGroupNoStartCourseSchedules(classGroupIds,groupType);
     }
 
     /**

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -85,6 +85,8 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 			studentAttendance.setTeacherId(sysUser.getId());
 			studentAttendance.setCurrentClassTimes(classTimes+1);
 			StudentAttendance studentAttendanceInfo = studentAttendanceDao.getStudentAttendanceInfo(studentAttendance);
+			studentAttendanceInfo.setGroupType(courseSchedule.getGroupType());
+			studentAttendanceInfo.setMusicGroupId(courseSchedule.getMusicGroupId());
 			if (studentAttendance.getStatus() != StudentAttendanceStatusEnum.DROP_OUT) {
 				//判断是否为连续旷课
 				if(StudentAttendanceStatusEnum.TRUANT.equals(studentAttendance.getStatus())
@@ -217,6 +219,8 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 		studentAttendance.setRemark(remark);
 		studentAttendance.setStatus(StudentAttendanceStatusEnum.LEAVE);
 		studentAttendance.setUserId(userId);
+		studentAttendance.setGroupType(courseSchedule.getGroupType());
+		studentAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
 
 		if(Objects.nonNull(studentAttendance.getId())){
 			studentAttendanceDao.update(studentAttendance);

+ 14 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java

@@ -48,8 +48,6 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 	@Autowired
 	private SysMessageService sysMessageService;
 
-	private String url = "http://auth-server/queryUserInfo";
-
 	@Override
 	public BaseDAO<Long, StudentCourseHomework> getDAO() {
 		return studentCourseHomeworkDao;
@@ -75,6 +73,20 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 	}
 
 	@Override
+	public int update(StudentCourseHomework bean) {
+		super.update(bean);
+		bean=studentCourseHomeworkDao.get(bean.getId());
+		CourseSchedule courseSchedule = courseScheduleDao.get(bean.getCourseScheduleId());
+
+		CourseHomework courseHomework = new CourseHomework();
+		courseHomework.setId(bean.getCourseHomeworkId());
+		courseHomework.setGroupType(courseSchedule.getGroupType());
+		courseHomework.setCompletedNum(studentCourseHomeworkDao.countCompletedStudentNum(bean.getCourseHomeworkId()));
+
+		return courseHomeworkService.update(courseHomework);
+	}
+
+	@Override
 	public CourseHomeworkStudentDetailDto findCourseHomeworkStudentDetail(Long courseScheduleID, Long userId) {
 		return studentCourseHomeworkDao.findCourseHomeworkStudentDetail(courseScheduleID, userId);
 	}

+ 8 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -552,16 +552,20 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
 
         if (studentPaymentOrder.getStatus().equals(DealStatusEnum.SUCCESS)) {
+            studentRegistration.setTemporaryCourseFee(new BigDecimal(0));
+            studentRegistration.setPaymentStatus(PaymentStatusEnum.YES);
+            studentRegistration.setMusicGroupStatus(ClassGroupStudentStatusEnum.NORMAL);
+            studentRegistrationDao.update(studentRegistration);
+
+            //进行中乐团加入学生缴费
             if (studentRegistration.getTemporaryCourseFee() != null) {
-                //关闭订单
+                //关闭待支付订单
                 StudentPaymentOrder waitPayOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(studentRegistration.getUserId(), studentRegistration.getMusicGroupId(), DealStatusEnum.WAIT_PAY);
                 waitPayOrder.setStatus(DealStatusEnum.CLOSE);
                 studentPaymentOrderService.update(waitPayOrder);
                 //添加学生
                 classGroupStudentMapperService.addStudents(waitPayOrder.getClassGroupId(), studentRegistration.getUserId().toString(), GroupType.MUSIC);
-            }
-
-            if (studentRegistration.getTemporaryCourseFee() == null) {
+            } else {
                 //获取当前月
                 Integer month = Integer.parseInt(DateUtil.getMonth(nowDate));
                 //获取下次缴费月份
@@ -589,11 +593,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 musicGroupStudentFeeDao.insert(musicGroupStudentFee);
             }
 
-            studentRegistration.setTemporaryCourseFee(new BigDecimal(0));
-            studentRegistration.setPaymentStatus(PaymentStatusEnum.YES);
-            studentRegistration.setMusicGroupStatus(ClassGroupStudentStatusEnum.NORMAL);
-            studentRegistrationDao.update(studentRegistration);
-
             //插入交易明细
             SysUserCashAccount cashAccount = sysUserCashAccountService.get(studentRegistration.getUserId());
             BigDecimal amount = studentPaymentOrder.getActualAmount();
@@ -637,7 +636,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                     studentRegistration.getParentsName(), studentPaymentOrder.getActualAmount());
         }
 
-        //失败减去已收款金额
 
         //减去缴费人数
         if (studentPaymentOrder.getStatus().equals(DealStatusEnum.FAILED)) {

+ 7 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -69,7 +69,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			throw new BizException("请选择课程!");
 		}
 
-		ClassGroup classGroup = new ClassGroup();
 
 //		SysConfig byParamName = sysConfigService.findByParamName(SysConfigService.ADVANCE_SIGN_IN_MINUTES);
 //		Integer advanceSignInMinutes=Integer.parseInt(byParamName.getParanValue());
@@ -94,7 +93,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 
 		teacherAttendance.setMusicGroupId(currentCourseDetail.getMusicGroupId());
 		teacherAttendance.setClassGroupId(currentCourseDetail.getClassId());
-		teacherAttendance.setGroupType(classGroup.getGroupType());
+		teacherAttendance.setGroupType(teacherAttendance.getGroupType());
 		teacherAttendance.setRemark(teacherSignOutDto.getTeacherAttendanceInfo().getRemark());
 		int advanceSignMinutes = Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_SIGN_IN_MINUTES));
 
@@ -102,7 +101,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		if(courseSchedule == null){
 			throw new BizException("课程信息不存在");
 		}
-		teacherAttendance.setCurrentClassTimes(courseScheduleDao.countCurrentTimes(classGroup.getId()) + 1);
+		teacherAttendance.setCurrentClassTimes(courseScheduleDao.countCurrentTimes(teacherAttendance.getClassGroupId()) + 1);
 		String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
 		String startClassTime = DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
 		String endClassTime = DateUtil.format(courseSchedule.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
@@ -173,17 +172,17 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			CourseHomework courseHomework=teacherSignOutDto.getCourseHomeworkInfo();
 			courseHomework.setCourseScheduleId(teacherAttendance.getCourseScheduleId());
 			courseHomework.setMusicGroupId(currentCourseDetail.getMusicGroupId());
-			courseHomework.setGroupType(classGroup.getGroupType());
+			courseHomework.setGroupType(teacherAttendance.getGroupType());
 			courseHomework.setClassGroupId(currentCourseDetail.getClassId().intValue());
-			courseHomework.setExpectNum(studentAttendanceDao.countNormalAttendanceStudentNums(teacherAttendance.getCourseScheduleId()));
 			courseHomework.setExpiryDate(DateUtil.addDays(date,7));
-			courseHomeworkService.insert(courseHomework);
 			List<StudentCourseHomework> studentCourseHomeworks = studentCourseHomeworkDao
 					.constructInitialStudentHomeworkRecordsWithPayment(teacherAttendance.getCourseScheduleId(),
 							courseHomework.getId());
 			if(CollectionUtils.isEmpty(studentCourseHomeworks)){
 				throw new BizException("此课程没有学生");
 			}
+			courseHomework.setExpectNum(studentCourseHomeworks.size());
+			courseHomeworkService.insert(courseHomework);
 			studentCourseHomeworkDao.batchInsertStudentCourseHomeworkRecord(studentCourseHomeworks);
 			return result;
 		}
@@ -283,6 +282,8 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 					e.setTeacherId(userId);
 					e.setStatus(StudentAttendanceStatusEnum.TRUANT);
 					e.setRemark("学员未到,自动补旷课");
+					e.setMusicGroupId(courseSchedule.getMusicGroupId());
+					e.setGroupType(courseSchedule.getGroupType());
 				});
 				studentAttendanceDao.addStudentAttendances(studentAttendances);
 			}

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

@@ -841,7 +841,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			vipGroupDao.update(vipGroup);
 			createVipGroupCourseScheInfo(vipGroupId);
 		}
-		if(num>0){
+		if(num!=0||updateVipStatus){
 			classGroupDao.update(classGroup);
 		}
 	}

+ 4 - 2
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -308,9 +308,10 @@
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
     <select id="queryStudentPayLog" resultMap="StudentPayInfoDto">
-        SELECT spo.actual_amount_,spo.status_,spo.type_,mg.name_,spo.create_time_
+        SELECT spo.actual_amount_,spo.status_,spo.type_,IF(mg.name_ IS NULL,vg.name_,mg.name_) name_,spo.create_time_
         FROM student_payment_order spo
         LEFT JOIN music_group mg ON spo.music_group_id_=mg.id_
+        LEFT JOIN vip_group vg ON spo.music_group_id_ = vg.id_
         <where>
             spo.status_ = 'SUCCESS'
             <if test="date != null and date != ''">
@@ -640,8 +641,9 @@
         FROM music_group mg
         LEFT JOIN class_group cg ON cg.music_group_id_ = mg.id_
         LEFT JOIN music_group_student_fee_ mgsf ON mgsf.music_group_id_ = mg.id_
+        LEFT JOIN class_group_student_mapper cgsm ON cgsm.class_group_id_ = cg.id_
         WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND cg.type_ != 'VIP' AND cg.del_flag_ = 0 AND mgsf.user_id_ =
-        #{userId}
+        #{userId} AND cgsm.user_id_ = #{userId}
         GROUP BY mg.id_,mgsf.payment_status_
     </select>
 

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

@@ -74,10 +74,10 @@
 
     <!-- 班级学生批量插入 -->
     <insert id="classGroupStudentsInsert" parameterType="java.util.List">
-        INSERT INTO class_group_student_mapper (music_group_id_,class_group_id_,user_id_,status_,create_time_)
-        VALUES
+        INSERT INTO class_group_student_mapper (group_type_,music_group_id_,class_group_id_,user_id_,status_,create_time_)
+        VALUE
         <foreach collection="classGroupStudentMapperList" item="item" index="index" separator=",">
-            (#{item.musicGroupId},#{item.classGroupId},#{item.userId},#{item.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},now())
+            (#{item.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{item.musicGroupId},#{item.classGroupId},#{item.userId},#{item.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},now())
         </foreach>
     </insert>
     

+ 3 - 2
mec-biz/src/main/resources/config/mybatis/ClassGroupTeacherMapperMapper.xml

@@ -97,10 +97,10 @@
     <!-- 批量插入班级老师 -->
     <insert id="classGroupTeachersInsert" parameterType="java.util.List">
         INSERT INTO class_group_teacher_mapper
-        (id_,music_group_id_,class_group_id_,teacher_role_,user_id_,salary_,create_time_,update_time_)
+        (id_,group_type_,music_group_id_,class_group_id_,teacher_role_,user_id_,salary_,create_time_,update_time_)
         VALUE
         <foreach collection="classGroupTeacherMapperList" item="item" index="index" separator=",">
-            (#{item.id},#{item.musicGroupId},#{item.classGroupId},#{item.teacherRole},#{item.userId},#{item.salary},NOW(),NOW())
+            (#{item.id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{item.musicGroupId},#{item.classGroupId},#{item.teacherRole},#{item.userId},#{item.salary},NOW(),NOW())
         </foreach>
     </insert>
 
@@ -134,6 +134,7 @@
         <foreach collection="classGroupTeacherMapperList" item="item" index="index" open="(" close=")" separator=",">
             #{item.classGroupId}
         </foreach>
+        AND group_type_ = 'MUSIC'
     </delete>
 
     <!-- 获取班级老师关联关系 -->

+ 45 - 39
mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -18,7 +18,7 @@
 		<result column="class_group_id_" property="classGroupId" />
 		<result column="completed_num_" property="completedNum" />
 		<result column="expect_num_" property="expectNum" />
-		<result column="next_class_date_" property="expiryDate" />
+		<result column="expiry_date_" property="expiryDate" />
 	</resultMap>
 
 	<resultMap type="com.ym.mec.biz.dal.dto.CourseHomeworkListDto" id="CourseHomeworkDto">
@@ -33,7 +33,7 @@
 		<result column="class_group_name_" property="classGroupName" />
 		<result column="completed_num_" property="completedNum" />
 		<result column="expect_num_" property="expectNum" />
-		<result column="next_class_date_" property="expiryDate" />
+		<result column="expiry_date_" property="expiryDate" />
 		<result column="remark_" property="remark" />
 		<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result column="is_replied_" property="isReplied" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
@@ -61,47 +61,52 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO course_homework (id_,group_type_,course_schedule_id_,attachments_,content_,create_time_,update_time_,music_group_id_,class_group_id_,completed_num_,expect_num_) VALUES(#{id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{courseScheduleId},#{attachments},#{content},now(),now(),#{musicGroupId},#{classGroupId},#{completedNum},#{expectNum})
+		INSERT INTO course_homework (id_,group_type_,course_schedule_id_,attachments_,content_,create_time_,update_time_,music_group_id_,class_group_id_,completed_num_,expect_num_,expiry_date_) VALUES(#{id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{courseScheduleId},#{attachments},#{content},now(),now(),#{musicGroupId},#{classGroupId},#{completedNum},#{expectNum},#{expiryDate})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseHomework">
-		UPDATE course_homework <set>
-		<if test="attachments != null">
-			attachments_ = #{attachments},
-		</if>
-		<if test="id != null">
-		id_ = #{id},
-		</if>
-		<if test="classGroupId != null">
-		class_group_id_ = #{classGroupId},
-		</if>
-		<if test="courseScheduleId != null">
-		course_schedule_id_ = #{courseScheduleId},
-		</if>
-		<if test="completedNum != null">
-			completed_num_ = #{completedNum},
-		</if>
-        <if test="groupType != null">
-            group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-        </if>
+		UPDATE course_homework
+		<set>
+			<if test="attachments != null">
+				attachments_ = #{attachments},
+			</if>
+			<if test="id != null">
+				id_ = #{id},
+			</if>
+			<if test="classGroupId != null">
+				class_group_id_ = #{classGroupId},
+			</if>
+			<if test="courseScheduleId != null">
+				course_schedule_id_ = #{courseScheduleId},
+			</if>
+			<if test="completedNum != null">
+				completed_num_ = #{completedNum},
+			</if>
+			<if test="groupType != null">
+				group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+			</if>
 
-		<if test="expectNum != null">
-			expect_num_ = #{expectNum},
-		</if>
-		<if test="updateTime != null">
-		update_time_ = NOW(),
-		</if>
-		<if test="content != null">
-		content_ = #{content},
-		</if>
-		<if test="musicGroupId != null">
-		music_group_id_ = #{musicGroupId},
-		</if>
-		<if test="createTime != null">
-		create_time_ = #{createTime},
-		</if>
-		</set> WHERE id_ = #{id}
+			<if test="expectNum != null">
+				expect_num_ = #{expectNum},
+			</if>
+			<if test="updateTime != null">
+				update_time_ = NOW(),
+			</if>
+			<if test="content != null">
+				content_ = #{content},
+			</if>
+			<if test="musicGroupId != null">
+				music_group_id_ = #{musicGroupId},
+			</if>
+			<if test="createTime != null">
+				create_time_ = #{createTime},
+			</if>
+			<if test="expiryDate != null">
+				expiry_date_ = #{expiryDate},
+			</if>
+		</set>
+		WHERE id_ = #{id}
 	</update>
 	
 	<!-- 根据主键删除一条记录 -->
@@ -161,7 +166,7 @@
 		<result property="completedNum" column="completed_num_"/>
 		<result property="courseScheduleName" column="course_schedule_name_"/>
 		<result property="totalClassTimes" column="total_class_times_"/>
-		<result property="currentClassTimes" column="current_class_times"/>
+		<result property="currentClassTimes" column="current_class_times_"/>
 		<result property="musicGroupId" column="music_group_id_"/>
 		<result property="musicGroupName" column="music_group_name_"/>
 		<result property="createTime" column="create_time_"/>
@@ -178,6 +183,7 @@
 			ch.completed_num_,
 			cs.name_ course_schedule_name_,
 			cg.total_class_times_,
+			cg.current_class_times_,
 			cg.music_group_id_,
 			mg.name_ music_group_name_
 		FROM

+ 7 - 4
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -589,11 +589,12 @@
         SELECT * FROM course_schedule
         WHERE status_ = 'NOT_START'
         AND class_group_id_ IN
-        <foreach collection="classGroupTeacherMapperList" item="classGroupTeacherMapper" index="index" open="("
-                 close=")" separator=",">
-            #{classGroupTeacherMapper.classGroupId}
+        <foreach collection="classGroupIds" item="classGroupId" index="index" open="(" close=")" separator=",">
+            #{classGroupId}
         </foreach>
-        AND group_type_ = 'MUSIC'
+        <if test="groupType!= null ">
+            AND group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+        </if>
     </select>
 
     <select id="getStudentCourseScheduleDate" resultType="java.util.Date">
@@ -782,6 +783,8 @@
     <select id="findVipGroupCourseSchedules" resultMap="CourseSchedule">
         SELECT
             cs.id_,
+            cs.group_type_,
+            cs.music_group_id_,
             cs.class_group_id_,
             cs.status_,
             cs.subsidy_,

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

@@ -186,15 +186,15 @@
             <if test="organId != null">
                 FIND_IN_SET(su.organ_id_,#{organId})
             </if>
-        </where> <include refid="global.limit"/>) ue
+        </where>
+        ORDER BY su.create_time_ DESC <include refid="global.limit"/>) ue
         LEFT JOIN sys_user_role sur ON sur.user_id_ = ue.user_id_
         LEFT JOIN sys_role sr ON sr.id_ = sur.role_id_
         LEFT JOIN organization o ON FIND_IN_SET(o.id_,ue.organ_id_)
-        WHERE ue.user_type_ LIKE '%SYSTEM%'
+        WHERE ue.user_type_ = 'SYSTEM'
         <if test="search != null">
             AND (ue.real_name_ LIKE CONCAT('%',#{search},'%') OR ue.phone_ LIKE CONCAT('%',#{search},'%'))
         </if>
-        ORDER BY ue.create_time_ DESC
     </select>
 
     <select id="queryEmployByOrganIdCount" resultType="int">

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

@@ -204,6 +204,7 @@
 			ch.expiry_date_,
 			ch.completed_num_,
 			ch.expect_num_,
+			ch.expiry_date_,
 			sch.attachments_,
 			sch.score_,
 			sch.status_,

+ 7 - 2
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkReplyMapper.xml

@@ -86,6 +86,9 @@
             <if test="studentCourseHomeworkId != null">
                AND schr.student_course_homework_id_=#{studentCourseHomeworkId}
             </if>
+            <if test="userId!=null">
+                AND sch.user_id_=#{userId}
+            </if>
         </where>
     </sql>
 
@@ -100,8 +103,9 @@
             schr.content_ comment_content_,
             schr.create_time_ comment_time
         FROM
-        student_course_homework_reply schr
-        LEFT JOIN sys_user suc ON schr.user_id_=suc.id_
+            student_course_homework_reply schr
+            LEFT JOIN sys_user suc ON schr.user_id_=suc.id_
+            LEFT JOIN student_course_homework sch ON schr.student_course_homework_id_=sch.id_
         <include refid="queryCondition"/>
         ORDER BY schr.id_ DESC
         <include refid="global.limit"/>
@@ -110,6 +114,7 @@
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM student_course_homework_reply schr
+        LEFT JOIN student_course_homework sch ON schr.student_course_homework_id_=sch.id_
 		<include refid="queryCondition"/>
 	</select>
     <select id="findAllReplyByStudentCourseHomeworkID" resultMap="StudentCourseHomeworkReply">

+ 2 - 3
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -149,7 +149,7 @@
         <include refid="findStudentsByOrganIdSql"/>
     </select>
     <select id="findStudentBaseInfoByUserID" resultMap="studentManageListDto">
-        SELECT su.real_name_,su.gender_,su.birthdate_,sr.parents_name_,su.id_ user_id_,
+        SELECT su.username_ real_name_,su.gender_,su.birthdate_,sr.parents_name_,su.id_ user_id_,
         sr.parents_phone_,sr.current_class_,sr.current_grade_
         FROM sys_user su
         LEFT JOIN student_registration sr ON su.id_ = sr.user_id_
@@ -239,7 +239,6 @@
 
     <sql id="studentManageAttendanceQueryCondition">
         <where>
-            CONCAT(cs.class_date_," ",cs.start_class_time_) &lt; NOW()
             <if test="studentId!=null">
                 and sa.user_id_=#{studentId}
             </if>
@@ -421,7 +420,7 @@
         SELECT COUNT(sr.user_id_) FROM student_registration sr
         LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
         WHERE sr.music_group_id_ = #{musicGroupId} AND sr.music_group_status_ != 'QUIT'
-        AND sr.create_time_ > mg.payment_expire_date_
+        AND DATE_FORMAT(sr.create_time_,'%Y-%m-%d') > DATE_FORMAT(mg.payment_expire_date_,'%Y-%m-%d')
     </select>
 
     <resultMap id="MusicGroupStudentSignDto" type="com.ym.mec.biz.dal.dto.MusicGroupStudentSignDto">

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

@@ -243,7 +243,7 @@
 
     <!-- 根据证件号查询老师 -->
     <select id="findByCertificateNum" resultMap="Teacher">
-        SELECT * FROM teacher WHERE certificate_num_ = #{certificateNum}
+        SELECT * FROM teacher WHERE certificate_num_ = #{certificateNum} LIMIT 1
     </select>
     <select id="queryGroupStudents" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
         SELECT su.username_,su.id_ user_id_,su.avatar_ head_url_,su.gender_,s.name_ subject_name_