瀏覽代碼

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

zouxuan 5 年之前
父節點
當前提交
900c890b08

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

@@ -229,7 +229,7 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @param musicGroupId
      * @return
      */
-    List<Map<Integer, String>> findMapByMusicGroupId(@Param("musicGroupId") String musicGroupId,@Param("paymentStatus")Integer paymentStatus);
+    List<Map<Integer, String>> findMapByMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("paymentStatus") Integer paymentStatus);
 
     /**
      * 根据乐团编号获取当前乐团所有已报名学员
@@ -237,7 +237,7 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @param musicGroupId
      * @return
      */
-    List<Map<Integer, String>> findIdMapByMusicGroupId(@Param("musicGroupId") String musicGroupId,@Param("paymentStatus")Integer paymentStatus);
+    List<Map<Integer, String>> findIdMapByMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("paymentStatus") Integer paymentStatus);
 
     /**
      * 乐团开启缴费
@@ -250,8 +250,11 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
 
     /**
      * 删除班级学生
+     *
      * @param classGroupId
      * @return
      */
     int deleteClassGroup(@Param("classGroupId") Integer classGroupId);
+
+    int findMusicGroupStudentNum(@Param("musicGroupId") String musicGroupId);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupRegRespDto.java

@@ -13,6 +13,9 @@ public class MusicGroupRegRespDto {
     //乐团名称
     private String musicGroupName;
 
+    //乐团状态
+    private String musicGroupStatus;
+
     //乐团声部信息
     private List<Subject> subjectList;
 
@@ -37,4 +40,12 @@ public class MusicGroupRegRespDto {
     public String toString() {
         return ToStringBuilder.reflectionToString(this);
     }
+
+    public String getMusicGroupStatus() {
+        return musicGroupStatus;
+    }
+
+    public void setMusicGroupStatus(String musicGroupStatus) {
+        this.musicGroupStatus = musicGroupStatus;
+    }
 }

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

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

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

@@ -278,6 +278,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             //1、插入班级信息
             Date date;
             date = new Date();
+            highClassGroup.setId(null);
             highClassGroup.setCreateTime(date);
             highClassGroup.setUpdateTime(date);
             highClassGroup.setType(ClassGroupTypeEnum.HIGH);
@@ -1569,17 +1570,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     }
 
     @Override
