Joburgess 5 years ago
parent
commit
7732b2cc47

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

@@ -6,7 +6,6 @@ import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.entity.ImUserModel;
-
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -394,4 +393,13 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @return com.ym.mec.biz.dal.entity.ClassGroup
      */
     ClassGroup findByCourseSchedule(Integer courseScheduleId);
+
+    /**
+     * @describe 获取合奏班下所有子班级
+     * @author Joburgess
+     * @date 2019/11/5
+     * @param maxCourseScheduleId: 合奏班编号
+     * @return java.util.List<java.lang.Integer>
+     */
+    List<ClassGroup> findClassGroupsByMixClassGroup(Integer maxCourseScheduleId);
 }

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -500,4 +500,22 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 	 * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
 	 */
 	List<CourseSchedule> findCourseScheduleWithDate(@Param("date") Date date);
+
+	/**
+	 * @describe 根据班级获取课程计划
+	 * @author Joburgess
+	 * @date 2019/11/5
+	 * @param classGroupId: 班级编号
+	 * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
+	 */
+	List<CourseSchedule> findByClassGroup(@Param("classGroupId") Integer classGroupId);
+
+	/**
+	 * @describe 根据班级获取课程计划
+	 * @author Joburgess
+	 * @date 2019/11/5
+	 * @param classGroupIds: 班级编号
+	 * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
+	 */
+	List<CourseSchedule> findByClassGroups(@Param("classGroupIds") List<Integer> classGroupIds);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroup.java

@@ -107,6 +107,17 @@ public class VipGroup {
 	@ApiModelProperty(value = "月度消耗百分数")
 	private Double monthConsumeRate;
 
+	@ApiModelProperty(value = "开课时间")
+	private Date courseStartDate;
+
+	public Date getCourseStartDate() {
+		return courseStartDate;
+	}
+
+	public void setCourseStartDate(Date courseStartDate) {
+		this.courseStartDate = courseStartDate;
+	}
+
 	public Double getMonthConsumeRate() {
 		return monthConsumeRate;
 	}

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

@@ -36,13 +36,17 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	void deleteCourseSchedules(List<Long> courseScheduleIds);
 
 	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/16
-	 * @params [teacherAttendanceDto, userId]
-	 * @return YesOrNoEnum
 	 * @describe 判断该课程是否只能进行正常签到
+	 * @author Joburgess
+	 * @date 2019/11/5
+	 * @param teacherAttendanceDto: 教师签到信息
+	 * @param userId: 教师编号
+	 * @param checkSchool: 是否判断教学点
+	 * @return com.ym.mec.biz.dal.enums.YesOrNoEnum
 	 */
-	YesOrNoEnum enableOnlyNormalAttendance(TeacherAttendanceDto teacherAttendanceDto, Long userId);
+	YesOrNoEnum enableOnlyNormalAttendance(TeacherAttendanceDto teacherAttendanceDto,
+										   Long userId,
+										   boolean checkSchool);
 
 	/**
 	 * @Author: Joburgess
@@ -263,4 +267,13 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * 老师上课提醒
 	 */
 	void teacherSignInRemind();
+
+	/**
+	 * @describe 获取班级的课程计划
+	 * @author Joburgess
+	 * @date 2019/11/5
+	 * @param classGroupId: 班级编号
+	 * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
+	 */
+	List<CourseSchedule> findCourseScheduleByClassGroup(Integer classGroupId);
 }

+ 13 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -819,10 +819,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             throw new BizException("请指定课程编号");
         }
         List<StudentAttendanceViewDto> studentByCourse = classGroupStudentMapperDao.findStudentByCourse(courseScheduleId);
-        List<StudentAttendanceViewDto> leaveStudent = studentByCourse.stream().filter(studentAttendanceViewDto -> StudentAttendanceStatusEnum.LEAVE.equals(studentAttendanceViewDto.getStatus())).collect(Collectors.toList());
-        List<StudentAttendanceViewDto> notLeaveStudent = studentByCourse.stream().filter(studentAttendanceViewDto -> !StudentAttendanceStatusEnum.LEAVE.equals(studentAttendanceViewDto.getStatus())).collect(Collectors.toList());
-        notLeaveStudent.addAll(leaveStudent);
-        return notLeaveStudent;
+        List<StudentAttendanceViewDto> leaveStudent = studentByCourse.stream()
+                .filter(studentAttendanceViewDto -> StudentAttendanceStatusEnum.LEAVE.equals(studentAttendanceViewDto.getStatus()))
+                .collect(Collectors.toList());
+        List<StudentAttendanceViewDto> truantStudent = studentByCourse.stream()
+                .filter(studentAttendanceViewDto -> StudentAttendanceStatusEnum.TRUANT.equals(studentAttendanceViewDto.getStatus()))
+                .collect(Collectors.toList());
+        List<StudentAttendanceViewDto> otherStudent = studentByCourse.stream()
+                .filter(studentAttendanceViewDto -> !StudentAttendanceStatusEnum.LEAVE.equals(studentAttendanceViewDto.getStatus())
+                                                &&!StudentAttendanceStatusEnum.TRUANT.equals(studentAttendanceViewDto.getStatus()))
+                .collect(Collectors.toList());
+        truantStudent.addAll(otherStudent);
+        truantStudent.addAll(leaveStudent);
+        return truantStudent;
     }
 
     @Override

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

