Browse Source

Merge remote-tracking branch 'origin/master'

周箭河 5 years ago
parent
commit
ee9551aac3
36 changed files with 389 additions and 242 deletions
  1. 0 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java
  2. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentWithdrawDao.java
  3. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectDao.java
  4. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDefaultVipGroupSalaryDao.java
  5. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherLeaveRecordDao.java
  6. 6 6
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendanceDto.java
  7. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseHomework.java
  8. 6 6
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java
  9. 9 9
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherAttendance.java
  10. 0 2
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java
  11. 9 31
      mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java
  12. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherDefaultVipGroupSalaryService.java
  13. 80 20
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  14. 8 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  15. 13 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  16. 16 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupStudentFeeServiceImpl.java
  17. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SmsCodeServiceImpl.java
  18. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentWithdrawServiceImpl.java
  19. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectServiceImpl.java
  20. 100 56
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java
  21. 30 15
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  22. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultVipGroupSalaryServiceImpl.java
  23. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherLeaveRecordServiceImpl.java
  24. 13 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  25. 9 0
      mec-biz/src/main/resources/config/mybatis/StudentWithdrawMapper.xml
  26. 13 17
      mec-biz/src/main/resources/config/mybatis/SubjectMapper.xml
  27. 1 1
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  28. 2 1
      mec-biz/src/main/resources/config/mybatis/VipGroupActivityMapper.xml
  29. 0 11
      mec-im/src/main/java/com/ym/service/Impl/UserServiceImpl.java
  30. 15 14
      mec-student/src/main/java/com/ym/mec/student/controller/SysMessageController.java
  31. 15 14
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMessageController.java
  32. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherDefaultVipGroupSalaryController.java
  33. 4 4
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/eseal/provider/TsignPlugin.java
  34. 14 1
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/MessageSenderPluginContext.java
  35. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java
  36. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherDefaultVipGroupSalaryController.java

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

@@ -85,7 +85,6 @@ public class UserController extends BaseController {
 	}
 
 	@ApiOperation(value = "设置密码")
-    @PreAuthorize("@pcs.hasPermissions('user/setPassword')")
 	@PostMapping(value = "/setPassword", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
 	@ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "password", value = "密码", required = true, dataType = "String") })

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentWithdrawDao.java

@@ -3,7 +3,16 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.entity.StudentWithdraw;
 import com.ym.mec.common.dal.BaseDAO;
 
+import java.util.List;
+
 public interface StudentWithdrawDao extends BaseDAO<Integer, StudentWithdraw> {
 
     StudentWithdraw getByUserId(Long userId);
+
+    /**
+     * 根据用户编号列表获取转账信息
+     * @param userIds
+     * @return
+     */
+    List<StudentWithdraw> queryByUserId(Integer userIds);
 }

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectDao.java

@@ -92,7 +92,7 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
      * @params [subjectIds]
      * @describe 根据科目编号获取部门编号, 部门名称
      */
-    List<Map<Long, String>> findBySubjecIds(@Param("subjectIds") List<String> subjectIds);
+    List<Map<Long, String>> findBySubjecIds(@Param("subjectIds") String subjectIds);
 
     /**
      * 获取子级列表
@@ -101,7 +101,7 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
      */
     List<Subject> findSubSubjects();
 
-    List<Subject> findBySubjectByIdList(@Param("subjectIdList") List<Integer> subjectIdList);
+    List<Subject> findBySubjectByIdList(@Param("subjectIdList") String subjectIdList);
 
     /**
      * @describe 获取乐团下对应用户的科目名称

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

@@ -13,7 +13,7 @@ public interface TeacherDefaultVipGroupSalaryDao extends BaseDAO<Long, TeacherDe
      * @Date: 2019/10/2
      * 根据教师和课程类型获取老师vip课默认薪酬
      */
