Browse Source

Merge remote-tracking branch 'origin/master'

zouxuan 4 năm trước cách đây
mục cha
commit
3a6a1c8240

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

@@ -59,6 +59,16 @@ public class StudentAttendanceQueryInfo extends QueryInfo {
     //是否回访
     private Boolean visitFlag;
 
+    private Boolean orderFlag;
+
+    public Boolean getOrderFlag() {
+        return orderFlag;
+    }
+
+    public void setOrderFlag(Boolean orderFlag) {
+        this.orderFlag = orderFlag;
+    }
+
     public Boolean getVisitFlag() {
         return visitFlag;
     }

+ 3 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -18,17 +18,7 @@ import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import com.ym.mec.biz.dal.dao.*;
@@ -2400,7 +2390,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
         for (ClassGroup4MixDto classGroup4MixDto : classGroup4MixDtos) {
             //3、插入班级排课信息
-            LocalDateTime now = LocalDateTime.now();
+            LocalDateTime now = LocalDateTime.now().withHour(0).withMinute(0).withSecond(0).withNano(0);
 
             if (!courseTypeMinutesMap.containsKey(classGroup4MixDto.getCourseType().getCode())) {
                 throw new BizException("{}课程类型暂无剩余课程时长", classGroup4MixDto.getCourseType().getMsg());
@@ -2536,6 +2526,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
         if(!confirmGenerate){
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            courseScheduleList.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
             return BaseController.failed(HttpStatus.PARTIAL_CONTENT, courseScheduleList, "");
         }
 

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

@@ -3895,14 +3895,30 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         }
         //学员提起申诉通知
         CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleComplaints.getCourseScheduleId());
-        Set<Integer> roleIds = new HashSet<>(1);
-        roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
-        roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-        roleIds.add(SysUserRole.SECTION_MANAGER);
-        roleIds.add(SysUserRole.ADMINISTRATOR);
+		GroupType groupType = courseSchedule.getGroupType();
+		String musicGroupId = courseSchedule.getMusicGroupId();
+		Integer targetUserId = null;
+		switch (groupType) {
+			case VIP:
+				targetUserId = vipGroupDao.get(Long.parseLong(musicGroupId)).getEducationalTeacherId();
+				break;
+			case MUSIC:
+				targetUserId = musicGroupDao.get(musicGroupId).getEducationalTeacherId();
+				break;
+			case PRACTICE:
+				targetUserId = practiceGroupDao.get(Long.parseLong(musicGroupId)).getEducationalTeacherId();
+				break;
+			case COMM:
+				targetUserId = coursesGroupDao.get(Long.parseLong(musicGroupId)).getEducationalTeacherId();
+				break;
+		}
+		Set<Integer> roleIds = new HashSet<>(1);
+		roleIds.add(SysUserRole.SECTION_MANAGER);
+		Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, user.getOrganId());
+		integers.add(targetUserId);
         Map<String, Long> memo = new HashMap<>(1);
         memo.put("courseScheduleComplaintsId", courseScheduleComplaints.getId());
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, user.getOrganId()), MessageTypeEnum.BACKSTAGE_STUDENT_APPEAL, JSONObject.toJSONString(memo), courseSchedule.getName(), user.getUsername());
+        sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_STUDENT_APPEAL, JSONObject.toJSONString(memo), courseSchedule.getName(), user.getUsername());
     }
 
     @Override

+ 28 - 30
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -958,6 +958,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 waringSubjectIds.add(subjectId);
             }
         });
+
         if (waringSubjectIds.size() > 0) {
             List<Subject> waringSubjects = subjectDao.findBySubjectIds(waringSubjectIds);
             String waringSubjectStr = waringSubjects.stream().map(Subject::getName).collect(Collectors.joining(","));
@@ -998,8 +999,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
-
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY, "", sysUser.getRealName(), musicGroup.getName());
+        Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId());
+        integers.add(musicGroup.getEducationalTeacherId());
+        sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY, "", sysUser.getRealName(), musicGroup.getName());
 
     }
 
@@ -1064,14 +1066,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN,
                     map, null, 0, "1", "TEACHER", musicGroup.getName());
         }
-        Set<Integer> roleIds = new HashSet<>(5);
+        Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
-        roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
-        roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-        roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
-        roleIds.add(SysUserRole.DEAN_OF_STUDIES);
-
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_ACTION_GROUP, "1", musicGroup.getName());
+        Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId());
+        integers.add(musicGroup.getEducationalTeacherId());
+        sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_ACTION_GROUP, "1", musicGroup.getName());
 
         //统计变更学员数
         groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.NORMAL, null);