@@ -85,7 +85,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		    throw new BizException("课程不存在");
         }
 
-		currentCourseDetail.setOnlyNormal(enableOnlyNormalAttendance(currentCourseDetail, user.getId().longValue()));
+		currentCourseDetail.setOnlyNormal(enableOnlyNormalAttendance(currentCourseDetail, user.getId().longValue(),true));
 
 		currentCourseDetail.setCurrentTime(new Date());
 		currentCourseDetail.setAdvanceSignInMinutes(Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_SIGN_IN_MINUTES)));
@@ -102,7 +102,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
-	public YesOrNoEnum enableOnlyNormalAttendance(TeacherAttendanceDto teacherAttendanceDto,Long userId){
+	public YesOrNoEnum enableOnlyNormalAttendance(TeacherAttendanceDto teacherAttendanceDto,Long userId,boolean checkSchool){
 		Date endTime=teacherAttendanceDto.getStartClassTime();
 		Date startTime=DateUtil.addHours(endTime,-1);
 		TeacherAttendanceDto teacherCourseByDateSpeed = courseScheduleDao.getTeacherCourseByDateSpeed(startTime, endTime, userId);
@@ -110,7 +110,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			return YesOrNoEnum.NO;
 		}else{
 			int i = studentAttendanceDao.countByCourseSchedule(teacherCourseByDateSpeed.getCourseScheduleId());
-			if(i>0&&teacherAttendanceDto.getSchoolId().equals(teacherCourseByDateSpeed.getSchoolId())){
+			if(i>0&&checkSchool&&teacherAttendanceDto.getSchoolId().equals(teacherCourseByDateSpeed.getSchoolId())){
 				return YesOrNoEnum.YES;
 			}else{
 				return YesOrNoEnum.NO;
@@ -885,4 +885,25 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_ATTEND_CLASS_MESSAGE, receivers, null, 0, "", scheduleName);
 		}
 	}
+
+	@Override
+	public List<CourseSchedule> findCourseScheduleByClassGroup(Integer classGroupId) {
+		if(Objects.isNull(classGroupId)){
+			throw new BizException("请指定班级");
+		}
+		ClassGroup classGroup = classGroupDao.get(classGroupId);
+		if(Objects.isNull(classGroup)){
+			throw new BizException("指定的班级不存在");
+		}
+		List<Integer> classGroupIds=new ArrayList<>();
+		classGroupIds.add(classGroupId);
+		if(classGroup.getType().equals(ClassGroupTypeEnum.MIX)){
+			List<ClassGroup> mixClassChildClassGroup = classGroupDao.findMixClassChildClassGroup(classGroupId);
+			List<Integer> childClassGroupIds = mixClassChildClassGroup.stream()
+					.map(ClassGroup::getId)
+					.collect(Collectors.toList());
+			classGroupIds.addAll(childClassGroupIds);
+		}
+		return courseScheduleDao.findByClassGroups(classGroupIds);
+	}
 }

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

@@ -19,6 +19,7 @@ import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -171,6 +172,10 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 		if(courseSchedule.getStatus() == CourseStatusEnum.OVER){
 			throw new BizException("课程已结束");
 		}
+
+		if(StringUtils.length(remark)>150){
+			throw new BizException("字符长度超限");
+		}
 		
 		Date date = new Date();
 		

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

@@ -4,10 +4,7 @@ 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.ClassGroup;
-import com.ym.mec.biz.dal.entity.CourseHomework;
-import com.ym.mec.biz.dal.entity.StudentCourseHomework;
-import com.ym.mec.biz.dal.entity.TeacherAttendance;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.service.*;
@@ -45,6 +42,8 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	@Autowired
 	private SysConfigDao sysConfigDao;
 	@Autowired
