浏览代码

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

zouxuan 5 年之前
父节点
当前提交
8d92db3602

+ 39 - 37
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseHomeworkDao.java

@@ -11,41 +11,43 @@ import java.util.Map;
 
 public interface CourseHomeworkDao extends BaseDAO<Long, CourseHomework> {
 
-    /**
-     * @describe 根据班级和老师获取对应作业列表
-     * @author Joburgess
-     * @date 2019/10/20
-     * @param params: 参数
-     * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherHomeworkListDto>
-     */
-    List<TeacherHomeworkListDto> findByClassGroupAndTeacher(Map<String,Object> params);
-    int countByClassGroupAndTeacher(Map<String,Object> params);
-
-    /**
-     * @describe 根据课程编号和教师编号查询记录
-     * @author Joburgess
-     * @date 2019/10/20
-     * @param courseHomeworkId: 课程作业编号
-     * @param userId: 用户编号
-     * @return com.ym.mec.biz.dal.entity.CourseHomework
-     */
-    CourseHomework findByTeacherAndCourseHomewok(@Param("courseHomeworkId") Long courseHomeworkId,
-                                                 @Param("userId") Integer userId);
-
-    /**
-     * @describe 根据课程编号和教师编号查询记录
-     * @author Joburgess
-     * @date 2019/10/20
-     * @param courseScheduleId: 课程作业编号
-     * @return com.ym.mec.biz.dal.entity.CourseHomework
-     */
-    CourseHomework findByCourseSchedule(@Param("courseScheduleId") Long courseScheduleId);
-
-    /**
-     * 查询老师未回复作业的数量
-     * @return
-     */
-    List<Mapper> queryTeacerNoReplyNum();
-    
-    int delByCourseScheduleId(Long courseScheduleId);
+	/**
+	 * @describe 根据班级和老师获取对应作业列表
+	 * @author Joburgess
+	 * @date 2019/10/20
+	 * @param params: 参数
+	 * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherHomeworkListDto>
+	 */
+	List<TeacherHomeworkListDto> findByClassGroupAndTeacher(Map<String, Object> params);
+
+	int countByClassGroupAndTeacher(Map<String, Object> params);
+
+	/**
+	 * @describe 根据课程编号和教师编号查询记录
+	 * @author Joburgess
+	 * @date 2019/10/20
+	 * @param courseHomeworkId: 课程作业编号
+	 * @param userId: 用户编号
+	 * @return com.ym.mec.biz.dal.entity.CourseHomework
+	 */
+	CourseHomework findByTeacherAndCourseHomewok(@Param("courseHomeworkId") Long courseHomeworkId, @Param("userId") Integer userId);
+
+	/**
+	 * @describe 根据课程编号和教师编号查询记录
+	 * @author Joburgess
+	 * @date 2019/10/20
+	 * @param courseScheduleId: 课程作业编号
+	 * @return com.ym.mec.biz.dal.entity.CourseHomework
+	 */
+	CourseHomework findByCourseSchedule(@Param("courseScheduleId") Long courseScheduleId);
+
+	/**
+	 * 查询老师未回复作业的数量
+	 * @return
+	 */
+	List<Mapper> queryTeacerNoReplyNum();
+
+	int delByCourseScheduleId(Long courseScheduleId);
+
+	int batchDelByCourseScheduleId(@Param("courseScheduleIdList") List<Long> courseScheduleIdList);
 }

+ 8 - 8
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentAttendanceDao.java

@@ -1,5 +1,13 @@
 package com.ym.mec.biz.dal.dao;
 
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
 import com.ym.mec.biz.dal.dto.StudentAttendanceResponse;
 import com.ym.mec.biz.dal.dto.StudentAttendanceStatusCountDto;
 import com.ym.mec.biz.dal.dto.StudentPersonalAttendanceDto;
@@ -7,14 +15,6 @@ import com.ym.mec.biz.dal.dto.StudentStatusCountUtilEntity;
 import com.ym.mec.biz.dal.entity.StudentAttendance;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.common.dal.BaseDAO;
