瀏覽代碼

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

Joburgess 5 年之前
父節點
當前提交
8d45b5b94b
共有 26 個文件被更改,包括 240 次插入114 次删除
  1. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CooperationOrganDao.java
  2. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SchoolDao.java
  3. 14 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java
  4. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/SchoolQueryInfo.java
  5. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java
  6. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/SchoolService.java
  7. 4 3
      mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java
  8. 40 8
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  9. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java
  10. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  11. 20 10
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  12. 3 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupStudentFeeServiceImpl.java
  13. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolServiceImpl.java
  14. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  15. 26 40
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java
  16. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  17. 6 0
      mec-biz/src/main/resources/config/mybatis/CooperationOrganMapper.xml
  18. 11 9
      mec-biz/src/main/resources/config/mybatis/SchoolMapper.xml
  19. 12 7
      mec-im/src/main/java/com/ym/controller/HereWhiteController.java
  20. 2 0
      mec-im/src/main/java/com/ym/dao/HereWhiteDao.java
  21. 15 1
      mec-im/src/main/java/com/ym/pojo/HereWhite.java
  22. 3 3
      mec-im/src/main/java/com/ym/service/HereWhiteService.java
  23. 30 7
      mec-im/src/main/java/com/ym/service/Impl/HereWhiteServiceImpl.java
  24. 2 2
      mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java
  25. 10 0
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java
  26. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/SchoolController.java

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

@@ -1,6 +1,8 @@
 package com.ym.mec.biz.dal.dao;
 
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 import org.apache.ibatis.annotations.Param;
 
@@ -16,4 +18,11 @@ public interface CooperationOrganDao extends BaseDAO<Integer, CooperationOrgan>
      * @return
      */
     List<CooperationOrgan> queryByOrganId(@Param("organId") Integer organId);
+
+    /**
+     * 根据合作机构编号列表获取合作机构名称
+     * @param organIds
+     * @return
+     */
+    List<Map<Integer,String>> queryNameByIds(String organIds);
 }

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

@@ -17,7 +17,7 @@ public interface SchoolDao extends BaseDAO<Integer, School> {
      * @param organId
      * @return
      */
-    List<School> queryByOrganId(@Param("organId") Integer organId, @Param("delFlag") YesOrNoEnum delFlag);
+    List<School> queryByOrganId(@Param("organId") Integer organId);
 
     /**
      * 根据学校编号列表获取学校名称map

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

@@ -98,7 +98,10 @@ public class MusicGroup {
 	private YesOrNoEnum isExtraClass;
 	
 	@ApiModelProperty(value = "合作单位编号",required = false)
-	private String cooperationOrganId;
+	private Integer cooperationOrganId;
+
+	@ApiModelProperty(value = "合作单位名称",required = false)
+	private String cooperationOrganName;
 	
 	@ApiModelProperty(value = "启蒙课日期",required = false)
 	private String enlightenmentCourseTime;
@@ -122,6 +125,14 @@ public class MusicGroup {
 	@ApiModelProperty(value = "在读人数",required = true)
 	private Integer payNum;
 
+	public String getCooperationOrganName() {
+		return cooperationOrganName;
+	}
+
+	public void setCooperationOrganName(String cooperationOrganName) {
+		this.cooperationOrganName = cooperationOrganName;
+	}
+
 	public String getAddress() {
 		return address;
 	}
@@ -266,11 +277,11 @@ public class MusicGroup {
 		this.courseForm = courseForm;
 	}
 
-	public String getCooperationOrganId() {
+	public Integer getCooperationOrganId() {
 		return cooperationOrganId;
 	}
 
-	public void setCooperationOrganId(String cooperationOrganId) {
+	public void setCooperationOrganId(Integer cooperationOrganId) {
 		this.cooperationOrganId = cooperationOrganId;
 	}
 

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/SchoolQueryInfo.java

@@ -1,6 +1,18 @@
 package com.ym.mec.biz.dal.page;
 
 import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
 
 public class SchoolQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "合作单位编号",required = false)
+    private Integer cooperationOrganId;
+
+    public Integer getCooperationOrganId() {
+        return cooperationOrganId;
+    }
+
+    public void setCooperationOrganId(Integer cooperationOrganId) {
+        this.cooperationOrganId = cooperationOrganId;
+    }
 }

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

@@ -186,4 +186,11 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @param musicGroupId
 	 */
     void musicGroupFound(String musicGroupId);
+
+	/**
+	 * 乐团修改,获取乐团声部信息数据
+	 * @param musicGroupId
+	 * @return
+	 */
+	SubFeeSettingDto findMusicGroupSubjectInfo(String musicGroupId);
 }

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