-    TeacherDefaultVipGroupSalary findByTeacherAndCategory(@Param("userId") Long userId,
+    TeacherDefaultVipGroupSalary findByTeacherAndCategory(@Param("userId") Integer userId,
                                                           @Param("categoryId") Long categoryId);
 
     /**

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

@@ -16,7 +16,7 @@ public interface TeacherLeaveRecordDao extends BaseDAO<Long, TeacherLeaveRecord>
      * @param teacherIds:
      * @return java.util.List<com.ym.mec.biz.dal.entity.TeacherLeaveRecord>
      */
-    List<TeacherLeaveRecord> findByTeacherIds(@Param("teacherIds") List<Long> teacherIds,
+    List<TeacherLeaveRecord> findByTeacherIds(@Param("teacherIds") List<Integer> teacherIds,
                                               @Param("date")Date date);
 	
 }

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendanceDto.java

@@ -29,7 +29,7 @@ public class TeacherAttendanceDto {
     private java.util.Date endClassTime;
 
     @ApiModelProperty(value = "班级ID",required = false)
-    private Long classId;
+    private Integer classId;
 
     @ApiModelProperty(value = "班级名称",required = false)
     private String className;
@@ -38,7 +38,7 @@ public class TeacherAttendanceDto {
     private ClassGroupTypeEnum classType;
 
     @ApiModelProperty(value = "乐团ID",required = false)
-    private Long musicGroupId;
+    private String musicGroupId;
 
     @ApiModelProperty(value = "乐团名称",required = false)
     private String musicGroupName;
@@ -227,11 +227,11 @@ public class TeacherAttendanceDto {
         this.endClassTime = endClassTime;
     }
 
-    public Long getClassId() {
+    public Integer getClassId() {
         return classId;
     }
 
-    public void setClassId(Long classId) {
+    public void setClassId(Integer classId) {
         this.classId = classId;
     }
 
@@ -252,11 +252,11 @@ public class TeacherAttendanceDto {
         this.classType = classType;
     }
 
-    public Long getMusicGroupId() {
+    public String getMusicGroupId() {
         return musicGroupId;
     }
 
-    public void setMusicGroupId(Long musicGroupId) {
+    public void setMusicGroupId(String musicGroupId) {
         this.musicGroupId = musicGroupId;
     }
 

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseHomework.java

@@ -32,7 +32,7 @@ public class CourseHomework {
 	private Date expiryDate;
 	
 	/**  */
-	private Integer musicGroupId;
+	private String musicGroupId;
 	
 	/**  */
 	private Integer classGroupId;
@@ -115,11 +115,11 @@ public class CourseHomework {
 		return this.updateTime;
 	}
 			
-	public void setMusicGroupId(Integer musicGroupId){
+	public void setMusicGroupId(String musicGroupId){
 		this.musicGroupId = musicGroupId;
 	}
 	
-	public Integer getMusicGroupId(){
+	public String getMusicGroupId(){
 		return this.musicGroupId;
 	}
 			

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java

@@ -85,11 +85,11 @@ public class CourseSchedule {
 
 	/** 上课教师 */
 	@ApiModelProperty(value = "上课教师", required = false)
-	private Long teacherId;
+	private Integer teacherId;
 
 	/** 实际上课教师 */
 	@ApiModelProperty(value = "实际上课教师", required = false)
-	private Long actualTeacherId;
+	private Integer actualTeacherId;
 
 	@ApiModelProperty(value = "助教编号列表")
 	private List<Integer> teachingTeacherIdList;
@@ -249,19 +249,19 @@ public class CourseSchedule {
 		return this.endClassTime;
 	}
 
-	public Long getTeacherId() {
+	public Integer getTeacherId() {
 		return teacherId;
 	}
 
-	public void setTeacherId(Long teacherId) {
+	public void setTeacherId(Integer teacherId) {
 		this.teacherId = teacherId;
 	}
 
-	public Long getActualTeacherId() {
+	public Integer getActualTeacherId() {
 		return actualTeacherId;
 	}
 
-	public void setActualTeacherId(Long actualTeacherId) {
+	public void setActualTeacherId(Integer actualTeacherId) {
 		this.actualTeacherId = actualTeacherId;
 	}
 

+ 9 - 9
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherAttendance.java

@@ -16,15 +16,15 @@ public class TeacherAttendance {
 	
 	/**  */
 	@ApiModelProperty(value = "教师编号",required = false)
-	private Long teacherId;
+	private Integer teacherId;
 	
 	/**  */
 	@ApiModelProperty(value = "乐团编号",required = false)
-	private Long musicGroupId;
+	private String musicGroupId;
 	
 	/**  */
 	@ApiModelProperty(value = "班级编号",required = false)
-	private Long classGroupId;
+	private Integer classGroupId;
 	
 	/**  */
 	@ApiModelProperty(value = "课程计划编号",required = false)
@@ -86,27 +86,27 @@ public class TeacherAttendance {
 		this.id = id;
 	}
 
-	public Long getTeacherId() {
+	public Integer getTeacherId() {
 		return teacherId;
 	}
 
-	public void setTeacherId(Long teacherId) {
+	public void setTeacherId(Integer teacherId) {
 		this.teacherId = teacherId;
 	}
 
-	public Long getMusicGroupId() {
+	public String getMusicGroupId() {
 		return musicGroupId;
 	}
 
-	public void setMusicGroupId(Long musicGroupId) {
+	public void setMusicGroupId(String musicGroupId) {
 		this.musicGroupId = musicGroupId;
 	}
 
-	public Long getClassGroupId() {
+	public Integer getClassGroupId() {
 		return classGroupId;
 	}
 
-	public void setClassGroupId(Long classGroupId) {
+	public void setClassGroupId(Integer classGroupId) {
 		this.classGroupId = classGroupId;
 	}
 

+ 0 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -1,7 +1,6 @@
 package com.ym.mec.biz.service;
 
 import java.math.BigDecimal;
-import java.time.LocalDate;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -17,7 +16,6 @@ import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
 import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 
 public interface MusicGroupService extends BaseService<String, MusicGroup> {

+ 9 - 31
mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java

@@ -1,35 +1,16 @@
 package com.ym.mec.biz.service;
 
+import java.util.Date;
+import java.util.Map;
+
 import com.ym.mec.biz.dal.entity.SysMessage;
-import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
-import com.ym.mec.biz.dal.enums.SendStatusEnum;
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 
-import java.util.Date;
-
 public interface SysMessageService extends BaseService<Long, SysMessage> {
 
 	/**
-	 * 添加消息
-	 * @param userId 用户编号
-	 * @param subject 消息主题
-	 * @param content 消息内容
-	 * @param receivers 接收人,多个人用逗号分开
-	 * @param triggerTime 触发时间
-	 * @param mode 消息的发送模式
-	 * @param status 消息的当前状态
-	 * @param errorMsg 错误消息
-	 * @param readStatus 阅读状态
-	 * @param memo 备注
-	 * @param group 消息组
-	 * @return
-	 */
-	public int addMessage(Integer userId, String subject, String content, String receivers, Date triggerTime, MessageSendMode mode, SendStatusEnum status,
-			String errorMsg, Integer readStatus, String memo, String group);
-
-	/**
 	 * 修改消息对象
 	 * @param message
 	 * @return
@@ -39,30 +20,27 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	/**
 	 * 批量发送消息
 	 * @param messageSender 消息发送者
-	 * @param mode 消息模式
 	 * @param subject 消息主题
 	 * @param content 消息内容
 	 * @param receivers 消息接受者
 	 * @param triggerTime 触发时间
 	 * @return
 	 */
-	public boolean batchSendMessage(MessageSender messageSender, MessageSendMode mode, String subject, String content, String receivers, Date triggerTime,
+	public boolean batchSendMessage(MessageSender messageSender, String subject, String content, Map<Integer, String> receivers, Date triggerTime,
 			Integer readStatus, String memo);
 
 	/**
 	 * 发送消息
 	 * @param messageSender 消息发送者
-	 * @param userId 用户编号
-	 * @param mode 消息模式
 	 * @param messageType 消息类型
-	 * @param receivers 消息接受者(多个用户用逗号分隔)
+	 * @param receivers 消息接收者(Key:用户编号  value:消息接收对象)
 	 * @param triggerTime 触发时间
 	 * @param readStatus 阅读状态(0-未读  1-已读)
 	 * @param url 超链接地址
 	 * @param args 参数
 	 * @return
 	 */
-	public void sendMessage(MessageSender messageSender, Integer userId, MessageSendMode mode, MessageTypeEnum messageType, String receivers, Date triggerTime,
+	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum messageType, Map<Integer, String> receivers, Date triggerTime,
 			Integer readStatus, String url, Object... args);
 
 	/**
@@ -78,8 +56,8 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param url 超链接地址
 	 * @return
 	 */
-	public void sendMessage(MessageSender messageSender, Integer userId, MessageSendMode mode, String title, String content, String receiver, Date triggerTime,
-			Integer readStatus, String url);
+	public void sendMessage(MessageSender messageSender, Integer userId, String title, String content, String receiver, Date triggerTime, Integer readStatus,
+			String url);
 
 	/**
 	 * 发送验证码
@@ -90,7 +68,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param receiver 消息接受者
 	 * @return
 	 */
-	public boolean sendSecurityCode(MessageSender messageSender, Integer userId, MessageSendMode mode, MessageTypeEnum messageType, String receiver);
+	public boolean sendSecurityCode(MessageSender messageSender, Integer userId, MessageTypeEnum messageType, String receiver);
 
 	/**
 	 * 获取已经发送的验证码

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherDefaultVipGroupSalaryService.java

@@ -14,7 +14,7 @@ public interface TeacherDefaultVipGroupSalaryService extends BaseService<Long, T
      * @return com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary
      * @describe 根据用户及课程类型获取教师默认vip课酬
      */
-    TeacherDefaultVipGroupSalary findByTeacherAndCategory(Long userId, Long categoryId);
+    TeacherDefaultVipGroupSalary findByTeacherAndCategory(Integer userId, Long categoryId);
 
     /**
      * 批量新增修改教师vip课酬设置

+ 80 - 20
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1,16 +1,89 @@
 package com.ym.mec.biz.service.impl;
 
+import java.math.BigDecimal;
+import java.time.Duration;
+import java.time.Instant;
+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.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.stream.Collectors;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
 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.*;
-import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.dal.dao.ClassGroupDao;
+import com.ym.mec.biz.dal.dao.ClassGroupRelationDao;
+import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
+import com.ym.mec.biz.dal.dao.ClassGroupTeacherMapperDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleStudentPaymentDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
+import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
+import com.ym.mec.biz.dal.dao.SchoolDao;
+import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
+import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
+import com.ym.mec.biz.dal.dao.VipGroupActivityDao;
+import com.ym.mec.biz.dal.dao.VipGroupDao;
+import com.ym.mec.biz.dal.dto.ClassGroup4MixDto;
+import com.ym.mec.biz.dal.dto.ClassGroupTeachersDto;
+import com.ym.mec.biz.dal.dto.CourseListDto;
+import com.ym.mec.biz.dal.dto.CourseTimeDto;
+import com.ym.mec.biz.dal.dto.HighClassGroupDto;
+import com.ym.mec.biz.dal.dto.MusicGroupClassGroupDto;
+import com.ym.mec.biz.dal.dto.MusicGroupCourseScheduleDto;
+import com.ym.mec.biz.dal.dto.StudentAttendanceViewDto;
+import com.ym.mec.biz.dal.dto.StudentPayInfoDto;
+import com.ym.mec.biz.dal.dto.TeacherClassGroupDto;
+import com.ym.mec.biz.dal.dto.TeacherClassHeadInfo;
+import com.ym.mec.biz.dal.dto.TeacherMusicClassInfoDto;
+import com.ym.mec.biz.dal.dto.TeacherVipClassInfoDto;
+import com.ym.mec.biz.dal.entity.ClassGroup;
+import com.ym.mec.biz.dal.entity.ClassGroupRelation;
+import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
+import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.biz.dal.entity.Subject;
+import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
+import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.biz.dal.enums.CourseStatusEnum;
+import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
+import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
+import com.ym.mec.biz.dal.enums.TeachModeEnum;
+import com.ym.mec.biz.dal.enums.TeachTypeEnum;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
 import com.ym.mec.biz.dal.page.VipClassQueryInfo;
 import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
-import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.service.ClassGroupRelationService;
+import com.ym.mec.biz.service.ClassGroupService;
+import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
+import com.ym.mec.biz.service.StudentRegistrationService;
+import com.ym.mec.biz.service.SubjectService;
+import com.ym.mec.biz.service.TeacherDefaultMusicGroupSalaryService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupMember;
 import com.ym.mec.common.entity.ImGroupModel;
@@ -24,19 +97,6 @@ import com.ym.mec.jiari.JiaRiFeignService;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateConvertor;
 import com.ym.mec.util.date.DateUtil;
-import jdk.nashorn.internal.ir.WhileNode;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
-import java.math.BigDecimal;
-import java.time.*;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-import java.util.stream.Collectors;
 
 @Service
 public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup> implements ClassGroupService {
@@ -284,8 +344,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     courseSchedule.setClassDate(classDate);
                     courseSchedule.setStartClassTime(DateUtil.stringToDate(startClassTime));
                     courseSchedule.setEndClassTime(DateUtil.stringToDate(endClassTime));
-                    courseSchedule.setTeacherId(highClassGroup.getUserId().longValue());
-                    courseSchedule.setActualTeacherId(highClassGroup.getUserId().longValue());
+                    courseSchedule.setTeacherId(highClassGroup.getUserId());
+                    courseSchedule.setActualTeacherId(highClassGroup.getUserId());
                     courseSchedule.setCreateTime(date);
                     courseSchedule.setUpdateTime(date);
                     courseSchedule.setTeachMode(TeachModeEnum.OFFLINE);

+ 8 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -269,15 +269,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 						.collect(Collectors.collectingAndThen(Collectors.toCollection(()
 								-> new TreeSet<CourseSchedule>(Comparator.comparing(o -> o.getStartClassTime() + "-" + o.getEndClassTime()))), ArrayList::new));
 				if(collect2.size()!=currentCourses.size()){
-					throw new BizException("课程安排上存在在同一时间开课的课程");
+					throw new BizException("建课失败,当前课程安排与现有课程冲突,请调整相关设置");
 				}
 			}else{
 				for(Date keyDate2:collect1.keySet()){
 					List<CourseSchedule> currentCourses1=collect1.get(keyDate2);
 					if(currentCourses1.size()>ParamEnum.ONE.getCode()){
-						Map<Long, List<CourseSchedule>> collect2 = currentCourses1.stream().collect(
+						Map<Integer, List<CourseSchedule>> collect2 = currentCourses1.stream().collect(
 								Collectors.groupingBy(CourseSchedule::getTeacherId));
-						for (Long teacherID:collect2.keySet()){
+						for (Integer teacherID:collect2.keySet()){
 							if(collect2.get(teacherID).size()>ParamEnum.ONE.getCode()){
 								throw new BizException(new SimpleDateFormat("yyyy-MM-dd").format(keyDate)+"日的课程安排在教师分配上有冲突!");
 							}
@@ -614,9 +614,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 		List<CourseSchedule> list = courseScheduleDao.queryNoSignInListByBeforeMinutes(minutes);
 
-		String teacherList = list.stream().map(cs -> cs.getActualTeacherId().toString()).collect(Collectors.joining(","));
+		Map<Integer, String> receivers = new HashMap<Integer, String>();
+		for (CourseSchedule sf : list) {
+			receivers.put(sf.getTeacherId(), sf.getTeacherId() + "");
+		}
 
-		sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageSendMode.PUSH, "", "", teacherList, null, 0, "");
+		sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_SIGN_IN_MESSAGE, receivers, null, 0, "");
 		return true;
 	}
 

+ 13 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -17,8 +17,10 @@ import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 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;
@@ -98,6 +100,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
     @Autowired
     private SysUserFeignService sysUserFeignService;
+	
+	@Autowired
+	private SysMessageService sysMessageService;
 
     @Override
     public BaseDAO<String, MusicGroup> getDAO() {
@@ -156,11 +161,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (musicGroupSubjectPlans != null) {
             musicGroupSubjectPlanDao.batchAdd(musicGroupSubjectPlans,musicGroupId);
         }
-//        musicGroupSubjectPlans.forEach(e -> {
-//            e.setMusicGroupId(musicGroupId);
-//            musicGroupSubjectPlanDao.insert(e);
-//        });
-
         // 保存乐团声部商品规划
         if (musicGroupSubjectGoodsGroups != null) {
             musicGroupSubjectGoodsGroupDao.batchInsert(musicGroupSubjectGoodsGroups,musicGroupId);
@@ -500,6 +500,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupStudentFee.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId));
 
         musicGroupStudentFeeDao.update(musicGroupStudentFee);
+        
+		SysUser user = sysUserFeignService.queryUserById(userId);
+		Map<Integer, String> receivers = new HashMap<Integer, String>();
+		receivers.put(user.getId(), userId + "");
+
+		// 发送续费结果通知
+		sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_RENEW_RESULT, receivers, null, 0, "",
+				user.getRealName());
 
         return true;
     }

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupStudentFeeServiceImpl.java

@@ -2,7 +2,9 @@ package com.ym.mec.biz.service.impl;
 
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -12,10 +14,13 @@ import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
 import com.ym.mec.biz.dal.entity.SysConfig;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.service.MusicGroupStudentFeeService;
 import com.ym.mec.biz.service.SysConfigService;
+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.MessageSender;
 
 @Service
 public class MusicGroupStudentFeeServiceImpl extends BaseServiceImpl<Long, MusicGroupStudentFee> implements MusicGroupStudentFeeService {
@@ -26,6 +31,9 @@ public class MusicGroupStudentFeeServiceImpl extends BaseServiceImpl<Long, Music
 	@Autowired
 	private SysConfigDao sysConfigDao;
 
+	@Autowired
+	private SysMessageService sysMessageService;
+
 	@Override
 	public BaseDAO<Long, MusicGroupStudentFee> getDAO() {
 		return musicGroupStudentFeeDao;
@@ -57,6 +65,14 @@ public class MusicGroupStudentFeeServiceImpl extends BaseServiceImpl<Long, Music
 
 		if (updateList.size() > 0) {
 			musicGroupStudentFeeDao.batchUpdate(updateList);
+
+			Map<Integer, String> receivers = new HashMap<Integer, String>();
+			for (MusicGroupStudentFee sf : updateList) {
+				receivers.put(sf.getUserId(), sf.getUserId() + "");
+			}
+
+			// 发送续费通知
+			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, receivers, null, 0, "");
 		}
 
 		// int i = DateUtil.daysBetween(new Date(), musicGroupStudentFee.getNextPaymentDate());

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SmsCodeServiceImpl.java

@@ -43,7 +43,7 @@ public class SmsCodeServiceImpl implements SmsCodeService {
 		if(sysUser != null){
 			userId = sysUser.getId();
 		}
-		sysMessageService.sendSecurityCode(MessageSenderPluginContext.MessageSender.YIMEI,userId,MessageSendMode.SMS, MessageTypeEnum.SMS_VERIFY_CODE_LOGIN,mobile);
+		sysMessageService.sendSecurityCode(MessageSenderPluginContext.MessageSender.YIMEI,userId, MessageTypeEnum.SMS_VERIFY_CODE_LOGIN,mobile);
 //		sysMessageService.insert(new SysMessage("",content, MessageSendMode.SMS,mobile,userId,""));
 //		redisCache.put(loginVerifyCodeKey + mobile, code, expireTime);
 		return true;

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentWithdrawServiceImpl.java

@@ -123,6 +123,7 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
 		accountDetailPageInfo.getRows().forEach(data -> {
 			WithdrawInfoDto withdrawInfoDto = new WithdrawInfoDto();
 			StudentWithdraw studentWithdraw = studentWithdrawDao.getByUserId(data.getUserId().longValue());
+			List<StudentWithdraw> studentWithdraws = studentWithdrawDao.queryByUserId(data.getUserId());
 			withdrawInfoDto.setWithdrawId(studentWithdraw.getWithdrawNo());
 			withdrawInfoDto.setDateTime(DateUtil.date2ChineseDate(studentWithdraw.getCreateTime()));
 			withdrawInfoDto.setAmount(data.getAmount());

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

@@ -155,7 +155,7 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
         String[] split = subjectIdsString.split(",");
         List<String> subjectIds=new ArrayList<>(Arrays.asList(split));
         subjectIds = subjectIds.stream().distinct().collect(Collectors.toList());
-        List<Map<Long, String>> bySubjecIds = subjectDao.findBySubjecIds(subjectIds);
+        List<Map<Long, String>> bySubjecIds = subjectDao.findBySubjecIds(StringUtils.join(subjectIds,","));
         Map<Long,String> subjectIdAndName = MapUtil.convertMybatisMap(bySubjecIds);
         return subjectIdAndName;
     }
@@ -167,6 +167,6 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
 
     @Override
     public List<Subject> findBySubjectByIdList(List<Integer> subjectIdList) {
-        return subjectDao.findBySubjectByIdList(subjectIdList);
+        return subjectDao.findBySubjectByIdList(StringUtils.join(subjectIdList,","));
     }
 }

+ 100 - 56
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -1,5 +1,21 @@
 package com.ym.mec.biz.service.impl;
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Random;
+
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.SysMessageDao;
@@ -17,18 +33,6 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.string.MessageFormatter;
-import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Async;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Random;
 
 @Service
 public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> implements SysMessageService {
@@ -66,43 +70,61 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		return sysMessageDao;
 	}
 
-	@Override
-	public int addMessage(Integer userId, String subject, String content, String receivers, Date triggerTime, MessageSendMode mode, SendStatusEnum status,
+	/**
+	 * 添加消息
+	 * @param userId 用户编号
+	 * @param subject 消息主题
+	 * @param content 消息内容
+	 * @param receivers 接收人,多个人用逗号分开
+	 * @param triggerTime 触发时间
+	 * @param mode 消息的发送模式
+	 * @param status 消息的当前状态
+	 * @param errorMsg 错误消息
+	 * @param readStatus 阅读状态
+	 * @param memo 备注
+	 * @param group 消息组
+	 * @return
+	 */
+	private int addMessage(Map<Integer, String> receivers, String subject, String content, Date triggerTime, MessageSendMode mode, SendStatusEnum status,
 			String errorMsg, Integer readStatus, String memo, String group) {
 		SysMessage message = null;
 		Date date = new Date();
 
 		List<SysMessage> messages = new ArrayList<SysMessage>();
-		String[] tels = StringUtils.split(receivers, ',');
-		if (tels != null && tels.length > 0) {
-			for (String tel : tels) {
-				message = new SysMessage();
-				if (userId == null) {
-					SysUser user = sysUserFeignService.queryUserByMobile(tel);
-					if (user != null) {
-						userId = user.getId();
-					}
-				}
-				message.setUserId(userId);
-				message.setContent(content);
-				message.setCreateOn(date);
-				message.setModifyOn(date);
-				message.setReceiver(tel);
-				if (triggerTime == null) {
-					triggerTime = date;
+
+		Integer userId = null;
+		String receiver;
+		for (Entry<Integer, String> entry : receivers.entrySet()) {
+			userId = entry.getKey();
+			receiver = entry.getValue();
+
+			message = new SysMessage();
+			if (userId == null) {
+				SysUser user = sysUserFeignService.queryUserByMobile(receiver);
+				if (user != null) {
+					userId = user.getId();
 				}
-				message.setSendTime(triggerTime);
-				message.setTitle(subject);
-				message.setStatus(status);
-				message.setType(mode);
-				message.setErrorMsg(errorMsg);
-				message.setReadStatus(readStatus);
-				message.setMemo(memo);
-				message.setGroup(group);
-
-				messages.add(message);
 			}
+			message.setUserId(userId);
+			message.setContent(content);
+			message.setCreateOn(date);
+			message.setModifyOn(date);
+			message.setReceiver(receiver);
+			if (triggerTime == null) {
+				triggerTime = date;
+			}
+			message.setSendTime(triggerTime);
+			message.setTitle(subject);
+			message.setStatus(status);
+			message.setType(mode);
+			message.setErrorMsg(errorMsg);
+			message.setReadStatus(readStatus);
+			message.setMemo(memo);
+			message.setGroup(group);
+
+			messages.add(message);
 		}
+
 		return sysMessageDao.batchInsert(messages);
 	}
 
@@ -113,16 +135,16 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 
 	@Override
 	@Async
-	public boolean batchSendMessage(MessageSender messageSender, MessageSendMode mode, String subject, String content, String receivers, Date triggerTime,
+	public boolean batchSendMessage(MessageSender messageSender, String subject, String content, Map<Integer, String> receivers, Date triggerTime,
 			Integer readStatus, String memo) {
 
-		if (StringUtils.isBlank(receivers)) {
+		if (receivers == null || receivers.size() == 0) {
 			throw new BizException("消息接收人不能为空");
 		}
 		if (StringUtils.isBlank(content)) {
 			throw new BizException("消息内容不能为空");
 		}
-		String[] tos = StringUtils.split(receivers, ',');
+		String[] tos = receivers.values().toArray(new String[receivers.size()]);
 		if (tos != null && tos.length > 0) {
 			Date date = new Date();
 			SendStatusEnum status = SendStatusEnum.WAIT;
@@ -143,7 +165,13 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 				errorMsg = e.getMessage();
 				LOGGER.warn("消息发送失败", e);
 			}
-			return addMessage(null, subject, content, receivers, triggerTime, mode, status, errorMsg, readStatus, memo, null) > 0;
+			MessageSendMode mode = MessageSendMode.SMS;
+			if (messageSender.getSendMode().equals("PUSH")) {
+				mode = MessageSendMode.PUSH;
+			} else if (messageSender.getSendMode().equals("EMAIL")) {
+				mode = MessageSendMode.EMAIL;
+			}
+			return addMessage(receivers, subject, content, triggerTime, mode, status, errorMsg, readStatus, memo, null) > 0;
 		}
 
 		return false;
@@ -151,13 +179,13 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 
 	@Override
 	@Async
-	public void sendMessage(MessageSender messageSender, Integer userId, MessageSendMode mode, MessageTypeEnum type, String receivers, Date triggerTime,
-							Integer readStatus, String url, Object... args) {
+	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum type, Map<Integer, String> receivers, Date triggerTime, Integer readStatus,
+			String url, Object... args) {
 
-		if (StringUtils.isBlank(receivers)) {
+		if (receivers == null || receivers.size() == 0) {
 			throw new BizException("接收地址不能为空");
 		}
-		String[] tos = StringUtils.split(receivers, ',');
+		String[] tos = receivers.values().toArray(new String[receivers.size()]);
 		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type);
 		if (messageConfig == null) {
 			throw new BizException("消息类型错误");
@@ -182,14 +210,20 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 				LOGGER.warn("消息发送失败", e);
 			}
 		}
-		addMessage(userId, type.getCode(), MessageFormatter.arrayFormat(messageConfig.getContent(), args), receivers, triggerTime, mode, status, errorMsg,
-				readStatus, url, messageConfig.getGroup());
+		MessageSendMode mode = MessageSendMode.SMS;
+		if (messageSender.getSendMode().equals("PUSH")) {
+			mode = MessageSendMode.PUSH;
+		} else if (messageSender.getSendMode().equals("EMAIL")) {
+			mode = MessageSendMode.EMAIL;
+		}
+		addMessage(receivers, type.getCode(), MessageFormatter.arrayFormat(messageConfig.getContent(), args), triggerTime, mode, status, errorMsg, readStatus,
+				url, messageConfig.getGroup());
 	}
 
 	@Override
 	@Async
-	public void sendMessage(MessageSender messageSender, Integer userId, MessageSendMode mode, String title, String content, String receiver, Date triggerTime,
-			Integer readStatus, String url) {
+	public void sendMessage(MessageSender messageSender, Integer userId, String title, String content, String receiver, Date triggerTime, Integer readStatus,
+			String url) {
 		if (StringUtils.isBlank(receiver)) {
 			throw new BizException("接收地址不能为空");
 		}
@@ -211,11 +245,19 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 				LOGGER.warn("消息发送失败", e);
 			}
 		}
-		addMessage(userId, title, content, receiver, triggerTime, mode, status, errorMsg, readStatus, url, null);
+		MessageSendMode mode = MessageSendMode.SMS;
+		if (messageSender.getSendMode().equals("PUSH")) {
+			mode = MessageSendMode.PUSH;
+		} else if (messageSender.getSendMode().equals("EMAIL")) {
+			mode = MessageSendMode.EMAIL;
+		}
+		Map<Integer, String> receivers = new HashMap<Integer, String>();
+		receivers.put(userId, receiver);
+		addMessage(receivers, title, content, triggerTime, mode, status, errorMsg, readStatus, url, null);
 	}
 
 	@Override
-	public boolean sendSecurityCode(MessageSender messageSender, Integer userId, MessageSendMode mode, MessageTypeEnum messageType, String receiver) {
+	public boolean sendSecurityCode(MessageSender messageSender, Integer userId, MessageTypeEnum messageType, String receiver) {
 		String key1 = getVerificationCode1CacheKey(messageType, receiver);
 		if (redisCache.get(key1) != null) {
 			throw new BizException("请勿频繁操作,获取验证码间隔时间为60秒");
@@ -226,7 +268,9 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		if (debugMode == false) {
 			code = getRandomCode(messageType, receiver);
 		}
-		sendMessage(messageSender, userId, mode, messageType, receiver, null, 1, "", code);
+		Map<Integer, String> receivers = new HashMap<Integer, String>();
+		receivers.put(userId, receiver);
+		batchSendMessage(messageSender, messageType, receivers, null, 1, "", code);
 		redisCache.put(key, code, CODE_EXPIRE);
 		redisCache.put(key1, code, CODE_INTERVAL_TIME);
 		return true;

+ 30 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -1,8 +1,23 @@
 package com.ym.mec.biz.service.impl;
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 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.dao.CourseScheduleDao;
+import com.ym.mec.biz.dal.dao.StudentAttendanceDao;
+import com.ym.mec.biz.dal.dao.StudentCourseHomeworkDao;
+import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
 import com.ym.mec.biz.dal.dto.TeacherAbnormalAttendanceInfoDto;
 import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
 import com.ym.mec.biz.dal.dto.TeacherPersonalAttendanceDto;
@@ -11,12 +26,16 @@ import com.ym.mec.biz.dal.entity.CourseHomework;
 import com.ym.mec.biz.dal.entity.StudentCourseHomework;
 import com.ym.mec.biz.dal.entity.SysConfig;
 import com.ym.mec.biz.dal.entity.TeacherAttendance;
-import com.ym.mec.biz.dal.enums.MessageSendMode;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.ParamEnum;
 import com.ym.mec.biz.dal.enums.SignStatusEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
-import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.service.CourseHomeworkService;
+import com.ym.mec.biz.service.CourseScheduleService;
+import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.TeacherAttendanceService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
@@ -24,13 +43,6 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
-import org.apache.commons.lang.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.*;
-import java.util.stream.Collectors;
 
 @Service
 public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherAttendance>  implements TeacherAttendanceService {
@@ -79,7 +91,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 
 		if(Objects.isNull(teacherAttendance)){
 			teacherAttendance=teacherSignOutDto.getTeacherAttendanceInfo();
-			teacherAttendance.setTeacherId(Long.valueOf(user.getId()));
+			teacherAttendance.setTeacherId(user.getId());
 		}else{
 			isAttendance=true;
 		}
@@ -145,7 +157,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			//新增课堂作业
 			CourseHomework courseHomework=teacherSignOutDto.getCourseHomeworkInfo();
 			courseHomework.setCourseScheduleId(teacherAttendance.getCourseScheduleId());
-			courseHomework.setMusicGroupId(currentCourseDetail.getMusicGroupId().intValue());
+			courseHomework.setMusicGroupId(currentCourseDetail.getMusicGroupId());
 			courseHomework.setClassGroupId(currentCourseDetail.getClassId().intValue());
 			courseHomework.setExpectNum(studentAttendanceDao.countNormalAttendanceStudentNums(teacherAttendance.getCourseScheduleId()));
 			courseHomeworkService.insert(courseHomework);
@@ -191,9 +203,12 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		
 		List<TeacherAttendance> list = teacherAttendanceDao.queryNoSignOutListByOverMinutes(minutes);
 		
-		String teacherList = list.stream().map(ta -> ta.getTeacherId().toString()).collect(Collectors.joining(","));
-		
-		sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageSendMode.PUSH, "", "", teacherList, null, 0, "");
+		Map<Integer, String> receivers = new HashMap<Integer, String>();
+		for (TeacherAttendance sf : list) {
+			receivers.put(sf.getTeacherId(), sf.getTeacherId() + "");
+		}
+
+		sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_SIGN_OUT_MESSAGE, receivers, null, 0, "");
 		return true;
 	}
 

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultVipGroupSalaryServiceImpl.java

@@ -23,7 +23,7 @@ public class TeacherDefaultVipGroupSalaryServiceImpl extends BaseServiceImpl<Lon
 	}
 
 	@Override
-	public TeacherDefaultVipGroupSalary findByTeacherAndCategory(Long userId, Long categoryId) {
+	public TeacherDefaultVipGroupSalary findByTeacherAndCategory(Integer userId, Long categoryId) {
 		return teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(userId,categoryId);
 	}
 

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherLeaveRecordServiceImpl.java

@@ -117,7 +117,7 @@ public class TeacherLeaveRecordServiceImpl extends BaseServiceImpl<Long, Teacher
 	@Override
 	public void checkCourseSchedulePlansExitLeaveRecord(List<CourseSchedule> courseSchedules){
 		Date now=new Date();
-		List<Long> teacherIds = courseSchedules.stream().map(CourseSchedule::getActualTeacherId).collect(Collectors.toList());
+		List<Integer> teacherIds = courseSchedules.stream().map(CourseSchedule::getActualTeacherId).collect(Collectors.toList());
 		List<TeacherLeaveRecord> teacherLeaveRecords = teacherLeaveRecordDao.findByTeacherIds(teacherIds, now);
 		Map<Integer, List<TeacherLeaveRecord>> teacherLeaveRecordByTeacher = teacherLeaveRecords.stream().collect(Collectors.groupingBy(TeacherLeaveRecord::getUserId));
 		courseSchedules.forEach(courseSchedule -> {

+ 13 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -108,7 +108,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		}
 
 	    if(vipGroup.getCourseSchedules().size()!=(vipGroup.getVipGroupApplyBaseInfo().getOfflineClassesNum()+vipGroup.getVipGroupApplyBaseInfo().getOnlineClassesNum())){
-	        throw new BizException("课时总数不匹配!");
+	        throw new BizException("建课失败,当前课程存在未排课课程,请调整相关设置");
         }
 
 		Map<TeachModeEnum, List<CourseSchedule>> courseScheduleGroup = null;
@@ -120,12 +120,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		if((Objects.isNull(courseScheduleGroup.get(TeachModeEnum.OFFLINE))&&vipGroup.getVipGroupApplyBaseInfo().getOfflineClassesNum()!=0)
 				||(!Objects.isNull(courseScheduleGroup.get(TeachModeEnum.OFFLINE))&&(courseScheduleGroup.get(TeachModeEnum.OFFLINE).size()<vipGroup.getVipGroupApplyBaseInfo().getOfflineClassesNum()))){
-	        throw new BizException("线下课课时数量安排有误!");
+	        throw new BizException("线下课课时数量安排有误");
         }
 
         if((Objects.isNull(courseScheduleGroup.get(TeachModeEnum.ONLINE))&&vipGroup.getVipGroupApplyBaseInfo().getOnlineClassesNum()!=0)
 				||(!Objects.isNull(courseScheduleGroup.get(TeachModeEnum.ONLINE))&&(courseScheduleGroup.get(TeachModeEnum.ONLINE).size()<vipGroup.getVipGroupApplyBaseInfo().getOnlineClassesNum()))){
-            throw new BizException("线上课课时数量安排有误!");
+            throw new BizException("线上课课时数量安排有误");
         }
 
 		SysUser sysUser = sysUserFeignService.queryUserById(vipGroup.getVipGroupApplyBaseInfo().getUserId());
@@ -219,12 +219,18 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		//创建班级老师关联记录
 		ClassGroupTeacherMapper classGroupTeacherMapper=new ClassGroupTeacherMapper();
+		classGroupTeacherMapper.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
+		classGroupTeacherMapper.setClassGroupId(classGroup.getId());
 		classGroupTeacherMapper.setTeacherRole(TeachTypeEnum.BISHOP);
 		classGroupTeacherMapper.setUserId(vipGroupApplyBaseInfoDto.getUserId());
+		classGroupTeacherMapper.setCreateTime(now);
+		classGroupTeacherMapper.setUpdateTime(now);
 		classGroupTeacherMapperDao.insert(classGroupTeacherMapper);
 
 		//创建班级与老师课酬记录
 		ClassGroupTeacherSalary classGroupTeacherSalary=new ClassGroupTeacherSalary();
+		classGroupTeacherSalary.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
+		classGroupTeacherSalary.setClassGroupId(classGroup.getId());
 		classGroupTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
 		classGroupTeacherSalary.setUserId(vipGroupApplyBaseInfoDto.getUserId());
 		classGroupTeacherSalary.setSalary(vipGroupApplyBaseInfoDto.getOfflineTeacherSalary());
@@ -234,8 +240,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		//课程信息调整
 		vipGroup.getCourseSchedules().forEach(courseSchedule -> {
 		    courseSchedule.setSchoolId(vipGroup.getVipGroupApplyBaseInfo().getTeacherSchoolId());
-		    courseSchedule.setTeacherId(vipGroupApplyBaseInfoDto.getUserId().longValue());
-			courseSchedule.setActualTeacherId(vipGroupApplyBaseInfoDto.getUserId().longValue());
+		    courseSchedule.setTeacherId(vipGroupApplyBaseInfoDto.getUserId());
+			courseSchedule.setActualTeacherId(vipGroupApplyBaseInfoDto.getUserId());
 			courseSchedule.setStatus(CourseStatusEnum.NOT_START);
 		    courseSchedule.setType(CourseSchedule.CourseScheduleType.VIP);
 			courseSchedule.setClassGroupId(classGroup.getId());
@@ -434,7 +440,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 	@Override
 	public VipGroupCostCountDto vipGroupCostCount(VipGroupCostCountParamsDto vipGroupCostCountParamsDto) {
         SysUser user = sysUserFeignService.queryUserInfo();
-        TeacherDefaultVipGroupSalary teacherDefaultVipGroupSalary = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(user.getId().longValue(), vipGroupCostCountParamsDto.getVipGroupCategoryId());
+        TeacherDefaultVipGroupSalary teacherDefaultVipGroupSalary = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(user.getId(), vipGroupCostCountParamsDto.getVipGroupCategoryId());
         VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.get(vipGroupCostCountParamsDto.getVipGroupDefaultClassesUnitPriceId().intValue());
 		VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroupCostCountParamsDto.getVipGroupActivityId().intValue());
         VipGroupSalarySettlementDto vipGroupSalarySettlementDto = JSON.parseObject(vipGroupActivity.getSalarySettlementJson(), VipGroupSalarySettlementDto.class);
@@ -494,7 +500,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			throw new BizException("未找到课程形式");
 		}
 
-		TeacherDefaultVipGroupSalary teacherDefaultVipGroupSalary = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(teacherId.longValue(),
+		TeacherDefaultVipGroupSalary teacherDefaultVipGroupSalary = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(teacherId,
 				vipGroup.getVipGroupCategoryId());
 
 		if(Objects.isNull(vipGroup.getVipGroupActivityId())){

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

@@ -125,4 +125,13 @@
         </where>
         LIMIT 1
     </select>
+    <select id="queryByUserId" resultType="com.ym.mec.biz.dal.entity.StudentWithdraw">
+        SELECT * FROM student_withdraw
+        <where>
+            <if test="userId != null">
+              FIND_IN_SET(user_id_,#{userIds})
+            </if>
+        </where>
+        GROUP BY user_id_
+    </select>
 </mapper>

+ 13 - 17
mec-biz/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -77,16 +77,18 @@
     <select id="findSubByMusicGroupId" resultMap="Subject">
         SELECT s.* FROM music_group_subject_plan mgsp
         LEFT JOIN `subject` s ON mgsp.subject_id_ = s.id_
-        WHERE mgsp.music_group_id_ = #{musicGroupId}
+        WHERE mgsp.music_group_id_ = #{musicGroupId} AND s.del_flag_ = 0
     </select>
 
     <select id="findSubByChargeType" resultMap="Subject">
-        SELECT s.* FROM charge_type_subject_mapper ctsm LEFT JOIN `subject` s ON ctsm.subject_id_ = s.id_ WHERE ctsm.charge_type_id_ = #{chargeTypeId}
+        SELECT s.* FROM charge_type_subject_mapper ctsm
+        LEFT JOIN `subject` s ON ctsm.subject_id_ = s.id_
+        WHERE ctsm.charge_type_id_ = #{chargeTypeId} AND s.del_flag_ = 0
     </select>
 
     <!-- 根据科目code查科目 -->
     <select id="findByCode" resultMap="Subject">
-        SELECT * FROM subject WHERE code_ = #{code}
+        SELECT * FROM subject WHERE code_ = #{code} AND del_flag_ = 0
     </select>
     <select id="findByParentId" resultMap="Subject">
         SELECT * FROM subject <include refid="querySubPageSql"/>
@@ -95,7 +97,7 @@
     <select id="findDefaultSubByChargeTypeId" resultMap="Subject">
         SELECT s.* FROM charge_type_subject_mapper ctsm
         LEFT JOIN `subject` s ON subject_id_ = s.id_
-        WHERE ctsm.charge_type_id_ = #{chargeTypeId}
+        WHERE ctsm.charge_type_id_ = #{chargeTypeId} AND s.del_flag_ = 0
     </select>
 
     <resultMap id="subApplyDetail" type="com.ym.mec.biz.dal.dto.SubjectApplyDetailDto">
@@ -110,7 +112,7 @@
         SELECT mgsp.subject_id_,s.name_,mgsp.expected_student_num_,mgsp.apply_student_num_
         FROM music_group_subject_plan mgsp
         LEFT JOIN `subject` s ON mgsp.subject_id_ = s.id_
-        WHERE mgsp.music_group_id_ = #{musicGroupId}
+        WHERE mgsp.music_group_id_ = #{musicGroupId} AND s.del_flag_ = 0
     </select>
     <select id="findBySubIds" resultType="string">
         SELECT name_ FROM `subject` WHERE del_flag_ = 0 AND FIND_IN_SET (id_,#{subIds})
@@ -122,19 +124,16 @@
             WHERE t.id_=#{teacherId} AND s.del_flag_ = 0
     </select>
     <select id="findSubjectConditions" resultType="com.ym.mec.biz.dal.dto.ConditionDto">
-      select id_ id,name_ `name` from subject where parent_subject_id_!=0
+      select id_ id,name_ `name` from subject where parent_subject_id_!=0 AND del_flag_ = 0
     </select>
     <select id="queryNameByIds" resultType="java.util.Map">
-        select id_ `key`,name_ `value` FROM `subject` s WHERE FIND_IN_SET(s.id_,#{subjectIds})
+        select id_ `key`,name_ `value` FROM `subject` s WHERE FIND_IN_SET(s.id_,#{subjectIds}) AND s.del_flag_ = 0
     </select>
     <select id="findBySubjecIds" resultType="java.util.Map">
-        select id_ `key`,name_ `value` FROM `subject` s WHERE s.id_ IN
-        <foreach collection="subjectIds" item="subjectId" open="(" close=")" separator=",">
-            #{subjectId}
-        </foreach>
+        select id_ `key`,name_ `value` FROM `subject` s WHERE FIND_IN_SET(s.id_,#{subjectIds}) AND s.del_flag_ = 0
     </select>
     <select id="findSubSubjects" resultMap="Subject">
-        SELECT * FROM `subject` WHERE parent_subject_id_ != 0
+        SELECT * FROM `subject` WHERE parent_subject_id_ != 0 AND del_flag_ = 0
     </select>
 
     <sql id="querySubPageSql">
@@ -149,10 +148,7 @@
     </sql>
 
     <select id="findBySubjectByIdList" resultMap="Subject">
-        SELECT * FROM `subject` WHERE id_ IN
-        <foreach collection="subjectIdList" item="subjectId" open="(" close=")" separator=",">
-            #{subjectId}
-        </foreach>
+        SELECT * FROM `subject` WHERE del_flag_ = 0 AND FIND_IN_SET(id_,#{subjectIdList})
     </select>
 
     <select id="findByMusicGroupAndUsers" resultType="map">
@@ -162,7 +158,7 @@
         FROM
             student_registration sr
             LEFT JOIN `subject` s ON sr.actual_subject_id_=s.id_
-            WHERE sr.music_group_id_=#{musicGroupId}
+            WHERE sr.music_group_id_=#{musicGroupId} AND s.del_flag_ = 0
             AND sr.user_id_ IN
             <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
                 #{userId}

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

@@ -202,7 +202,7 @@
         t.job_nature_,t.is_probation_period_,GROUP_CONCAT(s.name_) subject_name_
         FROM teacher t LEFT JOIN sys_user su ON t.id_ = su.id_
         LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,t.subject_id_)
-        WHERE su.user_type_ LIKE '%TEACHER%' AND su.del_flag_ = 0
+        WHERE su.del_flag_ = 0
         <include refid="queryPageMap"/>
         GROUP BY t.id_
         <include refid="global.limit"/>

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

@@ -124,7 +124,7 @@
 	<select id="queryPage" resultMap="VipGroupActivity" parameterType="map">
 		SELECT
 		vga.*,
-		(NOW() BETWEEN start_time_ AND end_time_) enable,
+		(NOW() &lt; end_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_)
@@ -145,6 +145,7 @@
 			vip_group_activity
 		WHERE
 			FIND_IN_SET( #{categoryId}, vip_group_category_id_list_ )
+			AND NOW() &lt; end_time_
 	</select>
     <select id="queryNamesById" resultType="java.util.Map">
 		SELECT vga.id_ `key`,vga.name_ `value` FROM vip_group_activity vga WHERE FIND_IN_SET(vga.id_,#{activityIds})

+ 0 - 11
mec-im/src/main/java/com/ym/service/Impl/UserServiceImpl.java

@@ -39,17 +39,6 @@ public class UserServiceImpl implements UserService {
     @Autowired
     IMHelper imHelper;
 
-//    @Override
-//    public String refreshToken(String userId, String name) throws ApiException, Exception  {
-//        log.info("request token: {}, {}", userId, name);
-//        IMTokenInfo tokenInfo = imHelper.getToken(userId, name, "");
-//        if (tokenInfo.isSuccess()) {
-//            return tokenInfo.getAuthenticationValue();
-//        } else {
-//            throw new ApiException(ErrorEnum.ERR_IM_TOKEN_ERROR, tokenInfo.getErrorMessage());
-//        }
-//    }
-
     private User getUser(){
         RongCloud rongCloud = RongCloud.getInstance(appKey, appSecret);
         return rongCloud.user;

+ 15 - 14
mec-student/src/main/java/com/ym/mec/student/controller/SysMessageController.java

@@ -1,18 +1,10 @@
 package com.ym.mec.student.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.entity.SysMessage;
-import com.ym.mec.biz.dal.enums.MessageSendMode;
-import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
-import com.ym.mec.biz.service.SysMessageService;
-import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.exception.BizException;
-import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
-import com.ym.mec.util.validator.CommonValidator;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+
+import java.io.IOException;
+
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -21,7 +13,16 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.io.IOException;
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.entity.SysMessage;
+import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
+import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
+import com.ym.mec.util.validator.CommonValidator;
 
 @RestController
 @Api(tags = "消息服务")
@@ -124,7 +125,7 @@ public class SysMessageController extends BaseController {
 
 	@ApiOperation(value = "发送消息")
 	@PostMapping("/sendMessage")
-	public Object sendMessage(MessageSender messageSender, MessageSendMode sendMode, String content, String receiver, int readStatus, String url) {
+	public Object sendMessage(MessageSender messageSender, String content, String receiver, int readStatus, String url) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
@@ -135,7 +136,7 @@ public class SysMessageController extends BaseController {
 		if (StringUtils.isBlank(mobileNo) || !CommonValidator.isMobileNo(mobileNo)) {
 			throw new BizException("请输入正确的手机号");
 		}
-		sysMessageService.sendMessage(messageSender, userId, sendMode, "", content, receiver, null, readStatus, url);
+		sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url);
 		return succeed();
 	}
 }

+ 15 - 14
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMessageController.java

@@ -1,18 +1,10 @@
 package com.ym.mec.teacher.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.entity.SysMessage;
-import com.ym.mec.biz.dal.enums.MessageSendMode;
-import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
-import com.ym.mec.biz.service.SysMessageService;
-import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.exception.BizException;
-import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
-import com.ym.mec.util.validator.CommonValidator;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+
+import java.io.IOException;
+
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -21,7 +13,16 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.io.IOException;
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.entity.SysMessage;
+import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
+import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
+import com.ym.mec.util.validator.CommonValidator;
 
 @RestController
 @Api(tags = "消息服务")
@@ -124,7 +125,7 @@ public class SysMessageController extends BaseController {
 
 	@ApiOperation(value = "发送消息")
 	@PostMapping("/sendMessage")
-	public Object sendMessage(MessageSender messageSender, MessageSendMode sendMode, String content, String receiver, int readStatus, String url) {
+	public Object sendMessage(MessageSender messageSender, String content, String receiver, int readStatus, String url) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
@@ -135,7 +136,7 @@ public class SysMessageController extends BaseController {
 		if (StringUtils.isBlank(mobileNo) || !CommonValidator.isMobileNo(mobileNo)) {
 			throw new BizException("请输入正确的手机号");
 		}
-		sysMessageService.sendMessage(messageSender, userId, sendMode, "", content, receiver, null, readStatus, url);
+		sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url);
 		return succeed();
 	}
 }

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherDefaultVipGroupSalaryController.java

@@ -37,7 +37,7 @@ public class TeacherDefaultVipGroupSalaryController extends BaseController {
         if (Objects.isNull(user)) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(teacherDefaultVipGroupSalaryService.findByTeacherAndCategory(user.getId().longValue(),categoryId));
+        return succeed(teacherDefaultVipGroupSalaryService.findByTeacherAndCategory(user.getId(),categoryId));
     }
 
 }

+ 4 - 4
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/eseal/provider/TsignPlugin.java

@@ -31,10 +31,10 @@ import com.ym.mec.thirdparty.exception.ThirdpartyException;
 @Service
 public class TsignPlugin implements ESealPlugin, InitializingBean, DisposableBean {
 
-	@Value("${eseal.tsign.projectid:1111563517}")
+	@Value("${eseal.tsign.projectid:4438776254}")
 	public String projectId; // = "1111563517";
 
-	@Value("${eseal.tsign.projectSecret:95439b0863c241c63a861b87d1e647b7}")
+	@Value("${eseal.tsign.projectSecret:a94cf63d6361084d232f345d71321691}")
 	public String projectSecret; // = "95439b0863c241c63a861b87d1e647b7";
 
 	@Value("${eseal.tsign.apisUrl:http://smlitsm.tsign.cn:8080/tgmonitor/rest/app!getAPIInfo2}")
@@ -54,12 +54,12 @@ public class TsignPlugin implements ESealPlugin, InitializingBean, DisposableBea
 		projectconfig.setItsmApiUrl(apisUrl);
 		Result result = ServiceClientManager.registClient(projectconfig, null, null);
 		if (result.getErrCode() != 0) {
-//			throw new ThirdpartyException("e签宝客户端注册失败");
+			throw new ThirdpartyException("e签宝客户端注册失败");
 		}
 
 		serviceClient = ServiceClientManager.get(projectId);
 		if (serviceClient == null) {
-//			throw new ThirdpartyException("获取e签宝客户端失败");
+			throw new ThirdpartyException("获取e签宝客户端失败");
 		}
 	}
 

+ 14 - 1
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/MessageSenderPluginContext.java

@@ -21,7 +21,20 @@ public class MessageSenderPluginContext implements ApplicationContextAware {
 
 	public enum MessageSender {
 
-		JIGUANG, MOXINGTONG, SHIYUAN,YIMEI;
+		JIGUANG("PUSH"), MOXINGTONG("SMS"), SHIYUAN("SMS"),YIMEI("SMS");
+		
+		/**
+		 * 发送模式(SMS,PUSH,EMAIL)
+		 */
+		private String sendMode;
+		
+		private MessageSender(String sendMode) {
+			this.sendMode = sendMode;
+		}
+
+		public String getSendMode() {
+			return sendMode;
+		}
 	}
 
 	private MessageSenderPlugin messageSenderPlugin;

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

@@ -71,7 +71,7 @@ public class CourseScheduleController extends BaseController {
             if(CollectionUtils.isEmpty(classGroupTeacherMappers)){
                 throw new BizException("乐团老师设置有误");
             }
-            courseSchedule.setTeacherId(classGroupTeacherMappers.get(0).getUserId().longValue());
+            courseSchedule.setTeacherId(classGroupTeacherMappers.get(0).getUserId());
             courseSchedule.setSchoolId(musicGroup.getSchoolId());
         });
 

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/TeacherDefaultVipGroupSalaryController.java

@@ -27,7 +27,7 @@ public class TeacherDefaultVipGroupSalaryController extends BaseController {
     @ApiOperation(value = "根据老师编号及课程类型编号获取默认课酬")
     @GetMapping("/findByTeacherAndCategory")
     @PreAuthorize("@pcs.hasPermissions('teacherDefaultVipGroupSalary/findByTeacherAndCategory')")
-    public Object findByTeacherAndCategory(Long userId, Long categoryId){
+    public Object findByTeacherAndCategory(Integer userId, Long categoryId){
         return succeed(teacherDefaultVipGroupSalaryService.findByTeacherAndCategory(userId,categoryId));
     }