-import org.apache.ibatis.annotations.Delete;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
 
 public interface StudentAttendanceDao extends BaseDAO<Long, StudentAttendance> {
 

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

@@ -91,6 +91,8 @@ public interface StudentCourseHomeworkDao extends BaseDAO<Long, StudentCourseHom
      * @return
      */
     List<StudentCourseHomework> findStudentCourseHomeworks(Map<String, Object> params);
-    
+
     int delByCourseScheduleId(Long courseScheduleId);
+    
+    int batchDelByCourseScheduleId(@Param("courseScheduleIdList") List<Long> courseScheduleIdList);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/SporadicChargeTypeEnum.java

@@ -11,7 +11,7 @@ public enum SporadicChargeTypeEnum implements BaseEnum<Integer, SporadicChargeTy
     LUCKY_BAG_ACTIVE(6,"福袋活动"),
     VISITING_FEE(7,"上门费"),
     VIP_BUY(8,"VIP课购买"),
-    RECHARGE(9,"VIP课购买");
+    RECHARGE(9,"账户余额");
 
     private Integer code;
 

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseHomeworkService.java

@@ -29,4 +29,11 @@ public interface CourseHomeworkService extends BaseService<Long, CourseHomework>
 	 * @return
 	 */
 	boolean delHomwworkByCourseScheduleId(Long courseScheduleId);
+
+	/**
+	 * 删除指定课程的作业
+	 * @param courseScheduleIdList
+	 * @return
+	 */
+	boolean delHomwworkByCourseScheduleId(List<Long> courseScheduleIdList);
 }

+ 35 - 24
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseHomeworkServiceImpl.java

@@ -30,10 +30,10 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 
 	@Autowired
 	private CourseHomeworkDao courseHomeworkDao;
-	
+
 	@Autowired
 	private StudentCourseHomeworkDao studentCourseHomeworkDao;
-	
+
 	@Autowired
 	private SysMessageService sysMessageService;
 
@@ -51,22 +51,22 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 		int count = courseHomeworkDao.countByClassGroupAndTeacher(params);
 		if (count > 0) {
 			dataList = courseHomeworkDao.findByClassGroupAndTeacher(params);
-//			List<Integer> courseScheduleIds=dataList.stream()
-//					.map(TeacherHomeworkListDto::getCourseScheduleId)
-//					.distinct()
-//					.collect(Collectors.toList());
-//			List<Map<Integer, Integer>> courseTimeByClassGroup = teacherAttendanceDao.findCourseTimeByCourseSchedules(courseScheduleIds);
-//			Map<Integer, Integer> map = MapUtil.convertIntegerMap(courseTimeByClassGroup);
-//			dataList.forEach(teacherHomeworkListDto -> {
-//				teacherHomeworkListDto.setCurrentClassTimes(map.get(teacherHomeworkListDto.getCourseScheduleId().longValue()));
-//			});
-//			List<Integer> courseScheduleIds = dataList.stream().map(TeacherHomeworkListDto::getCourseScheduleId).collect(Collectors.toList());
-//			if (!CollectionUtils.isEmpty(courseScheduleIds)) {
-//				Map<Integer, Integer> courseScheduleCurrentTimes = courseScheduleService.findCourseScheduleCurrentTimes(courseScheduleIds);
-//				dataList.forEach(teacherHomeworkListDto -> {
-//					teacherHomeworkListDto.setCurrentClassTimes(courseScheduleCurrentTimes.get(teacherHomeworkListDto.getCourseScheduleId()));
-//				});
-//			}
+			// List<Integer> courseScheduleIds=dataList.stream()
+			// .map(TeacherHomeworkListDto::getCourseScheduleId)
+			// .distinct()
+			// .collect(Collectors.toList());
+			// List<Map<Integer, Integer>> courseTimeByClassGroup = teacherAttendanceDao.findCourseTimeByCourseSchedules(courseScheduleIds);
+			// Map<Integer, Integer> map = MapUtil.convertIntegerMap(courseTimeByClassGroup);
+			// dataList.forEach(teacherHomeworkListDto -> {
+			// teacherHomeworkListDto.setCurrentClassTimes(map.get(teacherHomeworkListDto.getCourseScheduleId().longValue()));
+			// });
+			// List<Integer> courseScheduleIds = dataList.stream().map(TeacherHomeworkListDto::getCourseScheduleId).collect(Collectors.toList());
+			// if (!CollectionUtils.isEmpty(courseScheduleIds)) {
+			// Map<Integer, Integer> courseScheduleCurrentTimes = courseScheduleService.findCourseScheduleCurrentTimes(courseScheduleIds);
+			// dataList.forEach(teacherHomeworkListDto -> {
+			// teacherHomeworkListDto.setCurrentClassTimes(courseScheduleCurrentTimes.get(teacherHomeworkListDto.getCourseScheduleId()));
+			// });
+			// }
 		}
 		if (count != 0) {
 			Map<String, List<TeacherHomeworkListDto>> collect = dataList.stream().collect(Collectors.groupingBy(TeacherHomeworkListDto::getDay));
@@ -89,19 +89,30 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 			Integer userId = (Integer) mapper.getKey();
 			receivers.put(userId, userId + "");
 
-			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_JOB_WAIT_REPLY, receivers, null, 0, "6?", "TEACHER", mapper.getValue());
+			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_JOB_WAIT_REPLY, receivers, null, 0, "6?", "TEACHER",
+					mapper.getValue());
 		}
 	}
 
 	@Override
