소스 검색

合作单位乐团

liujc 2 년 전
부모
커밋
9fefa11a50

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

@@ -872,4 +872,6 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     List<ClassGroup> queryByIds(@Param("classIds") List<Integer> classIds);
 
     int teachingPointRemind(@Param("cooperationOrganId") Integer cooperationOrganId);
+
+    void updateTeachingPointById(@Param("param") ClassGroup classGroup);
 }

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/StudentPlusMapper.java

@@ -0,0 +1,19 @@
+package com.ym.mec.biz.dal.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ym.mec.biz.dal.entity.Student;
+import com.ym.mec.biz.dal.wrapper.StudentWrapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface StudentPlusMapper extends BaseMapper<Student> {
+
+
+    List<StudentWrapper.StudentList> userPage(@Param("page") IPage<StudentWrapper.StudentList> page, @Param("param") StudentWrapper.StudentQuery queryInfo);
+
+    List<Student> findStudentByIds(@Param("studentIds") List<Integer> studentIds);
+}

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

@@ -84,7 +84,7 @@ public class SchoolActivityDetailWrapper {
 
         @ApiModelProperty(value = "乐团ID",required = true)
         @NotNull(message = "乐团ID不能为空")
-        private Integer musicGroupId;
+        private Long musicGroupId;
 
         @ApiModelProperty("乐团名称")
         private String musicGroupName;

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

@@ -145,7 +145,7 @@ public class SchoolActivityWrapper {
         private Integer activityDetailId;
 
         @ApiModelProperty("乐团ID")
-        private Integer musicGroupId;
+        private Long musicGroupId;
 
         @ApiModelProperty("声部ID集合")
         private List<Integer> subjectIds;

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

@@ -26,7 +26,7 @@ public class StudentWrapper {
         private String keyword;
 
         @ApiModelProperty("乐团ID")
-        private Integer musicGroupId;
+        private Long musicGroupId;
 
         @ApiModelProperty("声部ID")
         private Integer subjectId;

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/TeachingPointWrapper.java

@@ -28,7 +28,7 @@ public class TeachingPointWrapper {
         private Integer cooperationOrganId;
 
         @ApiModelProperty("乐团ID")
-        private Integer musicGroupId;
+        private Long musicGroupId;
 
 
         @ApiModelProperty("开始时间")
@@ -70,7 +70,7 @@ public class TeachingPointWrapper {
         private CourseStatusEnum courseStatus;
 
         @ApiModelProperty("乐团ID")
-        private Integer musicGroupId;
+        private Long musicGroupId;
 
         @ApiModelProperty("乐团名")
         private String musicGroupName;
@@ -107,7 +107,7 @@ public class TeachingPointWrapper {
         private String classGroupName;
 
         @ApiModelProperty("乐团ID")
-        private Integer musicGroupId;
+        private Long musicGroupId;
 
         @ApiModelProperty("乐团名")
         private String musicGroupName;

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CooperationOrganService.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.entity.CooperationOrgan;
+import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.common.service.BaseService;
 
@@ -36,4 +37,6 @@ public interface CooperationOrganService extends BaseService<Integer, Cooperatio
      * @param cooperationIds 合作单位id
      */
     Map<Integer,CooperationOrgan> getMapByIds(List<Integer> cooperationIds);
+
+    List<MusicGroup> musicGroupPage(Integer id);
 }

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

@@ -5,6 +5,7 @@ import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.StudentDao;
 import com.ym.mec.biz.dal.dto.*;
@@ -12,8 +13,8 @@ import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.GradeTypeEnum;
 import com.ym.mec.biz.dal.enums.PeriodEnum;
 import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.dal.wrapper.StudentWrapper;
 import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 
 public interface StudentService extends BaseService<Integer, Student> {
@@ -196,4 +197,9 @@ public interface StudentService extends BaseService<Integer, Student> {
     PageInfo<CloudTeacherSumDto> cloudTeacherSumDetail(StudentCourseConsumerQueryInfo queryInfo);
 
     List<IndexCloudStudySumDto> getCloudStudyStudentOverViewList(List<Integer> organIdsList);
+
+    /**
+     * 学校端-学员分页
+     */
+    IPage<StudentWrapper.StudentList> userPage(IPage<StudentWrapper.StudentList> page, StudentWrapper.StudentQuery queryInfo);
 }

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CooperationOrganServiceImpl.java

@@ -4,6 +4,7 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
 import com.ym.mec.biz.service.CooperationOrganService;
 import com.ym.mec.biz.service.ImGroupMemberService;
 import com.ym.mec.biz.service.ImGroupService;
@@ -201,4 +202,15 @@ public class CooperationOrganServiceImpl extends BaseServiceImpl<Integer, Cooper
         }
         return cooperationOrgans.stream().collect(Collectors.toMap(CooperationOrgan::getId, Function.identity()));
     }
+
+    @Override
+    public List<MusicGroup> musicGroupPage(Integer id) {
+
+        List<MusicGroup> musicGroupList = musicGroupDao.findByCooperationId(id);
+
+        if (CollectionUtils.isEmpty(musicGroupList)) {
+            return Collections.emptyList();
+        }
+        return musicGroupList.stream().filter(o -> o.getStatus().equals(MusicGroupStatusEnum.PROGRESS.getCode())).collect(Collectors.toList());
+    }
 }

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

@@ -6152,13 +6152,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         for (TeachingPointWrapper.ClassTeachingPoint courseTeachingPoint : courseTeachingPoints) {
 
             // 设置老师信息
-            if (courseTeachingPoint.getTeacherId() != null) {
-                Teacher teacher = teacherMap.get(courseTeachingPoint.getClassGroupId());
-                if (teacher != null) {
-                    courseTeachingPoint.setTeacherId(teacher.getId());
-                    courseTeachingPoint.setTeacherName(teacher.getRealName());
-                    courseTeachingPoint.setTeacherAvatar(teacher.getAvatar());
-                }
+            Teacher teacher = teacherMap.get(courseTeachingPoint.getClassGroupId());
+            if (teacher != null) {
+                courseTeachingPoint.setTeacherId(teacher.getId());
+                courseTeachingPoint.setTeacherName(teacher.getRealName());
+                courseTeachingPoint.setTeacherAvatar(teacher.getAvatar());
             }
         }
         return page.setRecords(courseTeachingPoints);
@@ -6178,7 +6176,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         ClassGroup classGroup = new ClassGroup();
         classGroup.setId(teachingPoint.getClassGroupId());
         classGroup.setTeachingPoint(teachingPoint.getTeachingPoint());
-        classGroupDao.update(classGroup);
+        classGroupDao.updateTeachingPointById(classGroup);
 
         // 未开始的课程修改教学点
         courseScheduleDao.updateTeachingPointByClassGroupId(teachingPoint.getClassGroupId(), teachingPoint.getTeachingPoint());

+ 52 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java

@@ -1,12 +1,15 @@
 package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.dal.mapper.StudentPlusMapper;
 import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.dal.wrapper.StudentWrapper;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
@@ -33,6 +36,7 @@ import java.time.LocalDate;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.function.BiFunction;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import static com.ym.mec.biz.dal.enums.IndexDataType.CLOUD_NEW_STUDENT_NUM;
@@ -81,6 +85,9 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
     @Autowired
     private StudentOperatingVisitDao studentOperatingVisitDao;
 
+    @Autowired
+    private StudentPlusMapper studentPlusMapper;
+
     @Override
     public BaseDAO<Integer, Student> getDAO() {
         return studentDao;
@@ -1292,6 +1299,51 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         return list;
     }
 
+    @Override
+    public IPage<StudentWrapper.StudentList> userPage(IPage<StudentWrapper.StudentList> page, StudentWrapper.StudentQuery queryInfo) {
+
+        List<StudentWrapper.StudentList> studentLists = studentPlusMapper.userPage(page, queryInfo);
+
+        if (CollectionUtils.isEmpty(studentLists)) {
+            return page;
+        }
+        // 设置学生姓名/头像
+        List<Integer> studentIds = studentLists.stream().map(StudentWrapper.StudentList::getStudentId).collect(Collectors.toList());
+
+        Map<Integer, Student> studentMap = getMapByIds(studentIds);
+
+        studentLists.forEach(studentList -> {
+            Student student = studentMap.get(studentList.getStudentId());
+            if (student != null) {
+                studentList.setStudentName(student.getUsername());
+                studentList.setStudentAvatar(student.getAvatar());
+            }
+        });
+        // 时间为本学期
+//        DateUtil
+        // 查询考勤
+
+
+
+
+        // 查询作业
+
+
+        return page.setRecords(studentLists);
+    }
+
+    private Map<Integer,Student> getMapByIds(List<Integer> studentIds) {
+        if (CollectionUtils.isEmpty(studentIds)) {
+            return Collections.emptyMap();
+        }
+        List<Student> students = studentPlusMapper.findStudentByIds(studentIds);
+        if (CollectionUtils.isEmpty(students)) {
+            return Collections.emptyMap();
+        }
+        Map<Integer, Student> studentMap = students.stream().collect(Collectors.toMap(Student::getUserId, Function.identity()));
+        return studentMap;
+    }
+
     @Transactional(rollbackFor = Exception.class)
     public  <T extends BaseStudentDto> void insertStudent(T baseStudent){
         Student student = new Student();

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

@@ -1665,4 +1665,8 @@
         and mg.del_flag_ = 0
         and (cg.teaching_point_ is null or cg.teaching_point_ = '')
     </select>
+
+    <update id="updateTeachingPointById">
+        update class_group set teaching_point_ = #{param.teachingPoint} where id_ = #{param.id}
+    </update>
 </mapper>

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

@@ -48,7 +48,10 @@
             <if test="param.cooperationOrganId != null">
                 and mg.cooperation_organ_id_ = #{param.cooperationOrganId}
             </if>
+            <if test="param.musicGroupId != null">
+                and cg.music_group_id_ = #{param.musicGroupId}
+            </if>
         </where>
-        order by cg.teaching_point_ is null ,cg.id_ desc
+        order by cg.teaching_point_ is null desc,cg.id_ desc
     </select>
 </mapper>

+ 55 - 0
mec-biz/src/main/resources/config/mybatis/StudentPlusMapper.xml

@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ym.mec.biz.dal.mapper.StudentPlusMapper">
+
+    <select id="userPage" resultType="com.ym.mec.biz.dal.wrapper.StudentWrapper$StudentList">
+        select
+        s.user_id_ as studentId
+        ,if(s.member_rank_setting_id_ is not null, true, false) as vipFlag
+        from student s
+
+        <if test="param.keyword != null and param.keyword != ''">
+            left join sys_user su on su.id_ = s.user_id_
+        </if>
+
+        <if test="param.musicGroupId != null">
+            left join student_registration sr on sr.user_id_ = s.user_id_
+        </if>
+        <where>
+            <if test="param.keyword != null and param.keyword != ''">
+                and (su.username_ like concat('%', #{param.keyword}, '%'))
+            </if>
+            <if test="param.musicGroupId != null">
+                and sr.music_group_id_ = #{param.musicGroupId}
+            </if>
+            <if test="param.subjectId != null">
+                and s.subject_id_list_ = #{param.subjectId}
+            </if>
+            <if test="param.cooperationOrganId != null">
+                and s.cooperation_organ_id_ = #{param.cooperationOrganId}
+            </if>
+            <if test="param.studentId != null">
+                and s.user_id_ = #{param.studentId}
+            </if>
+            <if test="param.vipFlag != null">
+                <if test="param.vipFlag">
+                    and s.member_rank_setting_id_ is not null
+                </if>
+                <if test="param.vipFlag == false">
+                    and s.member_rank_setting_id_ is null
+                </if>
+            </if>
+        </where>
+    </select>
+
+    <select id="findStudentByIds" resultType="com.ym.mec.biz.dal.entity.Student">
+        select
+        *
+        from student s
+        left join sys_user su on su.id_ = s.user_id_
+        where s.user_id_ in
+        <foreach collection="studentIds" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
+</mapper>

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

@@ -453,7 +453,7 @@ public class ClassGroupController extends BaseController {
     @ApiOperation(value = "学校端-场地管理红点")
     @PostMapping("/teachingPointRemind")
     public HttpResponseResult<Boolean> teachingPointRemind() {
-        Integer cooperationOrganId = null;
+        Integer cooperationOrganId = 1;
         return succeed(classGroupDao.teachingPointRemind(cooperationOrganId) >0);
     }
 

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/controller/CooperationOrganController.java

@@ -3,6 +3,7 @@ package com.ym.mec.web.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.CooperationOrgan;
+import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.page.CooperationOrganQueryInfo;
 import com.ym.mec.biz.service.CooperationOrganService;
@@ -82,4 +83,12 @@ public class CooperationOrganController extends BaseController {
     public HttpResponseResult<List<MusicGroupPaymentCalender>> getCalenders(Integer id) {
         return succeed(cooperationOrganService.getCooperationOrganCalender4School(id));
     }
+
+
+    @ApiOperation(value = "合作单位的乐团")
+    @GetMapping("/musicGroupPage")
+    public HttpResponseResult<List<MusicGroup>> musicGroupPage(Integer id) {
+        return succeed(cooperationOrganService.musicGroupPage(id));
+    }
+
 }

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

@@ -1,10 +1,12 @@
 package com.ym.mec.web.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.Student;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.dal.wrapper.StudentWrapper;
+import com.ym.mec.biz.dal.wrapper.TeachingPointWrapper;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -414,6 +416,9 @@ public class StudentManageController extends BaseController {
     @ApiOperation(value = "学校端-人数统计")
     @PostMapping("/userCount")
     public HttpResponseResult<StudentWrapper.StudentStat> userCount(@RequestBody StudentWrapper.StudentQuery queryInfo) {
+
+
+
         return succeed(null);
     }
 
@@ -422,6 +427,11 @@ public class StudentManageController extends BaseController {
     @ApiOperation(value = "学校端-学员分页")
     @PostMapping("/userPage")
     public HttpResponseResult<PageInfo<StudentWrapper.StudentList>> userPage(@RequestBody StudentWrapper.StudentQuery queryInfo) {
+
+
+        IPage<StudentWrapper.StudentList> page = com.microsvc.toolkit.common.response.paging.QueryInfo.getPage(queryInfo);
+        studentService.userPage(page,queryInfo);
+
         return succeed(null);
     }