瀏覽代碼

Merge remote-tracking branch 'origin/master'

Joburgess 5 年之前
父節點
當前提交
60afcf2633

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

@@ -232,6 +232,14 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
     List<Map<Integer, String>> findMapByMusicGroupId(@Param("musicGroupId") String musicGroupId,@Param("paymentStatus")Integer paymentStatus);
 
     /**
+     * 根据乐团编号获取当前乐团所有已报名学员
+     *
+     * @param musicGroupId
+     * @return
+     */
+    List<Map<Integer, String>> findIdMapByMusicGroupId(@Param("musicGroupId") String musicGroupId,@Param("paymentStatus")Integer paymentStatus);
+
+    /**
      * 乐团开启缴费
      *
      * @param musicGroupId

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/DealStatusEnum.java

@@ -8,7 +8,7 @@ import com.ym.mec.common.enums.BaseEnum;
 public enum DealStatusEnum implements BaseEnum<String, DealStatusEnum> {
 	ING("ING", "交易中"),
 	SUCCESS("SUCCESS", "成功交易"),
-	FAilED("FAilED", "交易失败"),
+	FAilED("FAILED", "交易失败"),
 	CLOSE("CLOSE", "交易关闭");
 
 	private String code;

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

@@ -84,4 +84,6 @@ public interface SubjectService extends BaseService<Integer, Subject> {
     List<Subject> findSubSubjects();
 
     List<Subject> findBySubjectByIdList(List<Integer> subjectIdList);
+
+    List<Subject> findBySubjectByIdList(String subjectIdList);
 }

+ 11 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -296,6 +296,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             //LocalDateTime now = LocalDateTime.ofInstant(highClassGroup.getStartDate().toInstant(), ZoneId.systemDefault());
             LocalDateTime now = LocalDate.parse(highClassGroup.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
 
+
+            List<Subject> subjectList = subjectService.findBySubjectByIdList(highClassGroup.getSubjectIdList());
+
+            String courseScheduleName = subjectList.stream().map(subject -> subject.getName()).collect(Collectors.joining("/"));
+
             while (true) {
                 int dayOfWeek = now.getDayOfWeek().getValue();
                 if (highClassGroup.getDayOfWeek().equals(dayOfWeek)) {
@@ -317,9 +322,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     courseSchedule.setUpdateTime(date);
                     courseSchedule.setTeachMode(TeachModeEnum.OFFLINE);
                     courseSchedule.setType(CourseSchedule.CourseScheduleType.HIGH);
-                    Subject subject = subjectService.get(Integer.parseInt(highClassGroup.getSubjectIdList()));
-                    courseSchedule.setName(subject.getName() + "-" + CourseSchedule.CourseScheduleType.HIGH.getMsg());
-
+                    courseSchedule.setName(courseScheduleName + "-" + CourseSchedule.CourseScheduleType.HIGH.getMsg());
                     courseScheduleList.add(courseSchedule);
                     times++;
                 }
@@ -328,6 +331,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     break;
                 }
             }
+            //检测新排课冲突
+            courseScheduleService.checkNewCourseSchedules(courseScheduleList,false);
             courseScheduleDao.batchAddCourseSchedules(courseScheduleList);
             List<ImGroupMember> groupMembers = musicGroupService.queryMusicGroupTeachers(highClassGroup.getMusicGroupId());
             groupMembers.add(new ImGroupMember(classGroupTeacherMapper.getUserId().toString()));
@@ -418,8 +423,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
         List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroupTeacherMapperService.findClassGroupTeachers(classGroupAndTeachersList);
         //获取当前乐团的合奏班id列表map
-        HashMap<Integer,Integer> idMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(classGroupRelationDao.queryClassRelationIdMap(musicGroupId))), HashMap.class);
-        HashMap<Integer,String> nameMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(classGroupRelationDao.queryClassRelationNameMap(musicGroupId))), HashMap.class);
+        HashMap<Integer, Integer> idMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(classGroupRelationDao.queryClassRelationIdMap(musicGroupId))), HashMap.class);
+        HashMap<Integer, String> nameMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(classGroupRelationDao.queryClassRelationNameMap(musicGroupId))), HashMap.class);
 
         for (ClassGroupTeachersDto classGroupAndTeachers : classGroupAndTeachersList) {
             List<ClassGroupTeacherMapper> oneClassGroupTeacherMapperList = new ArrayList<>();
@@ -448,7 +453,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 //获取老师的默认课酬
                 String courseType = classGroupAndTeacher.getType().equals(ClassGroupTypeEnum.NORMAL) ? "SINGLE" : classGroupAndTeacher.getType().getCode();
 
-                if(musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.CLASSROOM_SALARY)){
+                if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.CLASSROOM_SALARY)) {
                     courseType = "CLASSROOM";
                 }
 

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

@@ -25,6 +25,7 @@ import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.stream.Collector;
 import java.util.stream.Collectors;
 
 @Service
@@ -59,11 +60,8 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
     public int classGroupTeachersInsert(List<ClassGroupTeacherMapper> classGroupTeacherMapperList) {
         //老师加入群组
         List<ImGroupMember> imGroupMemberList = new ArrayList<>();
-        String classGroupIds = "";
-        for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
-            classGroupIds += classGroupTeacherMapper.getClassGroupId() + ",";
-        }
-        classGroupIds = classGroupIds.substring(0, classGroupIds.length() - 1);
+        String classGroupIds = classGroupTeacherMapperList.stream().map(classGroupTeacherMapper -> classGroupTeacherMapper.getClassGroupId().toString()).collect(Collectors.joining(","));
+
         List<ClassGroup> classGroups = classGroupService.findClassGroupByIds(classGroupIds);
 
         List<ClassGroupTeacherMapper> oldClassGroupTeacherMapper = classGroupTeacherMapperDao.getClassGroupTeacherMapper(classGroupTeacherMapperList);

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

@@ -271,6 +271,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             throw new Exception("用户信息获取失败");
         }
         MusicGroup musicGroup = saveLog(musicGroupId,MusicGroupStatusEnum.PREPARE);
+//        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
         //乐器采购清单是否确认
         Map<String,Object> param = new HashMap<>();
         param.put("musicGroupId",musicGroupId);
@@ -291,12 +292,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN,
                     map,null,0,"1",musicGroup.getName());
         }
-        Map<Integer,String> studentMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findMapByMusicGroupId(musicGroupId,2))),HashMap.class);
-
+        Map<Integer,String> studentMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findIdMapByMusicGroupId(musicGroupId,2))),HashMap.class);
         if(studentMap != null && studentMap.size() > 0){
             String url = "http://mstudev.dayaedu.com/#/smallRegister?musicGroupId=" + musicGroupId;
             String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
-            sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE,
+            sysMessageService.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE,
                     studentMap,null,0,"5?" + url,musicGroup.getName(),HttpUtil.getSortUrl(url),serverPhone);
         }
 
@@ -733,7 +733,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             throw new BizException("系统数据异常,找不到学员预缴费信息");
         }
         Date date = new Date();
-        Map<Integer, String> receivers = new HashMap<Integer, String>(1);
+        Map<Integer, String> receivers = new HashMap<>(1);
         StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
         receivers.put(userId, studentRegistration.getParentsPhone());
         if(studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS){

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

@@ -59,15 +59,15 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
     @Override
     public List<SubjectApplyDetailDto> findSubApplyDetail(String musicGroupId) {
         List<SubjectApplyDetailDto> subApplyDetail = subjectDao.findSubApplyDetail(musicGroupId);
-        //统计当前乐团不同声部的报名人数
-        Map<Long,Long> applyNum = MapUtil.convertMybatisMap(studentRegistrationDao.countApplyNum(musicGroupId));
-        Map<Integer, Long> payNumMap = MapUtil.convertMybatisMap(studentRegistrationDao.countPayNum(musicGroupId));
-        subApplyDetail.forEach(detail ->{
-            Long num = payNumMap.get(detail.getSubjectId());
-            detail.setPayNum(num == null?0:num.intValue());
-            num = applyNum.get(detail.getSubjectId().longValue());
-            detail.setApplyStudentNum(num == null?0:num.intValue());
-        });
+//        //统计当前乐团不同声部的报名人数
+//        Map<Long,Long> applyNum = MapUtil.convertMybatisMap(studentRegistrationDao.countApplyNum(musicGroupId));
+//        Map<Integer, Long> payNumMap = MapUtil.convertMybatisMap(studentRegistrationDao.countPayNum(musicGroupId));
+//        subApplyDetail.forEach(detail ->{
+//            Long num = payNumMap.get(detail.getSubjectId());
+//            detail.setPayNum(num == null?0:num.intValue());
+//            num = applyNum.get(detail.getSubjectId().longValue());
+//            detail.setApplyStudentNum(num == null?0:num.intValue());
+//        });
         return subApplyDetail;
     }
 
@@ -169,4 +169,9 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
     public List<Subject> findBySubjectByIdList(List<Integer> subjectIdList) {
         return subjectDao.findBySubjectByIdList(StringUtils.join(subjectIdList,","));
     }
+
+    @Override
+    public List<Subject> findBySubjectByIdList(String subjectIdList) {
+        return subjectDao.findBySubjectByIdList(subjectIdList);
+    }
 }

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

@@ -628,8 +628,8 @@
         FROM music_group mg
         LEFT JOIN class_group cg ON cg.music_group_id_ = mg.id_
         LEFT JOIN music_group_student_fee_ mgsf ON mgsf.music_group_id_ = mg.id_
-        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX') AND cg.del_flag_ = 0
-        GROUP BY mg.id_,mgsf.id_
+        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND cg.type_ != 'VIP' AND cg.del_flag_ = 0
+        GROUP BY mg.id_,mgsf.payment_status_
     </select>
 
     <!-- 增加实际学生人数 -->

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -478,6 +478,14 @@
         </if>
         GROUP BY sr.user_id_
     </select>
+    <select id="findIdMapByMusicGroupId" resultType="java.util.Map">
+        SELECT sr.user_id_ 'key',MIN(sr.user_id_) 'value' FROM student_registration sr
+        WHERE sr.music_group_id_ = #{musicGroupId}
+        <if test="paymentStatus != null">
+            AND sr.payment_status_ = #{paymentStatus}
+        </if>
+        GROUP BY sr.user_id_
+    </select>
 
     <!-- 删除学生的班级 -->
     <update id="deleteClassGroup">

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

@@ -110,7 +110,7 @@
         <result column="not_part_class_num_" property="notPartClassNum"/>
     </resultMap>
     <select id="findSubApplyDetail" resultMap="subApplyDetail">
-        SELECT mgsp.subject_id_,s.name_,mgsp.expected_student_num_,mgsp.id_ music_group_subject_plan_id_
+        SELECT mgsp.subject_id_,s.name_,mgsp.expected_student_num_,mgsp.apply_student_num_,mgsp.paid_student_num_ pay_num_,mgsp.id_ music_group_subject_plan_id_
         FROM music_group_subject_plan mgsp
         LEFT JOIN `subject` s ON mgsp.subject_id_ = s.id_
         WHERE mgsp.music_group_id_ = #{musicGroupId} AND s.del_flag_ = 0

+ 1 - 1
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -19,7 +19,7 @@ public interface TaskRemoteService {
 
 	@GetMapping(value = "task/updateCourseScheduleToOverStatus")
 	// 更新课程状态至已结束
-	boolean updateCourseScheduleToOverStatus();
+	void updateCourseScheduleToOverStatus();
 
 	@GetMapping("task/pushNoSignOutMessage")
 	// 推送未签退消息提醒

+ 1 - 2
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -22,9 +22,8 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 	}
 
 	@Override
-	public boolean updateCourseScheduleToOverStatus() {
+	public void updateCourseScheduleToOverStatus() {
 		logger.info("更新课程状态至已结束服务调用失败");
-		return false;
 	}
 
 	@Override

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

@@ -2,6 +2,7 @@ package com.ym.mec.teacher.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;

+ 1 - 1
mec-util/src/main/java/com/ym/mec/util/collection/MapUtil.java

@@ -112,7 +112,7 @@ public class MapUtil {
 			if(Objects.isNull(stringIntegerMap)){
 				return;
 			}
-			result.put(stringIntegerMap.get("key"),stringIntegerMap.get("value"));
+			result.put(stringIntegerMap.get("key"),stringIntegerMap.get("value").toString());
 		});
 		return result;
 	}