|
@@ -1,18 +1,29 @@
|
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.ym.mec.biz.dal.dao.CourseScheduleDao;
|
|
|
import com.ym.mec.biz.dal.dao.CourseScheduleModifyLogDao;
|
|
|
import com.ym.mec.biz.dal.dao.MusicGroupDao;
|
|
|
import com.ym.mec.biz.dal.entity.CourseSchedule;
|
|
|
import com.ym.mec.biz.dal.entity.CourseScheduleModifyLog;
|
|
|
+import com.ym.mec.biz.dal.entity.MusicGroup;
|
|
|
import com.ym.mec.biz.dal.enums.GroupType;
|
|
|
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
|
|
|
+import com.ym.mec.biz.dal.wrapper.SchoolStaffWrapper;
|
|
|
import com.ym.mec.biz.service.CourseScheduleModifyLogService;
|
|
|
+import com.ym.mec.biz.service.SchoolStaffService;
|
|
|
import com.ym.mec.biz.service.SysMessageService;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.Objects;
|
|
|
|
|
|
@Service
|
|
@@ -26,6 +37,8 @@ public class CourseScheduleModifyLogServiceImpl extends BaseServiceImpl<Integer,
|
|
|
private MusicGroupDao musicGroupDao;
|
|
|
@Autowired
|
|
|
private SysMessageService sysMessageService;
|
|
|
+ @Autowired
|
|
|
+ private SchoolStaffService schoolStaffService;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Integer, CourseScheduleModifyLog> getDAO() {
|
|
@@ -33,6 +46,11 @@ public class CourseScheduleModifyLogServiceImpl extends BaseServiceImpl<Integer,
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public CourseScheduleModifyLogDao getDao() {
|
|
|
+ return courseScheduleModifyLogDao;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public void pushSchoolCourseChange(long courseId) {
|
|
|
CourseSchedule courseSchedule = courseScheduleDao.get(courseId);
|
|
|
if(Objects.isNull(courseSchedule)){
|
|
@@ -41,8 +59,73 @@ public class CourseScheduleModifyLogServiceImpl extends BaseServiceImpl<Integer,
|
|
|
if(courseSchedule.getGroupType() != GroupType.MUSIC){
|
|
|
return;
|
|
|
}
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(courseSchedule.getMusicGroupId());
|
|
|
+ this.pushSchoolCourseChange(courseSchedule,musicGroup);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void pushSchoolCourseChange(CourseSchedule courseSchedule, MusicGroup musicGroup) {
|
|
|
+ if(musicGroup.getCooperationOrganId() != null){
|
|
|
+ IPage<SchoolStaffWrapper.SchoolStaff> page = schoolStaffService.selectPage(new Page<>(1, -1),
|
|
|
+ SchoolStaffWrapper.SchoolStaffQuery.builder().schoolId(musicGroup.getCooperationOrganId().longValue()).build());
|
|
|
+ List<SchoolStaffWrapper.SchoolStaff> records = page.getRecords();
|
|
|
+ if (CollectionUtils.isNotEmpty(records)) {
|
|
|
+ Map<Integer, String> usersMap = new HashMap<>(records.size());
|
|
|
+ records.stream().forEach(o -> usersMap.put(o.getUserId().intValue(), o.getUserId().toString()));
|
|
|
+
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.JIGUANG_SCHOOL_COURSE_CHANGE,
|
|
|
+ usersMap, null, 0, null,
|
|
|
+ "SCHOOL",musicGroup.getName(),courseSchedule.getType().getMsg());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void pushSchoolCourseChange(CourseSchedule courseSchedule) {
|
|
|
+ if(courseSchedule.getGroupType() != GroupType.MUSIC){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(courseSchedule.getMusicGroupId());
|
|
|
+ this.pushSchoolCourseChange(courseSchedule,musicGroup);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void pushSchoolCourseCreate(long courseId) {
|
|
|
+ CourseSchedule courseSchedule = courseScheduleDao.get(courseId);
|
|
|
+ if(Objects.isNull(courseSchedule)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(courseSchedule.getGroupType() != GroupType.MUSIC){
|
|
|
+ return;
|
|
|
+ }
|
|
|
String musicGroupId = courseSchedule.getMusicGroupId();
|
|
|
- musicGroupDao.get(musicGroupId);
|
|
|
- //TODO
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
|
|
|
+ this.pushSchoolCourseChange(courseSchedule,musicGroup);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void pushSchoolCourseCreate(CourseSchedule courseSchedule, MusicGroup musicGroup) {
|
|
|
+ if(musicGroup.getCooperationOrganId() != null){
|
|
|
+ IPage<SchoolStaffWrapper.SchoolStaff> page = schoolStaffService.selectPage(new Page<>(1, -1),
|
|
|
+ SchoolStaffWrapper.SchoolStaffQuery.builder().schoolId(musicGroup.getCooperationOrganId().longValue()).build());
|
|
|
+ List<SchoolStaffWrapper.SchoolStaff> records = page.getRecords();
|
|
|
+ if (CollectionUtils.isNotEmpty(records)) {
|
|
|
+ Map<Integer, String> usersMap = new HashMap<>(records.size());
|
|
|
+ records.stream().forEach(o -> usersMap.put(o.getUserId().intValue(), o.getUserId().toString()));
|
|
|
+
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.JIGUANG_SCHOOL_COURSE_CREATE,
|
|
|
+ usersMap, null, 0, null,
|
|
|
+ "SCHOOL",musicGroup.getName(),courseSchedule.getType().getMsg());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void pushSchoolCourseCreate(CourseSchedule courseSchedule) {
|
|
|
+ if(courseSchedule.getGroupType() != GroupType.MUSIC){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(courseSchedule.getMusicGroupId());
|
|
|
+ this.pushSchoolCourseChange(courseSchedule,musicGroup);
|
|
|
}
|
|
|
}
|