浏览代码

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

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
zouxuan 5 年之前
父节点
当前提交
77c111ee5b

+ 36 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.ClassGroup;
+import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.entity.ImUserModel;
@@ -81,6 +82,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * COUNT教师所在乐团带了哪些班级
+     *
      * @param params
      * @return
      */
@@ -118,7 +120,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @param vipIds
      * @return
      */
-    List<Map<String,String>> findVipStuNames(String vipIds);
+    List<Map<String, String>> findVipStuNames(String vipIds);
 
     /**
      * 获取课程下的学员列表
@@ -203,72 +205,77 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     List<ClassGroup> findNoClassSubjects(String musicGroupId);
 
     /**
+     * @return com.ym.mec.biz.dal.entity.ClassGroup
      * @Author: Joburgess
      * @Date: 2019/10/16
      * @params [vipGroupId]
-     * @return com.ym.mec.biz.dal.entity.ClassGroup
      * @describe 根据小课获取关联的班级信息
      */
     ClassGroup findByVipGroup(Long vipGroupId);
 
     /**
+     * @return com.ym.mec.biz.dal.entity.ClassGroup
      * @Author: Joburgess
      * @Date: 2019/10/16
      * @params [classGroupId]
-     * @return com.ym.mec.biz.dal.entity.ClassGroup
      * @describe 锁定班级信息
      */
     ClassGroup lockClassGroup(Long classGroupId);
 
     /**
      * 获取当前班级列表老师数量
+     *
      * @param classGroupIds
      * @return
      */
     List<Map<Integer, Integer>> countTeacherNums(@Param("classGroupIds") String classGroupIds);
 
     /**
+     * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassGroupDto>
      * @Author: Joburgess
      * @Date: 2019/10/17
      * @params [teacherId]
-     * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassGroupDto>
      * @describe 获取老师乐团班级
      */
     List<TeacherClassGroupDto> findTeacherMusicClassGroup(@Param("teacherId") Long teacherId);
 
     /**
      * 根据老师编号列表获取小课数量
+     *
      * @param teacherIds
      * @return
      */
     List<Map<Integer, Long>> countTeacherVipNum(String teacherIds);
 
     /**
+     * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassGroupDto>
      * @Author: Joburgess
      * @Date: 2019/10/17
      * @params [teacherId]
-     * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassGroupDto>
      * @describe 获取老师vip课班级
      */
     List<TeacherClassGroupDto> findTeacherVipClassGroup(@Param("teacherId") Long teacherId);
 
     /**
      * 根据合奏班编号列表,获取单技班名称列表
+     *
      * @param classGroupIds
      * @return
      */
     List<Map<Integer, String>> queryNamesByClassId(@Param("classGroupIds") String classGroupIds);
+
     /**
+     * @param classGroupId: 班级编号
+     * @return java.util.List<java.lang.Integer>
      * @describe 查询班级下所有学生的部门编号列表
      * @author Joburgess
      * @date 2019/10/21
-     * @param classGroupId: 班级编号
-     * @return java.util.List<java.lang.Integer>
      */
     List<Integer> findStudentOrganIdsByClassGroup(Long classGroupId);
 
     /**
      * 乐团详情--班级详情列表
+     *
      * @param params
      * @return
      */
@@ -276,6 +283,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * COUNT乐团详情--班级详情列表
+     *
      * @param params
      * @return
      */
@@ -283,13 +291,15 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 根据班级编号列表,获取老师名字
+     *
      * @param classGroupIds
      * @return
      */
-    List<Map<Integer, String>> countStudentNum(@Param("classGroupIds") String classGroupIds,@Param("teacherRole") String teacherRole);
+    List<Map<Integer, String>> countStudentNum(@Param("classGroupIds") String classGroupIds, @Param("teacherRole") String teacherRole);
 
     /**
      * 根据班级编号列表,获取班级在读人数
+     *
      * @param classGroupIds
      * @return
      */
@@ -297,6 +307,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 根据班级编号列表,获取班级退班人数
+     *
      * @param classGroupIds
      * @return
      */
@@ -304,6 +315,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 获取乐团详情---课表详情列表
+     *
      * @param params
      * @return
      */
@@ -311,6 +323,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * COUNT乐团详情---课表详情列表
+     *
      * @param params
      * @return
      */
@@ -318,21 +331,24 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 根据班级编号列表获取班级名称
+     *
      * @param classGroupIds
      * @return
      */
