浏览代码

Merge remote-tracking branch 'origin/master'

周箭河 5 年之前
父节点
当前提交
a3737dcff3

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentServiceDetailDto.java

@@ -30,6 +30,8 @@ public class StudentServiceDetailDto {
 
     private Date courseStartTime;
 
+    private Date courseEndTime;
+
     private Integer teacherId;
 
     private String teacherName;
@@ -44,6 +46,14 @@ public class StudentServiceDetailDto {
 
     private String attachments;
 
+    public Date getCourseEndTime() {
+        return courseEndTime;
+    }
+
+    public void setCourseEndTime(Date courseEndTime) {
+        this.courseEndTime = courseEndTime;
+    }
+
     public Long getStudentHomeworkId() {
         return studentHomeworkId;
     }

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

@@ -8,7 +8,7 @@ import com.ym.mec.common.enums.BaseEnum;
 public enum ImSendTypeEnum implements BaseEnum<String, ImSendTypeEnum> {
 	TXT("TXT", "文本"),
 	IMG("IMG", "图片"),
-	VC("VC", "语"),
+	VC("VC", "语"),
 	FILE("FILE", "文件");
 
 	private String code;

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

@@ -506,4 +506,11 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @return
 	 */
     Object teacherCourseMinutes(QueryInfo queryInfo);
+
+	/**
+	 * 修改课程组有效期
+	 * @param practiceGroupId
+	 * @param coursesExpireDate
+	 */
+	void updateCoursesExpireDate(String practiceGroupId, Date coursesExpireDate);
 }

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

@@ -4148,6 +4148,24 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void updateCoursesExpireDate(String practiceGroupId, Date coursesExpireDate) {
+    	if(practiceGroupId == null || coursesExpireDate == null ){
+    		throw new BizException("参数校验失败");
+		}
+		PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(practiceGroupId));
+    	if(practiceGroup == null){
+			throw new BizException("课程组不存在");
+		}
+		if(practiceGroup.getCoursesStartDate().after(coursesExpireDate)){
+			throw new BizException("课程有效时间不能小于开始时间");
+		}
+		practiceGroup.setCoursesExpireDate(coursesExpireDate);
+		practiceGroup.setUpdateTime(new Date());
+		practiceGroupDao.update(practiceGroup);
+	}
+
+	@Override
 	public Object teacherCourseHeadInfo(Long courseScheduleId) {
 		SysUser user = sysUserFeignService.queryUserInfo();
 		if (null == user) {

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

@@ -1015,11 +1015,12 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         courseScheduleTeacherSalaryDao.updateTeacherSalaryConfirmStatus(teacherSalaryIds,TeacherSalaryConfirmStatus.UNCONFIRMED);
         teacherCourseRewardDao.updateTeacherRewardConfirmStatusWithMonth(month, null, TeacherSalaryConfirmStatus.UNCONFIRMED);
         String notifyUrl="8?http://mteadev.dayaedu.com/#/remuneration?month=" + month;
-        String monthStr = DateUtil.dateToString(DateUtil.stringToDate(month, "yyyy-MM"),"yyyy年MM月");
+        String monthStr = DateUtil.dateToString(DateUtil.stringToDate(month, "yyyy-MM"),"M月");
+        String expireDateStr = DateUtil.dateToString(DateUtil.addDays(new Date(), 2), "M月d号");
         List<Integer> teacherIds = courseScheduleTeacherSalaryDao.findIsSettlementTeacherIdsWithMonth(month);
         Map<Integer, String> userMap = teacherIds.stream().collect(Collectors.toMap(Integer::valueOf, id->String.valueOf(id)));
         sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_SALARY_CONFIRM_PUSH,
-                userMap, null, 0, notifyUrl, "TEACHER", monthStr);
+                userMap, null, 0, notifyUrl, "TEACHER", monthStr, expireDateStr);
     }
 
     @Override

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

@@ -335,6 +335,9 @@ public class ExtracurricularExercisesReplyServiceImpl extends BaseServiceImpl<Lo
 			studentExtracurricularExercisesSituation.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>0?1:0);
 			results.add(studentExtracurricularExercisesSituation);
 		}
+
+		studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString());
+
 		BigDecimal currentPage=BigDecimal.ONE,
                 pageSize=new BigDecimal(10000),
                 total=new BigDecimal(results.size()),

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentExtracurricularExercisesSituationServiceImpl.java

@@ -15,9 +15,12 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.util.date.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -50,6 +53,7 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 			pageInfo.setTotal(count);
 			params.put("offset", pageInfo.getOffset());
 			dataList = studentExtracurricularExercisesSituationDao.findExercisesSituations(params);
