Browse Source

Merge branch 'feature/0427-school' of http://git.dayaedu.com/yonge/mec into master_saas

zouxuan 2 năm trước cách đây
mục cha
commit
644e5705c7
28 tập tin đã thay đổi với 403 bổ sung146 xóa
  1. 7 8
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  2. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroup.java
  3. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImUserFriend.java
  4. 55 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EFriendRoleType.java
  5. 34 15
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/FivePlusGradeEnum.java
  6. 31 12
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/SixPlusGradeEnum.java
  7. 0 13
      mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/DailySummaryOfClassesForTheCurrentSemesterDto.java
  8. 0 18
      mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/SummaryOfCurrentSemesterCoursesDto.java
  9. 47 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DailySummaryOfClassesForTheCurrentSemesterWrapper.java
  10. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/ImGroupWrapper.java
  11. 3 4
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  12. 4 1
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java
  13. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/OrganizationService.java
  14. 17 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SchoolStaffService.java
  15. 15 12
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  16. 14 14
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java
  17. 54 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImUserFriendServiceImpl.java
  18. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  19. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrganizationServiceImpl.java
  20. 46 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolStaffServiceImpl.java
  21. 2 2
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  22. 9 14
      mec-biz/src/main/resources/config/mybatis/ImUserFriendMapper.xml
  23. 2 2
      mec-web/src/main/java/com/ym/mec/web/controller/OrganizationController.java
  24. 17 8
      mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java
  25. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduMusicGroupRecordController.java
  26. 0 10
      mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolClassGroupController.java
  27. 3 4
      mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolCourseScheduleController.java
  28. 19 0
      mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolStaffController.java

+ 7 - 8
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -7,8 +7,7 @@ import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.page.CourseDetailQueryInfo;
 import com.ym.mec.biz.dal.school.dto.ClassesForDayDto;
-import com.ym.mec.biz.dal.school.dto.DailySummaryOfClassesForTheCurrentSemesterDto;
-import com.ym.mec.biz.dal.school.dto.SummaryOfCurrentSemesterCoursesDto;
+import com.ym.mec.biz.dal.wrapper.DailySummaryOfClassesForTheCurrentSemesterWrapper;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -2013,13 +2012,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     void updateTeachingPointByClassGroupId(@Param("classGroupId") Integer classGroupId, @Param("teachingPoint") String teachingPoint);
 
-    List<SummaryOfCurrentSemesterCoursesDto> getSummaryOfCurrentSemesterCourses(@Param("musicGroupIds") List<String> musicGroupIds,
-                                                                                @Param("startTerm") String startTerm,
-                                                                                @Param("endTerm") String endTerm);
+    List<DailySummaryOfClassesForTheCurrentSemesterWrapper.SummaryOfCurrentSemesterCoursesDto> getSummaryOfCurrentSemesterCourses(@Param("musicGroupIds") List<String> musicGroupIds,
+                                                                                                                                  @Param("startTerm") String startTerm,
+                                                                                                                                  @Param("endTerm") String endTerm);
 
-    List<DailySummaryOfClassesForTheCurrentSemesterDto> getDailySummaryOfClassesForTheCurrentSemester(@Param("musicGroupIds") List<String> musicGroupIds,
-                                                                                                      @Param("startTerm") String startTerm,
-                                                                                                      @Param("endTerm") String endTerm);
+    List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDto> getDailySummaryOfClassesForTheCurrentSemester(@Param("musicGroupIds") List<String> musicGroupIds,
+                                                                                                                                                        @Param("startTerm") String startTerm,
+                                                                                                                                                        @Param("endTerm") String endTerm);
 
     List<ClassesForDayDto> getListClassesForDay(@Param("musicGroupIds") List<String> musicGroupIds, @Param("classDate") String classDate, @Param("courseId") Long courseId);
 

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroup.java

