瀏覽代碼

Merge remote-tracking branch 'origin/master'

Joburgess 5 年之前
父節點
當前提交
9ce61de994

+ 23 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java

@@ -134,6 +134,29 @@ public class UserController extends BaseController {
 		}
 	}
 
+	@ApiOperation(value = "修改密码")
+	@PostMapping(value = "/updatePassword2", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
+	@ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
+			@ApiImplicitParam(name = "userId", value = "用户编号", required = true, dataType = "Integer"),
+			@ApiImplicitParam(name = "newPassword", value = "新密码", required = true, dataType = "String") })
+	public Object updatePassword2(Integer userId, String mobile, String newPassword) {
+		if (StringUtils.isEmpty(mobile) || userId == null || StringUtils.isEmpty(newPassword)) {
+			return failed("参数校验异常");
+		}
+		SysUser sysUser = sysUserService.queryByPhone(mobile);
+		if (sysUser == null) {
+			return failed("用户不存在");
+		}
+		if (sysUser.getId().intValue() != userId) {
+			return failed("非法操作");
+		}
+		String password = new BCryptPasswordEncoder().encode(newPassword);
+		sysUser.setPassword(password);
+		sysUser.setUpdateTime(new Date());
+		sysUserService.update(sysUser);
+		return succeed();
+	}
+
 	@ApiOperation(value = "修改用户")
 	@PostMapping(value = "/update", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
 	public Object update(SysUser sysUser) {

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

@@ -1230,6 +1230,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 .stream().map(Long::parseLong).collect(Collectors.toList());
         //所有的课程
         List<CourseSchedule> courseSchedules = courseScheduleDao.findByCourseScheduleIds(courseScheduleIds);
+        courseSchedules.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
         //保存修改记录
         List<CourseScheduleModifyLog> scheduleModifyLogs = new ArrayList<>(courseSchedules.size());
         Date date = new Date();
@@ -1241,7 +1242,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             scheduleModifyLog.setOperatorId(user.getId());
             scheduleModifyLogs.add(scheduleModifyLog);
         });