@@ -1104,7 +1103,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupDao.update(musicGroup);
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
-
         sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY, "", sysUser.getRealName(), musicGroup.getName());
 
     }
@@ -1162,8 +1160,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         // 添加成员
         imGroupMemberService.join(Long.parseLong(musicGroupId), userRoleMap);
         Set<Integer> roleIds = new HashSet<>(1);
-        roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()),
+        roleIds.add(musicGroup.getEducationalTeacherId());
+        sysMessageService.batchSeoMessage(roleIds,
                 MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_ADJUST_SUCCESS, "", musicGroup.getName());
         Map<Integer, String> map = new HashMap<>(1);
         map.put(musicGroup.getEducationalTeacherId(), musicGroup.getEducationalTeacherId().toString());
@@ -1366,11 +1364,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         //记录建团日志
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "取消乐团", sysUser.getId(), ""));
-        Set<Integer> roleIds = new HashSet<>(2);
+        Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
-        roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_STOP, "1", musicGroup.getName());
+        Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId());
+        integers.add(musicGroup.getEducationalTeacherId());
+        sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_STOP, "1", musicGroup.getName());
         return true;
     }
 
@@ -1508,13 +1506,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
 
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "延长缴费", sysUser.getId(), ""));
-        Set<Integer> roleIds = new HashSet<>(4);
-        roleIds.add(SysUserRole.SECTION_MANAGER);
-        roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
-        roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-        roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
-
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_LENGTHEN_PAYMENT, "", musicGroup.getName());
+        Set<Integer> roleIds = new HashSet<>(1);
+        roleIds.add(musicGroup.getEducationalTeacherId());
+        sysMessageService.batchSeoMessage(roleIds, MessageTypeEnum.BACKSTAGE_LENGTHEN_PAYMENT, "", musicGroup.getName());
         return true;
     }
 
@@ -1616,12 +1610,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         musicGroupQuitDao.insert(musicGroupQuit);
         Set<Integer> roleIds = new HashSet<>(1);
-        roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
+        roleIds.add(SysUserRole.SECTION_MANAGER);
+        Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId());
+        integers.add(musicGroup.getEducationalTeacherId());
         Map<String, Object> memo = new HashMap<>(2);
         memo.put("Id", musicGroupQuit.getId());
         memo.put("type", "MUSICGROUP");
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()),
+        sysMessageService.batchSeoMessage(integers,
                 MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP, JSONObject.toJSONString(memo), sysUser.getUsername());
         Map<Integer, String> receivers = new HashMap<>(1);
         receivers.put(musicGroup.getEducationalTeacherId(), musicGroup.getEducationalTeacherId().toString());
@@ -2605,11 +2601,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                         map, null, 0, "", "", musicGroup.getName(), studentApplyUrl, DateUtil.format(musicGroup.getPaymentExpireDate(), DateUtil.DATE_FORMAT_MIN), serverPhone);
             }
         }
-        Set<Integer> roleIds = new HashSet<>(3);
+        Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
-        roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
-        roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_ACTION_PAYMENT, "", musicGroup.getName());
+        Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId());
+        integers.add(musicGroup.getEducationalTeacherId());
+        sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_ACTION_PAYMENT, "", musicGroup.getName());
         return musicGroup;
     }
 
@@ -2715,7 +2711,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 //        }
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING, "", musicGroup.getName());
+        Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId());
+        integers.add(musicGroup.getEducationalTeacherId());
+        sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING, "", musicGroup.getName());
     }
 
     @Override

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

@@ -566,9 +566,11 @@ public class StudentManageServiceImpl implements StudentManageService {
     public void updateUser(SysUser sysUser) {
         studentManageDao.updateUser(sysUser);
         Student student = studentDao.get(sysUser.getId());
-        student.setCurrentGradeNum(sysUser.getCurrentGradeNum());
-        student.setCurrentClass(sysUser.getCurrentClass());
-        studentDao.update(student);
+        if(student != null) {
+            student.setCurrentGradeNum(sysUser.getCurrentGradeNum());
+            student.setCurrentClass(sysUser.getCurrentClass());
+            studentDao.update(student);
+        }
 //        StudentRegistration studentRegistration = new StudentRegistration();
 //        studentRegistration.setUserId(sysUser.getId());
 //        studentRegistration.setCurrentClass(sysUser.getCurrentClass());

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

@@ -209,11 +209,11 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             //修改专业已报名人数
             musicGroupSubjectPlanService.addApplyStudentNum(musicGroupId, subId, 1);
             MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-            Set<Integer> roleIds = new HashSet<>(2);
+            Set<Integer> roleIds = new HashSet<>(1);
             roleIds.add(SysUserRole.SECTION_MANAGER);
-            roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-
-            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_STUDENT_SUBJECT_CHANGE, "", musicGroup.getName());
+            Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId());
+            integers.add(musicGroup.getEducationalTeacherId());
+            sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_STUDENT_SUBJECT_CHANGE, "", musicGroup.getName());
         }
         return i;
     }
