浏览代码

学校端接口调整

zouxuan 2 年之前
父节点
当前提交
ca8aa5b65d

+ 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;
@@ -1999,13 +1998,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);
 

+ 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;
+    }
+}

+ 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

@@ -169,7 +169,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);
 
     /**
@@ -465,4 +467,5 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
      * @param coopId 合作单位id
      */
     List<Subject> getSubjectListByIdAndCoopId(String musicGroupId, Integer coopId);
+
 }

+ 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;
@@ -6009,7 +6007,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)){
@@ -6023,14 +6021,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 {
@@ -6039,25 +6037,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;
 	}

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

@@ -2007,6 +2007,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) {

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

@@ -4212,7 +4212,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
@@ -4225,7 +4225,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_)

+ 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;
@@ -493,14 +494,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();
     }
 
 

+ 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));
     }