-        courseSchedules.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
 
         if (courseScheduleIds.size() != courseScheduleIds.size()) {
             throw new BizException("部分课程不存在");
@@ -1291,6 +1291,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                     dateYmdStr = dateYmdStr + " " + courseTime.getStartClassTime();
                     Date courseStartTime = DateUtil.stringToDate(dateYmdStr, "yyyy-MM-dd HH:mm");
                     Date courseEndTime = DateUtil.addMinutes(courseStartTime, vipGroup.getSingleClassMinutes());
+                    if(DateUtil.daysBetween(DateUtil.stringToDate(DateUtil.format(courseStartTime,DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN),
+                            DateUtil.stringToDate(DateUtil.format(courseEndTime,DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN)) > 0){
+                        throw new BizException("单节课时不允许跨天");
+                    }
                     courseStartDates.add(DateUtil.stringToDate(dateYmdStr, DateUtil.EXPANDED_DATE_TIME_FORMAT));
                     int settlementNum = courseScheduleTeacherSalaryDao.checkCourseIsSettlement(courseSchedules.get(courseStartDates.size() - 1).getId().intValue());
                     if (settlementNum > 0) {
@@ -1359,6 +1363,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void coursePostpone(CoursePostponeDto coursePostPoneInfo) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (null == user) {
+            throw new BizException("获取用户信息失败");
+        }
         if(StringUtils.isBlank(coursePostPoneInfo.getClassGroupIds())){
             throw new BizException("请指定班级");
         }
@@ -1384,8 +1392,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
         classGroupCourseSchedulesWithDate.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
 
+        List<CourseScheduleModifyLog> scheduleModifyLogs = new ArrayList<>(classGroupCourseSchedulesWithDate.size());
+        Date date = new Date();
+        //保存修改记录
         for (int i=0;i<classGroupCourseSchedulesWithDate.size();i++) {
             CourseSchedule courseSchedule=classGroupCourseSchedulesWithDate.get(i);
+            CourseScheduleModifyLog scheduleModifyLog = new CourseScheduleModifyLog();
+            scheduleModifyLog.setCourseScheduleId(courseSchedule.getId());
+            scheduleModifyLog.setPreviousCourseSchedule(JSONObject.toJSONString(courseSchedule));
+            scheduleModifyLog.setCreateTime(date);
+            scheduleModifyLog.setOperatorId(user.getId());
+
             calendar.setTime(courseSchedule.getClassDate());
             calendar.add(Calendar.DATE, betweenDays);
             try {
@@ -1405,9 +1422,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 continue;
             }
             classGroupCourseSchedulesWithDate.get(i).setClassDate(calendar.getTime());
+            scheduleModifyLog.setCurrentCourseSchedule(JSONObject.toJSONString(courseSchedule));
+            scheduleModifyLogs.add(scheduleModifyLog);
         }
 //        checkNewCourseSchedules(classGroupCourseSchedulesWithDate,false);
         courseScheduleDao.batchUpdate(classGroupCourseSchedulesWithDate);
+        courseScheduleModifyLogDao.batchInsert(scheduleModifyLogs);
     }
 
     @Override
@@ -1625,6 +1645,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     @Transactional(rollbackFor = Exception.class)
     public void classStartDateAdjust(List<CourseSchedule> newCourseSchedules) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (null == sysUser) {
+            throw new BizException("获取用户信息失败");
+        }
         List<Long> newCourseScheduleIds = newCourseSchedules.stream().map(CourseSchedule::getId).collect(Collectors.toList());
         //获取对应未修改的课程列表
         List<CourseSchedule> oldCourseScheduleList = courseScheduleDao.findByCourseScheduleIds(newCourseScheduleIds);
@@ -1651,8 +1674,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Map<Long, CourseSchedule> oldCourseSchedules = new HashMap<>();
 
         List<Integer> classGroupIds = oldCourseScheduleList.stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
-        List<ClassGroup> classGroups = classGroupDao.findByClassGroupIds(classGroupIds);
-        Map<Integer, ClassGroup> idClassGroupMap = classGroups.stream().collect(Collectors.toMap(ClassGroup::getId, classGroup -> classGroup));
+//        List<ClassGroup> classGroups = classGroupDao.findByClassGroupIds(classGroupIds);
+//        Map<Integer, ClassGroup> idClassGroupMap = classGroups.stream().collect(Collectors.toMap(ClassGroup::getId, classGroup -> classGroup));
 
         SysConfig advanceLeaveHoursConfig = sysConfigService.findByParamName(SysConfigService.ENABLE_TEACHER_COURSE_ADJUST_DEFAULT_HOURS);
         Integer advanceLeaveHours=advanceLeaveHoursConfig.getParanValue(Integer.class);
@@ -1662,9 +1685,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         List<Map<Integer, Integer>> classGroupStudentNumMaps = classGroupStudentMapperDao.countClassGroupsStudentNum(classGroupIds, ClassGroupStudentStatusEnum.NORMAL);
         Map<Integer, Long> classGroupStudentNumMap = MapUtil.convertIntegerMap(classGroupStudentNumMaps);
 
+        //记录调整日志
+        List<CourseScheduleModifyLog> courseScheduleModifyLogs = new ArrayList<>(oldCourseScheduleList.size());
         newCourseSchedules.forEach(newCourseSchedule -> {
-
+            CourseScheduleModifyLog scheduleModifyLog = new CourseScheduleModifyLog();
             CourseSchedule oldCourseSchedule = oldCourseScheduleMap.get(newCourseSchedule.getId()).get(0);
+            scheduleModifyLog.setPreviousCourseSchedule(JSONObject.toJSONString(oldCourseSchedule));
+            scheduleModifyLog.setCreateTime(now);
+            scheduleModifyLog.setCourseScheduleId(oldCourseSchedule.getId());
+            scheduleModifyLog.setOperatorId(sysUser.getId());
 
             if (!sysUser.getUserType().contains("SYSTEM") && sysUser.getUserType().contains("TEACHER")) {
                 Long normalStudentNum = classGroupStudentNumMap.get(oldCourseSchedule.getClassGroupId());
@@ -1693,7 +1722,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             boolean courseTimeIsChange = false;
             int newCourseTime = DateUtil.minutesBetween(newCourseSchedule.getStartClassTime(), newCourseSchedule.getEndClassTime());
             int oldCourseTime = DateUtil.minutesBetween(oldCourseSchedule.getStartClassTime(), oldCourseSchedule.getEndClassTime());
-
             if (newCourseTime != oldCourseTime) {
                 courseTimeIsChange = true;
             }
@@ -1706,7 +1734,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             oldCourseSchedule.setStartClassTime(newCourseSchedule.getStartClassTime());
             oldCourseSchedule.setEndClassTime(newCourseSchedule.getEndClassTime());
             oldCourseSchedule.setStatus(newCourseSchedule.getStatus());
-
             //被修改的教师编号列表,需要将预计薪水置零
             List<Integer> beReplaceTeacherIds = new ArrayList<>();
 
@@ -1825,7 +1852,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             }
 
             oldCourseSchedule.setActualTeacherId(newCourseSchedule.getActualTeacherId());
+            if(DateUtil.daysBetween(DateUtil.stringToDate(DateUtil.format(oldCourseSchedule.getStartClassTime(),DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN),
+                    DateUtil.stringToDate(DateUtil.format(oldCourseSchedule.getEndClassTime(),DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN)) > 0){
+                throw new BizException("单节课时不允许跨天");
+            }
             courseScheduleDao.update(oldCourseSchedule);
+            scheduleModifyLog.setCurrentCourseSchedule(JSONObject.toJSONString(oldCourseSchedule));
+            courseScheduleModifyLogs.add(scheduleModifyLog);
             //删除被修改的教师课酬记录和考勤记录
             if (!CollectionUtils.isEmpty(beReplaceTeacherIds)) {
 //				courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalary(newCourseSchedule.getId().intValue(),beReplaceTeacherIds);
@@ -1848,7 +1881,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 vipGroupService.checkVipCourseIsInScore(Long.valueOf(oldCourseScheduleList.get(0).getMusicGroupId()));
             }
         }
-
+        courseScheduleModifyLogDao.batchInsert(courseScheduleModifyLogs);
 //        if(oldCourseScheduleList.get(0).getGroupType().equals(GroupType.VIP)){
 //            courseScheduleStudentPaymentService.updateVipGiveCourse(Long.valueOf(oldCourseScheduleList.get(0).getMusicGroupId()));
 //        }
@@ -2579,6 +2612,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         if(DateUtil.minutesBetween(practiceGroup.getCoursesExpireDate(),endDateTime) > 0){
             throw new BizException("调整失败: 截止时间超过课程有效期");
         }
+        if(DateUtil.daysBetween(DateUtil.stringToDate(DateUtil.format(startDateTime,DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN),
+                DateUtil.stringToDate(DateUtil.format(endDateTime,DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN)) > 0){
+            throw new BizException("单节课时不允许跨天");
+        }
         //保存修改记录
         Date date = new Date();
         CourseScheduleModifyLog scheduleModifyLog = new CourseScheduleModifyLog();

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

@@ -134,7 +134,7 @@
     </select>
     <sql id="findStudentsByOrganIdSql">
         <where>
-                su.user_type_ LIKE '%STUDENT%'
+                su.user_type_ LIKE '%STUDENT%' AND su.del_flag_ = 0
             <if test="organId != null">
                 AND FIND_IN_SET(su.organ_id_,#{organId})
             </if>
@@ -167,7 +167,7 @@
         FROM sys_user su
         LEFT JOIN student_registration sr ON su.id_ = sr.user_id_
         LEFT JOIN practice_lesson_apply pla ON su.id_ = pla.user_id_
-        WHERE su.user_type_ LIKE '%STUDENT%'
+        WHERE su.user_type_ LIKE '%STUDENT%' AND su.del_flag_ = 0
         <include refid="queryHasCourseSql"/>
     </select>
     <select id="findStudentBaseInfoByUserID" resultMap="studentManageListDto">

+ 4 - 33
mec-biz/src/main/resources/config/mybatis/TeacherFreeTimeMapper.xml

@@ -44,39 +44,10 @@
 
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.TeacherFreeTime">
-		UPDATE teacher_free_time
-		<set>
-			<if test="monday != null">
-				monday_ = #{monday},
-			</if>
-			<if test="userId != null">
-				user_id_ = #{userId},
-			</if>
-			<if test="thursday != null">
-				thursday_ = #{thursday},
-			</if>
-			<if test="updateTime != null">
-				holiday_ = #{holiday},update_time_ = #{updateTime},
-			</if>
-			<if test="saturday != null">
-				saturday_ = #{saturday},
-			</if>
-			<if test="wednesday != null">
-				wednesday_ = #{wednesday},
-			</if>
-			<if test="friday != null">
-				friday_ = #{friday},
-			</if>
-			<if test="tuesday != null">
-				tuesday_ = #{tuesday},
-			</if>
-			<if test="sunday != null">
-				sunday_ = #{sunday},
-			</if>
-			<if test="totalTimes != null">
-				total_times_ = #{totalTimes},
-			</if>
-		</set>
+		UPDATE teacher_free_time SET
+		monday_ = #{monday},thursday_ = #{thursday},holiday_ = #{holiday},update_time_ = #{updateTime},
+		saturday_ = #{saturday},wednesday_ = #{wednesday},friday_ = #{friday},tuesday_ = #{tuesday},
+		sunday_ = #{sunday},total_times_ = #{totalTimes}
 		WHERE id_ = #{id}
 	</update>
 

+ 1 - 1
mec-im/src/main/resources/logback-spring.xml

@@ -46,7 +46,7 @@
 
 	<!--生产环境:输出到文件 -->
 	<springProfile name="prod">
-		<root level="WARN">
+		<root level="INFO">
 			<appender-ref ref="stdout" />
 			<appender-ref ref="file" />
 		</root>

+ 11 - 10
mec-web/src/main/java/com/ym/mec/web/controller/TeacherFreeTimeController.java

@@ -1,19 +1,18 @@
 package com.ym.mec.web.controller;
 
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiOperation;
-
-import java.util.Date;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.*;
-
 import com.ym.mec.biz.dal.entity.TeacherFreeTime;
 import com.ym.mec.biz.service.TeacherFreeTimeService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+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;
 
 @RequestMapping("teacherFreeTime")
 @Api(tags = "老师空余时间设置服务")
@@ -32,12 +31,14 @@ public class TeacherFreeTimeController extends BaseController {
 	@ApiOperation("单查询")
 	@ApiImplicitParam(name = "id", value = "ID编号", required = true, dataType = "Integer", paramType = "path")
 	@GetMapping(value = "/query")
+	@PreAuthorize("@pcs.hasPermissions('teacherFreeTime/query')")
 	public Object query(Integer id) {
 		return succeed(teacherFreeTimeService.findTeacherFreeTime(id));
 	}
 
 	@ApiOperation("新增")
 	@PostMapping(value = "/updateSet")
+	@PreAuthorize("@pcs.hasPermissions('teacherFreeTime/updateSet')")
 	public Object add(TeacherFreeTime teacherFreeTime) {
 		teacherFreeTimeService.updateSet(teacherFreeTime);
 		return succeed();