-    public List<ClassGroup> highClassGroupList(String musicGroupId) {
-        List<ClassGroup> classGroupList = classGroupDao.findClassGroupByMusicGroupIdAndType(musicGroupId, ClassGroupTypeEnum.HIGH);
-        for (ClassGroup classGroup : classGroupList) {
-            List<String> subjects = subjectService.findBySubIds(classGroup.getSubjectIdList());
-            String subjectName = StringUtils.join(subjects, ",");
-            classGroup.setSubjectName(subjectName);
-        }
-        return classGroupList;
-    }
-
-    @Override
     public List<ClassGroupTeachersDto> classGroupAndTeacher(Integer classGroupId) {
         List<ClassGroupTeachersDto> classGroups = classGroupDao.findClassGroupByMixClassGroupId(classGroupId);
         String classGroupIds = "";
@@ -1604,8 +1594,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     public List<HighClassGroupDto> findClassGroupByMusicGroupIdAndSubjectId(String musicGroupId, Integer subjectId) {
         List<HighClassGroupDto> highClassGroupList = classGroupDao.findClassGroupByMusicGroupIdAndSubjectId(musicGroupId, subjectId);
         for (HighClassGroupDto highClassGroup : highClassGroupList) {
+            List<String> subjects = subjectService.findBySubIds(highClassGroup.getSubjectIdList());
+            highClassGroup.setSubjectName(subjects.stream().collect(Collectors.joining(",")));
+
             ClassGroupTeacherMapper bishopTeacher = classGroupTeacherMapperDao.findByClassGroupAndRole(highClassGroup.getId().longValue(), TeachTypeEnum.BISHOP);
             highClassGroup.setTeacherName(bishopTeacher.getUserName());
+            highClassGroup.setUserId(bishopTeacher.getUserId());
             CourseSchedule courseSchedule = courseScheduleDao.findOneCourseScheduleByClassGroupId(highClassGroup.getId());
             highClassGroup.setStartClassTime(DateUtil.format(courseSchedule.getStartClassTime(), "HH:mm:ss"));
             highClassGroup.setEndClassTime(DateUtil.format(courseSchedule.getEndClassTime(), "HH:mm:ss"));

+ 37 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -1,11 +1,41 @@
 package com.ym.mec.biz.service.impl;
 
-import com.ym.mec.biz.dal.dao.*;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import com.ym.mec.biz.dal.dao.ClassGroupTeacherMapperDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
+import com.ym.mec.biz.dal.dao.TeacherDefaultMusicGroupSalaryDao;
 import com.ym.mec.biz.dal.dto.ClassGroupTeachersDto;
-import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.entity.ClassGroup;
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
+import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.biz.dal.enums.TeachTypeEnum;
-import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.service.ClassGroupService;
+import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
+import com.ym.mec.biz.service.CourseScheduleService;
+import com.ym.mec.biz.service.CourseScheduleTeacherSalaryService;
+import com.ym.mec.biz.service.MusicGroupService;
+import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupMember;
 import com.ym.mec.common.entity.ImGroupModel;
@@ -14,17 +44,6 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.ss.formula.functions.T;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.stream.Collector;
-import java.util.stream.Collectors;
 
 @Service
 public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, ClassGroupTeacherMapper> implements ClassGroupTeacherMapperService {
@@ -135,7 +154,10 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
                 Map<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary> collect = teacherDefaultMusicGroupSalaryList.stream().collect(Collectors.toMap(TeacherDefaultMusicGroupSalary::getCourseScheduleType, teacherDefaultMusicGroupSalary -> teacherDefaultMusicGroupSalary));
 
-                TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary=collect.get(classGroupNoStartCourseSchedule.getType());
+				TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = collect.get(classGroupNoStartCourseSchedule.getType());
+				if (teacherDefaultMusicGroupSalary == null) {
+					throw new BizException("请先设置老师课酬");
+				}
 
                 //对应基准课酬
                 BigDecimal baseSalary = new BigDecimal(0),classTimeDuty=new BigDecimal(0);

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

@@ -1022,6 +1022,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if(chargeType != null){
             musicGroup.setChargeTypeName(chargeType.getName());
         }
+        int highClassGroupNum = studentRegistrationDao.findMusicGroupStudentNum(musicGroupId) / 5;
+        musicGroup.setImproventClassesNum(highClassGroupNum);
         return musicGroup;
     }
 

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

@@ -104,6 +104,7 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
         //乐团信息
         MusicGroup musicGroup = musicGroupService.get(musicGroupId);
         musicGroupRegResp.setMusicGroupName(musicGroup.getName());
+        musicGroupRegResp.setMusicGroupStatus(musicGroup.getStatus().getCode());
         //声部信息
         List<Subject> subjectList = subjectService.findSubByMusicGroupId(musicGroupId);
         musicGroupRegResp.setSubjectList(subjectList);

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

@@ -142,7 +142,9 @@
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-        SELECT COUNT(*) FROM class_group where del_flag_ = 0
+        SELECT COUNT(*)
+        FROM class_group
+        where del_flag_ = 0
     </select>
 
     <!-- 查询根据主教助教查询班级信息 -->
@@ -207,7 +209,7 @@
         FROM class_group_teacher_mapper cgtm
         LEFT JOIN music_group mg ON cgtm.music_group_id_ = mg.id_
         LEFT JOIN class_group cg ON cg.id_ = cgtm.class_group_id_
-		LEFT JOIN teacher t ON t.id_ = cgtm.user_id_
+        LEFT JOIN teacher t ON t.id_ = cgtm.user_id_
         WHERE cgtm.user_id_ = #{search} AND cg.del_flag_ = 0 AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX')
         <include refid="global.limit"/>
     </select>
@@ -281,7 +283,7 @@
         FROM student_payment_order spo
         LEFT JOIN class_group cg ON cg.id_ = spo.class_group_id_
         <where>
-                cg.del_flag_ = 0
+            cg.del_flag_ = 0
             <if test="search != null and search != ''">
                 AND cg.name_ LIKE CONCAT('%',#{search},'%')
             </if>
@@ -307,7 +309,7 @@
         FROM student_payment_order spo
         LEFT JOIN class_group cg ON cg.id_ = spo.class_group_id_
         <where>
-                spo.status_ = 'SUCCESS' AND cg.del_flag_ = 0
+            spo.status_ = 'SUCCESS' AND cg.del_flag_ = 0
             <if test="search != null and search != ''">
                 AND cg.name_ LIKE CONCAT('%',#{search},'%')
             </if>
@@ -362,22 +364,22 @@
     </select>
     <select id="findByVipGroup" resultMap="ClassGroup">
         SELECT
-            cg.*
+        cg.*
         FROM
-            vip_group_class_group_mapper vcgm
-            LEFT JOIN class_group cg ON vcgm.class_group_id_ = cg.id_
-            WHERE vcgm.vip_group_id_=#{vipGroupId}
-            <if test="delFlag!=null">
-                AND cg.del_flag_ = #{delFlag}
-            </if>
+        vip_group_class_group_mapper vcgm
+        LEFT JOIN class_group cg ON vcgm.class_group_id_ = cg.id_
+        WHERE vcgm.vip_group_id_=#{vipGroupId}
+        <if test="delFlag!=null">
+            AND cg.del_flag_ = #{delFlag}
+        </if>
     </select>
 
     <select id="lockClassGroup" resultMap="ClassGroup">
         SELECT
-            cg.*
+        cg.*
         FROM
-            class_group cg
-            WHERE cg.id_=#{classGroupId} FOR UPDATE
+        class_group cg
+        WHERE cg.id_=#{classGroupId} FOR UPDATE
     </select>
     <select id="countTeacherVipNum" resultType="java.util.Map">
         SELECT vg.user_id_ `key`,COUNT(vg.id_) `value` FROM vip_group vg
@@ -407,79 +409,79 @@
 
     <select id="findTeacherMusicClassGroup" resultMap="TeacherClassGroupDto">
         SELECT
-            cg.id_ class_group_id_,
-            cg.name_ class_group_name_,
-            cg.student_num_,
-            cg.current_class_times_,
-            cg.total_class_times_,
-            cg.subject_id_list_,
-            cg.type_,
-            COUNT(cg.id_) surplus_class_times_,
-            mg.id_ music_group_id_,
-            mg.name_ music_group_name_,
-            s.id_ school_id_,
-            s.name_ school_name_
+        cg.id_ class_group_id_,
+        cg.name_ class_group_name_,
+        cg.student_num_,
+        cg.current_class_times_,
+        cg.total_class_times_,
+        cg.subject_id_list_,
+        cg.type_,
+        COUNT(cg.id_) surplus_class_times_,
+        mg.id_ music_group_id_,
+        mg.name_ music_group_name_,
+        s.id_ school_id_,
+        s.name_ school_name_
         FROM
-            course_schedule_teacher_salary csts
-            LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
-            LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
-            LEFT JOIN music_group mg ON cg.music_group_id_ = mg.id_
-            LEFT JOIN school s ON mg.school_id_ = s.id_
+        course_schedule_teacher_salary csts
+        LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
+        LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
+        LEFT JOIN music_group mg ON cg.music_group_id_ = mg.id_
+        LEFT JOIN school s ON mg.school_id_ = s.id_
         WHERE
-            csts.user_id_ = #{teacherId}
-            AND cs.status_ != 'OVER'
-            AND cs.type_ != 'VIP'
-            AND cs.type_ != 'DEMO'
-            AND csts.expect_salary_!=0
-            AND cg.del_flag_ = 0
+        csts.user_id_ = #{teacherId}
+        AND cs.status_ != 'OVER'
+        AND cs.type_ != 'VIP'
+        AND cs.type_ != 'DEMO'
+        AND csts.expect_salary_!=0
+        AND cg.del_flag_ = 0
         GROUP BY cg.id_
     </select>
     <select id="findTeacherVipClassGroup" resultMap="TeacherClassGroupDto">
         SELECT
-            cg.id_ class_group_id_,
-            cg.name_ class_group_name_,
-            cg.type_,
-            cg.subject_id_list_,
-            vg.payment_expire_date_,
-            vg.courses_expire_date_,
-            vg.single_class_minutes_,
-            vg.courses_start_date,
-            IF(vg.online_classes_num_ IS NULL,0,vg.online_classes_num_) online_classes_num_,
-            IF(vg.offline_classes_num_ IS NULL,0,vg.offline_classes_num_) offline_classes_num_,
-            cg.total_class_times_,
-            COUNT(vg.id_) surplus_class_times_,
-            vg.id_ music_group_id_,
-	        vg.name_ music_group_name_,
-            s.id_ school_id_,
-            s.name_ school_name_
+        cg.id_ class_group_id_,
+        cg.name_ class_group_name_,
+        cg.type_,
+        cg.subject_id_list_,
+        vg.payment_expire_date_,
+        vg.courses_expire_date_,
+        vg.single_class_minutes_,
+        vg.courses_start_date,
+        IF(vg.online_classes_num_ IS NULL,0,vg.online_classes_num_) online_classes_num_,
+        IF(vg.offline_classes_num_ IS NULL,0,vg.offline_classes_num_) offline_classes_num_,
+        cg.total_class_times_,
+        COUNT(vg.id_) surplus_class_times_,
+        vg.id_ music_group_id_,
+        vg.name_ music_group_name_,
+        s.id_ school_id_,
+        s.name_ school_name_
         FROM
-            vip_group vg
-            LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_ = vgcgm.vip_group_id_
-            LEFT JOIN class_group cg ON vgcgm.class_group_id_=cg.id_
-            LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
-            LEFT JOIN music_group mg ON cg.music_group_id_ = mg.id_
-            LEFT JOIN school s ON vg.teacher_school_id_ = s.id_
+        vip_group vg
+        LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_ = vgcgm.vip_group_id_
+        LEFT JOIN class_group cg ON vgcgm.class_group_id_=cg.id_
+        LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
+        LEFT JOIN music_group mg ON cg.music_group_id_ = mg.id_
+        LEFT JOIN school s ON vg.teacher_school_id_ = s.id_
         WHERE
-            vg.user_id_ = #{teacherId}
-            AND cg.del_flag_ = 0
+        vg.user_id_ = #{teacherId}
+        AND cg.del_flag_ = 0
         GROUP BY
-            vg.id_,cg.id_
+        vg.id_,cg.id_
     </select>
     <select id="countGroupCourses" resultType="java.lang.Integer">
         SELECT COUNT(DISTINCT mg.id_)
         FROM class_group_teacher_mapper cgtm
         LEFT JOIN music_group mg ON cgtm.music_group_id_ = mg.id_
         LEFT JOIN class_group cg ON cg.id_ = cgtm.class_group_id_
-		LEFT JOIN teacher t ON t.id_ = cgtm.user_id_
+        LEFT JOIN teacher t ON t.id_ = cgtm.user_id_
         WHERE cgtm.user_id_ = #{search} AND cg.del_flag_ = 0 AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX')
     </select>
     <select id="findStudentOrganIdsByClassGroup" resultType="int">
         SELECT
-            DISTINCT su.organ_id_
+        DISTINCT su.organ_id_
         FROM
-            class_group_student_mapper cgsm
-            LEFT JOIN sys_user su ON cgsm.user_id_=su.id_
-            WHERE cgsm.class_group_id_=#{classGroupId}
+        class_group_student_mapper cgsm
+        LEFT JOIN sys_user su ON cgsm.user_id_=su.id_
+        WHERE cgsm.class_group_id_=#{classGroupId}
     </select>
 
     <select id="queryNamesByClassId" resultType="java.util.Map">
@@ -520,7 +522,8 @@
     <select id="countStudyNum" resultType="java.util.Map">
         SELECT cgsm.class_group_id_ 'key',COUNT(cgsm.user_id_) 'value' 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 FIND_IN_SET(cgsm.class_group_id_,#{classGroupIds}) AND cgsm.status_='NORMAL' AND FIND_IN_SET(sr.music_group_status_,'NORMAL,LEAVE') GROUP BY cgsm.class_group_id_
+        WHERE FIND_IN_SET(cgsm.class_group_id_,#{classGroupIds}) AND cgsm.status_='NORMAL' AND
+        FIND_IN_SET(sr.music_group_status_,'NORMAL,LEAVE') GROUP BY cgsm.class_group_id_
     </select>
 
     <select id="countQuitNum" resultType="java.util.Map">
@@ -531,7 +534,7 @@
 
     <sql id="queryMusicGroupCourseScheduleSql">
         <where>
-                cg.del_flag_ = 0
+            cg.del_flag_ = 0
             <if test="classScheduleType != null">
                 AND cs.type_ = #{classScheduleType}
             </if>
@@ -615,7 +618,8 @@
         <result column="online_classes_num_" property="onlineClassesNum"/>
         <result column="offline_classes_num_" property="offLineClassesNum"/>
         <result column="teacher_school_id_" property="teacherSchoolId"/>
-        <result column="payment_status_" property="paymentStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="payment_status_" property="paymentStatus"
+                typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
     <select id="queryStudentVipCourses" resultMap="CourseListDto">
         SELECT cg.id_ class_group_id_,vg.name_ music_group_name_,su.username_,
@@ -626,7 +630,7 @@
         FROM vip_group vg
         LEFT JOIN class_group cg ON cg.music_group_id_ = vg.id_
         LEFT JOIN sys_user su ON vg.user_id_ = su.id_
-        WHERE cg.type_ = 'VIP' AND FIND_IN_SET(vg.id_,#{musicGroupIds}) AND cg.del_flag_ = 0
+        WHERE cg.type_ = 'VIP' AND FIND_IN_SET(vg.id_,#{musicGroupIds}) AND vg.status_!=3
     </select>
     <select id="queryStudentMusicGroupCourses" resultMap="CourseListDto">
         SELECT mg.id_ music_group_id_,mg.name_ music_group_name_,mgsf.payment_status_,
@@ -635,7 +639,8 @@
         FROM music_group mg
         LEFT JOIN class_group cg ON cg.music_group_id_ = mg.id_
         LEFT JOIN music_group_student_fee_ mgsf ON mgsf.music_group_id_ = mg.id_
-        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND cg.type_ != 'VIP' AND cg.del_flag_ = 0 AND mgsf.user_id_ = #{userId}
+        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND cg.type_ != 'VIP' AND cg.del_flag_ = 0 AND mgsf.user_id_ =
+        #{userId}
         GROUP BY mg.id_,mgsf.payment_status_
     </select>
 
@@ -649,21 +654,21 @@
     <update id="batchIncreaseClassTimes" parameterType="java.util.List">
         UPDATE class_group SET current_class_times_ = current_class_times_+1,update_time_ = now() WHERE id_ in
         <foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
-        #{item}
+            #{item}
         </foreach>
     </update>
     <update id="batchUpdateClassGroupCourseTimes" parameterType="map">
-      <foreach collection="classGroupCourseTimes.entrySet()" index="key" item="value" open="" close="" separator=";">
-          UPDATE class_group SET total_class_times_=#{value} WHERE id_=#{key}
-      </foreach>
+        <foreach collection="classGroupCourseTimes.entrySet()" index="key" item="value" open="" close="" separator=";">
+            UPDATE class_group SET total_class_times_=#{value} WHERE id_=#{key}
+        </foreach>
     </update>
 
     <select id="findClassGroupByMusicGroupIdAndType" resultMap="ClassGroup">
-        SELECT * FROM class_group  WHERE music_group_id_=#{musicGroupId}
+        SELECT * FROM class_group WHERE music_group_id_=#{musicGroupId}
         <if test="type !=null ">
-           AND type_=#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            AND type_=#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
         </if>
-         AND del_flag_='0'
+        AND del_flag_='0'
     </select>
 
     <!-- 根据合奏班id获取子班及老师 -->
@@ -674,22 +679,22 @@
     </select>
     <select id="findClassGroupNamesByClassGroups" resultType="string">
         SELECT
-            name_
+        name_
         FROM
-            class_group
+        class_group
         WHERE
-            id_ IN
-            <foreach collection="classGroups" open="(" close=")" item="classGroupId" separator=",">
-                #{classGroupId}
-            </foreach>
+        id_ IN
+        <foreach collection="classGroups" open="(" close=")" item="classGroupId" separator=",">
+            #{classGroupId}
+        </foreach>
         AND del_flag_ = 0
     </select>
     <select id="findByCourseSchedules" resultMap="ClassGroup">
         SELECT
-            cg.*
+        cg.*
         FROM
-            course_schedule cs
-            LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
+        course_schedule cs
+        LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
         WHERE cs.id_ IN
         <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
             #{courseScheduleId}
@@ -698,17 +703,17 @@
     </select>
     <select id="findByCourseSchedule" resultMap="ClassGroup">
         SELECT
-            cg.*
+        cg.*
         FROM
-            course_schedule cs
-            LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
+        course_schedule cs
+        LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
         WHERE cs.id_=#{courseScheduleId} AND cg.del_flag_ = 0
     </select>
     <select id="findClassGroupsByMixClassGroup" resultMap="ClassGroup">
         SELECT
-            cg.*
+        cg.*
         FROM
-            class_group_relation cgr
+        class_group_relation cgr
         LEFT JOIN class_group cg ON cgr.sub_class_group_id_=cg.id_
         WHERE cgr.class_group_id_=#{maxCourseScheduleId} AND cg.del_flag_ = 0
     </select>
@@ -731,7 +736,10 @@
         <result column="current_class_times_" property="currentClassTimes"/>
     </resultMap>
     <select id="findClassGroupByMusicGroupIdAndSubjectId" resultMap="HighClassGroup">
-        SELECT * FROM class_group WHERE music_group_id_=#{musicGroupId} AND FIND_IN_SET(#{subjectId},subject_id_list_)
+        SELECT * FROM class_group WHERE music_group_id_=#{musicGroupId}
+        <if test="subjectId != null">
+            AND FIND_IN_SET(#{subjectId},subject_id_list_)
+        </if>
         AND type_='HIGH' AND del_flag_='0';
     </select>
 

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

@@ -10,6 +10,7 @@
         <result column="id_" property="id"/>
         <result column="user_id_" property="userId"/>
         <result column="name_" property="name"/>
+        <result column="id_card_no_" property="idCardNo"/>
         <result column="music_group_id_" property="musicGroupId"/>
         <result column="current_grade_" property="currentGrade"/>
         <result column="current_class_" property="currentClass"/>
@@ -326,7 +327,7 @@
     </select>
 
     <select id="queryByUserIdAndMusicGroupId" resultMap="StudentRegistration">
-        select * from student_registration where music_group_id_ = #{musicGroupId} and user_id_ = #{userId}
+        select sr.*,su.id_card_no_ from student_registration sr left join sys_user su on su.id_ =sr.user_id_ where sr.music_group_id_ = #{musicGroupId} and sr.user_id_ = #{userId}
     </select>
 
     <!-- 根据乐团编号和手机号查询注册乐团注册信息-->
@@ -494,4 +495,9 @@
         update_time_ = now()
         WHERE class_group_id_ = #{classGroupId}
     </update>
+
+    <!-- 获取乐团学生人数 -->
+    <select id="findMusicGroupStudentNum" resultType="integer">
+        SELECT Count(*) FROM student_registration WHERE music_group_id_ = #{musicGroupId} AND payment_status_ = '2'
+    </select>
 </mapper>

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/config/ResourceServerConfig.java

@@ -25,7 +25,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 	@Override
 	public void configure(HttpSecurity http) throws Exception {
 		http.csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and()
-				.authorizeRequests().antMatchers("/v2/api-docs","/code/*","/register/*","/studentOrder/*").permitAll().anyRequest().authenticated().and().httpBasic();
+				.authorizeRequests().antMatchers("/v2/api-docs","/code/*","/register/*","/studentOrder/*","/musicGroup/getSubjectGoodsAndInfo","/musicGroup/getMusicGroupStatus","/musicGroup/getOrderStatus","/musicGroup/pay","/musicGroup/rePay").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

+ 19 - 29
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -102,14 +102,20 @@ public class MusicGroupController extends BaseController {
 
     @ApiOperation(value = "乐团报名缴费状态查询")
     @GetMapping("/getMusicGroupStatus")
-    @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团id", required = true, dataType = "String")})
-    public HttpResponseResult getMusicGroupStatus(String musicGroupId) throws Exception {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        Integer userId = sysUser.getId();
+    @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团id", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "userId", value = "用户id", required = true, dataType = "int")
+    })
+    public HttpResponseResult getMusicGroupStatus(String musicGroupId, Integer userId) throws Exception {
         MusicGroup musicGroup = musicGroupService.get(musicGroupId);
         if (musicGroup == null) {
             return failed("乐团不存在");
         }
+
+        if (userId == null) {
+            SysUser sysUser = sysUserFeignService.queryUserInfo();
+            userId = sysUser.getId();
+        }
+
         StudentRegistration studentRegistration = studentRegistrationService.queryByUserIdAndMusicGroupId(userId, musicGroupId);
         if (studentRegistration == null) {
             return failed(HttpStatus.CONTINUE, "乐团报名信息不存在");
@@ -184,13 +190,13 @@ public class MusicGroupController extends BaseController {
     @ApiImplicitParams({@ApiImplicitParam(name = "registerPayDto", value = "支付信息", required = true, dataType = "Integer")})
     public HttpResponseResult pay(@RequestBody RegisterPayDto registerPayDto) throws Exception {
 
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        Integer userId = sysUser.getId();
         StudentRegistration studentRegistration = studentRegistrationService.get(registerPayDto.getRegisterId().longValue());
-        if (!studentRegistration.getUserId().equals(userId)) {
+        if (studentRegistration == null) {
             return failed("报名信息有误,请核查");
         }
 
+        Integer userId = studentRegistration.getUserId();
+
         StudentPaymentOrder ApplyOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, studentRegistration.getMusicGroupId(), DealStatusEnum.SUCCESS);
         if (ApplyOrder != null) {
             return failed("您已支付成功,请勿重复支付");
@@ -272,13 +278,13 @@ public class MusicGroupController extends BaseController {
     @PostMapping("/rePay")
     @ApiImplicitParams({@ApiImplicitParam(name = "registerPayDto", value = "支付信息", required = true, dataType = "Integer")})
     public HttpResponseResult rePay(@RequestBody RegisterPayDto registerPayDto) throws Exception {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        Integer userId = sysUser.getId();
         StudentRegistration studentRegistration = studentRegistrationService.get(registerPayDto.getRegisterId().longValue());
-        if (!studentRegistration.getUserId().equals(userId)) {
+        if (studentRegistration == null) {
             return failed("报名信息有误,请核查");
         }
 
+        Integer userId = studentRegistration.getUserId();
+
         StudentPaymentOrder ApplyOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, studentRegistration.getMusicGroupId().toString(), DealStatusEnum.SUCCESS);
         if (ApplyOrder != null) {
             return failed("您已支付成功,请勿重复支付");
@@ -356,22 +362,6 @@ public class MusicGroupController extends BaseController {
         return succeed(payMap);
     }
 
-    @GetMapping("/test")
-    public Object test() throws Exception {
-        SysUser sysUser = sysUserFeignService.queryUserByMobile("15829292961");
-
-
-//        Map query = payService.query("1017201910111756231647562047");
-//
-//        System.out.println(query);
-//
-        String orderNo = idGeneratorService.generatorId("payment") + "";
-        BigDecimal amount = new BigDecimal("0.01");
-        String payChannel = PayChannelEnum.ALIPAY_QR.getCode();
-        Map map = payService.getPayMap(amount, orderNo, "http://47.99.212.176:8000/studentOrder/notify", "https://baodiu.com", "测试订单", "测试订单");
-        return succeed(map);
-    }
-
     @ApiOperation(value = "订单状态查询")
     @GetMapping("/getOrderStatus")
     @ApiImplicitParams({@ApiImplicitParam(name = "orderNo", value = "订单号", required = true, dataType = "String")})
@@ -386,9 +376,9 @@ public class MusicGroupController extends BaseController {
         MusicGroup musicGroup = musicGroupService.get(orderByOrderNo.getMusicGroupId());
         List<Goods> goodsList = studentPaymentOrderDetailService.findApplyOrderGoods(orderByOrderNo.getId());
         HashMap<String, Object> orderDetail = new HashMap<>();
-        orderDetail.put("order",orderByOrderNo);
-        orderDetail.put("goods",goodsList);
-        orderDetail.put("course",musicGroup.getCourseForm());
+        orderDetail.put("order", orderByOrderNo);
+        orderDetail.put("goods", goodsList);
+        orderDetail.put("course", musicGroup.getCourseForm());
 
         return succeed(orderDetail);
     }

+ 1 - 2
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -26,7 +26,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
@@ -319,7 +318,7 @@ public class StudentOrderController extends BaseController {
 
     }
 
-    @Scheduled(cron = "0/30 * * * * ?")
+//    @Scheduled(cron = "0/30 * * * * ?")
     public void setSuccessStatus() throws Exception {
         List<StudentPaymentOrder> payingOrders = studentPaymentOrderService.findOrdersByStatus(DealStatusEnum.ING, "YQPAY");
 

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

@@ -219,7 +219,7 @@ public class ClassGroupController extends BaseController {
     @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));
+        return succeed(classGroupService.findClassGroupByMusicGroupIdAndSubjectId(musicGroupId,null));
     }
 
     @ApiOperation(value = "合奏子班列表(班级调整)")