-    List<Map<Integer,String>> findNameById(String classGroupIds);
+    List<Map<Integer, String>> findNameById(String classGroupIds);
 
     /**
      * 获取学员班级列表
+     *
      * @param musicGroupId
      * @param teacherId
      * @return
      */
     List<ConditionDto> queryStudentClassGroup(@Param("musicGroupId") String musicGroupId, @Param("teacherId") Integer teacherId);
-    
+
     /**
      * 批量新增班级上的课次数
+     *
      * @param classGroupList
      * @return
      */
@@ -347,6 +363,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 获取学生端,vip课程列表
+     *
      * @param userId
      * @return
      */
@@ -361,8 +378,17 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 获取学生端,学员乐团课列表详情
+     *
      * @param userId
      * @return
      */
     Integer countStudentMusicGroupCourses(Integer userId);
+
+    /**
+     * 查询对应类型所有班级列表
+     * @param musicGroupId
+     * @param type
+     * @return
+     */
+    List<ClassGroup> findClassGroupByMusicGroupIdAndType(@Param("musicGroupId") String musicGroupId, @Param("type") ClassGroupTypeEnum type);
 }

+ 14 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupStudentMapperDao.java

@@ -3,6 +3,8 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.dto.StudentAttendanceViewDto;
 import com.ym.mec.biz.dal.dto.TeacherClassStudentDto;
 import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
+import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
@@ -91,6 +93,7 @@ public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStud
 
     /**
      * 查找班级学生对应关系
+     *
      * @param userId
      * @param classGroupId
      * @return
@@ -98,11 +101,20 @@ public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStud
     ClassGroupStudentMapper findClassStudentMapperByUserIdAndClassGroupId(@Param("userId") Integer userId, @Param("classGroupId") Integer classGroupId);
 
     /**
+     * @param classGroupIds: 班级编号列表
+     * @return java.util.List<com.ym.mec.biz.dal.entity.ClassGroupStudentMapper>
      * @describe 根据班级获取学员
      * @author Joburgess
      * @date 2019/10/24
-     * @param classGroupIds: 班级编号列表
-     * @return java.util.List<com.ym.mec.biz.dal.entity.ClassGroupStudentMapper>
      */
     List<ClassGroupStudentMapper> findByClassGroups(@Param("classGroupIds") List<Integer> classGroupIds);
+
+
+    /**
+     * 查询班级某状态下所有的学生
+     * @param classGroupId
+     * @param status
+     * @return
+     */
+    List<StudentRegistration> findClassStudentList(@Param("classGroupId") Integer classGroupId, @Param("status") ClassGroupStudentStatusEnum status);
 }

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

@@ -166,10 +166,11 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      *
      * @return
      */
-    List<StudentRegistration> findMusicGroupStudent(String musicGroupId, Integer actualSubjectId);
+    List<StudentRegistration> findMusicGroupStudent(@Param("musicGroupId") String musicGroupId, @Param("actualSubjectId") Integer actualSubjectId);
 
     /**
      * 查询乐团userIdList的学生
+     *
      * @param musicGroupId
      * @param userIdList
      * @return

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

@@ -282,4 +282,11 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @return
      */
     boolean batchIncreaseClassTimes(List<Integer> classGroupList);
+
+    /**
+     * 获取提高班班级
+     * @param musicGroupId
+     * @return
+     */
+    List<ClassGroup> highClassGroupList(String musicGroupId);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupStudentMapperService.java

@@ -1,6 +1,8 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
+import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.common.service.BaseService;
 
 import org.apache.ibatis.annotations.Param;
@@ -24,4 +26,13 @@ public interface ClassGroupStudentMapperService extends BaseService<Long, ClassG
      * @return
      */
     boolean delClassGroupStudent(Integer userId, Integer classGroupId) throws Exception;
+
+
+    /**
+     * 查询班级某状态下所有的学生
+     * @param classGroupId
+     * @param status
+     * @return
+     */
+    List<StudentRegistration> findClassStudentList(Integer classGroupId, ClassGroupStudentStatusEnum status);
 }

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

@@ -158,4 +158,11 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @return
 	 */
     List<CourseScheduleTeachersDto> queryTeacherSalary(Integer courseScheduleId);
+
+	/**
+	 * 开启缴费
+	 * @param musicGroupId
+	 * @return
+	 */
+	MusicGroup openPay(String musicGroupId);
 }

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

