소스 검색

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
周箭河 5 년 전
부모
커밋
c6509432b5
21개의 변경된 파일304개의 추가작업 그리고 213개의 파일을 삭제
  1. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/DemoGroupDao.java
  2. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java
  3. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  4. 4 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMessageDao.java
  5. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysUserCashAccountDetailDao.java
  6. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java
  7. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDao.java
  8. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentApplyDetailDto.java
  9. 9 5
      mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java
  10. 222 159
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  11. 8 8
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java
  12. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  13. 15 16
      mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml
  14. 2 1
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  15. 6 2
      mec-biz/src/main/resources/config/mybatis/SysMessageMapper.xml
  16. 3 1
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  17. 3 3
      mec-student/src/main/java/com/ym/mec/student/controller/SysMessageController.java
  18. 4 3
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMessageController.java
  19. 3 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java
  20. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/IndexController.java
  21. 3 3
      mec-web/src/main/java/com/ym/mec/web/controller/SysMessageController.java

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

@@ -116,12 +116,12 @@ public interface DemoGroupDao extends BaseDAO<Long, DemoGroup> {
      * @param organId
      * @return
      */
-    Map<String, Integer> queryDemoGroupNum(Integer organId);
+    Map<String, Integer> queryDemoGroupNum(@Param("organId") Integer organId);
     
     /**
      * 
      * @param organId
      * @return
      */
-    Integer queryCurrentMonthCoursesNum(Integer organId);
+    Integer queryCurrentMonthCoursesNum(@Param("organId") Integer organId);
 }

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

@@ -118,12 +118,12 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      * @param ogranId
      * @return
      */
-    Map<String,Integer> queryOrganMusicGroupNum(Integer ogranId);
+    Map<String,Integer> queryOrganMusicGroupNum(@Param("organId") Integer ogranId);
     
     /**
      * 查询本月乐团课程数
      * @param organId
      * @return
      */
-    Integer queryCurrentMonthCoursesNum(Integer organId);
+    Integer queryCurrentMonthCoursesNum(@Param("organId") Integer organId);
 }

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

@@ -215,7 +215,7 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * 查询学生数
      * @return
      */
-    Map<String,Integer> queryStudentNum(Integer organId);
+    Map<String,Integer> queryStudentNum(@Param("organId") Integer organId);
 
     /**
      * 根据乐团编号获取当前乐团所有已报名学员

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

@@ -1,10 +1,12 @@
 package com.ym.mec.biz.dal.dao;
 
 import java.util.List;
+import java.util.Map;
 
 import org.apache.ibatis.annotations.Param;
 
 import com.ym.mec.biz.dal.entity.SysMessage;
+import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.common.dal.BaseDAO;
 
 public interface SysMessageDao extends BaseDAO<Long, SysMessage> {
@@ -26,10 +28,11 @@ public interface SysMessageDao extends BaseDAO<Long, SysMessage> {
 
 	/**
 	 * 查询消息未读条数
+	 * @param type
 	 * @param userId
 	 * @return
 	 */
-	public int queryCountOfUnread(Integer userId);
+	public Map<String, Integer> queryCountOfUnread(@Param("type") MessageSendMode type, @Param("userId") Integer userId);
 
 	/**
 	 * 修改用户所有消息阅读状态

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

@@ -21,5 +21,5 @@ public interface SysUserCashAccountDetailDao extends BaseDAO<Long, SysUserCashAc
      */
     int batchInsert(@Param("sysUserCashAccountDetails") List<SysUserCashAccountDetail> sysUserCashAccountDetails);
 
-    Map<String, Object> queryStatistics();
+    Map<String, Object> queryStatistics(@Param("organId") Integer organId);
 }

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

@@ -171,5 +171,5 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      * @param organId
      * @return
      */
-    Map<String,Integer> queryOrganTeacherNum(Integer organId);
+    Map<String,Integer> queryOrganTeacherNum(@Param("organId") Integer organId);
 }

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

@@ -234,12 +234,12 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @param organId
 	 * @return
 	 */
-	Map<String, Integer> queryVipGroupNum(Integer organId);
+	Map<String, Integer> queryVipGroupNum(@Param("organId") Integer organId);
 	
 	/**
 	 * 查询当月vip课数量
 	 * @param organId
 	 * @return
 	 */
-	Integer queryCurrentMonthCoursesNum(Integer organId);
+	Integer queryCurrentMonthCoursesNum(@Param("organId") Integer organId);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentApplyDetailDto.java

@@ -47,6 +47,17 @@ public class StudentApplyDetailDto{
     @ApiModelProperty(value = "学员缴费状态",required = false)
     private String paymentStatus;
 
+    @ApiModelProperty(value = "备注",required = false)
+    private String remark;
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
     public Integer getStudentId() {
         return studentId;
     }

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

@@ -5,6 +5,7 @@ import java.util.Map;
 import java.util.Set;
 
 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.common.service.BaseService;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
@@ -24,7 +25,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param messageType
 	 * @return
 	 */
-	boolean batchSeoMessage(Set<Integer> userIds,MessageTypeEnum messageType, Object... args);
+	boolean batchSeoMessage(Set<Integer> userIds, MessageTypeEnum messageType, Object... args);
 
 	/**
 	 * 批量发送消息
@@ -33,10 +34,11 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param content 消息内容
 	 * @param receivers 消息接受者
 	 * @param triggerTime 触发时间
+	 * @param group 组
 	 * @return
 	 */
 	public boolean batchSendMessage(MessageSender messageSender, String subject, String content, Map<Integer, String> receivers, Date triggerTime,
-									Integer readStatus, String memo);
+			Integer readStatus, String memo, String group);
 
 	/**
 	 * 发送消息
@@ -50,7 +52,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @return
 	 */
 	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum messageType, Map<Integer, String> receivers, Date triggerTime,
-								 Integer readStatus, String url, Object... args);
+			Integer readStatus, String url, Object... args);
 
 	/**
 	 * 发送消息
@@ -63,10 +65,11 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param triggerTime 触发时间
 	 * @param readStatus 阅读状态(0-未读  1-已读)
 	 * @param url 超链接地址
+	 * @param group 组
 	 * @return
 	 */
 	public void sendMessage(MessageSender messageSender, Integer userId, String title, String content, String receiver, Date triggerTime, Integer readStatus,
-							String url);
+			String url, String group);
 
 	/**
 	 * 发送验证码
@@ -96,10 +99,11 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 
 	/**
 	 * 查询消息未读条数
+	 * @param type
 	 * @param userId
 	 * @return
 	 */