-    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
 	public boolean delHomwworkByCourseScheduleId(Long courseScheduleId) {
-		//删除作业
+		// 删除作业
 		courseHomeworkDao.delByCourseScheduleId(courseScheduleId);
-		//删除学生作业
+		// 删除学生作业
 		studentCourseHomeworkDao.delByCourseScheduleId(courseScheduleId);
-		//删除学生回复的作业
-		
+		// 删除学生回复的作业
+
+		return true;
+	}
+
+	@Override
+	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+	public boolean delHomwworkByCourseScheduleId(List<Long> courseScheduleIdList) {
+		// 删除作业
+		courseHomeworkDao.batchDelByCourseScheduleId(courseScheduleIdList);
+		// 删除学生作业
+		studentCourseHomeworkDao.batchDelByCourseScheduleId(courseScheduleIdList);
 		return true;
 	}
 }

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

@@ -166,25 +166,35 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void deleteCourseSchedules(List<Long> courseScheduleIds) {
-        Integer classGroupId = null;
-        if (!CollectionUtils.isEmpty(courseScheduleIds)) {
-            CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleIds.get(0));
-            if(Objects.nonNull(courseSchedule)){
-                classGroupId = courseSchedule.getClassGroupId();
-            }
-        }
-        List<Long> enableDeleteIds = courseScheduleDao.filterNotStartCourseIdsWithIds(courseScheduleIds);
-        if (!CollectionUtils.isEmpty(enableDeleteIds)) {
-            courseScheduleDao.batchDeleteCourseSchedules(enableDeleteIds);
-            courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(enableDeleteIds);
-            courseScheduleStudentPaymentDao.deleteByCourseSchedule(enableDeleteIds);
-            teacherAttendanceDao.batchDeleteByCourseSchedules(enableDeleteIds);
-            if (Objects.nonNull(classGroupId)) {
-                classGroupService.updateClassGroupInfo(classGroupId);
-            }
-        }
-    }
+	public void deleteCourseSchedules(List<Long> courseScheduleIds) {
+
+		List<CourseSchedule> courseScheduleList = courseScheduleDao.findByCourseScheduleIds(courseScheduleIds);
+
+		if (courseScheduleList != null) {
+			for (CourseSchedule cs : courseScheduleList) {
+				if (cs.getStatus() == CourseStatusEnum.OVER) {
+					throw new BizException("删除失败,已结束的课程不能删除");
+				}
+			}
+		}
+		courseScheduleDao.batchDeleteCourseSchedules(courseScheduleIds);
+		courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
+		courseScheduleStudentPaymentDao.deleteByCourseSchedule(courseScheduleIds);
+		// 删除考勤
+		teacherAttendanceDao.batchDeleteByCourseSchedules(courseScheduleIds);
+		studentAttendanceDao.deleteByCourseSchedules(courseScheduleIds);
+
+		// 删除作业
+		courseHomeworkService.delHomwworkByCourseScheduleId(courseScheduleIds);
+
+		List<Integer> classGroupIdList = courseScheduleList.stream().map(t -> t.getClassGroupId()).collect(Collectors.toList());
+		// 更新班级信息
+		if (classGroupIdList != null && classGroupIdList.size() > 0) {
+			for (Integer classGroupId : classGroupIdList) {
+				classGroupService.updateClassGroupInfo(classGroupId);
+			}
+		}
+	}
 
     @Override
     @Transactional(rollbackFor = Exception.class)

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