+			long until = LocalDateTime.ofInstant(queryInfo.getMonday().toInstant(), DateUtil.zoneId).until(LocalDateTime.ofInstant(queryInfo.getSunday().toInstant(), DateUtil.zoneId), ChronoUnit.WEEKS);
 			if(Objects.isNull(queryInfo.getExistVipCourse())){
 				List<Integer> studentIds = dataList.stream().map(StudentExtracurricularExercisesSituation::getStudentId).collect(Collectors.toList());
 				List<Map<Integer, Long>> studentVipCoursesMaps = courseScheduleDao.countStudentVipCoursesWithDate(studentIds, queryInfo.getMonday(), queryInfo.getSunday(), GroupType.VIP);
@@ -61,6 +65,11 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 					Long practiceCourses=studentPracticeCourseMap.get(exercisesSituationDto.getStudentId());
 					exercisesSituationDto.setExistVipCourse(Objects.isNull(vipCourses)?0:vipCourses.intValue());
 					exercisesSituationDto.setExistPracticeCourse(Objects.isNull(practiceCourses)?0:practiceCourses.intValue());
+					exercisesSituationDto.setExpectExercisesNum((int) until+1);
+				}
+			}else{
+				for (StudentExercisesSituationDto exercisesSituationDto : dataList) {
+					exercisesSituationDto.setExpectExercisesNum((int) until+1);
 				}
 			}
 		}

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

@@ -777,7 +777,7 @@
 			<if test="signOutStatus!=null and signOutStatus==1">
 				AND ta.sign_out_status_=#{signOutStatus}
 			</if>
-            <if test="signOutStatus!=null and signOutStatus==1">
+            <if test="signOutStatus!=null and signOutStatus==0">
                 AND (ta.sign_out_status_=#{signOutStatus} OR ta.sign_out_status_ IS NULL)
             </if>
 			<if test="confirmStatus!=null">

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesReplyMapper.xml

@@ -393,6 +393,7 @@
 		<result property="groupType" column="group_type_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result property="groupName" column="group_name_"/>
 		<result property="courseStartTime" column="course_start_time_"/>
+		<result property="courseEndTime" column="course_end_time_"/>
 		<result property="teacherId" column="teacher_id_"/>
 		<result property="teacherName" column="teacher_name_"/>
 		<result property="homeworkCreateTime" column="homework_create_time_"/>
@@ -412,6 +413,8 @@
 			NULL group_id_,
 			NULL group_type,
 			NULL group_name_,
+			NULL course_start_time_,
+			NULL course_end_time_,
 			ee.content_,
 			ee.create_time_ homework_create_time_,
 			eer.user_id_,
@@ -435,6 +438,8 @@
 			cs.music_group_id_ group_id_,
 			cs.group_type_ group_type,
 			cs.name_ group_name_,
+			CONCAT(cs.class_date_, ' ', cs.start_class_time_) course_start_time_,
+			CONCAT(cs.class_date_, ' ', cs.end_class_time_) course_end_time_,
 			ch.content_,
 			ch.create_time_ homework_create_time_,
 			sch.user_id_,

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

@@ -125,7 +125,7 @@
 			MAX(sees.id_) id_,
 			student_id_,
 			stu.username_ student_name_,
-			tea.real_name_ teacher_name_,
+			GROUP_CONCAT(tea.real_name_) teacher_name_,
 			o.name_ organ_name_,
 			SUM( expect_exercises_num_ ) expect_exercises_num_,
 			SUM( actual_exercises_num_ ) actual_exercises_num_,
@@ -165,7 +165,7 @@
 				AND NOT EXISTS (SELECT cssp.id_ FROM course_schedule_student_payment cssp LEFT JOIN course_schedule cs ON cs.id_=cssp.course_schedule_id_ LEFT JOIN practice_group pg ON pg.id_=cssp.music_group_id_ WHERE cssp.user_id_=sees.student_id_ AND cssp.group_type_='PRACTICE' AND pg.type_='CHARGE' AND class_date_ BETWEEN #{monday} AND #{sunday})
 			</if>
 			GROUP BY
-			student_id_,teacher_id_
+			student_id_
 			<trim prefix="HAVING" suffixOverrides="and">
 				<if test="expectExercisesNum!=null">  SUM( expect_exercises_num_ ) = #{expectExercisesNum}</if>
 				<if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==0">
@@ -231,7 +231,7 @@
 				AND NOT EXISTS (SELECT cssp.id_ FROM course_schedule_student_payment cssp LEFT JOIN course_schedule cs ON cs.id_=cssp.course_schedule_id_ LEFT JOIN practice_group pg ON pg.id_=cssp.music_group_id_ WHERE cssp.user_id_=sees.student_id_ AND cssp.group_type_='PRACTICE' AND pg.type_='CHARGE' AND class_date_ BETWEEN #{monday} AND #{sunday})
 			</if>
 			GROUP BY
-			student_id_,teacher_id_
+			student_id_
 			<trim prefix="HAVING" suffixOverrides="and">
 				<if test="expectExercisesNum!=null">  SUM( expect_exercises_num_ ) = #{expectExercisesNum}</if>
 				<if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==0">

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

@@ -356,6 +356,14 @@ public class CourseScheduleController extends BaseController {
         return succeed();
     }
 
+    @ApiOperation(value = "陪练课课程组有效期调整")
+    @PostMapping("/updateCoursesExpireDate")
+    @PreAuthorize("@pcs.hasPermissions('courseSchedule/updateCoursesExpireDate')")
+    public Object updateCoursesExpireDate(String practiceGroupId,Date coursesExpireDate){
+        scheduleService.updateCoursesExpireDate(practiceGroupId,coursesExpireDate);
+        return succeed();
+    }
+
     @ApiOperation(value = "清空老师和学生考勤记录")
     @PostMapping("/cleanAttendance")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/cleanAttendance')")