@@ -20,7 +20,6 @@ import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
-
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -34,8 +33,6 @@ import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static com.timevale.tgtext.text.pdf.df.*;
-
 @Service
 public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup> implements ClassGroupService {
 
@@ -329,10 +326,16 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 if (Objects.isNull(totalClassTimes)) {
                     vipGroup.setMonthAvg(Float.parseFloat("0.0"));
                 } else {
-                    BigDecimal overCoursesOfMonth = new BigDecimal(overCourses), allClassTimes = new BigDecimal(totalClassTimes);
+                    if (overCourses <= 0) {
+                        vipGroup.setMonthAvg(0);
+                    } else {
+                        BigDecimal overCoursesOfMonth = new BigDecimal(overCourses), allClassTimes = new BigDecimal(totalClassTimes);
+
+                        Float monthConsumeRate = overCoursesOfMonth.divide(overCoursesOfMonth, 2, BigDecimal.ROUND_HALF_UP).floatValue();
+
+                        vipGroup.setMonthAvg(monthConsumeRate);
+                    }
 
-                    Float monthConsumeRate = overCoursesOfMonth.divide(overCoursesOfMonth, 2, BigDecimal.ROUND_HALF_UP).floatValue();
-                    vipGroup.setMonthAvg(monthConsumeRate);
                 }
             });
 
@@ -452,8 +455,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             Map<String, BigDecimal> musicGroupUserNumMap = MapUtil.convertMybatisMap(musicGroupUserNums);
             MusicGroup musicGroup;
             Set<Integer> teachers;
-            for (ImGroupModel e:imGroupModels) {
-                teachers = e.getName() == null?new HashSet<>():new HashSet(Arrays.asList(e.getName().split(",")));
+            for (ImGroupModel e : imGroupModels) {
+                teachers = e.getName() == null ? new HashSet<>() : new HashSet(Arrays.asList(e.getName().split(",")));
                 musicGroup = musicGroups.stream().filter(mg -> mg.getId().equals(e.getId())).findFirst().get();
                 //获取教学老师id列表
 //                Set<Integer> teachers = musicGroupDao.queryTeacherIds(e.getId());
@@ -1367,4 +1370,18 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         classGroupDao.batchIncreaseClassTimes(classGroupList);
         return true;
     }
+
+    @Override
+    public List<ClassGroup> highClassGroupList(String musicGroupId) {
+        List<Subject> subjectList = subjectService.findAll(new HashMap<>());
+        List<ClassGroup> classGroupList = classGroupDao.findClassGroupByMusicGroupIdAndType(musicGroupId, ClassGroupTypeEnum.HIGH);
+        for (ClassGroup classGroup : classGroupList) {
+            for (Subject subject : subjectList) {
+                if (classGroup.getSubjectIdList().equals(subject.getId())) {
+                    classGroup.setSubjectName(subject.getName());
+                }
+            }
+        }
+        return classGroupList;
+    }
 }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -60,4 +60,9 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
         courseScheduleStudentPaymentService.deleteStudentCourseSchedule(userId, courseScheduleList);
         return true;
     }
+
+    @Override
+    public List<StudentRegistration> findClassStudentList(Integer classGroupId, ClassGroupStudentStatusEnum status) {
+        return classGroupStudentMapperDao.findClassStudentList(classGroupId,status);
+    }
 }

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

@@ -612,4 +612,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     public List<CourseScheduleTeachersDto> queryTeacherSalary(Integer courseScheduleId) {
         return courseScheduleTeacherSalaryDao.queryTeacherSalary(courseScheduleId);
     }
+
+    @Override
+    public MusicGroup openPay(String musicGroupId) {
+        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+        musicGroup.setStatus(MusicGroupStatusEnum.PAY);
+        musicGroupDao.update(musicGroup);
+
+        return musicGroup;
+    }
 }

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

@@ -704,4 +704,12 @@
         #{item}
         </foreach>
     </update>
+
+    <select id="findClassGroupByMusicGroupIdAndType" resultMap="ClassGroup">
+        SELECT * FROM class_group  WHERE music_group_id_=#{musicGroupId}
+        <if test="type !=null and type!=''">
+           AND type_=#{type}
+        </if>
+         AND del_flag_='0'
+    </select>
 </mapper>

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