@@ -704,9 +704,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             studentRegistration.setTemporaryCourseFee(studentAddDto.getTemporaryCourseFee());
             //学生报名表
             Set<Integer> roleIds = new HashSet<>(1);
-            roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-
-            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_ADD_STUDENT, "", musicGroup.getName(), studentRegistration.getName());
+            roleIds.add(SysUserRole.SECTION_MANAGER);
+            Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId());
+            integers.add(musicGroup.getEducationalTeacherId());
+            sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_ADD_STUDENT, "", musicGroup.getName(), studentRegistration.getName());
             //增加报名学生数
             musicGroupSubjectPlanService.addApplyStudentNum(musicGroupId, studentRegistration.getSubjectId(), 1);
             //汇总金额

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

@@ -429,7 +429,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		}
 
 		Set<Integer> roleIds = new HashSet<>(1);
-		roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
+		roleIds.add(SysUserRole.SECTION_MANAGER);
 		Map<String,Long> memo = new HashMap<>(1);
 		memo.put("vipGroupId",vipGroupApplyBaseInfoDto.getId());
 //		SysUser sysUser = sysUserFeignService.queryUserById(vipGroup.getVipGroupApplyBaseInfo().getUserId());
@@ -440,6 +440,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if(CollectionUtils.isEmpty(userIds)){
 			throw new BizException("当前分部没有运营主管,无法创建,请联系总部工作人员!");
 		}
+		if(vipGroupApplyBaseInfoDto.getEducationalTeacherId() != null){
+			userIds.add(vipGroupApplyBaseInfoDto.getEducationalTeacherId());
+		}
 //		if (vipGroup.getVipGroupApplyBaseInfo().getUserId() != null){
 //			sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_VIP_COURSE_APPLY, JSONObject.toJSONString(memo),sysUser.getUsername(),sysUser.getUsername());
 //		}else {
@@ -1817,11 +1820,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		studentApplyRefunds.setUserId(userId);
 		studentApplyRefundsDao.insert(studentApplyRefunds);
 		Set<Integer> roleIds = new HashSet<>(1);
-		roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
+		roleIds.add(SysUserRole.SECTION_MANAGER);
+		Set<Integer> integers = musicGroupDao.queryUserIdByRoleId(roleIds, sysUser.getOrganId());
+		integers.add(vipGroup.getEducationalTeacherId());
 		Map<String,Object> memo = new HashMap<>(2);
 		memo.put("Id",studentApplyRefunds.getId());
 		memo.put("type","VIPGROUP");
-		sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,sysUser.getOrganId()),MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_COURSE,JSONObject.toJSONString(memo),sysUser.getUsername());
+		sysMessageService.batchSeoMessage(integers,MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_COURSE,JSONObject.toJSONString(memo),sysUser.getUsername());
 	}
 
 	@Override

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

@@ -506,7 +506,13 @@
         left join organization o on o.id_ = cs.organ_id_
         <include refid="findStudentAttendanceSql"/>
         GROUP BY cssp.id_
-        ORDER BY CONCAT(cs.class_date_, ' ', cs.start_class_time_) ASC
+        ORDER BY
+        <if test="courseScheduleId != null and orderFlag == 1">
+            <if test="courseScheduleId != null or (search != null and search != '')">
+                status_ DESC,visitFlag,
+            </if>
+        </if>
+        CONCAT(cs.class_date_, ' ', cs.start_class_time_) ASC
         <include refid="global.limit"/>
     </select>
     <sql id="findStudentAttendanceSql">

+ 12 - 10
mec-web/src/main/java/com/ym/mec/web/controller/student/StudentAttendanceController.java

@@ -71,17 +71,19 @@ public class StudentAttendanceController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-            Employee employee = employeeDao.get(sysUser.getId());
-            if (StringUtils.isEmpty(queryInfo.getOrganId())) {
-                queryInfo.setOrganId(employee.getOrganIdList());
-            }else if(StringUtils.isEmpty(employee.getOrganIdList())){
-                return failed("用户所在分部异常");
-            }else {
-                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-                if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
-                    return failed("非法请求");
-                }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+            return failed("用户所在分部异常");
+        }else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
+                return failed("非法请求");
             }
+        }
+        //按考勤状态和回访状态排序
+        queryInfo.setOrderFlag(true);
         return succeed(studentAttendanceService.findStudentAttendance(queryInfo));
     }