@@ -31,7 +31,7 @@ public class ImGroup extends BaseEntity {
 	
 	private String img;
 
-	/** 乐团群 MUSIC,班级群 CLASS,训练营 TRAINING */
+	/** 乐团群 MUSIC,班级群 CLASS,训练营 TRAINING 学校SCHOOL*/
 	private String type;
 
 	public enum GroupTypeEnum implements BaseEnum<String,GroupTypeEnum> {

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImUserFriend.java

@@ -31,6 +31,16 @@ public class ImUserFriend extends BaseEntity {
 
 	private String subjectId;
 
+    public String getRoleType() {
+        return roleType;
+    }
+
+    public void setRoleType(String roleType) {
+        this.roleType = roleType;
+    }
+
+    private String roleType;
+
 	/**  */
 	private java.util.Date createTime;
 

+ 55 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/EFriendRoleType.java

@@ -0,0 +1,55 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+
+public enum EFriendRoleType implements BaseEnum<Integer, EFriendRoleType> {
+
+    SCHOOLMASTER(1,"校长"),
+    ORCHESTRA_LEADER(2,"乐团领队"),
+    SCHOOL_LEADER(3,"分管领导"),
+    SCHOOL_TEACHER(4,"负责老师"),
+    ORCHESTRA_MANAGER(5,"乐团主管"),
+    MAINTENANCE_TECHNICIAN(6,"乐团主管"),
+    ORCHESTRA_TEACHER(7,"指导老师"),
+    STUDENT(8,"学生"),
+
+
+    ;
+    private Integer code;
+    private String msg;
+
+    EFriendRoleType(Integer code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public static EFriendRoleType getByName(String name) {
+        switch (name) {
+            case "SCHOOLMASTER":
+                return SCHOOLMASTER;
+            case "ORCHESTRA_LEADER":
+                return ORCHESTRA_LEADER;
+            case "SCHOOL_LEADER":
+                return SCHOOL_LEADER;
+            case "TEACHER":
+                return SCHOOL_TEACHER;
+            case "乐团主管":
+                return ORCHESTRA_MANAGER;
+            case "指导老师":
+                return ORCHESTRA_TEACHER;
+
+            default:
+                return STUDENT;
+        }
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    @Override
+    public Integer getCode() {
+        return code;
+    }
+}

+ 34 - 15
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/FivePlusGradeEnum.java

@@ -1,6 +1,12 @@
 package com.ym.mec.biz.dal.enums;
 
 import com.ym.mec.common.enums.BaseEnum;
+import com.ym.mec.common.exception.BizException;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
 
 public enum FivePlusGradeEnum implements BaseEnum<Integer, FivePlusGradeEnum> {
 	GRADE1(1, "一年级"),
@@ -44,23 +50,36 @@ public enum FivePlusGradeEnum implements BaseEnum<Integer, FivePlusGradeEnum> {
 	}
 
 
-    public static FivePlusGradeEnum[] getArray(EGroupGradeType gradeType) {
-        if (gradeType == null) {
+    public static FivePlusGradeEnum[] getArray(String gradeType) {
+        if (StringUtils.isBlank(gradeType)) {
             return FivePlusGradeEnum.values();
         }
-        switch (gradeType) {
-            case PRIMARY:
-                return new FivePlusGradeEnum[] {GRADE1, GRADE2, GRADE3, GRADE4, GRADE5};
-            case MIDDLE:
-                return new FivePlusGradeEnum[] {GRADE6,GRADE7, GRADE8, GRADE9};
-            case HIGH:
-                return new FivePlusGradeEnum[] {GRADE10, GRADE11, GRADE12};
-            case MIXED:
-                return  new FivePlusGradeEnum[] {GRADE1, GRADE2, GRADE3, GRADE4, GRADE5, GRADE6, GRADE7, GRADE8, GRADE9};
-            default:
-                return FivePlusGradeEnum.values();
-        }
+        Set<FivePlusGradeEnum> list = new HashSet<>();
+        for (String s : gradeType.split(",")) {
+            EGroupGradeType o = EGroupGradeType.get(s);
+            if (o == null) {
+                throw new BizException("gradeType参数错误");
+            }
+            switch (o) {
+                case PRIMARY:
+                    list.addAll(Arrays.asList(GRADE1, GRADE2, GRADE3, GRADE4, GRADE5));
+                    break;
+                case MIDDLE:
+                    list.addAll(Arrays.asList(GRADE6,GRADE7, GRADE8, GRADE9));
+                    break;
+                case HIGH:
+                    list.addAll(Arrays.asList(GRADE10, GRADE11, GRADE12));
+                    break;
+                case MIXED:
+                    list.addAll(Arrays.asList(GRADE1, GRADE2, GRADE3, GRADE4, GRADE5, GRADE6, GRADE7, GRADE8, GRADE9));
+
+                    break;
+                default:
+                    list.addAll(Arrays.asList(FivePlusGradeEnum.values()));
+            }
 
+        }
+        return list.toArray(new FivePlusGradeEnum[0]);
     }
 
-}
+    }

+ 31 - 12
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/SixPlusGradeEnum.java

@@ -1,6 +1,10 @@
 package com.ym.mec.biz.dal.enums;
 
 import com.ym.mec.common.enums.BaseEnum;
+import com.ym.mec.common.exception.BizException;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.*;
 
 public enum SixPlusGradeEnum implements BaseEnum<Integer, SixPlusGradeEnum> {
     GRADE1(1, "一年级"),
@@ -43,22 +47,37 @@ public enum SixPlusGradeEnum implements BaseEnum<Integer, SixPlusGradeEnum> {
         return null;
     }
 
-    public static SixPlusGradeEnum[] getArray(EGroupGradeType gradeType) {
-        if (gradeType == null) {
+    public static SixPlusGradeEnum[] getArray(String gradeType) {
+        if (StringUtils.isBlank(gradeType)) {
             return SixPlusGradeEnum.values();
         }
-        switch (gradeType) {
-            case PRIMARY:
-                return new SixPlusGradeEnum[] {GRADE1, GRADE2, GRADE3, GRADE4, GRADE5, GRADE6};
-            case MIDDLE:
-                return new SixPlusGradeEnum[] {GRADE7, GRADE8, GRADE9};
+        Set<SixPlusGradeEnum> list = new HashSet<>();
+        for (String s : gradeType.split(",")) {
+            EGroupGradeType o = EGroupGradeType.get(s);
+            if (o == null) {
+                throw new BizException("gradeType参数错误");
+            }
+            switch (o) {
+                case PRIMARY:
+                    list.addAll(Arrays.asList(GRADE1, GRADE2, GRADE3, GRADE4, GRADE5, GRADE6));
+                    break;
+                case MIDDLE:
+                    list.addAll(Arrays.asList(GRADE7, GRADE8, GRADE9));
+                    break;
                 case HIGH:
-                return new SixPlusGradeEnum[] {GRADE10, GRADE11, GRADE12};
-            case MIXED:
-                return  new SixPlusGradeEnum[] {GRADE1, GRADE2, GRADE3, GRADE4, GRADE5, GRADE6, GRADE7, GRADE8, GRADE9};
-            default:
-                return SixPlusGradeEnum.values();
+                    list.addAll(Arrays.asList(GRADE10, GRADE11, GRADE12));
+                    break;
+                case MIXED:
+                    list.addAll(Arrays.asList(GRADE1, GRADE2, GRADE3, GRADE4, GRADE5, GRADE6, GRADE7, GRADE8, GRADE9));
+
+                    break;
+                default:
+                    list.addAll(Arrays.asList(SixPlusGradeEnum.values()));
+            }
+
         }
+        return list.toArray(new SixPlusGradeEnum[0]);
+
 
     }
 

+ 0 - 13
mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/DailySummaryOfClassesForTheCurrentSemesterDto.java

@@ -1,13 +0,0 @@
-package com.ym.mec.biz.dal.school.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.time.LocalDate;
-
-@Data
-public class DailySummaryOfClassesForTheCurrentSemesterDto extends SummaryOfCurrentSemesterCoursesDto{
-
-    @ApiModelProperty(value = "上课时间",required = false)
-    private LocalDate courseDate;
-}

+ 0 - 18
mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/SummaryOfCurrentSemesterCoursesDto.java

@@ -1,18 +0,0 @@
-package com.ym.mec.biz.dal.school.dto;
-
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-public class SummaryOfCurrentSemesterCoursesDto {
-
-    @ApiModelProperty(value = "剩余课时数",required = false)
-    private Integer subCourseNum;
-
-    @ApiModelProperty(value = "总课时数",required = false)
-    private Integer totalCourseNum;
-
-    @ApiModelProperty(value = "课程类型",required = false)
-    private CourseSchedule.CourseScheduleType scheduleType;
-}

+ 47 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DailySummaryOfClassesForTheCurrentSemesterWrapper.java

@@ -0,0 +1,47 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.util.List;
+
+public class DailySummaryOfClassesForTheCurrentSemesterWrapper {
+
+    @Data
+    public static class SummaryOfCurrentSemesterCoursesDto {
+
+        @ApiModelProperty(value = "剩余课时数",required = false)
+        private Integer subCourseNum;
+
+        @ApiModelProperty(value = "总课时数",required = false)
+        private Integer totalCourseNum;
+
+        @ApiModelProperty(value = "课程类型",required = false)
+        private CourseSchedule.CourseScheduleType scheduleType;
+    }
+
+    @Data
+    public static class DailySummaryOfClassesForTheCurrentSemesterDto{
+        @ApiModelProperty(value = "剩余课时数",required = false)
+        private Integer subCourseNum;
+
+        @ApiModelProperty(value = "总课时数",required = false)
+        private Integer totalCourseNum;
+
+        @ApiModelProperty(value = "课程类型",required = false)
+        private CourseSchedule.CourseScheduleType scheduleType;
+
+        @ApiModelProperty(value = "上课时间",required = false)
+        private LocalDate courseDate;
+    }
+
+    @Data
+    public static class DailySummaryOfClassesForTheCurrentSemesterMapDto{
+
+        private List<DailySummaryOfClassesForTheCurrentSemesterDto> dailySummaryOfClassesForTheCurrentSemesterDtos;
+
+        private String week;
+    }
+}

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/ImGroupWrapper.java

@@ -18,7 +18,7 @@ public class ImGroupWrapper {
         @ApiModelProperty("乐团ID")
         private String musicGroupId;
 
-        @ApiModelProperty("角色 SCHOOLMASTER:校长 ORCHESTRA_LEADER:乐团领队 SCHOOL_LEADER:分管领导 TEACHER:负责老师 STUDENT:学生")
+        @ApiModelProperty("角色 ")
         private String roleType;
 
         @ApiModelProperty("当前用户ID")

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

@@ -12,8 +12,7 @@ import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.dal.school.dto.ClassesForDayDto;
 import com.ym.mec.biz.dal.school.dto.CourseStudentDto;
-import com.ym.mec.biz.dal.school.dto.DailySummaryOfClassesForTheCurrentSemesterDto;
-import com.ym.mec.biz.dal.school.dto.SummaryOfCurrentSemesterCoursesDto;
+import com.ym.mec.biz.dal.wrapper.DailySummaryOfClassesForTheCurrentSemesterWrapper;
 import com.ym.mec.biz.dal.wrapper.TeachingPointWrapper;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
@@ -704,7 +703,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	* @author zx
 	* @date 2023/5/4 10:15
 	*/
-    List<SummaryOfCurrentSemesterCoursesDto> getSummaryOfCurrentSemesterCourses(Integer coopId);
+    List<DailySummaryOfClassesForTheCurrentSemesterWrapper.SummaryOfCurrentSemesterCoursesDto> getSummaryOfCurrentSemesterCourses(Integer coopId);
 
 	/**
 	* @description: 获取当前学期每天课程汇总
@@ -713,7 +712,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	* @author zx
 	* @date 2023/5/4 10:31
 	*/
-	Map<String, List<DailySummaryOfClassesForTheCurrentSemesterDto>> getDailySummaryOfClassesForTheCurrentSemester(Integer schoolId);
+	List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterMapDto> getDailySummaryOfClassesForTheCurrentSemester(Integer schoolId);
 
 	/**
 	* @description: 获取当天课程列表

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

@@ -174,7 +174,9 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
     boolean applyQuitMusicGroup(List<SysUserRoleEnum> currentOperatorRoleIds, MusicGroupQuit reqMusicGroupQuit);
 
 
-    @Transactional(rollbackFor = Exception.class)
+    void batchQuitMusicGroup(List<MusicGroupQuit> musicGroupQuits);
+
+
     boolean applyQuitMusicGroup(List<SysUserRoleEnum> currentOperatorRoleIds, MusicGroupQuit reqMusicGroupQuit, String client);
 
     /**
@@ -479,4 +481,5 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
      * @param coopId 合作单位id
      */
     List<Subject> getSubjectListByIdAndCoopId(String musicGroupId, Integer coopId);
+
 }

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

@@ -102,5 +102,5 @@ public interface OrganizationService extends BaseService<Integer, Organization>
      * @param organId 分部id
      * @param gradeType 年级类型
      */
-    Map<Integer, String> getGradeList(Integer organId, EGroupGradeType gradeType);
+    Map<Integer, String> getGradeList(Integer organId, String gradeType);
 }

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SchoolStaffService.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.wrapper.SchoolStaffWrapper;
 import com.ym.mec.biz.dal.entity.SchoolStaff;
 
@@ -74,4 +75,20 @@ public interface SchoolStaffService extends IService<SchoolStaff>  {
      * @param id 用户ID
      */
     Boolean del(Long id);
+
+    /**
+     * 实名认证
+     *
+     * @param realName 姓名
+     * @param idcardNo 身份证号
+     */
+    void realNameAuthentication(SysUser user, String realName, String idcardNo);
+
+    /**
+     * 查询学校员工信息
+     *
+     * @param userId 用户ID
+     * @return SchoolStaff
+     */
+    SchoolStaff getByUserId(Integer userId);
 }

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

@@ -14,8 +14,7 @@ import com.ym.mec.biz.dal.mapper.CourseSchedulePlusMapper;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.dal.school.dto.ClassesForDayDto;
 import com.ym.mec.biz.dal.school.dto.CourseStudentDto;
-import com.ym.mec.biz.dal.school.dto.DailySummaryOfClassesForTheCurrentSemesterDto;
-import com.ym.mec.biz.dal.school.dto.SummaryOfCurrentSemesterCoursesDto;
+import com.ym.mec.biz.dal.wrapper.DailySummaryOfClassesForTheCurrentSemesterWrapper;
 import com.ym.mec.biz.dal.wrapper.TeachingPointWrapper;
 import com.ym.mec.biz.event.source.CourseEventSource;
 import com.ym.mec.biz.event.source.SendSeoMessageSource;
@@ -57,7 +56,6 @@ import java.text.SimpleDateFormat;
 import java.time.*;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
-import java.time.temporal.IsoFields;
 import java.time.temporal.TemporalAdjusters;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -5987,7 +5985,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
     @Override
-    public List<SummaryOfCurrentSemesterCoursesDto> getSummaryOfCurrentSemesterCourses(Integer coopId) {
+    public List<DailySummaryOfClassesForTheCurrentSemesterWrapper.SummaryOfCurrentSemesterCoursesDto> getSummaryOfCurrentSemesterCourses(Integer coopId) {
 		//获取合作单位关联的所有乐团列表
 		List<String> musicGroupIds = musicGroupDao.findNormalByCooperationId(coopId);
 		if(CollectionUtils.isEmpty(musicGroupIds)){
@@ -6001,14 +5999,14 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     }
 
 	@Override
-	public Map<String, List<DailySummaryOfClassesForTheCurrentSemesterDto>> getDailySummaryOfClassesForTheCurrentSemester(Integer coopId) {
+	public List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterMapDto> getDailySummaryOfClassesForTheCurrentSemester(Integer coopId) {
 		//获取合作单位关联的所有乐团列表
 		List<String> musicGroupIds = musicGroupDao.findNormalByCooperationId(coopId);
 		//获取当前学期
 		Date date = new Date();
 		String startTerm = DateUtil.getStartTerm(date);
 		String endTerm = DateUtil.getEndTerm(date);
-		List<DailySummaryOfClassesForTheCurrentSemesterDto> summary;
+		List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDto> summary;
 		if(CollectionUtils.isEmpty(musicGroupIds)){
 			summary = new ArrayList<>();
 		}else {
@@ -6017,25 +6015,30 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
 		LocalDate startDate = LocalDate.parse(startTerm, formatter);
 		LocalDate endDate = LocalDate.parse(endTerm, formatter);
-		Map<String, List<DailySummaryOfClassesForTheCurrentSemesterDto>> result = new LinkedHashMap<>(30);
+		List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterMapDto> result = new ArrayList<>();
 		LocalDate currentWeekStart = startDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
 		DateTimeFormatter format = DateTimeFormatter.ofPattern("yy年MM月dd日");
 		StringBuffer sb;
+		int week = 0;
 		while (!currentWeekStart.isAfter(endDate)) {
-			int currentWeekNumber = (int) ChronoUnit.WEEKS.between(startDate, currentWeekStart);
+			DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterMapDto vo =
+					new DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterMapDto();
 			String weekStart = currentWeekStart.format(format);
-			sb = new StringBuffer("第").append(toChineseNumber(currentWeekNumber)).append("周 (").append(weekStart).append("-");
+			sb = new StringBuffer("第").append(toChineseNumber(week)).append("周 (").append(weekStart).append("-");
 			LocalDate currentWeekEnd = currentWeekStart.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
 			String endStart = currentWeekEnd.format(format);
 			sb.append(endStart).append(")");
-			List<DailySummaryOfClassesForTheCurrentSemesterDto> currentWeekDates = new ArrayList<>();
-			for (DailySummaryOfClassesForTheCurrentSemesterDto dto : summary) {
+			List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDto> currentWeekDates = new ArrayList<>();
+			for (DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterDto dto : summary) {
 				if (!dto.getCourseDate().isBefore(currentWeekStart) && dto.getCourseDate().isBefore(currentWeekEnd)) {
 					currentWeekDates.add(dto);
 				}
 			}
-			result.put(sb.toString(), currentWeekDates);
+			week++;
 			currentWeekStart = currentWeekEnd.plusDays(1);
+			vo.setWeek(sb.toString());
+			vo.setDailySummaryOfClassesForTheCurrentSemesterDtos(currentWeekDates);
+			result.add(vo);
 		}
 		return result;
 	}

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

@@ -365,7 +365,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
             imGroup.setName("教学团队衔接群");
             imGroup.setIntroduce(imGroup.getName());
             imGroup.setMemo(cooperationOrgan.getName());
-            imGroup.setMemberNum(1);
+            imGroup.setMemberNum(0);
             imGroup.setType(ImGroup.GroupTypeEnum.SCHOOL.getCode());
             imGroup.setGroupType(ImGroup.GroupTypeEnum.SCHOOL);
             imGroup.setCreateTime(new Date());
@@ -373,17 +373,15 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
             imGroup.setTenantId(TenantContextHolder.getTenantId());
             imGroupDao.insert(imGroup);
             imPluginService.groupCreate(imGroup.getId(), imGroup.getName(), userId.toString());
-        } else {
+        }
+        imPluginService.groupJoin(imGroup.getId(), imGroup.getName(), ImGroupMemberWrapper.ImGroupMember.builder()
+                .userId(userId.longValue()).imUserIdFormat(false).build());
 
-            if (!schoolStaffType.equals(ESchoolStaffType.ORCHESTRA_LEADER)) {
-                imPluginService.groupJoin(imGroup.getId(), imGroup.getName(), ImGroupMemberWrapper.ImGroupMember.builder()
-                        .userId(userId.longValue()).imUserIdFormat(false).build());
-            } else {
-                groupChangeOwner(userId, imGroup.getId());
-            }
-            imGroup.setMemberNum(imGroup.getMemberNum() + 1);
-            imGroupDao.update(imGroup);
+        if (schoolStaffType.equals(ESchoolStaffType.ORCHESTRA_LEADER)) {
+            groupChangeOwner(userId, imGroup.getId());
         }
+        imGroup.setMemberNum(imGroup.getMemberNum() + 1);
+        imGroupDao.update(imGroup);
         ImGroupMember imGroupMember = new ImGroupMember();
         imGroupMember.setImGroupId(imGroup.getId());
         imGroupMember.setUserId(userId);
@@ -422,9 +420,9 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
     /**
      * 加群
      *
-     * @param imGroupIds 群组ID
+     * @param imGroupIds    群组ID
      * @param user          用户信息
-     * @param userType
+     * @param userType      用户类型
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -440,7 +438,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         List<ImGroup> groupList = imGroupDao.getByIds(imGroupIds);
 
         // id 分组
-        Map<String, ImGroup> map = groupList.stream().collect(Collectors.toMap(o -> o.getId(), Function.identity()));
+        Map<String, ImGroup> map = groupList.stream().collect(Collectors.toMap(ImGroup::getId, Function.identity()));
 
 
         for (String musicGroupId : imGroupIds) {
@@ -449,7 +447,9 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
                 continue;
             }
             try {
-                imPluginService.groupJoin(imGroup.getId(), imGroup.getName(), ImGroupMemberWrapper.ImGroupMember.builder().userId(user.getId().longValue()).build());
+                imPluginService.groupJoin(imGroup.getId(), imGroup.getName(), ImGroupMemberWrapper.ImGroupMember.builder()
+                        .userId(user.getId().longValue())
+                        .imUserIdFormat(false).build());
 
                 ImGroupMember imGroupMember = new ImGroupMember();
                 imGroupMember.setImGroupId(imGroup.getId());

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

@@ -6,6 +6,7 @@ import java.util.stream.Collectors;
 import com.google.common.collect.Lists;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.EFriendRoleType;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.school.ESchoolStaffType;
 import com.ym.mec.biz.dal.mapper.SchoolStaffMapper;
@@ -212,10 +213,24 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
                 List<ImGroupMember> memberList = imGroupMemberDao.getByGroupId(imGroupIds);
                 if (CollectionUtils.isNotEmpty(memberList)) {
                     Long staffUserId = schoolStaff.getUserId();
+                    // 设置角色
+                    memberList = memberList.stream().map(o -> {
+                        if (StringUtils.isBlank(o.getRoleType())) {
+                            o.setRoleType(EFriendRoleType.STUDENT.name());
+                        } else {
+                            o.setRoleType(EFriendRoleType.getByName(o.getRoleType()).name());
+                        }
+                        return o;
+                    }).collect(Collectors.toList());
+
+                    // ID toMap roleType
+                    Map<Integer, String> roleTypeMap = memberList.stream().collect(Collectors.toMap(ImGroupMember::getUserId, ImGroupMember::getRoleType,(k1,k2) -> k2));
+
+
 
                     Set<Integer> userIds = memberList.stream().map(ImGroupMember::getUserId)
                             .collect(Collectors.toSet());
-                    userFriends(imUserFriends, musicGroup.getName(), staffUserId, userIds);
+                    userFriends(imUserFriends, musicGroup, staffUserId, userIds,roleTypeMap);
                 }
             }
             // 更新学校端好友列表
@@ -356,10 +371,16 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
                     .collect(Collectors.toSet());
             usernameMap = MapUtil.convertMybatisMap(teacherDao.queryUserNameByIdList(new ArrayList<>(userIds)));
 
+            // ID toMap userType
+            Map<Integer, String> roleTypeMap = schoolStaffs.stream()
+                    .collect(Collectors.toMap(o -> o.getUserId().intValue(), o -> EFriendRoleType.getByName(o.getUserType().getCode()).name(),(k1,k2) -> k2));
             // 设置好友关系
             for (Integer userId : userIds) {
                 this.addImUserFriend(userIds, null, usernameMap, null, userId, imUserFriends);
             }
+            for (ImUserFriend imUserFriend : imUserFriends) {
+                imUserFriend.setRoleType(roleTypeMap.get(imUserFriend.getFriendId()));
+            }
         }
         return imUserFriends;
     }
@@ -380,23 +401,52 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
     }
 
 
-    private void userFriends(List<ImUserFriend> imUserFriends, String musicGroupName, Long userId, Set<Integer> userIds) {
+    private void userFriends(List<ImUserFriend> imUserFriends, MusicGroup musicGroup, Long userId, Set<Integer> userIds,Map<Integer, String> roleTypeMap) {
         Map<Integer, String> usernameMap;
         if (CollectionUtils.isNotEmpty(userIds)) {
             usernameMap = MapUtil.convertMybatisMap(teacherDao.queryUserNameByIdList(new ArrayList<>(userIds)));
 
+            //获取当前学员声部
+            Map<Integer,String> studentSubjectName = new HashMap<>();
+            Map<Integer, String> teacherSubjectNameMap = new HashMap<>();
+            List<Integer> studentIds = new ArrayList<>();
+            List<Integer> teacherIds = new ArrayList<>();
+            for (Integer id : userIds) {
+                if( EFriendRoleType.STUDENT.name().equals(roleTypeMap.get(id))){
+                    studentIds.add(id);
+                }else if (EFriendRoleType.ORCHESTRA_TEACHER.name().equals(roleTypeMap.get(id))){
+                    teacherIds.add(id);
+                }
+            }
+            if(studentIds.size() > 0){
+                studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds));
+            }
+
+            if(teacherIds.size() > 0){
+                teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(teacherIds)));
+            }
+            studentSubjectName.putAll(teacherSubjectNameMap);
             // 设置好友关系
-            this.addImUserFriend(userIds,null,usernameMap, musicGroupName, userId.intValue(), imUserFriends);
+            this.addImUserFriend(userIds,studentSubjectName,usernameMap, musicGroup.getName(), userId.intValue(), imUserFriends);
 
             for (Integer user : userIds) {
                 // 设置好友关系
                 this.addImUserFriend(new HashSet<>(Lists.newArrayList(
-                        userId.intValue())),null,usernameMap, musicGroupName,user, imUserFriends);
+                        userId.intValue())),null,usernameMap, musicGroup.getName(),user, imUserFriends,roleTypeMap);
             }
         }
     }
 
     public void addImUserFriend(Set<Integer> friendUserIds,Map<Integer,String> tagsMap,
+                                Map<Integer,String> nameMap,String memo,Integer userId,List<ImUserFriend> imUserFriends,Map<Integer,String> roleTypeMap) {
+        addImUserFriend(friendUserIds,tagsMap,nameMap,memo,userId,imUserFriends);
+        for (ImUserFriend imUserFriend : imUserFriends) {
+            imUserFriend.setRoleType(roleTypeMap.get(imUserFriend.getFriendId()));
+        }
+
+    }
+
+    public void addImUserFriend(Set<Integer> friendUserIds,Map<Integer,String> tagsMap,
                                 Map<Integer,String> nameMap,String memo,Integer userId,List<ImUserFriend> imUserFriends){
         if(friendUserIds != null && friendUserIds.size() > 0){
             for (Integer friendId : friendUserIds) {

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

@@ -2250,6 +2250,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     public boolean applyQuitMusicGroup(List<SysUserRoleEnum> currentOperatorRoleIds, MusicGroupQuit reqMusicGroupQuit) {
         return applyQuitMusicGroup(currentOperatorRoleIds, reqMusicGroupQuit, null);
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void batchQuitMusicGroup(List<MusicGroupQuit> musicGroupQuits) {
+        for (MusicGroupQuit musicGroupQuit : musicGroupQuits) {
+            this.applyQuitMusicGroup(null,musicGroupQuit,"SCHOOL");
+        }
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean applyQuitMusicGroup(List<SysUserRoleEnum> currentOperatorRoleIds, MusicGroupQuit reqMusicGroupQuit, String client) {

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

@@ -245,7 +245,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
      * @param gradeType 年级类型
      */
     @Override
-    public Map<Integer, String> getGradeList(Integer organId, EGroupGradeType gradeType) {
+    public Map<Integer, String> getGradeList(Integer organId, String gradeType) {
         Organization organization = organizationDao.get(organId);
         Map<Integer, String> gradeMap = new HashMap<>();
 

+ 46 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolStaffServiceImpl.java

@@ -19,6 +19,8 @@ import com.ym.mec.biz.dal.wrapper.StatGroupWrapper;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
+import com.ym.mec.thirdparty.user.realname.RealnameAuthenticationPluginContext;
+import com.ym.mec.thirdparty.user.realname.provider.LinkfaceRealnameAuthenticationPlugin;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -64,6 +66,8 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
     private ImUserFriendDao imUserFriendDao;
 
 
+    @Autowired
+    private RealnameAuthenticationPluginContext realnameAuthenticationPluginContext;
 
     @Value("${message.debugMode:false}")
     private boolean debugMode;
@@ -535,5 +539,47 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
 
     }
 
+    /**
+     * 实名认证
+     *
+     * @param realName 姓名
+     * @param idcardNo 身份证号
+     */
+    @Override
+    public void realNameAuthentication(SysUser user,String realName, String idcardNo) {
+
+
+        SchoolStaff schoolStaff = schoolStaffService.getByUserId(user.getId());
+        if (schoolStaff == null) {
+            throw new BizException("用户信息不存在");
+        }
+
+        // 验证数据合法
+        if (!debugMode) {
+            realnameAuthenticationPluginContext.getRealnameAuthenticationPlugin(LinkfaceRealnameAuthenticationPlugin.getName()).verify(realName, idcardNo);
+        }
+
+        // 保存到sys_user表中
+        user.setRealName(realName);
+        user.setIdCardNo(idcardNo);
+        user.setUpdateTime(new Date());
+        teacherDao.updateUser(user);
+    }
+
+    /**
+     * 查询学校员工信息
+     *
+     * @param userId 用户ID
+     * @return SchoolStaff
+     */
+    @Override
+    public SchoolStaff getByUserId(Integer userId) {
+        return this.lambdaQuery()
+                .eq(SchoolStaff::getUserId, userId)
+                .ne(SchoolStaff::getStatus, -1)
+                .last("limit 1")
+                .one();
+    }
+
 
 }

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

@@ -4234,7 +4234,7 @@
     </update>
 
     <select id="getSummaryOfCurrentSemesterCourses"
-            resultType="com.ym.mec.biz.dal.school.dto.SummaryOfCurrentSemesterCoursesDto">
+            resultType="com.ym.mec.biz.dal.wrapper.DailySummaryOfClassesForTheCurrentSemesterWrapper$SummaryOfCurrentSemesterCoursesDto">
         select cs.type_ scheduleType,COUNT(CASE WHEN cs.status_ = 'NOT_START' THEN 1 END) subCourseNum,
                COUNT(cs.id_) totalCourseNum
         from course_schedule cs
@@ -4247,7 +4247,7 @@
         group by cs.type_
     </select>
     <select id="getDailySummaryOfClassesForTheCurrentSemester"
-            resultType="com.ym.mec.biz.dal.school.dto.DailySummaryOfClassesForTheCurrentSemesterDto">
+            resultType="com.ym.mec.biz.dal.wrapper.DailySummaryOfClassesForTheCurrentSemesterWrapper$DailySummaryOfClassesForTheCurrentSemesterDto">
         select cs.class_date_ courseDate,cs.type_ scheduleType,COUNT(cs.id_) totalCourseNum
         from course_schedule cs
         where cs.group_type_ = 'MUSIC' AND cs.is_lock_ = 0 AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)

+ 9 - 14
mec-biz/src/main/resources/config/mybatis/ImUserFriendMapper.xml

@@ -19,6 +19,7 @@
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
         <result column="tenant_id_" property="tenantId"/>
+        <result column="role_type_" property="roleType"/>
 	</resultMap>
 	
 	<resultMap type="com.ym.mec.biz.dal.dto.ImUserFriendDto" id="ImUserFriendDto" extends="ImUserFriend">
@@ -40,8 +41,8 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ImUserFriend" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO im_user_friend (id_,user_id_,friend_id_,friend_nickname_,memo_,tags_,create_time_,update_time_,tenant_id_)
-		VALUES(#{id},#{userId},#{friendId},#{friendNickname},#{memo},#{tags},NOW(),NOW(),#{tenantId})
+		INSERT INTO im_user_friend (id_,user_id_,friend_id_,friend_nickname_,memo_,tags_,create_time_,update_time_,tenant_id_,role_type_)
+		VALUES(#{id},#{userId},#{friendId},#{friendNickname},#{memo},#{tags},NOW(),NOW(),#{tenantId},#{roleType})
 	</insert>
 
 	<insert id="insertByBasicUser">
@@ -166,21 +167,12 @@
 	<select id="getFriendListByUserId" resultMap="ImUserFriendDto">
         SELECT distinct iuf.*, ifnull(u.real_name_,username_) as real_name_,u.avatar_,u.phone_,u.user_type_
 
-        <if test="param.musicGroupId != null and param.musicGroupId != '' or param.roleType != null and param.roleType == 'STUDENT'">
         ,st.member_rank_setting_id_,s.name_ subject_name_,st.subject_id_list_ subject_id_
-        </if>
         FROM im_user_friend iuf
         LEFT JOIN sys_user u ON iuf.friend_id_ = u.id_
-        <if test="param.musicGroupId != null and param.musicGroupId != '' or param.roleType != null and param.roleType == 'STUDENT'">
-            LEFT JOIN student st ON st.user_id_ = u.id_
-            left join student_registration cgs on cgs.user_id_ = st.user_id_
-            LEFT JOIN `subject` s ON s.id_ = st.subject_id_list_
-        </if>
-        <if test="param.roleType != null and param.roleType != ''">
-            <if test="param.roleType != 'STUDENT'">
-              JOIN school_staff st ON st.user_id_ = u.id_ and st.user_type_ = #{param.roleType}
-            </if>
-        </if>
+        LEFT JOIN student st ON st.user_id_ = u.id_
+        left join student_registration cgs on cgs.user_id_ = st.user_id_
+        LEFT JOIN `subject` s ON s.id_ = st.subject_id_list_
         WHERE iuf.user_id_ = #{param.userId}
         <if test="param.keyword != null and param.keyword != ''">
             and (u.real_name_ like concat('%',#{param.keyword},'%') or iuf.friend_nickname_ like concat('%',#{param.keyword},'%'))
@@ -189,5 +181,8 @@
         <if test="param.musicGroupId != null and param.musicGroupId != ''">
             and cgs.music_group_id_ = #{param.musicGroupId}
         </if>
+        <if test="param.roleType != null and param.roleType != ''">
+            and iuf.role_type_ = #{param.roleType}
+        </if>
     </select>
 </mapper>

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/OrganizationController.java

@@ -77,9 +77,9 @@ public class OrganizationController extends BaseController {
 
     @ApiOperation(value = "获取用户所在分部的年级列表)")
     @GetMapping("/getGradeList")
-    @PreAuthorize("@pcs.hasPermissions('organization/getGradeList')")
+//    @PreAuthorize("@pcs.hasPermissions('organization/getGradeList')")
     @ApiParam(value = "分部编号", required = true)
-    public HttpResponseResult<Map<Integer,String>> getGradeList(Integer id,@ApiParam("年级分布") EGroupGradeType gradeType){
+    public HttpResponseResult<Map<Integer,String>> getGradeList(Integer id,@ApiParam("年级分布") String gradeType){
         return succeed(organizationService.getGradeList(id,gradeType));
     }
 }

+ 17 - 8
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
+import com.ym.mec.biz.dal.enums.school.EQuitGroupAuditStatusEnum;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.dal.wrapper.StudentWrapper;
 import com.ym.mec.biz.dal.wrapper.TeachingPointWrapper;
@@ -491,14 +492,22 @@ public class StudentManageController extends BaseController {
             @ApiImplicitParam(name = "reasonEnum", value = "原因", required = true, dataType = "String")})
     public HttpResponseResult quitMusicGroup(String musicGroupId,Integer userId, String reason, MusicGroupQuit.ReasonEnum reasonEnum) throws Exception {
         Integer operatorId = sysUserService.getUserId();
-        MusicGroupQuit musicGroupQuit = new MusicGroupQuit();
-        musicGroupQuit.setUserId(userId);
-        musicGroupQuit.setMusicGroupId(musicGroupId);
-        musicGroupQuit.setUserComment(reason);
-        musicGroupQuit.setReasonEnum(reasonEnum);
-        musicGroupQuit.setStatus(ApprovalStatus.PROCESSING);
-        musicGroupQuit.setOperatorId(operatorId);
-        return succeed(musicGroupService.applyQuitMusicGroup(null, musicGroupQuit));
+        List<MusicGroupQuit> musicGroupQuits = new ArrayList<>();
+        for (String groupId : musicGroupId.split(",")) {
+            MusicGroupQuit musicGroupQuit = new MusicGroupQuit();
+            musicGroupQuit.setUserId(userId);
+            musicGroupQuit.setMusicGroupId(groupId);
+            musicGroupQuit.setUserComment(reason);
+            musicGroupQuit.setReasonEnum(reasonEnum);
+            musicGroupQuit.setStatus(ApprovalStatus.PROCESSING);
+            musicGroupQuit.setOperatorId(operatorId);
+            musicGroupQuit.setSchoolStaffAuditStatus(EQuitGroupAuditStatusEnum.PASS);
+            musicGroupQuit.setSchoolStaffAuditReason(reason);
+            musicGroupQuit.setAuditSchoolStaff(operatorId);
+            musicGroupQuits.add(musicGroupQuit);
+        }
+        musicGroupService.batchQuitMusicGroup(musicGroupQuits);
+        return succeed();
     }
 
 

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

@@ -72,7 +72,7 @@ public class EduMusicGroupRecordController extends BaseController {
 
 		model.put("subject", studentRegistrationDao.countStudentWithSubjectByMusicGroupId(musicGroupId));
 		
-		model.put("gradeMap", organizationService.getGradeList(musicGroup.getOrganId(), EGroupGradeType.get(musicGroup.getGradeType())));
+		model.put("gradeMap", organizationService.getGradeList(musicGroup.getOrganId(), musicGroup.getGradeType()));
 		model.put("grade", studentRegistrationDao.countStudentWithGradeByMusicGroupId(musicGroupId));
 		model.put("teacher", classGroupDao.countTeacherByMusicGroupId(musicGroupId));
 		

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

@@ -1,20 +1,11 @@
 package com.ym.mec.web.controller.school;
 
 import com.ym.mec.biz.dal.dto.BaseMapDto;
-import com.ym.mec.biz.dal.entity.ClassGroup;
-import com.ym.mec.biz.dal.school.dto.ClassesForDayDto;
-import com.ym.mec.biz.dal.school.dto.CourseStudentDto;
-import com.ym.mec.biz.dal.school.dto.DailySummaryOfClassesForTheCurrentSemesterDto;
-import com.ym.mec.biz.dal.school.dto.SummaryOfCurrentSemesterCoursesDto;
 import com.ym.mec.biz.service.ClassGroupService;
-import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import org.snaker.engine.model.BaseModel;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestHeader;
@@ -22,7 +13,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
-import java.util.Map;
 
 @RestController
 @RequestMapping("schoolClassGroup")

+ 3 - 4
mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolCourseScheduleController.java

@@ -2,8 +2,7 @@ package com.ym.mec.web.controller.school;
 
 import com.ym.mec.biz.dal.school.dto.ClassesForDayDto;
 import com.ym.mec.biz.dal.school.dto.CourseStudentDto;
-import com.ym.mec.biz.dal.school.dto.DailySummaryOfClassesForTheCurrentSemesterDto;
-import com.ym.mec.biz.dal.school.dto.SummaryOfCurrentSemesterCoursesDto;
+import com.ym.mec.biz.dal.wrapper.DailySummaryOfClassesForTheCurrentSemesterWrapper;
 import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -30,13 +29,13 @@ public class SchoolCourseScheduleController extends BaseController {
 
     @ApiOperation(value = "课时顶部统计接口---获取当前学期课程汇总")
     @GetMapping("/getSummaryOfCurrentSemesterCourses")
-    public HttpResponseResult<List<SummaryOfCurrentSemesterCoursesDto>> getSummaryOfCurrentSemesterCourses(@RequestHeader Integer coopId) {
+    public HttpResponseResult<List<DailySummaryOfClassesForTheCurrentSemesterWrapper.SummaryOfCurrentSemesterCoursesDto>> getSummaryOfCurrentSemesterCourses(@RequestHeader Integer coopId) {
         return succeed(courseScheduleService.getSummaryOfCurrentSemesterCourses(coopId));
     }
 
     @ApiOperation(value = "课时每周分组数据接口----获取当前学期每天课程汇总")
     @GetMapping("/getDailySummaryOfClassesForTheCurrentSemester")
-    public HttpResponseResult<Map<String, List<DailySummaryOfClassesForTheCurrentSemesterDto>>> getDailySummaryOfClassesForTheCurrentSemester(@RequestHeader Integer coopId) {
+    public HttpResponseResult<List<DailySummaryOfClassesForTheCurrentSemesterWrapper.DailySummaryOfClassesForTheCurrentSemesterMapDto>> getDailySummaryOfClassesForTheCurrentSemester(@RequestHeader Integer coopId) {
         return succeed(courseScheduleService.getDailySummaryOfClassesForTheCurrentSemester(coopId));
     }
 

+ 19 - 0
mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolStaffController.java

@@ -20,6 +20,8 @@ import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.PageUtil;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -231,4 +233,21 @@ public class SchoolStaffController extends BaseController {
         return succeed();
     }
 
+
+    @ApiOperation(value = "实名认证")
+    @PostMapping("/realNameAuthentication")
+    @ApiImplicitParams({ @ApiImplicitParam(name = "realName", value = "姓名", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "idcardNo", value = "身份证号码", required = true, dataType = "String")})
+    public Object realNameAuthentication(String realName, String idcardNo) {
+
+        if (StringUtils.isBlank(realName)) {
+            throw new BizException("姓名不能为空");
+        }
+        if (StringUtils.isBlank(idcardNo)) {
+            throw new BizException("身份证号不能为空");
+        }
+        schoolStaffService.realNameAuthentication(sysUserFeignService.queryUserInfo(),realName, idcardNo);
+        return succeed();
+    }
+
 }