@@ -13,7 +13,7 @@ public interface SchoolService extends BaseService<Integer, School> {
      * @param organId
      * @return
      */
-    List<School> queryByOrganId(Integer organId, YesOrNoEnum delFlag);
+    List<School> queryByOrganId(Integer organId);
 
     /**
      * @describe 获取教师vip课教学点

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service;
 
 import java.util.Date;
 import java.util.Map;
+import java.util.Set;
 
 import com.ym.mec.biz.dal.entity.SysMessage;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
@@ -26,8 +27,8 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param triggerTime 触发时间
 	 * @return
 	 */
-	public boolean batchSendMessage(MessageSender messageSender, String subject, String content, Map<Integer, String> receivers, Date triggerTime,
-			Integer readStatus, String memo);
+	public boolean batchSendMessage(MessageSender messageSender, String subject, String content, Set<String> receivers, Date triggerTime,
+									Integer readStatus, String memo);
 
 	/**
 	 * 发送消息
@@ -40,7 +41,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * @param args 参数
 	 * @return
 	 */
-	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum messageType, Map<Integer, String> receivers, Date triggerTime,
+	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum messageType, Set<String> receivers, Date triggerTime,
 			Integer readStatus, String url, Object... args);
 
 	/**

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

@@ -1,5 +1,8 @@
 package com.ym.mec.biz.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+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.*;
@@ -86,6 +89,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     private ImFeignService imFeignService;
     @Autowired
     private JiaRiFeignService jiaRiFeignService;
+    @Autowired
+    private SysConfigService sysConfigService;
 
 
     @Override
@@ -418,16 +423,43 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     public List<ClassGroupTeachersDto> getClassGroupAndTeacherSalary(String musicGroupId, SalarySettlementTypeEnum type, Integer classGroupId) throws Exception {
         //乐团班级及班级老师
         List<ClassGroupTeachersDto> classGroupAndTeachers = getClassGroupAndTeachers(musicGroupId, "NORMAL,MIX,HIGH", classGroupId);
-
+        BigDecimal zeroSalary = new BigDecimal(0);
         for (ClassGroupTeachersDto classGroupAndTeacher : classGroupAndTeachers) {
             //班级的教师列表
             List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroupAndTeacher.getClassGroupTeacherMapperList();
             for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
                 //获取老师的默认课酬
                 String courseType = classGroupAndTeacher.getType().equals(ClassGroupTypeEnum.NORMAL) ? "SINGLE" : classGroupAndTeacher.getType().getCode();
+
                 List<TeacherDefaultMusicGroupSalary> teacherSalaryByUserIdAndType = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), courseType, type);
-                if (teacherSalaryByUserIdAndType == null) {
-                    throw new Exception("userId:" + classGroupTeacherMapper.getUserId() + "名字:" + classGroupTeacherMapper.getUserName() + " 老师没有设置课酬");
+                //老师课酬没有设置,设置成0
+                if (teacherSalaryByUserIdAndType == null || teacherSalaryByUserIdAndType.size()==0) {
+                    if (type.equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
+                        String paramName = courseType.equals("SINGLE") ? "sigle_gradient_settlement_rule" : (courseType.equals("MIX") ? "max_gradient_settlement_rule" : "high_gradient_settlement_rule");
+                        SysConfig sysConfig = sysConfigService.findByParamName(paramName);
+
+                        List<Map<String, String>> configs = JSONArray.parseObject(sysConfig.getParanValue(), List.class);
+                        for (Map<String, String> config : configs) {
+                            TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = new TeacherDefaultMusicGroupSalary();
+                            teacherDefaultMusicGroupSalary.setDurationMin(Integer.parseInt(config.get("min")));
+                            teacherDefaultMusicGroupSalary.setDurationMax(Integer.parseInt(config.get("max")));
+                            teacherDefaultMusicGroupSalary.setSettlementType(type);
+                            teacherDefaultMusicGroupSalary.setUserId(classGroupTeacherMapper.getUserId());
+                            teacherDefaultMusicGroupSalary.setAssistantTeacherSalary(zeroSalary);
+                            teacherDefaultMusicGroupSalary.setMainTeacherSalary(zeroSalary);
+
+                            teacherSalaryByUserIdAndType.add(teacherDefaultMusicGroupSalary);
+                        }
+                    } else {
+                        TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = new TeacherDefaultMusicGroupSalary();
+                        teacherDefaultMusicGroupSalary.setAssistantTeacherSalary(zeroSalary);
+                        teacherDefaultMusicGroupSalary.setMainTeacherSalary(zeroSalary);
+                        teacherDefaultMusicGroupSalary.setSettlementType(type);
+                        teacherDefaultMusicGroupSalary.setUserId(classGroupTeacherMapper.getUserId());
+
+                        teacherSalaryByUserIdAndType.add(teacherDefaultMusicGroupSalary);
+                    }
+
                 }
                 classGroupTeacherMapper.setTeacherDefaultMusicGroupSalaryList(teacherSalaryByUserIdAndType);
             }
@@ -521,7 +553,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             Map<Integer, Long> numsMap = MapUtil.convertMybatisMap(nums);
             imGroupModels.forEach(e -> {
                 Long num = numsMap.get(Integer.parseInt(e.getId()));
-                e.setCount((int)(num == null ? 0L : num) + e.getCount());
+                e.setCount((int) (num == null ? 0L : num) + e.getCount());
             });
         }
         return imGroupModels;
@@ -530,7 +562,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     @Override
     public List<ImUserModel> findGroupUsers(Integer groupId) {
         List<ImUserModel> students = classGroupDao.findGroupUsers(groupId);
-        if(students == null){
+        if (students == null) {
             students = new ArrayList<>();
         }
         List<ImUserModel> teachers = classGroupDao.findGroupTeacher(groupId);
@@ -867,7 +899,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         int times = 0;
 
         Map<String, Integer> holidayDays = new HashMap<>();
-        if(classGroup4MixDto.getHoliday()) {
+        if (classGroup4MixDto.getHoliday()) {
             Map<Integer, Map<String, Integer>> holiday = jiaRiFeignService.query(now.getYear());
             holidayDays = holiday.get(now.getYear());
         }
@@ -1068,7 +1100,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         BigDecimal expectPrice = new BigDecimal("0");
         int times = 0;
         Map<String, Integer> holidayDays = new HashMap<>();
-        if(classGroup4MixDto.getHoliday()) {
+        if (classGroup4MixDto.getHoliday()) {
             Map<Integer, Map<String, Integer>> holiday = jiaRiFeignService.query(now.getYear());
             holidayDays = holiday.get(now.getYear());
         }
@@ -1266,7 +1298,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         BigDecimal expectPrice = new BigDecimal("0");
         int times = 0;
         Map<String, Integer> holidayDays = new HashMap<>();
-        if(classGroup4MixDto.getHoliday()) {
+        if (classGroup4MixDto.getHoliday()) {
             Map<Integer, Map<String, Integer>> holiday = jiaRiFeignService.query(now.getYear());
             holidayDays = holiday.get(now.getYear());
         }

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

@@ -114,7 +114,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 continue;
             }
             //课时长度
-            int duration = DateUtil.minutesBetween(classGroupNoStartCourseSchedule.getEndClassTime(), classGroupNoStartCourseSchedule.getStartClassTime());
+            int duration = DateUtil.minutesBetween(classGroupNoStartCourseSchedule.getStartClassTime(),classGroupNoStartCourseSchedule.getEndClassTime());
             for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
                 if (!classGroupTeacherMapper.getClassGroupId().equals(classGroupNoStartCourseSchedule.getClassGroupId())) {
                     continue;
@@ -126,7 +126,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                     BigDecimal baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacherSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacherSalary();
                     //基准课酬
                     if (teacherDefaultMusicGroupSalary.getSettlementType().equals(SalarySettlementTypeEnum.TEACHER_DEFAULT)) {
-                        salary = new BigDecimal(duration).divide(new BigDecimal(30)).multiply(baseSalary).setScale(2, BigDecimal.ROUND_HALF_UP);
+                        salary = new BigDecimal(duration).divide(new BigDecimal(30),8,BigDecimal.ROUND_HALF_UP).multiply(baseSalary).setScale(2, BigDecimal.ROUND_HALF_UP);
                         break;
                     }
                     //阶梯课酬

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

@@ -728,9 +728,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 		List<CourseSchedule> list = courseScheduleDao.queryNoSignInListByBeforeMinutes(minutes);
 
-		Map<Integer, String> receivers = new HashMap<Integer, String>();
+		Set<String> receivers = new HashSet<>();
 		for (CourseSchedule sf : list) {
-			receivers.put(sf.getTeacherId(), sf.getTeacherId() + "");
+			receivers.add(sf.getTeacherId() + "");
 		}
 
 		sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_SIGN_IN_MESSAGE, receivers, null, 0, "");

+ 20 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -83,10 +83,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     private OrganizationDao organizationDao;
 
     @Autowired
-    private SysConfigDao sysConfigDao;
+    private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
 
     @Autowired
-    private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
+    private CooperationOrganDao cooperationOrganDao;
 
     @Autowired
     private StudentPaymentOrderService studentPaymentOrderService;
@@ -494,8 +494,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupStudentFeeDao.update(musicGroupStudentFee);
         
 		SysUser user = sysUserFeignService.queryUserById(userId);
-		Map<Integer, String> receivers = new HashMap<Integer, String>();
-		receivers.put(user.getId(), userId + "");
+		Set<String> receivers = new HashSet<>();
+		receivers.add(userId + "");
 
 		// 发送续费结果通知
 		sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_RENEW_RESULT, receivers, null, 0, "",
@@ -540,10 +540,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         PageInfo<MusicGroup> musicGroupPageInfo = queryPage(queryInfo);
         List<MusicGroup> musicGroupList = musicGroupPageInfo.getRows();
         // 获取学校编号列表
-        Set<Integer> schoolIds = musicGroupList.stream().map(e -> e.getSchoolId()).collect(Collectors.toSet());
-        List<Map<Integer, String>> schoolNames = schoolDao.queryNameByIds(StringUtils.join(schoolIds,","));
+//        Set<Integer> schoolIds = musicGroupList.stream().map(e -> e.getSchoolId()).collect(Collectors.toSet());
+//        List<Map<Integer, String>> schoolNames = schoolDao.queryNameByIds(StringUtils.join(schoolIds,","));
         // 获取相关学校名称map
-        Map<Integer, String> schoolNameMap = MapUtil.convertMybatisMap(schoolNames);
+//        Map<Integer, String> schoolNameMap = MapUtil.convertMybatisMap(schoolNames);
 
         // 获取教务老师编号列表
         Set<Integer> educationalTeacherIds = musicGroupList.stream().map(e -> e.getEducationalTeacherId()).collect(Collectors.toSet());
@@ -570,8 +570,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         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()),",")));
+
         musicGroupList.forEach(e -> {
-            e.setSchoolName(schoolNameMap.get(e.getSchoolId()));
+//            e.setSchoolName(schoolNameMap.get(e.getSchoolId()));
+            e.setCooperationOrganName(organNames.get(e.getCooperationOrganId()));
             e.setEducationalTeacherName(educationalTeacherNameMap.get(e.getEducationalTeacherId()));
             e.setTeamTeacherName(teamTeacherNameMap.get(e.getTeamTeacherId()));
             e.setPayNum(payNumMap.get(e.getId()) == null ? 0 : payNumMap.get(e.getId()).intValue());
@@ -708,9 +712,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void musicGroupFound(String musicGroupId) {
+        Date date = new Date();
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
         musicGroup.setStatus(MusicGroupStatusEnum.PREPARE);
-        musicGroup.setUpdateTime(new Date());
+        musicGroup.setUpdateTime(date);
         musicGroupDao.update(musicGroup);
         //给家长发送乐团基础训练课短信
         //获取所有乐团学员列表
@@ -718,6 +723,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         //获取所有家长电话
 //        Set<String> parentsPhones = students.stream().map(StudentRegistration::getParentsPhone).collect(Collectors.toSet());
 //        String content = sysConfigDao.findConfigValue(MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE.getCode());
-//        sysMessageService.batchSendMessage(MessageSender.YIMEI,"",content,);
+//        sysMessageService.batchSendMessage(MessageSender.YIMEI,"",content,parentsPhones,date,0,"");
+    }
+
+    @Override
+    public SubFeeSettingDto findMusicGroupSubjectInfo(String musicGroupId) {
+        return null;
     }
 }

+ 3 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupStudentFeeServiceImpl.java

@@ -1,10 +1,6 @@
 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.*;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -61,9 +57,9 @@ public class MusicGroupStudentFeeServiceImpl extends BaseServiceImpl<Long, Music
 		if (updateList.size() > 0) {
 			musicGroupStudentFeeDao.batchUpdate(updateList);
 
-			Map<Integer, String> receivers = new HashMap<Integer, String>();
+			Set<String> receivers = new HashSet<>();
 			for (MusicGroupStudentFee sf : updateList) {
-				receivers.put(sf.getUserId(), sf.getUserId() + "");
+				receivers.add(sf.getUserId() + "");
 			}
 
 			// 发送续费通知

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

@@ -24,8 +24,8 @@ public class SchoolServiceImpl extends BaseServiceImpl<Integer, School>  impleme
 	}
 
 	@Override
-	public List<School> queryByOrganId(Integer organId, YesOrNoEnum delFlag) {
-		return schoolDao.queryByOrganId(organId,delFlag);
+	public List<School> queryByOrganId(Integer organId) {
+		return schoolDao.queryByOrganId(organId);
 	}
 
 	@Override

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

@@ -192,7 +192,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         studentRegistration.setUserId(sysUser.getId());
         studentRegistrationDao.insert(studentRegistration);
         //增加报名学生数
-        musicGroupSubjectPlanService.addApplyStudentNum(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId(),1);
+//        musicGroupSubjectPlanService.addApplyStudentNum(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId(),1);
         //报名成功后,发送短信
         String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL + studentRegistration.getMusicGroupId());
         String content = sysMessageConfigDao.findContent(MessageTypeEnum.SMS_APPLY_MESSAGE.getCode());
@@ -427,7 +427,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             //学生报名表
             studentRegistrationDao.insertBasic(studentRegistration);
             //增加报名学生数
-            musicGroupSubjectPlanService.addApplyStudentNum(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId(),1);
+//            musicGroupSubjectPlanService.addApplyStudentNum(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId(),1);
             if (studentRegistration.getClassGroupId() != null) {
                 ClassGroup classGroup = classGroupDao.get(studentRegistration.getClassGroupId());
                 if (classGroup != null) {

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

@@ -1,21 +1,5 @@
 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;
@@ -33,6 +17,15 @@ 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.*;
 
 @Service
 public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> implements SysMessageService {
@@ -85,7 +78,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	 * @param group 消息组
 	 * @return
 	 */