-	public int queryCountOfUnread(Integer userId);
+	public Map<String, Integer> queryCountOfUnread(MessageSendMode type, Integer userId);
 
 	/**
 	 *

+ 222 - 159
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1,15 +1,89 @@
 package com.ym.mec.biz.service.impl;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+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.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 com.alibaba.fastjson.JSONObject;
 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.dao.ChargeTypeDao;
+import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
+import com.ym.mec.biz.dal.dao.CooperationOrganDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
+import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao;
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
+import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
+import com.ym.mec.biz.dal.dao.MusicGroupPaymentEntitiesDao;
+import com.ym.mec.biz.dal.dao.MusicGroupPurchaseListDao;
+import com.ym.mec.biz.dal.dao.MusicGroupQuitDao;
+import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
+import com.ym.mec.biz.dal.dao.MusicGroupSubjectGoodsGroupDao;
+import com.ym.mec.biz.dal.dao.MusicGroupSubjectPlanDao;
+import com.ym.mec.biz.dal.dao.OrganizationDao;
+import com.ym.mec.biz.dal.dao.SchoolDao;
+import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
+import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.dao.SysMessageConfigDao;
+import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dto.BasicUserDto;
+import com.ym.mec.biz.dal.dto.CourseScheduleTeachersDto;
+import com.ym.mec.biz.dal.dto.MusicCardDto;
+import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
+import com.ym.mec.biz.dal.dto.SubjectRegisterDto;
+import com.ym.mec.biz.dal.dto.UpdateExpectedNumDto;
+import com.ym.mec.biz.dal.entity.ApprovalStatus;
+import com.ym.mec.biz.dal.entity.ChargeType;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
+import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.MusicGroupBuildLog;
+import com.ym.mec.biz.dal.entity.MusicGroupQuit;
+import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
-import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
+import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
+import com.ym.mec.biz.dal.entity.Organization;
+import com.ym.mec.biz.dal.entity.School;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
+import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.biz.dal.entity.SysUserCashAccount;
+import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
+import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
+import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
+import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
+import com.ym.mec.biz.dal.enums.OrderTypeEnum;
+import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
+import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
 import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
-import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.service.MusicGroupPaymentCalenderService;
+import com.ym.mec.biz.service.MusicGroupService;
+import com.ym.mec.biz.service.PayService;
+import com.ym.mec.biz.service.StudentPaymentOrderDetailService;
+import com.ym.mec.biz.service.StudentPaymentOrderService;
+import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.SysUserCashAccountDetailService;
+import com.ym.mec.biz.service.SysUserCashAccountService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupMember;
 import com.ym.mec.common.exception.BizException;
@@ -19,17 +93,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 com.ym.mec.util.string.MessageFormatter;
-
-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 java.math.BigDecimal;
-import java.util.*;
-import java.util.stream.Collectors;
 
 @Service
 public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> implements MusicGroupService {
@@ -105,15 +168,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
     @Autowired
     private SysUserFeignService sysUserFeignService;
+	
+	@Autowired
+	private SysMessageService sysMessageService;
 
-    @Autowired
-    private SysMessageService sysMessageService;
-
-    @Autowired
-    private SysMessageConfigDao sysMessageConfigDao;
+	@Autowired
+	private SysMessageConfigDao sysMessageConfigDao;
 
-    @Autowired
-    private SysConfigDao sysConfigDao;
+	@Autowired
+	private SysConfigDao sysConfigDao;
 
     @Override
     public BaseDAO<String, MusicGroup> getDAO() {
@@ -124,7 +187,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Transactional(rollbackFor = Exception.class)
     public String createGroup(SubFeeSettingDto subFeeSettingDto) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
+        if(sysUser == null){
             throw new Exception("用户信息获取失败");
         }
         MusicGroup musicGroup = subFeeSettingDto.getMusicGroup();
@@ -133,27 +196,27 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         List<SubjectRegisterDto> subjectRegisters = subFeeSettingDto.getSubjectRegisters();
         String musicGroupId = idGeneratorService.generatorId() + "";
         musicGroup.setId(musicGroupId);
-        if (musicGroup.getStatus() != MusicGroupStatusEnum.DRAFT && musicGroup.getStatus() != MusicGroupStatusEnum.AUDIT) {
+        if(musicGroup.getStatus() != MusicGroupStatusEnum.DRAFT && musicGroup.getStatus() != MusicGroupStatusEnum.AUDIT){
             throw new Exception("乐团初始状态错误");
         }
         // 保存乐团基本信息
         musicGroupDao.insert(musicGroup);
         // 保存乐团付费主体列表
         //批量新增
-        if (subFeeSettingDto.getMusicGroupPaymentEntities() != null && subFeeSettingDto.getMusicGroupPaymentEntities().size() > 0) {
-            musicGroupPaymentEntitiesDao.batchAdd(subFeeSettingDto.getMusicGroupPaymentEntities(), musicGroupId);
+        if(subFeeSettingDto.getMusicGroupPaymentEntities() != null && subFeeSettingDto.getMusicGroupPaymentEntities().size() > 0){
+            musicGroupPaymentEntitiesDao.batchAdd(subFeeSettingDto.getMusicGroupPaymentEntities(),musicGroupId);
         }
         // 保存学员付费周期
         List<Integer> months = subFeeSettingDto.getMonths();
         if (months != null && months.size() > 0) {
-            musicGroupPaymentCalenderDao.batchAdd(months, musicGroupId);
+            musicGroupPaymentCalenderDao.batchAdd(months,musicGroupId);
         }
 
         //乐团科目学生
         if (subjectRegisters != null) {
             List<StudentRegistration> studentRegistrationList = new ArrayList<>();
             subjectRegisters.forEach(e -> {
-                //原来乐团的注册学生
+                    //原来乐团的注册学生
                 List<StudentRegistration> musicGroupStudentRegistrationList = studentRegistrationDao.findStudentListByIdList(e.getRegisterIdList());
                 for (StudentRegistration studentRegistration : musicGroupStudentRegistrationList) {
                     studentRegistration.setId(null);
@@ -166,7 +229,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 studentRegistrationList.addAll(musicGroupStudentRegistrationList);
 
                 for (MusicGroupSubjectPlan musicGroupSubjectPlan : musicGroupSubjectPlans) {
-                    if (!musicGroupSubjectPlan.getSubjectId().equals(e.getSubjectId())) continue;
+                    if(!musicGroupSubjectPlan.getSubjectId().equals(e.getSubjectId())) continue;
                     musicGroupSubjectPlan.setExpectedStudentNum(e.getRegisterIdList().size());
                     musicGroupSubjectPlan.setApplyStudentNum(e.getRegisterIdList().size());
                 }
@@ -176,14 +239,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         // 保存乐团声部规划
         if (musicGroupSubjectPlans != null) {
-            musicGroupSubjectPlanDao.batchAdd(musicGroupSubjectPlans, musicGroupId);
+            musicGroupSubjectPlanDao.batchAdd(musicGroupSubjectPlans,musicGroupId);
         }
         // 保存乐团声部商品规划
         if (musicGroupSubjectGoodsGroups != null) {
-            musicGroupSubjectGoodsGroupDao.batchInsert(musicGroupSubjectGoodsGroups, musicGroupId);
+            musicGroupSubjectGoodsGroupDao.batchInsert(musicGroupSubjectGoodsGroups,musicGroupId);
         }
         // 记录创建日志
-        String event = musicGroup.getStatus() == MusicGroupStatusEnum.AUDIT ? "新建乐团,提交审核" : "保存乐团草稿";
+        String event = musicGroup.getStatus() == MusicGroupStatusEnum.AUDIT?"新建乐团,提交审核":"保存乐团草稿";
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, event, sysUser.getId(), ""));
         return musicGroupId;
     }
@@ -192,33 +255,33 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Transactional(rollbackFor = Exception.class)
     public void updateSubjectInfo(SubFeeSettingDto subFeeSettingDto) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
+        if(sysUser == null){
             throw new Exception("身份校验失败");
         }
         String musicGroupId = subFeeSettingDto.getMusicGroupId();
 
         //乐团状态是否正确
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-        if (musicGroup != null) {
-            if (musicGroup.getStatus() != MusicGroupStatusEnum.DRAFT && musicGroup.getStatus() != MusicGroupStatusEnum.AUDIT_FAILED) {
+        if(musicGroup != null){
+            if(musicGroup.getStatus() != MusicGroupStatusEnum.DRAFT && musicGroup.getStatus() != MusicGroupStatusEnum.AUDIT_FAILED){
                 throw new Exception("当前乐团状态不支持此操作");
             }
-            if (subFeeSettingDto.getMusicGroupStatus() == null) {
+            if(subFeeSettingDto.getMusicGroupStatus() == null){
                 throw new Exception("参数校验异常");
             }
             musicGroup.setStatus(subFeeSettingDto.getMusicGroupStatus());
             musicGroup.setUpdateTime(new Date());
             musicGroupDao.update(musicGroup);
             //记录日志信息
-            musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "修改乐团计划声部、乐器", sysUser.getId(), JSONObject.toJSONString(subFeeSettingDto)));
+            musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"修改乐团计划声部、乐器",sysUser.getId(), JSONObject.toJSONString(subFeeSettingDto)));
             //删除原有的乐团声部规划
             musicGroupSubjectPlanDao.delByMusicGroupId(musicGroupId);
             //删除原有的声部商品组合
             musicGroupSubjectGoodsGroupDao.delByMusicGroupId(subFeeSettingDto.getMusicGroupId());
 
-            musicGroupSubjectPlanDao.batchAdd(subFeeSettingDto.getMusicGroupSubjectPlans(), musicGroupId);
-            musicGroupSubjectGoodsGroupDao.batchInsert(subFeeSettingDto.getMusicGroupSubjectGoodsGroups(), musicGroupId);
-        } else {
+            musicGroupSubjectPlanDao.batchAdd(subFeeSettingDto.getMusicGroupSubjectPlans(),musicGroupId);
+            musicGroupSubjectGoodsGroupDao.batchInsert(subFeeSettingDto.getMusicGroupSubjectGoodsGroups(),musicGroupId);
+        }else {
             throw new Exception("乐团信息不存在");
         }
     }
@@ -226,8 +289,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void updateExpectedStudentNum(List<UpdateExpectedNumDto> updateExpectedNumDtos) {
-        updateExpectedNumDtos.forEach(e -> {
-            musicGroupSubjectPlanDao.updateExpectedStudentNum(e.getExpectedStudentNum(), e.getMusicGroupSubjectPlanId());
+        updateExpectedNumDtos.forEach(e->{
+            musicGroupSubjectPlanDao.updateExpectedStudentNum(e.getExpectedStudentNum(),e.getMusicGroupSubjectPlanId());
         });
     }
 
@@ -235,32 +298,32 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Transactional(rollbackFor = Exception.class)
     public void musicGroupAction(String musicGroupId) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
+        if(sysUser == null){
             throw new Exception("用户信息获取失败");
         }
-        MusicGroup musicGroup = saveLog(musicGroupId, MusicGroupStatusEnum.PREPARE);
+        MusicGroup musicGroup = saveLog(musicGroupId,MusicGroupStatusEnum.PREPARE);
         //乐器采购清单是否确认
-        Map<String, Object> param = new HashMap<>();
-        param.put("musicGroupId", musicGroupId);
+        Map<String,Object> param = new HashMap<>();
+        param.put("musicGroupId",musicGroupId);
         int i = musicGroupPurchaseListDao.queryCount(param);
-        if (i <= 0) {
+        if(i <= 0){
             throw new Exception("采购清单未确认");
         }
         //课酬是否确认
 //        courseScheduleTeacherSalaryDao.queryCount();
         //记录操作日志
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "确认开团(筹备中 -> 进行中)", sysUser.getId(), ""));
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"确认开团(筹备中 -> 进行中)",sysUser.getId(),""));
         musicGroup.setStatus(MusicGroupStatusEnum.PROGRESS);
         musicGroupDao.update(musicGroup);
     }
 
-    private MusicGroup saveLog(String musicGroupId, MusicGroupStatusEnum statusEnum) throws Exception {
+    private MusicGroup saveLog(String musicGroupId,MusicGroupStatusEnum statusEnum) throws Exception {
         Date date = new Date();
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-        if (musicGroup == null) {
+        if(musicGroup == null){
             throw new Exception("乐团信息不存在");
         }
-        if (musicGroup.getStatus() != statusEnum) {
+        if(musicGroup.getStatus() != statusEnum){
             throw new Exception("当前乐团状态不支持此操作");
         }
         musicGroup.setUpdateTime(date);
@@ -270,25 +333,25 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Override
     public void musicGroupAudit(String musicGroupId) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
+        if(sysUser == null){
             throw new Exception("用户信息获取失败");
         }
-        MusicGroup musicGroup = saveLog(musicGroupId, MusicGroupStatusEnum.DRAFT);
+        MusicGroup musicGroup = saveLog(musicGroupId,MusicGroupStatusEnum.DRAFT);
         //记录操作日志
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "提交审核(草稿 -> 审核中)", sysUser.getId(), ""));
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"提交审核(草稿 -> 审核中)",sysUser.getId(),""));
         musicGroup.setStatus(MusicGroupStatusEnum.AUDIT);
         musicGroupDao.update(musicGroup);
     }
 
     @Override
-    public void musicGroupAuditFailed(String musicGroupId, String memo) throws Exception {
+    public void musicGroupAuditFailed(String musicGroupId,String memo) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
+        if(sysUser == null){
             throw new Exception("用户信息获取失败");
         }
-        MusicGroup musicGroup = saveLog(musicGroupId, MusicGroupStatusEnum.AUDIT);
+        MusicGroup musicGroup = saveLog(musicGroupId,MusicGroupStatusEnum.AUDIT);
         //记录操作日志
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "审核失败(审核中 -> 审核失败)", sysUser.getId(), memo));
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"审核失败(审核中 -> 审核失败)",sysUser.getId(),memo));
         musicGroup.setMemo(memo);
         musicGroup.setStatus(MusicGroupStatusEnum.AUDIT_FAILED);
         musicGroupDao.update(musicGroup);
@@ -297,12 +360,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Override
     public void musicGroupAuditSuccess(String musicGroupId) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
+        if(sysUser == null){
             throw new Exception("用户信息获取失败");
         }
-        MusicGroup musicGroup = saveLog(musicGroupId, MusicGroupStatusEnum.AUDIT);
+        MusicGroup musicGroup = saveLog(musicGroupId,MusicGroupStatusEnum.AUDIT);
         //记录操作日志
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "审核失败(审核中 -> 报名中)", sysUser.getId(), ""));
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"审核失败(审核中 -> 报名中)",sysUser.getId(),""));
         musicGroup.setStatus(MusicGroupStatusEnum.APPLY);
         musicGroupDao.update(musicGroup);
     }
@@ -311,10 +374,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     public List<MusicCardDto> queryUserMusicGroups(Integer userId) {
         List<MusicCardDto> musicCardDtos = musicGroupDao.queryUserMusicGroups(userId);
         Set<String> musicGroupIds = musicCardDtos.stream().map(MusicCardDto::getMusicGroupId).collect(Collectors.toSet());
-        Map<String, String> paymentStatus = MapUtil.convertMybatisMap(musicGroupStudentFeeDao.queryUserPaymentStatus(userId, StringUtils.join(musicGroupIds, ",")));
+        Map<String,String> paymentStatus = MapUtil.convertMybatisMap(musicGroupStudentFeeDao.queryUserPaymentStatus(userId,StringUtils.join(musicGroupIds,",")));
         // 获取学员在该乐团续费状态
         musicCardDtos.forEach(e -> {
-            e.setPaymentStatus(paymentStatus.get(e.getMusicGroupId()) == null ? "NON_PAYMENT" : paymentStatus.get(e.getMusicGroupId()));
+            e.setPaymentStatus(paymentStatus.get(e.getMusicGroupId()) == null?"NON_PAYMENT":paymentStatus.get(e.getMusicGroupId()));
         });
         return musicCardDtos;
     }
@@ -322,7 +385,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Override
     public MusicCardDto queryPersonalMusicGroups(Integer userId) {
         MusicCardDto musicCardDto = musicGroupDao.queryPersonalMusicGroups(userId);
-        if (musicCardDto != null) {
+        if(musicCardDto != null){
             musicCardDto.setMusicGroupNum(musicGroupDao.countUserMusicGroups(userId));
             musicCardDto.setVipClassNum(musicGroupDao.countCourseByType(userId, ClassGroupTypeEnum.VIP));
             return musicCardDto;
@@ -339,7 +402,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public boolean cancelMusicGroup(String musicGroupId) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
+        if(sysUser == null){
             throw new BizException("用户信息获取失败");
         }
         MusicGroup musicGroup = musicGroupDao.getLocked(musicGroupId);
@@ -374,16 +437,16 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         //获取当前乐团所有已报名学员
         List<StudentRegistration> registrations = studentRegistrationDao.findClassGroupStu(musicGroupId, null);
-        if (registrations != null && registrations.size() > 0) {
-            Map<Integer, String> map = new HashMap<>(registrations.size());
-            registrations.forEach(e -> {
-                map.put(e.getUserId(), e.getParentsPhone());
+        if(registrations != null && registrations.size() > 0){
+            Map<Integer,String> map = new HashMap<>(registrations.size());
+            registrations.forEach(e->{
+                map.put(e.getUserId(),e.getParentsPhone());
             });
-            sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_CLOSE,
-                    map, null, 0, "", sysConfigDao.findConfigValue(SysConfigService.REFUND_PERIOD));
+            sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_CLOSE,
+                    map,null,0,"",sysConfigDao.findConfigValue(SysConfigService.REFUND_PERIOD));
         }
         //记录建团日志
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "取消乐团", sysUser.getId(), ""));
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"取消乐团",sysUser.getId(),""));
         return true;
     }
 
@@ -391,7 +454,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public boolean pauseMusicGroup(String musicGroupId) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
+        if(sysUser == null){
             throw new BizException("用户信息获取失败");
         }
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
@@ -409,7 +472,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         // 清除下次缴费时间
         musicGroupStudentFeeDao.updateNextPaymentDate(musicGroupId, null);
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "暂停乐团", sysUser.getId(), ""));
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"暂停乐团",sysUser.getId(),""));
         return true;
     }
 
@@ -417,7 +480,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public boolean resumeMusicGroup(String musicGroupId) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
+        if(sysUser == null){
             throw new BizException("用户信息获取失败");
         }
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
@@ -435,14 +498,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         // 重新设置下次缴费时间
         musicGroupStudentFeeDao.updateNextPaymentDate(musicGroupId, musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId));
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "恢复乐团", sysUser.getId(), ""));
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"恢复乐团",sysUser.getId(),""));
         return true;
     }
 
     @Override
     public boolean extensionPayment(String musicGroupId, Date expireDate) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
+        if(sysUser == null){
             throw new BizException("用户信息获取失败");
         }
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
@@ -463,7 +526,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroup.setPaymentExpireDate(expireDate);
         musicGroup.setUpdateTime(date);
         musicGroupDao.update(musicGroup);
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "延长缴费", sysUser.getId(), ""));
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"延长缴费",sysUser.getId(),""));
         return true;
     }
 
@@ -605,34 +668,32 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             amount = musicGroupStudentFee.getCourseFee();
         }
 
+        Date date = new Date();
+        StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
+        studentPaymentOrder.setUserId(userId);
+        studentPaymentOrder.setOrderNo(idGeneratorService.generatorId("RENEW") + "");
+        studentPaymentOrder.setType(OrderTypeEnum.RENEW);
+        studentPaymentOrder.setExpectAmount(amount);
+        studentPaymentOrder.setActualAmount(amount);
+        studentPaymentOrder.setStatus(DealStatusEnum.ING);
+        studentPaymentOrder.setPaymentChannel("银联");
+        studentPaymentOrder.setMusicGroupId(musicGroupId);
+        studentPaymentOrderService.insert(studentPaymentOrder);
+
+        ArrayList<StudentPaymentOrderDetail> studentPaymentOrderDetailList = new ArrayList<>();
+        StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
+        studentPaymentOrderDetail.setType(OrderDetailTypeEnum.COURSE);
+        studentPaymentOrderDetail.setPrice(amount);
+        studentPaymentOrderDetail.setCreateTime(date);
+        studentPaymentOrderDetail.setUpdateTime(date);
+        studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
+        studentPaymentOrderDetailList.add(studentPaymentOrderDetail);
+
+        studentPaymentOrderDetailService.batchAdd(studentPaymentOrderDetailList);
+
         try {
-            Map<String, Object> payMap = payService.getPayMap(amount, idGeneratorService.generatorId("payment") + "", "https://pay.dayaedu.com/api/yqpay/notify",
+            return payService.getPayMap(amount, idGeneratorService.generatorId("payment") + "", "https://pay.dayaedu.com/api/yqpay/notify",
                     "http://dev.dayaedu.com", "测试订单", "测试订单");
-
-            Date date = new Date();
-            StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
-            studentPaymentOrder.setUserId(userId);
-            studentPaymentOrder.setOrderNo(idGeneratorService.generatorId("RENEW") + "");
-            studentPaymentOrder.setType(OrderTypeEnum.RENEW);
-            studentPaymentOrder.setExpectAmount(amount);
-            studentPaymentOrder.setActualAmount(amount);
-            studentPaymentOrder.setStatus(DealStatusEnum.ING);
-            studentPaymentOrder.setPaymentChannel((String) payMap.get("type"));
-            studentPaymentOrder.setMusicGroupId(musicGroupId);
-            studentPaymentOrderService.insert(studentPaymentOrder);
-
-            ArrayList<StudentPaymentOrderDetail> studentPaymentOrderDetailList = new ArrayList<>();
-            StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
-            studentPaymentOrderDetail.setType(OrderDetailTypeEnum.COURSE);
-            studentPaymentOrderDetail.setPrice(amount);
-            studentPaymentOrderDetail.setCreateTime(date);
-            studentPaymentOrderDetail.setUpdateTime(date);
-            studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
-            studentPaymentOrderDetailList.add(studentPaymentOrderDetail);
-
-            studentPaymentOrderDetailService.batchAdd(studentPaymentOrderDetailList);
-
-            return payMap;
         } catch (Exception e) {
             throw new BizException("调用支付接口出错", e);
         }
@@ -650,21 +711,21 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         //更新下次续费时间
         MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(userId, musicGroupId);
 
-        if (musicGroupStudentFee == null) {
+        if(musicGroupStudentFee == null){
             throw new BizException("系统数据异常,找不到学员预缴费信息");
         }
         Date date = new Date();
         Map<Integer, String> receivers = new HashMap<Integer, String>(1);
         StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
         receivers.put(userId, studentRegistration.getParentsPhone());
-        if (studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS) {
+        if(studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS){
             musicGroupStudentFee.setUpdateTime(date);
             musicGroupStudentFee.setLatestPaidTime(date);
             musicGroupStudentFee.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
             musicGroupStudentFee.setTemporaryCourseFee(new BigDecimal(0));
             musicGroupStudentFee.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId));
             musicGroupStudentFeeDao.update(musicGroupStudentFee);
-
+            
             //插入交易明细
             SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId);
             BigDecimal amount = studentPaymentOrder.getActualAmount();
@@ -680,7 +741,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             rechargeDetail.setUpdateTime(date);
             rechargeDetail.setUserId(userId);
             sysUserCashAccountDetailService.insert(rechargeDetail);
-
+            
             //缴费
             SysUserCashAccountDetail paymentDetail = new SysUserCashAccountDetail();
             paymentDetail.setAmount(amount);
@@ -693,16 +754,16 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             paymentDetail.setUpdateTime(date);
             paymentDetail.setUserId(userId);
             sysUserCashAccountDetailService.insert(paymentDetail);
-
+            
             // 发送续费结果通知
 
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS, receivers, null, 0, "",
-                    studentRegistration.getParentsName(), studentPaymentOrder.getActualAmount());
+                    studentRegistration.getParentsName(),studentPaymentOrder.getActualAmount());
             sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS, receivers, null, 0, "",
-                    studentRegistration.getParentsName(), studentPaymentOrder.getActualAmount());
+                    studentRegistration.getParentsName(),studentPaymentOrder.getActualAmount());
             return true;
         }
-        if (studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAilED) {
+        if(studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAilED){
             String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_RENEW_FAILED, receivers, null, 0, "",
                     studentApplyUrl);
@@ -757,30 +818,30 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         // 获取教务老师编号列表
         Set<Integer> educationalTeacherIds = musicGroupList.stream().map(e -> e.getEducationalTeacherId()).collect(Collectors.toSet());
         // 获取相关老师的名字
-        List<Map<Integer, String>> educationalTeacherNames = teacherDao.queryNameByIds(StringUtils.join(educationalTeacherIds, ","));
+        List<Map<Integer, String>> educationalTeacherNames = teacherDao.queryNameByIds(StringUtils.join(educationalTeacherIds,","));
         Map<Integer, String> educationalTeacherNameMap = MapUtil.convertMybatisMap(educationalTeacherNames);
 
         // 获取运营主管编号列表
         Set<Integer> teamTeacherIds = musicGroupList.stream().map(e -> e.getTeamTeacherId()).collect(Collectors.toSet());
-        List<Map<Integer, String>> teamTeacherNames = teacherDao.queryNameByIds(StringUtils.join(teamTeacherIds, ","));
+        List<Map<Integer, String>> teamTeacherNames = teacherDao.queryNameByIds(StringUtils.join(teamTeacherIds,","));
         Map<Integer, String> teamTeacherNameMap = MapUtil.convertMybatisMap(teamTeacherNames);
 
         // 获取乐团编号列表
         Set<String> musicGroupIds = musicGroupList.stream().map(e -> e.getId()).collect(Collectors.toSet());
         // 统计乐团在读人数
-        List<Map<String, Long>> payNums = musicGroupDao.countPayNum(StringUtils.join(musicGroupIds, ","));
+        List<Map<String, Long>> payNums = musicGroupDao.countPayNum(StringUtils.join(musicGroupIds,","));
         Map<String, Long> payNumMap = MapUtil.convertMybatisMap(payNums);
 
         // 获取收费类型编号列表
         Set<Integer> chargeTypeIds = musicGroupList.stream().map(e -> e.getChargeTypeId()).collect(Collectors.toSet());
-        if (chargeTypeIds == null) {
+        if(chargeTypeIds == null){
             chargeTypeIds = new HashSet<>();
         }
-        List<Map<Integer, String>> chargeTypeNames = chargeTypeDao.queryNameByIds(StringUtils.join(chargeTypeIds, ","));
+        List<Map<Integer, String>> chargeTypeNames = chargeTypeDao.queryNameByIds(StringUtils.join(chargeTypeIds,","));
         Map<Integer, String> chargeTypeNameMap = MapUtil.convertMybatisMap(chargeTypeNames);
 
         //获取教学点编号
-        Map<Integer, String> organNames = MapUtil.convertMybatisMap(cooperationOrganDao.queryNameByIds(StringUtils.join(musicGroupList.stream().map(MusicGroup::getCooperationOrganId).collect(Collectors.toSet()), ",")));
+        Map<Integer,String> organNames = MapUtil.convertMybatisMap(cooperationOrganDao.queryNameByIds(StringUtils.join(musicGroupList.stream().map(MusicGroup::getCooperationOrganId).collect(Collectors.toSet()),",")));
 
         musicGroupList.forEach(e -> {
 //            e.setSchoolName(schoolNameMap.get(e.getSchoolId()));
@@ -797,12 +858,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Transactional(rollbackFor = Exception.class)
     public void updateBaseInfo(SubFeeSettingDto subFeeSettingDto) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
+        if(sysUser == null){
             throw new Exception("用户信息获取失败");
         }
         String musicGroupId = subFeeSettingDto.getMusicGroup().getId();
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-        if (musicGroup == null) {
+        if(musicGroup == null){
             throw new Exception("乐团信息不存在");
         }
 
@@ -810,50 +871,50 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         List<Integer> months = subFeeSettingDto.getMonths();
         //删除乐团相关付费周期
         musicGroupPaymentCalenderDao.delByGroupId(musicGroupId);
-        if (months != null && months.size() > 0) {
+        if(months != null && months.size() > 0){
             Integer num = musicGroupStudentFeeDao.countStudentNoPayNum(musicGroupId);
-            if (num > 0) {
+            if(num > 0){
                 throw new Exception("缴费周期更新失败,当前乐团有未缴费的学员");
             }
             //修改学员下次缴费日期
             //获取当前月份
             int currentMonth = Integer.parseInt(DateUtil.getMonth(date));
             int nextMonth = currentMonth;
-            for (int i = 0; i < months.size(); i++) {
-                if (i == months.size() - 1 && months.get(i) <= currentMonth) {
+            for (int i = 0;i < months.size();i++){
+                if(i == months.size()-1 && months.get(i) <= currentMonth){
                     nextMonth = months.get(0);
                     break;
-                } else if (months.get(i) > currentMonth) {
+                }else if(months.get(i) > currentMonth){
                     nextMonth = months.get(i);
                     break;
                 }
             }
             // 修改学员付费周期
             Date nextPaymentDate = null;
-            if (nextMonth > currentMonth) {
+            if(nextMonth > currentMonth){
                 nextPaymentDate = DateUtil.addMonths(date, nextMonth - currentMonth);
-            } else if (nextMonth < currentMonth) {
+            }else if(nextMonth < currentMonth) {
                 nextPaymentDate = DateUtil.addMonths(date, 12 - currentMonth + nextMonth);
-            } else {
+            }else {
                 nextPaymentDate = DateUtil.addMonths(date, 12);
             }
-            musicGroupStudentFeeDao.updateNextPaymentDate(musicGroupId, nextPaymentDate);
+            musicGroupStudentFeeDao.updateNextPaymentDate(musicGroupId,nextPaymentDate);
             //批量插入
-            musicGroupPaymentCalenderDao.batchAdd(months, musicGroupId);
+            musicGroupPaymentCalenderDao.batchAdd(months,musicGroupId);
         }
         musicGroupDao.update(musicGroup);
         //修改课程里面的教学点
-        if (!musicGroup.getSchoolId().equals(musicGroup.getSchoolId())) {
-            courseScheduleDao.updateByMusicGroupId(musicGroupId, musicGroup.getSchoolId());
+        if(!musicGroup.getSchoolId().equals(musicGroup.getSchoolId())){
+            courseScheduleDao.updateByMusicGroupId(musicGroupId,musicGroup.getSchoolId());
         }
         // 删除乐团付费主体列表
         musicGroupPaymentEntitiesDao.delByGroupId(musicGroupId);
         //批量新增
-        if (subFeeSettingDto.getMusicGroupPaymentEntities() != null && subFeeSettingDto.getMusicGroupPaymentEntities().size() > 0) {
-            musicGroupPaymentEntitiesDao.batchAdd(subFeeSettingDto.getMusicGroupPaymentEntities(), musicGroupId);
+        if(subFeeSettingDto.getMusicGroupPaymentEntities() != null && subFeeSettingDto.getMusicGroupPaymentEntities().size() > 0){
+            musicGroupPaymentEntitiesDao.batchAdd(subFeeSettingDto.getMusicGroupPaymentEntities(),musicGroupId);
         }
         //记录操作日志
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "修改乐团基本信息数据", sysUser.getId(), JSONObject.toJSONString(subFeeSettingDto)));
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"修改乐团基本信息数据",sysUser.getId(),JSONObject.toJSONString(subFeeSettingDto)));
     }
 
     @Override
@@ -875,13 +936,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         //获取乐团声部规划列表
         subFeeSettingDto.setMusicGroupSubjectPlans(musicGroupSubjectPlanDao.getMusicSubjectClassPlan(musicGroupId));
         //获取乐团声部商品组
-        subFeeSettingDto.setMusicGroupSubjectGoodsGroups(musicGroupSubjectGoodsGroupDao.findGoodsGroup(musicGroupId, null));
+        subFeeSettingDto.setMusicGroupSubjectGoodsGroups(musicGroupSubjectGoodsGroupDao.findGoodsGroup(musicGroupId,null));
         return subFeeSettingDto;
     }
 
     @Override
     public List<MusicGroup> queryListByIds(Set<String> musicGroupIds) {
-        return musicGroupDao.queryListByIds(StringUtils.join(musicGroupIds, ","));
+        return musicGroupDao.queryListByIds(StringUtils.join(musicGroupIds,","));
     }
 
     @Override
@@ -892,23 +953,23 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Override
     public MusicGroup openPay(String musicGroupId, String expireDate) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
+        if(sysUser == null){
             throw new Exception("用户信息获取失败");
         }
-        MusicGroup musicGroup = saveLog(musicGroupId, MusicGroupStatusEnum.APPLY);
+        MusicGroup musicGroup = saveLog(musicGroupId,MusicGroupStatusEnum.APPLY);
         //记录操作日志
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "开启缴费(报名中 -->  缴费中)", sysUser.getId(), ""));
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"开启缴费(报名中 -->  缴费中)",sysUser.getId(),""));
         musicGroup.setApplyExpireDate(DateUtil.toDate(expireDate));
         musicGroup.setStatus(MusicGroupStatusEnum.PAY);
         musicGroupDao.update(musicGroup);
         //乐团成立后(开始缴费)
         //获取所有已报名学员列表
-        HashMap<Integer, String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findMapByMusicGroupId(musicGroupId))), HashMap.class);
-        if (map != null && map.size() > 0) {
+        HashMap<Integer,String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findMapByMusicGroupId(musicGroupId))), HashMap.class);
+        if(map != null && map.size() > 0){
             String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
             String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
-            sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE,
-                    map, null, 0, "", musicGroup.getName(), studentApplyUrl, serverPhone);
+            sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE,
+                    map,null,0,"",musicGroup.getName(),studentApplyUrl,serverPhone);
         }
         return musicGroup;
     }
@@ -919,16 +980,16 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroup.setEducationalTeacherName(teacherDao.queryNameById(musicGroup.getEducationalTeacherId()));
         musicGroup.setTeamTeacherName(teacherDao.queryNameById(musicGroup.getTeamTeacherId()));
         Organization organization = organizationDao.get(musicGroup.getOrganId());
-        if (organization != null) {
+        if(organization != null){
             musicGroup.setOrganName(organization.getName());
         }
         School school = schoolDao.get(musicGroup.getSchoolId());
-        if (school != null) {
+        if(school != null){
             musicGroup.setSchoolName(school.getName());
             musicGroup.setAddress(school.getAddress());
         }
         ChargeType chargeType = chargeTypeDao.get(musicGroup.getChargeTypeId());
-        if (chargeType != null) {
+        if(chargeType != null){
             musicGroup.setChargeTypeName(chargeType.getName());
         }
         return musicGroup;
@@ -944,7 +1005,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         teacherIds.add(musicGroup.getOperatorUserId());
         teacherIds.add(musicGroup.getDirectorUserId());
         teacherIds.removeAll(Collections.singleton(null));
-        for (Object teacherId : teacherIds) {
+        for (Object teacherId:teacherIds) {
             groupMembers.add(new ImGroupMember(teacherId.toString()));
         }
         return groupMembers;
@@ -954,24 +1015,26 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Transactional(rollbackFor = Exception.class)
     public void musicGroupFound(String musicGroupId) throws Exception {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
+        if(sysUser == null){
             throw new Exception("用户信息获取失败");
         }
-        MusicGroup musicGroup = saveLog(musicGroupId, MusicGroupStatusEnum.PAY);
+        MusicGroup musicGroup = saveLog(musicGroupId,MusicGroupStatusEnum.PAY);
         //记录操作日志
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "确认开团(缴费中 -> 筹备中)", sysUser.getId(), ""));
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"确认开团(缴费中 -> 筹备中)",sysUser.getId(),""));
         musicGroup.setStatus(MusicGroupStatusEnum.PREPARE);
         musicGroupDao.update(musicGroup);
 
         //给家长发送乐团基础训练课短信
         //获取所有乐团学员列表
         List<StudentRegistration> students = studentRegistrationDao.queryStudentByMusicGroupId(musicGroupId);
-        //获取所有家长电话
-        Set<String> parentsPhones = students.stream().map(StudentRegistration::getParentsPhone).collect(Collectors.toSet());
-        //获取对应家长的用户编号
-        Map<Integer, String> userIds = MapUtil.convertMybatisMap(studentRegistrationDao.findParentId(StringUtils.join(parentsPhones, ",")));
-        userIds = JSONObject.parseObject(JSONObject.toJSONString(userIds), HashMap.class);
-        String content = sysMessageConfigDao.findContent(MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE.getCode());
-        sysMessageService.batchSendMessage(MessageSender.YIMEI, "", content, userIds, new Date(), 0, "");
+		if (students != null && students.size() > 0) {
+			// 获取所有家长电话
+			Set<String> parentsPhones = students.stream().map(StudentRegistration::getParentsPhone).collect(Collectors.toSet());
+			// 获取对应家长的用户编号
+			Map<Integer, String> userIds = MapUtil.convertMybatisMap(studentRegistrationDao.findParentId(StringUtils.join(parentsPhones, ",")));
+			userIds = JSONObject.parseObject(JSONObject.toJSONString(userIds), HashMap.class);
+			String content = sysMessageConfigDao.findContent(MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE.getCode());
+			sysMessageService.batchSendMessage(MessageSender.YIMEI, "", content, userIds, new Date(), 0, "", "");
+		}
     }
 }

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

@@ -81,7 +81,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	 * @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) {
+			String errorMsg, Integer readStatus, String memo, String group) {
 		SysMessage message = null;
 		Date date = new Date();
 
@@ -143,7 +143,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		SysMessage message = null;
 
 		List<SysMessage> messages = new ArrayList<>();
-		for (Integer userId:userIds) {
+		for (Integer userId : userIds) {
 			message = new SysMessage();
 			message.setUserId(userId);
 			message.setContent(content);
@@ -163,7 +163,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	@Override
 	@Async
 	public boolean batchSendMessage(MessageSender messageSender, String subject, String content, Map<Integer, String> receivers, Date triggerTime,
-									Integer readStatus, String memo) {
+			Integer readStatus, String memo, String group) {
 
 		if (receivers == null || receivers.size() == 0) {
 			throw new BizException("消息接收人不能为空");
@@ -207,7 +207,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	@Override
 	@Async
 	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum type, Map<Integer, String> receivers, Date triggerTime, Integer readStatus,
-								 String url, Object... args) {
+			String url, Object... args) {
 
 		if (receivers == null || receivers.size() == 0) {
 			throw new BizException("接收地址不能为空");
@@ -226,7 +226,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			try {
 				if (debugMode == true
 						|| messageSenderPluginContext.batchSend(messageSender, messageConfig.getDescription(),
-						MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url)) {
+								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url)) {
 					status = SendStatusEnum.SUCCESSED;
 				} else {
 					status = SendStatusEnum.FAILED;
@@ -250,7 +250,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	@Override
 	@Async
 	public void sendMessage(MessageSender messageSender, Integer userId, String title, String content, String receiver, Date triggerTime, Integer readStatus,
-							String url) {
+			String url, String group) {
 		if (StringUtils.isBlank(receiver)) {
 			throw new BizException("接收地址不能为空");
 		}
@@ -322,8 +322,8 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	}
 
 	@Override
-	public int queryCountOfUnread(Integer userId) {
-		return sysMessageDao.queryCountOfUnread(userId);
+	public Map<String, Integer> queryCountOfUnread(MessageSendMode type, Integer userId) {
+		return sysMessageDao.queryCountOfUnread(type, userId);
 	}
 
 	public void setDebugMode(boolean debugMode) {

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

@@ -790,7 +790,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		Map<String,Object> payMap = payService.getPayMap(
 				vipGroup.getTotalPrice(),
 				orderNo,
-				"https://dyme.utools.club/api-student/studentOrder/notify",
+				"http://mstudev.dayaedu.com/api-student/studentOrder/notify",
 				"http://mstudev.dayaedu.com/#/paymentresult?orderNo="+orderNo,
 				"vip课购买",
 				vipGroup.getName());

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

@@ -116,26 +116,24 @@
 
     <select id="findStudentsByOrganId" resultMap="studentManageListDto">
         SELECT sr.user_id_,su.username_ real_name_,su.gender_,sr.parents_name_,sr.parents_phone_
-        FROM student_registration sr
+        FROM (SELECT * FROM student_registration WHERE id_ IN(SELECT MAX(id_) FROM student_registration GROUP BY user_id_)) sr
         LEFT JOIN sys_user su ON sr.user_id_ = su.id_
         <include refid="findStudentsByOrganIdSql"/>
+        ORDER BY sr.create_time_ DESC
         <include refid="global.limit"/>
     </select>
     <sql id="findStudentsByOrganIdSql">
-        WHERE sr.user_id_ IN (
-        (SELECT MAX(user_id_) user_id_ FROM student_registration
         <where>
+            <if test="organId != null">
+                AND su.organ_id_=#{organId}
+            </if>
+            <if test="studentName != null and studentName != ''">
+                AND su.username_ LIKE CONCAT('%',#{studentName},'%')
+            </if>
             <if test="search != null and search != ''">
-                parents_name_ LIKE CONCAT('%',#{search},'%') OR parents_phone_ LIKE CONCAT('%',#{search},'%')
+                AND (sr.parents_name_ LIKE CONCAT('%',#{search},'%') OR sr.parents_phone_ LIKE CONCAT('%',#{search},'%'))
             </if>
         </where>
-        GROUP BY parents_phone_))
-        <if test="organId != null">
-            AND su.organ_id_=#{organId}
-        </if>
-        <if test="studentName != null and studentName != ''">
-            AND su.username_ LIKE CONCAT('%',#{studentName},'%')
-        </if>
     </sql>
 
     <select id="countStudentByOrganId" resultType="java.lang.Integer">
@@ -379,7 +377,7 @@
         <result property="isNewStudent" column="is_new_student_"/>
     </resultMap>
     <select id="queryMusicGroupStudent" resultMap="MusicGroupStudentsDto">
-        SELECT sr.user_id_,su.real_name_,su.gender_,sr.parents_phone_,sr.current_grade_,
+        SELECT sr.user_id_,su.username_ real_name_,su.gender_,sr.parents_phone_,sr.current_grade_,
         sr.current_class_,sr.music_group_status_,IF(mgsf.payment_status_ IS NULL,'NON_PAYMENT',mgsf.payment_status_) payment_status_,
         s.name_ subject_name_,sr.music_group_id_,
         IF(sr.create_time_ > mg.payment_expire_date_,1,0) is_new_student_
@@ -402,18 +400,19 @@
     </select>
     <select id="countStudyNum" resultType="java.lang.Integer">
         SELECT COUNT(sr.user_id_) FROM student_registration sr
-        WHERE sr.music_group_id_ = #{musicGroupId} AND sr.payment_status_ = 1
+        WHERE sr.music_group_id_ = #{musicGroupId}
         AND sr.music_group_status_ != 'QUIT'
     </select>
     <select id="countQuitNum" resultType="java.lang.Integer">
         SELECT COUNT(sr.user_id_) FROM student_registration sr
-        WHERE sr.music_group_id_ = #{musicGroupId} AND sr.payment_status_ = 1
+        WHERE sr.music_group_id_ = #{musicGroupId}
         AND sr.music_group_status_ = 'QUIT'
     </select>
     <select id="countAddNum" resultType="java.lang.Integer">
         SELECT COUNT(sr.user_id_) FROM student_registration sr
-        LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_ AND sr.create_time_ > mg.apply_expire_date_
-        WHERE sr.music_group_id_ = #{musicGroupId} and sr.music_group_status_ != 'QUIT'
+        LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
+        WHERE sr.music_group_id_ = #{musicGroupId} AND sr.music_group_status_ != 'QUIT'
+        AND sr.create_time_ > mg.payment_expire_date_
     </select>
 
     <resultMap id="MusicGroupStudentSignDto" type="com.ym.mec.biz.dal.dto.MusicGroupStudentSignDto">

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

@@ -246,11 +246,12 @@
         <result column="gender_" property="gender"/>
         <result column="user_id_" property="studentId"/>
         <result column="id_" property="id"/>
+        <result column="remark_" property="remark"/>
     </resultMap>
     <select id="queryStudentDetailPage" resultMap="studentApplyDetail">
         SELECT sr.id_, sr.user_id_,sr.name_ username_,sr.parents_name_,sr.current_class_,sr.current_grade_,
         su.gender_,sr.is_allow_adjust_, s.name_ subject_name_,ss.name_
-        actual_subject_name_,sr.parents_phone_,sr.payment_status_
+        actual_subject_name_,sr.parents_phone_,sr.payment_status_,sr.remark_
         FROM student_registration sr
         LEFT JOIN sys_user su ON sr.user_id_ = su.id_
         LEFT JOIN `subject` s ON sr.subject_id_ = s.id_

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

@@ -162,7 +162,11 @@
 		INTERVAL #{recentMin} MINUTE) >= date(send_time_)]]>
 	</select>
 
-	<select id="queryCountOfUnread" resultType="int">
-		SELECT COUNT(*) FROM sys_message WHERE user_id_ = #{userId} AND read_status_ = 0 AND type_ = 3
+	<select id="queryCountOfUnread" resultType="map" parameterType="map">
+		SELECT group_ groupName,COUNT(*) num FROM sys_message WHERE user_id_ = #{userId} AND read_status_ = 0
+		<if test="type != null">
+		and type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+		</if>
+		group by group_
 	</select>
 </mapper>

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

@@ -386,11 +386,13 @@
     </resultMap>
     <select id="queryTeacherAttendance" resultMap="MusicGroupTeacherAttendanceDto">
         SELECT cs.class_date_,cs.start_class_time_,cs.name_,su.real_name_,
-        IF(ta.sign_in_status_ IS NULL,3,ta.sign_in_status_) sign_in_status_,IF(ta.sign_out_status_ IS NULL,3,ta.sign_out_status_) sign_out_status_
+        IF(ta.sign_in_status_ IS NULL,3,ta.sign_in_status_) sign_in_status_,
+        IF(ta.sign_out_status_ IS NULL,3,ta.sign_out_status_) sign_out_status_
         FROM course_schedule cs
         LEFT JOIN teacher_attendance ta ON cs.id_ = ta.course_schedule_id_
         LEFT JOIN sys_user su ON su.id_ = ta.teacher_id_
         <include refid="queryTeacherAttendanceSql"/>
+        ORDER BY cs.class_date_ DESC
         <include refid="global.limit"/>
     </select>
     <select id="countTeacherAttendance" resultType="java.lang.Integer">

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

@@ -78,7 +78,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return succeed(sysMessageService.queryCountOfUnread(sysUser.getId()));
+		return succeed(sysMessageService.queryCountOfUnread(MessageSendMode.PUSH, sysUser.getId()));
 	}
 
 	/*@ApiOperation(value = "发送短信验证码")
@@ -126,7 +126,7 @@ public class SysMessageController extends BaseController {
 
 	@ApiOperation(value = "发送消息")
 	@PostMapping("/sendMessage")
-	public Object sendMessage(MessageSender messageSender, String content, String receiver, int readStatus, String url) {
+	public Object sendMessage(MessageSender messageSender, String content, String receiver, int readStatus, String url, String group) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
@@ -137,7 +137,7 @@ public class SysMessageController extends BaseController {
 		if (StringUtils.isBlank(mobileNo) || !CommonValidator.isMobileNo(mobileNo)) {
 			throw new BizException("请输入正确的手机号");
 		}
-		sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url);
+		sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url, group);
 		return succeed();
 	}
 }

+ 4 - 3
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMessageController.java

@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RestController;
 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;
@@ -77,7 +78,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed("请重新登录");
 		}
-		return succeed(sysMessageService.queryCountOfUnread(sysUser.getId()));
+		return succeed(sysMessageService.queryCountOfUnread(MessageSendMode.PUSH, sysUser.getId()));
 	}
 /*
 	@ApiOperation(value = "发送短信验证码")
@@ -125,7 +126,7 @@ public class SysMessageController extends BaseController {
 
 	@ApiOperation(value = "发送消息")
 	@PostMapping("/sendMessage")
-	public Object sendMessage(MessageSender messageSender, String content, String receiver, int readStatus, String url) {
+	public Object sendMessage(MessageSender messageSender, String content, String receiver, int readStatus, String url, String group) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
@@ -136,7 +137,7 @@ public class SysMessageController extends BaseController {
 		if (StringUtils.isBlank(mobileNo) || !CommonValidator.isMobileNo(mobileNo)) {
 			throw new BizException("请输入正确的手机号");
 		}
-		sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url);
+		sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url, group);
 		return succeed();
 	}
 }

+ 3 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java

@@ -103,6 +103,9 @@ public class TeacherCourseScheduleController extends BaseController {
         if(Objects.isNull(classDateAdjustDto.getId())){
             return failed("请指定课程!");
         }
+        if(classDateAdjustDto.getStartClassTime().before(new Date())){
+            return failed("课程开始时间不能小于当前时间");
+        }
         List<CourseSchedule> courseSchedules=new ArrayList<>();
         courseSchedules.add(classDateAdjustDto);
         scheduleService.classStartDateAdjust(courseSchedules);

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

@@ -78,7 +78,7 @@ public class IndexController extends BaseController {
 		
 		Integer demoGroupNum = demoGroupDao.queryCurrentMonthCoursesNum(organId);
 		
-		Map<String, Object> incomeExpendMap = sysUserCashAccountDetailDao.queryStatistics();
+		Map<String, Object> incomeExpendMap = sysUserCashAccountDetailDao.queryStatistics(organId);
 		
 		ModelMap model = new ModelMap();
 		model.put("musicDatas", musicDatas);

+ 3 - 3
mec-web/src/main/java/com/ym/mec/web/controller/SysMessageController.java

@@ -78,7 +78,7 @@ public class SysMessageController extends BaseController {
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
-		return succeed(sysMessageService.queryCountOfUnread(sysUser.getId()));
+		return succeed(sysMessageService.queryCountOfUnread(MessageSendMode.SEO, sysUser.getId()));
 	}
 
 	/*@ApiOperation(value = "发送短信验证码")
@@ -126,7 +126,7 @@ public class SysMessageController extends BaseController {
 
 	@ApiOperation(value = "发送消息")
 	@PostMapping("/sendMessage")
-	public Object sendMessage(MessageSender messageSender, String content, String receiver, int readStatus, String url) {
+	public Object sendMessage(MessageSender messageSender, String content, String receiver, int readStatus, String url, String group) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if (sysUser == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
@@ -137,7 +137,7 @@ public class SysMessageController extends BaseController {
 		if (StringUtils.isBlank(mobileNo) || !CommonValidator.isMobileNo(mobileNo)) {
 			throw new BizException("请输入正确的手机号");
 		}
-		sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url);
+		sysMessageService.sendMessage(messageSender, userId, "", content, receiver, null, readStatus, url, group);
 		return succeed();
 	}
 }