@@ -242,7 +242,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 return;
             }
             for (StudentAttendance courseStudentAttendance : courseStudentAttendances) {
-                if(courseStudentAttendance.getStatus().equals(StudentAttendanceStatusEnum.NORMAL)){
+                if(Objects.nonNull(courseStudentAttendance.getStatus())&&courseStudentAttendance.getStatus().equals(StudentAttendanceStatusEnum.NORMAL)){
                     normalStudentNum+=1;
                 }
             }

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

@@ -305,6 +305,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         studentPaymentOrder.setVersion(0);
         Date date = new Date();
         if (sporadicPayDto.getUseBalancePayment() && amount.compareTo(BigDecimal.ZERO) > 0) {
+            if(chargeInfo.getChargeType().getCode().equals(9)){
+                throw new BizException("账户充值不支持余额支付");
+            }
             SysUserCashAccount userCashAccount = sysUserCashAccountService.get(userId);
 
             if (userCashAccount == null) {

+ 7 - 0
mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -241,4 +241,11 @@
 	<delete id="delByCourseScheduleId" >
 		DELETE FROM course_homework WHERE course_schedule_id_ = #{courseScheduleId} 
 	</delete>
+	
+	<delete id="batchDelByCourseScheduleId" >
+		DELETE FROM course_homework WHERE course_schedule_id_ IN
+		<foreach collection="courseScheduleIdList" item="courseScheduleId" open="(" close=")" separator=",">
+			#{courseScheduleId}
+		</foreach>
+	</delete>
 </mapper>

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

@@ -299,4 +299,11 @@
     <delete id="delByCourseScheduleId">
 		DELETE FROM student_course_homework WHERE course_schedule_id_ = #{courseScheduleId} 
 	</delete>
+    
+    <delete id="batchDelByCourseScheduleId">
+		DELETE FROM student_course_homework WHERE course_schedule_id_ IN
+		<foreach collection="courseScheduleIdList" item="courseScheduleId" open="(" close=")" separator=",">
+			#{courseScheduleId}
+		</foreach>
+	</delete>
 </mapper>

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -105,8 +105,8 @@ public class CourseScheduleController extends BaseController {
     }
 
     @ApiOperation(value = "批量删除课程")
-    @PostMapping(value = "/bathDelete")
-    @PreAuthorize("@pcs.hasPermissions('courseSchedule/bathDelete')")
+    @PostMapping(value = "/batchDelete")
+    @PreAuthorize("@pcs.hasPermissions('courseSchedule/batchDelete')")
     public Object bathDelete(String courseScheduleIds){
         if(StringUtils.isEmpty(courseScheduleIds)){
             throw new BizException("请指定课程编号");

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -514,7 +514,7 @@ public class ExportController extends BaseController {
                     }else if (row.getChargeType().equals(7)) {
                         row.setSporadicType("上门费");
                     }else if (row.getChargeType().equals(9)) {
-                        row.setSporadicType("账户余额充值");
+                        row.setSporadicType("账户充值");
                     }
                 }
                 School userSchool = musicGroupDao.findUserSchool(row.getUserId());