-	private int addMessage(Map<Integer, String> receivers, String subject, String content, Date triggerTime, MessageSendMode mode, SendStatusEnum status,
+	private int addMessage(Set<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();
@@ -93,23 +86,17 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		List<SysMessage> messages = new ArrayList<SysMessage>();
 
 		Integer userId = null;
-		String receiver;
-		for (Entry<Integer, String> entry : receivers.entrySet()) {
-			userId = entry.getKey();
-			receiver = entry.getValue();
-
+		for (String phone : receivers) {
 			message = new SysMessage();
-			if (userId == null) {
-				SysUser user = sysUserFeignService.queryUserByMobile(receiver);
-				if (user != null) {
-					userId = user.getId();
-				}
+			SysUser user = sysUserFeignService.queryUserByMobile(phone);
+			if (user != null) {
+				userId = user.getId();
 			}
 			message.setUserId(userId);
 			message.setContent(content);
 			message.setCreateOn(date);
 			message.setModifyOn(date);
-			message.setReceiver(receiver);
+			message.setReceiver(phone);
 			if (triggerTime == null) {
 				triggerTime = date;
 			}
@@ -135,8 +122,8 @@ 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) {
+	public boolean batchSendMessage(MessageSender messageSender, String subject, String content, Set<String> receivers, Date triggerTime,
+									Integer readStatus, String memo) {
 
 		if (receivers == null || receivers.size() == 0) {
 			throw new BizException("消息接收人不能为空");
@@ -144,8 +131,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		if (StringUtils.isBlank(content)) {
 			throw new BizException("消息内容不能为空");
 		}
-		String[] tos = receivers.values().toArray(new String[receivers.size()]);
-		if (tos != null && tos.length > 0) {
+		if (receivers != null && receivers.size() > 0) {
 			Date date = new Date();
 			SendStatusEnum status = SendStatusEnum.WAIT;
 
@@ -154,7 +140,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 				// 立即发送
 				if (triggerTime == null || date.after(triggerTime)) {
 					status = SendStatusEnum.SENDING;
-					if (debugMode == true || messageSenderPluginContext.batchSend(messageSender, subject, content, tos, memo)) {
+					if (debugMode == true || messageSenderPluginContext.batchSend(messageSender, subject, content, receivers.toArray(new String[receivers.size()]), memo)) {
 						status = SendStatusEnum.SUCCESSED;
 					} else {
 						status = SendStatusEnum.FAILED;
@@ -179,13 +165,13 @@ 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,
+	public void batchSendMessage(MessageSender messageSender, MessageTypeEnum type, Set<String> receivers, Date triggerTime, Integer readStatus,
 			String url, Object... args) {
 
 		if (receivers == null || receivers.size() == 0) {
 			throw new BizException("接收地址不能为空");
 		}
-		String[] tos = receivers.values().toArray(new String[receivers.size()]);
+//		String[] tos = receivers.values().toArray(new String[receivers.size()]);
 		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type);
 		if (messageConfig == null) {
 			throw new BizException("消息类型错误");
@@ -199,7 +185,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),receivers.toArray(new String[receivers.size()]) , url)) {
 					status = SendStatusEnum.SUCCESSED;
 				} else {
 					status = SendStatusEnum.FAILED;
@@ -251,8 +237,8 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		} else if (messageSender.getSendMode().equals("EMAIL")) {
 			mode = MessageSendMode.EMAIL;
 		}
-		Map<Integer, String> receivers = new HashMap<Integer, String>();
-		receivers.put(userId, receiver);
+		Set<String> receivers = new HashSet<>();
+		receivers.add(receiver);
 		addMessage(receivers, title, content, triggerTime, mode, status, errorMsg, readStatus, url, null);
 	}
 
@@ -268,8 +254,8 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		if (debugMode == false) {
 			code = getRandomCode(messageType, receiver);
 		}
-		Map<Integer, String> receivers = new HashMap<Integer, String>();
-		receivers.put(userId, receiver);
+		Set<String> receivers = new HashSet<>();
+		receivers.add(receiver);
 		batchSendMessage(messageSender, messageType, receivers, null, 1, "", code);
 		redisCache.put(key, code, CODE_EXPIRE);
 		redisCache.put(key1, code, CODE_INTERVAL_TIME);

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

@@ -184,10 +184,10 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		Integer minutes = Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.SIGN_OUT_MESSAGE_PUSH_MINUTE));;
 
 		List<TeacherAttendance> list = teacherAttendanceDao.queryNoSignOutListByOverMinutes(minutes);
-		
-		Map<Integer, String> receivers = new HashMap<Integer, String>();
+
+		Set<String> receivers = new HashSet<>();
 		for (TeacherAttendance sf : list) {
-			receivers.put(sf.getTeacherId(), sf.getTeacherId() + "");
+			receivers.add(sf.getTeacherId() + "");
 		}
 
 		sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_SIGN_OUT_MESSAGE, receivers, null, 0, "");

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/CooperationOrganMapper.xml

@@ -98,7 +98,13 @@
             </if>
         </where>
 	</select>
+
     <select id="queryByOrganId" resultMap="CooperationOrgan">
         SELECT * FROM cooperation_organ WHERE organ_id_ = #{organId} AND del_flag_ = 0
     </select>
+
+    <select id="queryNameByIds" resultType="java.util.Map">
+        SELECT co.id_ 'key',co.name_ 'value' FROM cooperation_organ co
+        WHERE FIND_IN_SET(co.id_,#{organIds}) AND co.del_flag_ = 0
+    </select>
 </mapper>

+ 11 - 9
mec-biz/src/main/resources/config/mybatis/SchoolMapper.xml

@@ -92,30 +92,32 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="School" parameterType="map">
-        SELECT * FROM school
-        where del_flag_ != 1
+        SELECT * FROM school where del_flag_ = 0
+        <if test="cooperationOrganId != null">
+            AND cooperation_organ_id_ = #{cooperationOrganId}
+        </if>
         ORDER BY id_
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM school
-		where del_flag_ != 1
+		SELECT COUNT(*) FROM school where del_flag_ = 0
+        <if test="cooperationOrganId != null">
+            AND cooperation_organ_id_ = #{cooperationOrganId}
+        </if>
 	</select>
     <select id="queryByOrganId" resultMap="School">
         SELECT * FROM school
         <where>
+            del_flag_ = 0
             <if test="organId != null">
-                organ_id_ = #{organId}
-            </if>
-            <if test="delFlag != null">
-                AND del_flag_ = #{delFlag}
+                AND organ_id_ = #{organId}
             </if>
         </where>
     </select>
     <select id="queryNameByIds" resultType="java.util.Map" >
-        select id_ `key`,name_ `value` FROM school s WHERE FIND_IN_SET(id_,#{schoolIds})
+        select id_ `key`,name_ `value` FROM school s WHERE FIND_IN_SET(id_,#{schoolIds}) AND s.del_flag_ = 0
     </select>
     
     <select id="findByUserId" resultMap="School">

+ 12 - 7
mec-im/src/main/java/com/ym/controller/HereWhiteController.java

@@ -2,6 +2,7 @@ package com.ym.controller;
 
 import com.ym.mec.common.controller.BaseController;
 import com.ym.service.HereWhiteService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -18,23 +19,27 @@ public class HereWhiteController  extends BaseController {
      * 创建白板,默认全部采用零时白板
      * @param name 白板名称
      * @param userNum 白板人数上限,0不限制
+     * @param courseScheduleId 课程编号
      * @return
      * @throws Exception
      */
     @RequestMapping(value = "create", method = RequestMethod.POST)
-    public Object userAdd(String name,Integer userNum) throws Exception {
-        return hereWhiteService.create(name, userNum);
+    public Object userAdd(String name,Integer userNum,Integer courseScheduleId) throws Exception {
+        if(StringUtils.isEmpty(name) || userNum == null || courseScheduleId == null){
+            return failed("参数校验失败");
+        }
+        return succeed(hereWhiteService.create(name, userNum,courseScheduleId));
     }
 
     /**
-     * 获取特定白板 room Token
-     * @param courseScheduleId
+     * 获取特定白板详情
+     * @param courseScheduleId 课程编号
      * @return
      * @throws Exception
      */
-    @RequestMapping(value = "join", method = RequestMethod.POST)
-    public Object join(Integer courseScheduleId) throws Exception {
-        return succeed(hereWhiteService.join(courseScheduleId));
+    @RequestMapping(value = "get", method = RequestMethod.GET)
+    public Object join(Integer courseScheduleId){
+        return succeed(hereWhiteService.getByClassId(courseScheduleId));
     }
 
 }

+ 2 - 0
mec-im/src/main/java/com/ym/dao/HereWhiteDao.java

@@ -8,4 +8,6 @@ import org.springframework.stereotype.Repository;
 public interface HereWhiteDao extends JpaRepository<HereWhite, Long> {
 
     HereWhite findById(Integer id);
+
+    HereWhite findByCourseScheduleId(Integer id);
 }

+ 15 - 1
mec-im/src/main/java/com/ym/pojo/HereWhite.java

@@ -17,18 +17,32 @@ public class HereWhite implements Serializable {
 
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Getter @Setter
+    @Column(name = "id_")
     private Integer id;
 
+    @Column(name = "course_schedule_id_")
+    private @Getter @Setter int courseScheduleId;
+    @Column(name = "name_")
     private @Getter @Setter String name;
+    @Column(name = "limit_")
     private @Getter @Setter int limit;
+    @Column(name = "team_id_")
     private @Getter @Setter int teamId;
+    @Column(name = "admin_id_")
     private @Getter @Setter int adminId;
+    @Column(name = "mode_")
     private @Getter @Setter String mode;
+    @Column(name = "template_")
     private @Getter @Setter String template;
+    @Column(name = "region_")
     private @Getter @Setter String region;
+    @Column(name = "uuid_")
     private @Getter @Setter String uuid;
+    @Column(name = "room_token_")
     private @Getter @Setter String roomToken;
+    @Column(name = "updated_at_")
     private @Getter @Setter Date updatedAt;
+    @Column(name = "created_at_")
     private @Getter @Setter Date createdAt;
+
 }

+ 3 - 3
mec-im/src/main/java/com/ym/service/HereWhiteService.java

@@ -12,12 +12,12 @@ public interface HereWhiteService {
      * @param userNum
      * @return
      */
-    String create(String name,Integer userNum) throws Exception;
+    HereWhite create(String name,Integer userNum,Integer courseScheduleId) throws Exception;
 
     /**
-     * 获取特定白板 room Token
+     * 获取白板详情
      * @param courseScheduleId
      * @return
      */
-    HereWhite join(Integer courseScheduleId) throws Exception;
+    HereWhite getByClassId(Integer courseScheduleId);
 }

+ 30 - 7
mec-im/src/main/java/com/ym/service/Impl/HereWhiteServiceImpl.java

@@ -8,7 +8,9 @@ import com.ym.service.HereWhiteService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -24,13 +26,39 @@ public class HereWhiteServiceImpl implements HereWhiteService {
     private HereWhiteDao hereWhiteDao;
 
     @Override
-    public String create(String name, Integer userNum) throws Exception {
+    @Transactional(rollbackFor = Exception.class)
+    public HereWhite create(String name, Integer userNum,Integer courseScheduleId) throws Exception {
         JSONObject json = new JSONObject();
         json.put("name",name);
         json.put("limit",userNum);
         json.put("mode","transitory");
         String url = "/room?token=" + hereWhiteToken;
-        return requestParam(json,url);
+        JSONObject jsonObject = JSONObject.parseObject(requestParam(json, url));
+        if(jsonObject.getString("code").equals("200")){
+            JSONObject room = jsonObject.getJSONObject("msg").getJSONObject("room");
+            HereWhite hereWhite = new HereWhite();
+            Date date = new Date();
+            hereWhite.setCourseScheduleId(courseScheduleId);
+            hereWhite.setName(room.getString("name"));
+            hereWhite.setLimit(room.getInteger("limit"));
+            hereWhite.setTeamId(room.getInteger("teamId"));
+            hereWhite.setAdminId(room.getInteger("adminId"));
+            hereWhite.setMode(room.getString("mode"));
+            hereWhite.setTemplate(room.getString("template"));
+            hereWhite.setRegion(room.getString("region"));
+            hereWhite.setUuid(room.getString("uuid"));
+            hereWhite.setRoomToken(jsonObject.getJSONObject("msg").getString("roomToken"));
+            hereWhite.setUpdatedAt(date);
+            hereWhite.setCreatedAt(date);
+            return hereWhiteDao.save(hereWhite);
+        }else {
+            throw new Exception(jsonObject.getString("msg"));
+        }
+    }
+
+    @Override
+    public HereWhite getByClassId(Integer courseScheduleId) {
+        return hereWhiteDao.findByCourseScheduleId(courseScheduleId);
     }
 
     private String requestParam(JSONObject json,String url) throws Exception {
@@ -38,9 +66,4 @@ public class HereWhiteServiceImpl implements HereWhiteService {
         headers.put("Content-Type","application/json");
         return HttpUtil.postForHttps(hereWhiteUrl + url, json.toJSONString(), headers);
     }
-
-    @Override
-    public HereWhite join(Integer courseScheduleId) throws Exception {
-        return hereWhiteDao.findById(courseScheduleId);
-    }
 }

+ 2 - 2
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -240,7 +240,7 @@ public class MusicGroupController extends BaseController {
         Map payMap = payService.getPayMap(
                 orderAmount,
                 orderNo,
-                "http://mstudev.dayaedu.com/api-student/studentOrder/notify",
+                "http://47.99.212.176:8000/studentOrder/notify",
                 "http://mstudev.dayaedu.com/#/paymentResult",
                 "测试订单",
                 "测试订单");
@@ -318,7 +318,7 @@ public class MusicGroupController extends BaseController {
         IdWorker idWorker = new IdWorker(0, 0);
         String orderNo = idWorker.nextId();
 
-        Map payMap = payService.getPayMap(orderAmount, orderNo, "https://pay.dayaedu.com/api/yqpay/notify", "http://dev.dayaedu.com", "测试订单", "测试订单");
+        Map payMap = payService.getPayMap(orderAmount, orderNo, "http://47.99.212.176:8000/studentOrder/notify", "http://dev.dayaedu.com", "测试订单", "测试订单");
 
         studentRegistrationService.reAddOrder(userId, amount, orderNo, "双乾", courseFee, goodsGroups, goodsList, otherGoodsList, studentRegistration.getMusicGroupId(),ApplyOrder);
 

+ 10 - 0
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -52,6 +52,16 @@ public class MusicGroupController extends BaseController {
 		return succeed(musicGroupService.findMusicGroupBasicInfo(musicGroupId));
 	}
 
+	@ApiOperation(value = "获取乐团调整--声部信息数据")
+	@PostMapping("/findMusicGroupSubjectInfo")
+	@PreAuthorize("@pcs.hasPermissions('musicGroup/findMusicGroupSubjectInfo')")
+	public Object findMusicGroupSubjectInfo(String musicGroupId) {
+		if (StringUtils.isEmpty(musicGroupId)) {
+			return failed("参数校验失败");
+		}
+		return succeed(musicGroupService.findMusicGroupSubjectInfo(musicGroupId));
+	}
+
 	@ApiOperation(value = "根据乐团编号查询乐团详情")
 	@GetMapping("/get")
 	@PreAuthorize("@pcs.hasPermissions('musicGroup/get')")

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

@@ -64,7 +64,7 @@ public class SchoolController extends BaseController {
     @GetMapping("/queryByOrganId")
     @PreAuthorize("@pcs.hasPermissions('school/queryByOrganId')")
     public Object queryByOrganId(@RequestParam Integer organId){
-        return succeed(schoolService.queryByOrganId(organId,null));
+        return succeed(schoolService.queryByOrganId(organId));
     }
 
     @ApiOperation(value = "获取教师vip课教学点")