@@ -8,6 +8,7 @@
 
     <resultMap type="com.ym.mec.biz.dal.entity.ClassGroupStudentMapper" id="ClassGroupStudentMapper">
         <result column="id_" property="id"/>
+        <result column="music_group_id_" property="musicGroupId">
         <result column="class_group_id_" property="classGroupId"/>
         <result column="user_id_" property="userId"/>
         <result column="create_time_" property="createTime"/>
@@ -151,4 +152,11 @@
             #{classGroupId}
         </foreach>
     </select>
+
+    <!-- 查询班级某状态的所有学生 -->
+    <select id="findClassStudentList" resultMap="com.ym.mec.biz.dal.dao.StudentRegistrationDao.StudentRegistration">
+        SELECT sr.* FROM class_group_student_mapper cgsm
+        LEFT JOIN student_registration sr ON (sr.user_id_ = cgsm.user_id_ AND sr.music_group_id_ = cgsm.music_group_id_)
+        WHERE cgsm.class_group_id_ = #{classGroupId} AND cgsm.status_ = #{status}
+    </select>
 </mapper>

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

@@ -329,7 +329,7 @@
     </select>
 
 
-    <!-- 获取乐团未分班的学生 -->
+    <!-- 获取乐团声部下的学生 -->
     <select id="findMusicGroupStudent" resultMap="StudentRegistration">
         SELECT * FROM student_registration WHERE music_group_id_ = #{musicGroupId}
         <if test="actualSubjectId != null and actualSubjectId !=''">

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

@@ -122,7 +122,7 @@
             WHERE t.id_=#{teacherId}
     </select>
     <select id="findSubjectConditions" resultType="com.ym.mec.biz.dal.dto.ConditionDto">
-      select id_ id,name_ `name` from subject where parent_subject_id_=0
+      select id_ id,name_ `name` from subject where parent_subject_id_!=0
     </select>
     <select id="queryNameByIds" resultType="java.util.Map">
         select id_ `key`,name_ `value` FROM `subject` s WHERE FIND_IN_SET(s.id_,#{subjectIds})

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

@@ -217,4 +217,12 @@ public class ClassGroupController extends BaseController {
         return succeed(classGroupService.classGroupSnap(classGroup4MixDto));
     }
 
+    @ApiOperation(value = "小班报名详情")
+    @PostMapping("/highClassGroups")
+    @PreAuthorize("@pcs.hasPermissions('classGroup/highClassGroups')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团id", required = true, dataType = "String")})
+    public HttpResponseResult highClassGroups(String musicGroupId) throws Exception {
+        return succeed(classGroupService.highClassGroupList(musicGroupId));
+    }
+
 }

+ 13 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupStudentController.java

@@ -1,9 +1,12 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.biz.service.ClassGroupStudentMapperService;
 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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -23,8 +26,18 @@ public class ClassGroupStudentController extends BaseController {
     @ApiOperation(value = "删除班级学生")
     @PostMapping("/del")
     @PreAuthorize("@pcs.hasPermissions('classGroupStudent/del')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "userId", value = "用户id", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "classGroupId", value = "班级id", required = true, dataType = "int")})
     public HttpResponseResult del(Integer userId, Integer classGroupId) throws Exception {
         return succeed(classGroupStudentMapperService.delClassGroupStudent(userId, classGroupId));
     }
 
+    @ApiOperation(value = "查询班级所有学生")
+    @PostMapping("/findAllStudent")
+    @PreAuthorize("@pcs.hasPermissions('classGroupStudent/findAllStudent')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "classGroupId", value = "班级id", required = true, dataType = "int")})
+    public HttpResponseResult findAllStudent(Integer classGroupId) throws Exception {
+        return succeed(classGroupStudentMapperService.findClassStudentList(classGroupId, ClassGroupStudentStatusEnum.NORMAL));
+    }
+
 }

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

@@ -7,6 +7,8 @@ import com.ym.mec.biz.service.MusicGroupService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -78,4 +80,12 @@ public class MusicGroupController extends BaseController {
         return succeed(musicGroupService.queryListByIds(musicGroupIds));
     }
 
+    @ApiOperation(value = "开启乐团缴费功能")
+    @PostMapping("/openPay")
+    @PreAuthorize("@pcs.hasPermissions('musicGroup/openPay')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String")})
+    public Object openPay(String musicGroupId) {
+        return succeed(musicGroupService.openPay(musicGroupId));
+    }
+
 }