+	private SysConfigService sysConfigService;
+	@Autowired
 	private SysMessageService sysMessageService;
 	@Autowired
 	private ClassGroupDao classGroupDao;
@@ -66,6 +65,9 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			throw new BizException("请选择课程!");
 		}
 
+		SysConfig byParamName = sysConfigService.findByParamName(SysConfigService.ADVANCE_SIGN_IN_MINUTES);
+		Integer advanceSignInMinutes=Integer.parseInt(byParamName.getParanValue());
+
 		Map<String,Object> result=new HashMap<>();
 
 		TeacherAttendance teacherAttendance=teacherAttendanceDao.findByTeacherAttendanceInfo(user.getId().longValue(),teacherSignOutDto.getTeacherAttendanceInfo().getCourseScheduleId());
@@ -93,14 +95,14 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 				throw new BizException("该课程已结束,不能进行签到!");
 			}
 
-			YesOrNoEnum yesOrNoEnum = courseScheduleService.enableOnlyNormalAttendance(currentCourseDetail, user.getId().longValue());
+			YesOrNoEnum yesOrNoEnum = courseScheduleService.enableOnlyNormalAttendance(currentCourseDetail, user.getId().longValue(),true);
 
 			if(yesOrNoEnum==YesOrNoEnum.YES){
 				teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
 				result.put("signInStatus",YesOrNoEnum.YES.getCode());
 			}else{
 				Long timeGap=(date.getTime()-currentCourseDetail.getStartClassTime().getTime())/1000/60;
-				if(timeGap<= ParamEnum.TEACHER_ATTENDANCE_TIME_GAP.getCode()){
+				if(timeGap<= advanceSignInMinutes){
 					teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
 					result.put("signInStatus",YesOrNoEnum.YES.getCode());
 				}else{
@@ -159,9 +161,13 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	public void addTeacherAttendanceRecord(Integer courseScheduleId, Integer userId, SignStatusEnum signStatus, boolean updateCourseScheduleStatus) {
 		TeacherAttendance teacherAttendance=teacherAttendanceDao.findByTeacherAttendanceInfo(userId.longValue(),courseScheduleId.longValue());
 		ClassGroup classGroup = classGroupDao.findByCourseSchedule(courseScheduleId);
+		CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId.longValue());
 		boolean isAttendance=false;
 		Date now=new Date();
 
+		SysConfig byParamName = sysConfigService.findByParamName(SysConfigService.ADVANCE_SIGN_IN_MINUTES);
+		Integer advanceSignInMinutes=Integer.parseInt(byParamName.getParanValue());
+
 		if(Objects.isNull(teacherAttendance)){
 			teacherAttendance=new TeacherAttendance();
 			teacherAttendance.setTeacherId(userId);
@@ -171,10 +177,17 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		}else{
 			isAttendance=true;
 		}
+
+		int timeGap = DateUtil.minutesBetween(now, courseSchedule.getStartClassTime());
+
 		switch (signStatus){
 			case SIGN_IN:
 				teacherAttendance.setSignInTime(now);
-				teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
+				if(advanceSignInMinutes<=timeGap&&timeGap<=60){
+					teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
+				}else{
+					teacherAttendance.setSignInStatus(YesOrNoEnum.NO);
+				}
 				int currentClassTimes = teacherAttendanceDao.countClassTime(classGroup.getId().longValue());
 				classGroup.setCurrentClassTimes(currentClassTimes);
 				if(updateCourseScheduleStatus){

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

@@ -188,6 +188,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		vipGroupApplyBaseInfoDto.setTotalPrice(costInfo.get("totalPrice"));
 		vipGroupApplyBaseInfoDto.setStatus(VipGroupStatusEnum.APPLYING);
 		vipGroupApplyBaseInfoDto.setOrganId(sysUser.getOrganId());
+		//开课时间为排课的第一节课的开始时间
+		vipGroupApplyBaseInfoDto.setCourseStartDate(firstCourseSchedule.getStartClassTime());
 		//课程结束时间为排课的最后一节课的结束时间
 		vipGroupApplyBaseInfoDto.setCoursesExpireDate(latestCourseSchedule.getEndClassTime());
 		vipGroupDao.insert(vipGroupApplyBaseInfoDto);
@@ -217,9 +219,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		//创建融云班级群
 		// 指导老师加入群组
-//		ImGroupMember[] imGroupMembers = { new ImGroupMember(vipGroup.getVipGroupApplyBaseInfo().getUserId().toString())};
+		ImGroupMember[] imGroupMembers = { new ImGroupMember(vipGroup.getVipGroupApplyBaseInfo().getUserId().toString())};
 		// 创建群组
-//		imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
+		imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
 
 		//创建班级老师关联记录
 		ClassGroupTeacherMapper classGroupTeacherMapper=new ClassGroupTeacherMapper();
@@ -610,7 +612,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if(Objects.nonNull(vipGroupSalarySettlementDto.getOnlineSalarySettlement())){
 			switch (vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSalarySettlementType()){
 				case TEACHER_DEFAULT:
-					if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary){
+					if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary
+							&&vipGroupActivity.getSalaryReadonlyFlag().equals("0")){
 						teacherOnlineSalary=((VipGroupApplyBaseInfoDto) vipGroup).getOnlineTeacherSalary();
 					}
 
@@ -638,7 +641,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if(Objects.nonNull(vipGroupSalarySettlementDto.getOfflineSalarySettlement())){
 			switch (vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSalarySettlementType()){
 				case TEACHER_DEFAULT:
-					if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary){
+					if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary
+							&&vipGroupActivity.getSalaryReadonlyFlag().equals("0")){
 						teacherOfflineSalary=((VipGroupApplyBaseInfoDto) vipGroup).getOfflineTeacherSalary();
 					}
 					if(Objects.isNull(teacherOfflineSalary)){
@@ -838,7 +842,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			sysUserExpendCashAccountDetail.setUserId(userId);
 			sysUserExpendCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE);
 			sysUserExpendCashAccountDetail.setStatus(DealStatusEnum.SUCCESS);
-			sysUserExpendCashAccountDetail.setAmount(order.getActualAmount());
+			sysUserExpendCashAccountDetail.setAmount(order.getActualAmount().negate());
 			sysUserExpendCashAccountDetail.setBalance(sysUserCashAccount.getBalance());
 			sysUserExpendCashAccountDetail.setAttribute(order.getTransNo());
 

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -679,4 +679,12 @@
             LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
         WHERE cs.id_=#{courseScheduleId}
     </select>
+    <select id="findClassGroupsByMixClassGroup" resultMap="ClassGroup">
+        SELECT
+            cg.*
+        FROM
+            class_group_relation cgr
+        LEFT JOIN class_group cg ON cgr.sub_class_group_id_=cg.id_
+        WHERE cgr.class_group_id_=#{maxCourseScheduleId}
+    </select>
 </mapper>

+ 9 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1161,4 +1161,13 @@
         WHERE cs.class_date_=DATE_FORMAT(#{date},'%Y-%m-%d %H:%i:%s')
         AND cs.type_!='VIP'
     </select>
+    <select id="findByClassGroup" resultMap="CourseSchedule">
+      select * from  course_schedule where class_group_id_=#{classGroupId}
+    </select>
+    <select id="findByClassGroups" resultMap="CourseSchedule">
+        select * from  course_schedule where class_group_id_ IN
+        <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">
+            #{classGroupId}
+        </foreach>
+    </select>
 </mapper>

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

@@ -226,7 +226,7 @@
     </select>
 
     <select id="countStudentCourses" resultType="int">
-        SELECT count(cg.*) FROM class_group cg
+        SELECT count(*) FROM class_group cg
         LEFT JOIN class_group_student_mapper cgsm ON cg.id_=cgsm.class_group_id_
         <if test="vipGroupId!=null">
             LEFT JOIN vip_group_class_group_mapper vgcgm ON cgsm.class_group_id_=vgcgm.class_group_id_
@@ -436,4 +436,4 @@
         WHERE (cs.type_ = 'NORMAL' OR cs.type_ = 'MIX') AND sa.music_group_id_ = #{search}
     </select>
 
-</mapper>
+</mapper>

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

@@ -124,7 +124,7 @@
 	<select id="queryPage" resultMap="VipGroupActivity" parameterType="map">
 		SELECT
 		vga.*,
-		(NOW() &lt; end_time_) enable,
+		(NOW() &lt; end_time_ AND NOW() > start_time_) enable,
 		GROUP_CONCAT(vgc.name_) vip_group_category_names_
 		FROM vip_group_activity vga
 		LEFT JOIN vip_group_category vgc ON FIND_IN_SET(vgc.id_,vga.vip_group_category_id_list_)

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

@@ -35,6 +35,7 @@
         <result column="give_teach_mode_" property="giveTeachMode" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="organ_id_" property="organId"/>
         <result column="stop_reason_" property="stopReason"/>
+        <result column="courses_start_date" property="courseStartDate"/>
     </resultMap>
     
     <resultMap type="com.ym.mec.biz.dal.entity.School" id="School">
@@ -170,8 +171,8 @@
         </selectKey>
         -->
         INSERT INTO vip_group
-        (id_,user_id_,single_class_minutes_,payment_expire_date_,courses_expire_date_,create_time_,update_time_,teacher_school_id_,online_classes_num_,offline_classes_num_,registration_start_time_,name_,organ_id_list_,vip_group_activity_id_,status_,online_classes_unit_price_,offline_classes_unit_price_,total_price_,give_teach_mode_,vip_group_category_id_,organ_id_,stop_reason_,audit_status_)
-        VALUES(#{id},#{userId},#{singleClassMinutes},#{paymentExpireDate},#{coursesExpireDate},now(),now(),#{teacherSchoolId},#{onlineClassesNum},#{offlineClassesNum},#{registrationStartTime},#{name},#{organIdList},#{vipGroupActivityId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{onlineClassesUnitPrice},#{offlineClassesUnitPrice},#{totalPrice},#{giveTeachMode},#{vipGroupCategoryId},#{organId},#{stopReason},#{auditStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
+        (id_,user_id_,single_class_minutes_,payment_expire_date_,courses_expire_date_,create_time_,update_time_,teacher_school_id_,online_classes_num_,offline_classes_num_,registration_start_time_,name_,organ_id_list_,vip_group_activity_id_,status_,online_classes_unit_price_,offline_classes_unit_price_,total_price_,give_teach_mode_,vip_group_category_id_,organ_id_,stop_reason_,audit_status_,courses_start_date)
+        VALUES(#{id},#{userId},#{singleClassMinutes},#{paymentExpireDate},#{coursesExpireDate},now(),now(),#{teacherSchoolId},#{onlineClassesNum},#{offlineClassesNum},#{registrationStartTime},#{name},#{organIdList},#{vipGroupActivityId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{onlineClassesUnitPrice},#{offlineClassesUnitPrice},#{totalPrice},#{giveTeachMode},#{vipGroupCategoryId},#{organId},#{stopReason},#{auditStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{courseStartDate})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -454,7 +455,7 @@
             LEFT JOIN class_group cg ON vgcgm.class_group_id_=cg.id_
             LEFT JOIN class_group_student_mapper cgsm ON vgcgm.class_group_id_=cgsm.class_group_id_
             LEFT JOIN sys_user su ON cgsm.user_id_=su.id_
-        WHERE vgcgm.id_=#{vipGroupId}
+        WHERE vgcgm.vip_group_id_=#{vipGroupId}
         ORDER BY su.id_
         <include refid="global.limit"/>
     </select>

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

@@ -3,7 +3,6 @@ package com.ym.mec.web.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.ClassGroupTeacherMapperDao;
-import com.ym.mec.biz.dal.dto.ClassDateAdjustDto;
 import com.ym.mec.biz.dal.dto.CreateCourseScheduleDto;
 import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
@@ -121,9 +120,17 @@ public class CourseScheduleController extends BaseController {
     @ApiOperation(value = "课时调整")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/classStartDateAdjust')")
     @PostMapping(value = "/classStartDateAdjust",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
-    public Object classStartDateAdjust(ClassDateAdjustDto classDateAdjustDto){
+    public Object classStartDateAdjust(CourseSchedule courseSchedule){
         List<CourseSchedule> courseSchedules=new ArrayList<>();
-        courseSchedules.add(classDateAdjustDto);
+        courseSchedules.add(courseSchedule);
+        scheduleService.classStartDateAdjust(courseSchedules);
+        return succeed();
+    }
+
+    @ApiOperation(value = "课时调整-批量")
+    @PreAuthorize("@pcs.hasPermissions('courseSchedule/batchClassStartDateAdjust')")
+    @PostMapping(value = "/batchClassStartDateAdjust",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public Object batchClassStartDateAdjust(List<CourseSchedule> courseSchedules){
         scheduleService.classStartDateAdjust(courseSchedules);
         return succeed();
     }
@@ -171,4 +178,11 @@ public class CourseScheduleController extends BaseController {
 		return succeed(musicGroupService.queryTeacherSalary(courseScheduleId));
 	}
 
+    @ApiOperation(value = "根据班级获取课程计划")
+    @GetMapping("/findCourseScheduleByClassGroup")
+    @PreAuthorize("@pcs.hasPermissions('course/findCourseScheduleByClassGroup')")
+	public Object findCourseScheduleByClassGroup(Integer classGroupId){
+        return succeed(scheduleService.findCourseScheduleByClassGroup(classGroupId));
+    }
+
 }