فهرست منبع

增加班级调整的排课

周箭河 5 سال پیش
والد
کامیت
6bee0a2b37
51فایلهای تغییر یافته به همراه1410 افزوده شده و 246 حذف شده
  1. 0 3
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/MenuController.java
  2. 49 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java
  3. 1 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupSubjectGoodsGroupDao.java
  4. 36 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentManageDao.java
  5. 25 16
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  6. 0 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/HighClassGroupDto.java
  7. 100 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupClassGroupDto.java
  8. 129 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupCourseScheduleDto.java
  9. 50 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupStudentSignDto.java
  10. 127 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupStudentsDto.java
  11. 38 27
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentApplyDetailDto.java
  12. 53 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentFeeDetailDto.java
  13. 12 24
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentFeeDto.java
  14. 23 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentApplyRefunds.java
  15. 17 6
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrder.java
  16. 0 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ClassGroupStudentStatusEnum.java
  17. 51 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupStudentQueryInfo.java
  18. 7 18
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupTeachersQueryInfo.java
  19. 28 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentApplyrefundsQueryInfo.java
  20. 16 16
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentRegistrationQueryInfo.java
  21. 64 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/queryMusicGroupCourseScheduleQueryInfo.java
  22. 16 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java
  23. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java
  24. 13 5
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java
  25. 17 5
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentManageService.java
  26. 0 3
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java
  27. 3 2
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java
  28. 56 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  29. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  30. 24 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java
  31. 64 25
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  32. 37 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java
  33. 6 16
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  34. 4 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectServiceImpl.java
  35. 12 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherLeaveRecordServiceImpl.java
  36. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  37. 45 0
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  38. 3 2
      mec-biz/src/main/resources/config/mybatis/MusicGroupSubjectGoodsGroupMapper.xml
  39. 24 4
      mec-biz/src/main/resources/config/mybatis/StudentApplyRefundsMapper.xml
  40. 89 0
      mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml
  41. 8 3
      mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml
  42. 23 10
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  43. 8 7
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  44. 8 0
      mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java
  45. 6 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java
  46. 16 1
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  47. 31 0
      mec-web/src/main/java/com/ym/mec/web/controller/StudentApplyRefundsController.java
  48. 17 9
      mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java
  49. 31 0
      mec-web/src/main/java/com/ym/mec/web/controller/StudentPaymentOrderController.java
  50. 7 11
      mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java
  51. 5 4
      mec-web/src/main/java/com/ym/mec/web/controller/student/StudentPaymentOrderController.java

+ 0 - 3
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/MenuController.java

@@ -67,7 +67,6 @@ public class MenuController extends BaseController {
 
     @ApiOperation("查询用户可访问菜单树状结构")
     @GetMapping(value = "/findByUser")
-    @PreAuthorize("@pcs.hasPermissions('menu/findByUser')")
     public Object findByUser(@RequestBody(required = false) MenuQueryInfo menuQueryInfo) {
         AuthUser user = SecurityUtils.getUser();
         if(user != null){
@@ -80,6 +79,4 @@ public class MenuController extends BaseController {
         return failed();
     }
 
-
-
 }

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

@@ -280,4 +280,53 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @return java.util.List<java.lang.Integer>
      */
     List<Integer> findStudentOrganIdsByClassGroup(Long classGroupId);
+
+    /**
+     * 乐团详情--班级详情列表
+     * @param params
+     * @return
+     */
+    List<MusicGroupClassGroupDto> queryMusicGroupClassGroup(Map<String, Object> params);
+
+    /**
+     * COUNT乐团详情--班级详情列表
+     * @param params
+     * @return
+     */
+    int countMusicGroupClassGroup(Map<String, Object> params);
+
+    /**
+     * 根据班级编号列表,获取老师名字
+     * @param classGroupIds
+     * @return
+     */
+    List<Map<Integer, String>> countStudentNum(@Param("classGroupIds") String classGroupIds,@Param("teacherRole") String teacherRole);
+
+    /**
+     * 根据班级编号列表,获取班级在读人数
+     * @param classGroupIds
+     * @return
+     */
+    List<Map<Integer, Integer>> countStudyNum(@Param("classGroupIds") String classGroupIds);
+
+    /**
+     * 根据班级编号列表,获取班级退班人数
+     * @param classGroupIds
+     * @return
+     */
+    List<Map<Integer, Integer>> countQuitNum(@Param("classGroupIds") String classGroupIds);
+
+    /**
+     * 获取乐团详情---课表详情列表
+     * @param params
+     * @return
+     */
+    List<MusicGroupCourseScheduleDto> queryMusicGroupCourseSchedule(Map<String, Object> params);
+
+    /**
+     * COUNT乐团详情---课表详情列表
+     * @param params
+     * @return
+     */
+    int countMusicGroupCourseSchedule(Map<String, Object> params);
 }

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

@@ -2,7 +2,6 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
 import com.ym.mec.common.dal.BaseDAO;
-
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -14,7 +13,7 @@ public interface MusicGroupSubjectGoodsGroupDao extends BaseDAO<Long, MusicGroup
      * @param musicGroupSubjectGoodsGroups
      * @return
      */
-    int batchInsert(@Param("mappers") List<MusicGroupSubjectGoodsGroup> musicGroupSubjectGoodsGroups);
+    int batchInsert(@Param("lists") List<MusicGroupSubjectGoodsGroup> musicGroupSubjectGoodsGroups,@Param("musicGroupId")String musicGroupId);
 
     /**
      * 获取建团申请,声部设置已确认数据

+ 36 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentManageDao.java

@@ -104,7 +104,7 @@ public interface StudentManageDao {
      * @param params
      * @return
      */
-    List queryMusicGroupStudent(Map<String, Object> params);
+    List<MusicGroupStudentsDto> queryMusicGroupStudent(Map<String, Object> params);
 
     /**
      * COUNT乐团管理学员列表
@@ -112,4 +112,39 @@ public interface StudentManageDao {
      * @return
      */
     int countMusicGroupStudent(Map<String, Object> params);
+
+    /**
+     * 获取乐团在读人数
+     * @param musicGroupId
+     * @return
+     */
+    Integer countStudyNum(String musicGroupId);
+
+    /**
+     * 获取乐团退团人数
+     * @param musicGroupId
+     * @return
+     */
+    Integer countQuitNum(@Param("musicGroupId") String musicGroupId);
+
+    /**
+     * 获取乐团新增的学员人数
+     * @param musicGroupId
+     * @return
+     */
+    Integer countAddNum(String musicGroupId);
+
+    /**
+     * 乐团管理--点名总览
+     * @param params
+     * @return
+     */
+    List<MusicGroupStudentSignDto> queryMusicGroupStudentsSign(Map<String, Object> params);
+
+    /**
+     * COUNT乐团管理--点名总览
+     * @param params
+     * @return
+     */
+    int countMusicGroupStudentsSign(Map<String, Object> params);
 }

+ 25 - 16
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.StudentApplyDetailDto;
+import com.ym.mec.biz.dal.dto.StudentFeeDetailDto;
 import com.ym.mec.biz.dal.dto.StudentFeeDto;
 import com.ym.mec.biz.dal.dto.StudentInfo;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
@@ -30,22 +31,22 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      */
     int queryStudentDetailCount(Map<String, Object> params);
 
-    /**
-     * 根据乐团编号和声部获取缴费学员人数
-     *
-     * @param musicGroupId
-     * @return
-     */
-    List<Map<Integer, Integer>> countPayNum(@Param("musicGroupId") String musicGroupId);
-
-    /**
-     * 学生报名缴费金额详情
-     *
-     * @param studentId
-     * @param musicGroupId
-     * @return
-     */
-    StudentFeeDto queryFeeDetail(Integer studentId, String musicGroupId);
+	/**
+	 * 根据乐团编号和声部获取缴费学员人数
+	 *
+	 * @param musicGroupId
+	 * @return
+	 */
+	List<Map<Integer, Long>> countPayNum(@Param("musicGroupId") String musicGroupId);
+
+	/**
+	 * 学生报名缴费金额详情
+	 *
+	 * @param studentId
+	 * @param musicGroupId
+	 * @return
+	 */
+	StudentFeeDetailDto queryFeeDetail(@Param("studentId") Integer studentId, @Param("musicGroupId") String musicGroupId);
 
     /**
      * 获取乐团声部未分配的班级的学生
@@ -124,4 +125,12 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     List<StudentRegistration> findMusicGroupStudent(@Param("musicGroupId") String musicGroupId, @Param("actualSubjectId") Integer actualSubjectId);
+
+	/**
+	 * 批量调剂学生专业
+	 * @param userIds
+	 * @param subId
+	 * @return
+	 */
+	int batchUpdateSubject(@Param("userIds")String userIds, @Param("subId") Integer subId,@Param("musicGroupId") String musicGroupId);
 }

+ 0 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/HighClassGroupDto.java

@@ -32,8 +32,6 @@ public class HighClassGroupDto extends ClassGroup {
 	@ApiModelProperty(value = "排课次数", required = true)
 	private Integer courseTimes;
 
-
-
 	public Integer getUserId() {
 		return userId;
 	}

+ 100 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupClassGroupDto.java

@@ -0,0 +1,100 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.ClassGroup;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 班级调整
+ */
+public class MusicGroupClassGroupDto {
+
+    @ApiModelProperty(value = "班级编号", required = true)
+    private Integer classGroupId;
+
+    @ApiModelProperty(value = "班级名称", required = true)
+    private String classGroupName;
+
+    @ApiModelProperty(value = "班级类型", required = true)
+    private String classGroupType;
+
+    //TEACHING("TEACHING","助教"),
+    //    BISHOP("BISHOP","主教")
+    @ApiModelProperty(value = "主教老师", required = true)
+    private String masterTeacher;
+
+    @ApiModelProperty(value = "助教老师", required = true)
+    private String subTeacher;
+
+    @ApiModelProperty(value = "当前课次", required = true)
+    private Integer currentClassTimes;
+
+    @ApiModelProperty(value = "跟班人数", required = true)
+    private String studyNum;
+
+    @ApiModelProperty(value = "退班人数", required = true)
+    private String quitNum;
+
+    public Integer getClassGroupId() {
+        return classGroupId;
+    }
+
+    public void setClassGroupId(Integer classGroupId) {
+        this.classGroupId = classGroupId;
+    }
+
+    public String getClassGroupName() {
+        return classGroupName;
+    }
+
+    public void setClassGroupName(String classGroupName) {
+        this.classGroupName = classGroupName;
+    }
+
+    public String getClassGroupType() {
+        return classGroupType;
+    }
+
+    public void setClassGroupType(String classGroupType) {
+        this.classGroupType = classGroupType;
+    }
+
+    public String getMasterTeacher() {
+        return masterTeacher;
+    }
+
+    public void setMasterTeacher(String masterTeacher) {
+        this.masterTeacher = masterTeacher;
+    }
+
+    public String getSubTeacher() {
+        return subTeacher;
+    }
+
+    public void setSubTeacher(String subTeacher) {
+        this.subTeacher = subTeacher;
+    }
+
+    public Integer getCurrentClassTimes() {
+        return currentClassTimes;
+    }
+
+    public void setCurrentClassTimes(Integer currentClassTimes) {
+        this.currentClassTimes = currentClassTimes;
+    }
+
+    public String getStudyNum() {
+        return studyNum;
+    }
+
+    public void setStudyNum(String studyNum) {
+        this.studyNum = studyNum;
+    }
+
+    public String getQuitNum() {
+        return quitNum;
+    }
+
+    public void setQuitNum(String quitNum) {
+        this.quitNum = quitNum;
+    }
+}

+ 129 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupCourseScheduleDto.java

@@ -0,0 +1,129 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+public class MusicGroupCourseScheduleDto {
+
+    @ApiModelProperty(value = "上课日期",required = false)
+    private String classDate;
+
+    @ApiModelProperty(value = "上课时间",required = false)
+    private String startClassTime;
+
+    @ApiModelProperty(value = "上课时间",required = false)
+    private String courseScheduleId;
+
+    @ApiModelProperty(value = "上课时间",required = false)
+    private String courseScheduleName;
+
+    @ApiModelProperty(value = "上课时间",required = false)
+    private String classGroupName;
+
+    @ApiModelProperty(value = "上课时间",required = false)
+    private String courseScheduleType;
+
+    @ApiModelProperty(value = "上课时间",required = false)
+    private String getCourseScheduleStatus;
+
+    @ApiModelProperty(value = "上课时间",required = false)
+    private String signInStatus;
+
+    @ApiModelProperty(value = "上课时间",required = false)
+    private String signOutStatus;
+
+    @ApiModelProperty(value = "上课时间",required = false)
+    private String masterTeacherName;
+
+    @ApiModelProperty(value = "上课时间",required = false)
+    private String subTeacherName;
+
+    public String getClassDate() {
+        return classDate;
+    }
+
+    public void setClassDate(String classDate) {
+        this.classDate = classDate;
+    }
+
+    public String getStartClassTime() {
+        return startClassTime;
+    }
+
+    public void setStartClassTime(String startClassTime) {
+        this.startClassTime = startClassTime;
+    }
+
+    public String getCourseScheduleId() {
+        return courseScheduleId;
+    }
+
+    public void setCourseScheduleId(String courseScheduleId) {
+        this.courseScheduleId = courseScheduleId;
+    }
+
+    public String getCourseScheduleName() {
+        return courseScheduleName;
+    }
+
+    public void setCourseScheduleName(String courseScheduleName) {
+        this.courseScheduleName = courseScheduleName;
+    }
+
+    public String getClassGroupName() {
+        return classGroupName;
+    }
+
+    public void setClassGroupName(String classGroupName) {
+        this.classGroupName = classGroupName;
+    }
+
+    public String getCourseScheduleType() {
+        return courseScheduleType;
+    }
+
+    public void setCourseScheduleType(String courseScheduleType) {
+        this.courseScheduleType = courseScheduleType;
+    }
+
+    public String getGetCourseScheduleStatus() {
+        return getCourseScheduleStatus;
+    }
+
+    public void setGetCourseScheduleStatus(String getCourseScheduleStatus) {
+        this.getCourseScheduleStatus = getCourseScheduleStatus;
+    }
+
+    public String getSignInStatus() {
+        return signInStatus;
+    }
+
+    public void setSignInStatus(String signInStatus) {
+        this.signInStatus = signInStatus;
+    }
+
+    public String getSignOutStatus() {
+        return signOutStatus;
+    }
+
+    public void setSignOutStatus(String signOutStatus) {
+        this.signOutStatus = signOutStatus;
+    }
+
+    public String getMasterTeacherName() {
+        return masterTeacherName;
+    }
+
+    public void setMasterTeacherName(String masterTeacherName) {
+        this.masterTeacherName = masterTeacherName;
+    }
+
+    public String getSubTeacherName() {
+        return subTeacherName;
+    }
+
+    public void setSubTeacherName(String subTeacherName) {
+        this.subTeacherName = subTeacherName;
+    }
+}

+ 50 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupStudentSignDto.java

@@ -0,0 +1,50 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+public class MusicGroupStudentSignDto{
+
+    @ApiModelProperty(value = "签到时间",required = false)
+    private String signTime;
+
+    @ApiModelProperty(value = "学生姓名",required = false)
+    private String name;
+
+    @ApiModelProperty(value = "签到状态",required = false)
+    private String signStatus;
+
+    @ApiModelProperty(value = "课程名称",required = false)
+    private String courseScheduleName;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getSignTime() {
+        return signTime;
+    }
+
+    public void setSignTime(String signTime) {
+        this.signTime = signTime;
+    }
+
+    public String getSignStatus() {
+        return signStatus;
+    }
+
+    public void setSignStatus(String signStatus) {
+        this.signStatus = signStatus;
+    }
+
+    public String getCourseScheduleName() {
+        return courseScheduleName;
+    }
+
+    public void setCourseScheduleName(String courseScheduleName) {
+        this.courseScheduleName = courseScheduleName;
+    }
+}

+ 127 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupStudentsDto.java

@@ -0,0 +1,127 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+public class MusicGroupStudentsDto{
+
+    @ApiModelProperty(value = "学生编号",required = false)
+    private Integer userId;
+
+    @ApiModelProperty(value = "姓名",required = false)
+    private String realName;
+
+    @ApiModelProperty(value = "性别",required = false)
+    private String gender;
+
+    @ApiModelProperty(value = "手机号",required = false)
+    private String phone;
+
+    @ApiModelProperty(value = "年级",required = false)
+    private String currentGrade;
+
+    @ApiModelProperty(value = "班级",required = false)
+    private String currentClass;
+
+    @ApiModelProperty(value = "专业",required = false)
+    private String subjectName;
+
+    @ApiModelProperty(value = "乐团编号",required = false)
+    private String musicGroupId;
+
+    @ApiModelProperty(value = "学员状态 NORMAL(NORMAL, 在读), LEAVE(LEAVE, 请假), QUIT(QUIT, 退班)",required = false)
+    private String studentStatus;
+
+    @ApiModelProperty(value = "缴费状态  PAID_COMPLETED(完成缴费), NON_PAYMENT(未缴费), PROCESSING(缴费中)",required = false)
+    private String paymentStatus;
+
+    @ApiModelProperty(value = "是否新增学员(1是0否)",required = false)
+    private Integer isNewStudent;
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+
+    public String getGender() {
+        return gender;
+    }
+
+    public void setGender(String gender) {
+        this.gender = gender;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getCurrentGrade() {
+        return currentGrade;
+    }
+
+    public void setCurrentGrade(String currentGrade) {
+        this.currentGrade = currentGrade;
+    }
+
+    public String getCurrentClass() {
+        return currentClass;
+    }
+
+    public void setCurrentClass(String currentClass) {
+        this.currentClass = currentClass;
+    }
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
+    public String getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(String musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public String getStudentStatus() {
+        return studentStatus;
+    }
+
+    public void setStudentStatus(String studentStatus) {
+        this.studentStatus = studentStatus;
+    }
+
+    public String getPaymentStatus() {
+        return paymentStatus;
+    }
+
+    public void setPaymentStatus(String paymentStatus) {
+        this.paymentStatus = paymentStatus;
+    }
+
+    public Integer getIsNewStudent() {
+        return isNewStudent;
+    }
+
+    public void setIsNewStudent(Integer isNewStudent) {
+        this.isNewStudent = isNewStudent;
+    }
+}

+ 38 - 27
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentApplyDetailDto.java

@@ -11,6 +11,9 @@ public class StudentApplyDetailDto{
     @ApiModelProperty(value = "学生姓名",required = false)
     private String studentName;
 
+    @ApiModelProperty(value = "学生编号",required = false)
+    private Integer studentId;
+
     @ApiModelProperty(value = "家长姓名",required = false)
     private String parentsName;
 
@@ -23,11 +26,11 @@ public class StudentApplyDetailDto{
     private String currentClass;
 
     @ApiModelProperty(value = "性别",required = false)
-    private UserGenderEnum gender;
+    private String gender;
 
     /** 是否允许调剂 */
     @ApiModelProperty(value = "是否允许调剂",required = false)
-    private YesOrNoEnum isAllowAdjust;
+    private String isAllowAdjust;
 
     @ApiModelProperty(value = "报名专业名称",required = false)
     private String subjectName;
@@ -39,22 +42,22 @@ public class StudentApplyDetailDto{
     private String parentsPhone;
 
     @ApiModelProperty(value = "学员缴费状态",required = false)
-    private YesOrNoEnum paymentStatus;
+    private String paymentStatus;
 
-    public String getActualSubjectName() {
-        return actualSubjectName;
+    public Integer getStudentId() {
+        return studentId;
     }
 
-    public void setActualSubjectName(String actualSubjectName) {
-        this.actualSubjectName = actualSubjectName;
+    public void setStudentId(Integer studentId) {
+        this.studentId = studentId;
     }
 
-    public YesOrNoEnum getPaymentStatus() {
-        return paymentStatus;
+    public String getActualSubjectName() {
+        return actualSubjectName;
     }
 
-    public void setPaymentStatus(YesOrNoEnum paymentStatus) {
-        this.paymentStatus = paymentStatus;
+    public void setActualSubjectName(String actualSubjectName) {
+        this.actualSubjectName = actualSubjectName;
     }
 
     public String getStudentName() {
@@ -89,22 +92,6 @@ public class StudentApplyDetailDto{
         this.currentClass = currentClass;
     }
 
-    public UserGenderEnum getGender() {
-        return gender;
-    }
-
-    public void setGender(UserGenderEnum gender) {
-        this.gender = gender;
-    }
-
-    public YesOrNoEnum getIsAllowAdjust() {
-        return isAllowAdjust;
-    }
-
-    public void setIsAllowAdjust(YesOrNoEnum isAllowAdjust) {
-        this.isAllowAdjust = isAllowAdjust;
-    }
-
     public String getSubjectName() {
         return subjectName;
     }
@@ -120,4 +107,28 @@ public class StudentApplyDetailDto{
     public void setParentsPhone(String parentsPhone) {
         this.parentsPhone = parentsPhone;
     }
+
+    public String getGender() {
+        return gender;
+    }
+
+    public void setGender(String gender) {
+        this.gender = gender;
+    }
+
+    public String getIsAllowAdjust() {
+        return isAllowAdjust;
+    }
+
+    public void setIsAllowAdjust(String isAllowAdjust) {
+        this.isAllowAdjust = isAllowAdjust;
+    }
+
+    public String getPaymentStatus() {
+        return paymentStatus;
+    }
+
+    public void setPaymentStatus(String paymentStatus) {
+        this.paymentStatus = paymentStatus;
+    }
 }

+ 53 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentFeeDetailDto.java

@@ -0,0 +1,53 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+public class StudentFeeDetailDto {
+
+    @ApiModelProperty(value = "课程费用",required = false)
+    private BigDecimal courseFee;
+
+    @ApiModelProperty(value = "乐器费用",required = false)
+    private List<StudentFeeDto> goods;
+
+    @ApiModelProperty(value = "保证金",required = false)
+    private BigDecimal depositFee;
+
+    @ApiModelProperty(value = "实缴总额",required = false)
+    private BigDecimal totalAmount;
+
+    public BigDecimal getCourseFee() {
+        return courseFee;
+    }
+
+    public void setCourseFee(BigDecimal courseFee) {
+        this.courseFee = courseFee;
+    }
+
+    public List<StudentFeeDto> getGoods() {
+        return goods;
+    }
+
+    public void setGoods(List<StudentFeeDto> goods) {
+        this.goods = goods;
+    }
+
+    public BigDecimal getDepositFee() {
+        return depositFee;
+    }
+
+    public void setDepositFee(BigDecimal depositFee) {
+        this.depositFee = depositFee;
+    }
+
+    public BigDecimal getTotalAmount() {
+        return totalAmount;
+    }
+
+    public void setTotalAmount(BigDecimal totalAmount) {
+        this.totalAmount = totalAmount;
+    }
+}

+ 12 - 24
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentFeeDto.java

@@ -5,26 +5,14 @@ import io.swagger.annotations.ApiModelProperty;
 import java.math.BigDecimal;
 
 public class StudentFeeDto {
-
-    @ApiModelProperty(value = "课程费用",required = false)
-    private BigDecimal courseFee;
-
     @ApiModelProperty(value = "乐器费用",required = false)
     private BigDecimal musicalFee;
 
-    @ApiModelProperty(value = "保证金",required = false)
-    private BigDecimal depositFee;
-
-    @ApiModelProperty(value = "实缴总额",required = false)
-    private BigDecimal totalAmount;
+    @ApiModelProperty(value = "商品类型",required = false)
+    private String goodsType;
 
-    public BigDecimal getCourseFee() {
-        return courseFee;
-    }
-
-    public void setCourseFee(BigDecimal courseFee) {
-        this.courseFee = courseFee;
-    }
+    @ApiModelProperty(value = "商品名称",required = false)
+    private String goodsName;
 
     public BigDecimal getMusicalFee() {
         return musicalFee;
@@ -34,19 +22,19 @@ public class StudentFeeDto {
         this.musicalFee = musicalFee;
     }
 
-    public BigDecimal getDepositFee() {
-        return depositFee;
+    public String getGoodsType() {
+        return goodsType;
     }
 
-    public void setDepositFee(BigDecimal depositFee) {
-        this.depositFee = depositFee;
+    public void setGoodsType(String goodsType) {
+        this.goodsType = goodsType;
     }
 
-    public BigDecimal getTotalAmount() {
-        return totalAmount;
+    public String getGoodsName() {
+        return goodsName;
     }
 
-    public void setTotalAmount(BigDecimal totalAmount) {
-        this.totalAmount = totalAmount;
+    public void setGoodsName(String goodsName) {
+        this.goodsName = goodsName;
     }
 }

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentApplyRefunds.java

@@ -1,7 +1,10 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
+
 import io.swagger.annotations.ApiModelProperty;
+
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.math.BigDecimal;
@@ -45,6 +48,10 @@ public class StudentApplyRefunds {
 	@ApiModelProperty(value = "原订单编号",required = true)
 	private Long origPaymentOrderId;
 	
+	private StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
+	
+	private SysUser user = new SysUser();
+	
 	public void setId(Long id){
 		this.id = id;
 	}
@@ -125,6 +132,22 @@ public class StudentApplyRefunds {
 		this.remark = remark;
 	}
 
+	public StudentPaymentOrder getStudentPaymentOrder() {
+		return studentPaymentOrder;
+	}
+
+	public void setStudentPaymentOrder(StudentPaymentOrder studentPaymentOrder) {
+		this.studentPaymentOrder = studentPaymentOrder;
+	}
+
+	public SysUser getUser() {
+		return user;
+	}
+
+	public void setUser(SysUser user) {
+		this.user = user;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 17 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrder.java

@@ -1,16 +1,17 @@
 package com.ym.mec.biz.dal.entity;
 
-import com.ym.mec.biz.dal.enums.DealStatusEnum;
-import com.ym.mec.biz.dal.enums.OrderTypeEnum;
-
-import com.ym.mec.biz.dal.enums.PaymentChannelTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
 import java.math.BigDecimal;
 import java.util.Date;
 
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.OrderTypeEnum;
+import com.ym.mec.biz.dal.enums.PaymentChannelTypeEnum;
+
 /**
  * 对应数据库表(student_payment_order):
  */
@@ -85,6 +86,8 @@ public class StudentPaymentOrder {
 
 	private PaymentChannelTypeEnum paymentChannelType;
 	
+	private SysUser user = new SysUser();
+	
 	public void setId(Long id){
 		this.id = id;
 	}
@@ -244,6 +247,14 @@ public class StudentPaymentOrder {
         this.paymentChannelType = paymentChannelType;
     }
 
+	public SysUser getUser() {
+		return user;
+	}
+
+	public void setUser(SysUser user) {
+		this.user = user;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 0 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ClassGroupStudentStatusEnum.java

@@ -2,9 +2,6 @@ package com.ym.mec.biz.dal.enums;
 
 import com.ym.mec.common.enums.BaseEnum;
 
-/**
- * 班级类型(普通班级、合奏班级)
- */
 public enum ClassGroupStudentStatusEnum implements BaseEnum<String, ClassGroupStudentStatusEnum> {
     NORMAL("NORMAL", "在读"), LEAVE("LEAVE", "请假"), QUIT("QUIT", "退班");
 

+ 51 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupStudentQueryInfo.java

@@ -0,0 +1,51 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+public class MusicGroupStudentQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "科目编号")
+    private Integer subjectId;
+
+    @ApiModelProperty(value = "乐团编号")
+    private String musicGroupId;
+
+    @ApiModelProperty(value = "学员状态 NORMAL(NORMAL, 在读), LEAVE(LEAVE, 请假), QUIT(QUIT, 退班)",required = false)
+    private Integer studentStatus;
+
+    @ApiModelProperty(value = "缴费状态  PAID_COMPLETED(完成缴费), NON_PAYMENT(未缴费), PROCESSING(缴费中)",required = false)
+    private Integer paymentStatus;
+
+    public String getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(String musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public Integer getStudentStatus() {
+        return studentStatus;
+    }
+
+    public void setStudentStatus(Integer studentStatus) {
+        this.studentStatus = studentStatus;
+    }
+
+    public Integer getPaymentStatus() {
+        return paymentStatus;
+    }
+
+    public void setPaymentStatus(Integer paymentStatus) {
+        this.paymentStatus = paymentStatus;
+    }
+}

+ 7 - 18
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupTeachersQueryInfo.java

@@ -7,15 +7,12 @@ import java.util.Date;
 
 public class MusicGroupTeachersQueryInfo extends QueryInfo {
 
+    @ApiModelProperty(value = "合奏班编号",required = false)
+    private Integer classGroupId;
+
     @ApiModelProperty(value = "乐团编号",required = false)
     private String musicGroupId;
 
-    @ApiModelProperty(value = "工作类型",required = false)
-    private String jobNature;
-
-    @ApiModelProperty(value = "合奏班名称",required = false)
-    private String classGroupName;
-
     public String getMusicGroupId() {
         return musicGroupId;
     }
@@ -24,19 +21,11 @@ public class MusicGroupTeachersQueryInfo extends QueryInfo {
         this.musicGroupId = musicGroupId;
     }
 
-    public String getJobNature() {
-        return jobNature;
-    }
-
-    public void setJobNature(String jobNature) {
-        this.jobNature = jobNature;
-    }
-
-    public String getClassGroupName() {
-        return classGroupName;
+    public Integer getClassGroupId() {
+        return classGroupId;
     }
 
-    public void setClassGroupName(String classGroupName) {
-        this.classGroupName = classGroupName;
+    public void setClassGroupId(Integer classGroupId) {
+        this.classGroupId = classGroupId;
     }
 }

+ 28 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentApplyrefundsQueryInfo.java

@@ -0,0 +1,28 @@
+package com.ym.mec.biz.dal.page;
+
+import java.util.Date;
+
+import com.ym.mec.common.page.QueryInfo;
+
+public class StudentApplyrefundsQueryInfo extends QueryInfo {
+
+	private Date startTime;
+
+	private Date endTime;
+
+	public Date getStartTime() {
+		return startTime;
+	}
+
+	public void setStartTime(Date startTime) {
+		this.startTime = startTime;
+	}
+
+	public Date getEndTime() {
+		return endTime;
+	}
+
+	public void setEndTime(Date endTime) {
+		this.endTime = endTime;
+	}
+}

+ 16 - 16
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentRegistrationQueryInfo.java

@@ -11,7 +11,7 @@ public class StudentRegistrationQueryInfo extends QueryInfo {
     private Integer musicGroupId;
 
     @ApiModelProperty(value = "是否允许调剂",required = false)
-    private YesOrNoEnum isAllowAdjust;
+    private String isAllowAdjust;
 
     @ApiModelProperty(value = "专业编号",required = false)
     private Integer subjectId;
@@ -20,19 +20,11 @@ public class StudentRegistrationQueryInfo extends QueryInfo {
     private Integer actualSubjectId;
 
     @ApiModelProperty(value = "学员缴费状态",required = false)
-    private YesOrNoEnum paymentStatus;
+    private String paymentStatus;
 
     @ApiModelProperty(value = "用户名或手机号",required = false)
     private String name;
 
-    public YesOrNoEnum getPaymentStatus() {
-        return paymentStatus;
-    }
-
-    public void setPaymentStatus(YesOrNoEnum paymentStatus) {
-        this.paymentStatus = paymentStatus;
-    }
-
     public String getName() {
         return name;
     }
@@ -57,19 +49,27 @@ public class StudentRegistrationQueryInfo extends QueryInfo {
         this.musicGroupId = musicGroupId;
     }
 
-    public YesOrNoEnum getIsAllowAdjust() {
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public String getIsAllowAdjust() {
         return isAllowAdjust;
     }
 
-    public void setIsAllowAdjust(YesOrNoEnum isAllowAdjust) {
+    public void setIsAllowAdjust(String isAllowAdjust) {
         this.isAllowAdjust = isAllowAdjust;
     }
 
-    public Integer getSubjectId() {
-        return subjectId;
+    public String getPaymentStatus() {
+        return paymentStatus;
     }
 
-    public void setSubjectId(Integer subjectId) {
-        this.subjectId = subjectId;
+    public void setPaymentStatus(String paymentStatus) {
+        this.paymentStatus = paymentStatus;
     }
 }

+ 64 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/queryMusicGroupCourseScheduleQueryInfo.java

@@ -0,0 +1,64 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+public class queryMusicGroupCourseScheduleQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "合奏班编号",required = false)
+    private String mixClassId;
+
+    @ApiModelProperty(value = "班级编号",required = false)
+    private String classGroupId;
+
+    @ApiModelProperty(value = "课程类型",required = false)
+    private String classGroupType;
+
+    @ApiModelProperty(value = "课程状态",required = false)
+    private String classGroupStatus;
+
+    @ApiModelProperty(value = "老师编号",required = false)
+    private String teacherId;
+
+    public String getMixClassId() {
+        return mixClassId;
+    }
+
+    public void setMixClassId(String mixClassId) {
+        this.mixClassId = mixClassId;
+    }
+
+    public String getClassGroupId() {
+        return classGroupId;
+    }
+
+    public void setClassGroupId(String classGroupId) {
+        this.classGroupId = classGroupId;
+    }
+
+    public String getClassGroupType() {
+        return classGroupType;
+    }
+
+    public void setClassGroupType(String classGroupType) {
+        this.classGroupType = classGroupType;
+    }
+
+    public String getClassGroupStatus() {
+        return classGroupStatus;
+    }
+
+    public void setClassGroupStatus(String classGroupStatus) {
+        this.classGroupStatus = classGroupStatus;
+    }
+
+    public String getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(String teacherId) {
+        this.teacherId = teacherId;
+    }
+}

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

@@ -6,11 +6,13 @@ import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
 import com.ym.mec.biz.dal.page.VipClassQueryInfo;
+import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
+import org.snaker.engine.access.Page;
 
 import java.util.List;
 
@@ -244,4 +246,18 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @return
      */
     ClassGroup classGroupAdjust(ClassGroupAdjustDto classGroupAdjustDto) throws Exception;
+
+    /**
+     * 乐团详情--班级详情列表
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<MusicGroupClassGroupDto> queryMusicGroupClassGroup(QueryInfo queryInfo);
+
+    /**
+     * 乐团详情-----课表详情
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<MusicGroupCourseScheduleDto> queryMusicGroupCourseSchedule(queryMusicGroupCourseScheduleQueryInfo queryInfo);
 }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.common.service.BaseService;
 
+import java.util.Date;
 import java.util.List;
 
 public interface MusicGroupPaymentCalenderService extends BaseService<Long, MusicGroupPaymentCalender> {
@@ -12,4 +13,11 @@ public interface MusicGroupPaymentCalenderService extends BaseService<Long, Musi
      * @param musicGroupPaymentCalenders
      */
     void batchInsert(List<MusicGroupPaymentCalender> musicGroupPaymentCalenders);
+
+	/**
+	 * 获取下次缴费时间
+	 * @param musicGroupId
+	 * @return
+	 */
+	Date getNextPaymentDate(String musicGroupId);
 }

+ 13 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -1,20 +1,21 @@
 package com.ym.mec.biz.service;
 
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.MusicCardDto;
 import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
 import com.ym.mec.biz.dal.entity.ApprovalStatus;
 import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
 public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	/**
 	 * 建团申请数据提交
@@ -93,6 +94,13 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @return
 	 */
 	Map renew(String musicGroupId, Integer userId);
+	
+	/**
+	 * 学生支付订单
+	 * @param studentPaymentOrder
+	 * @return
+	 */
+	boolean renewForCallback(StudentPaymentOrder studentPaymentOrder);
 
 	/**
 	 * 课酬调整

+ 17 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/StudentManageService.java

@@ -1,12 +1,10 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.page.StudentManageAttendanceQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageCourseQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageQueryInfo;
-import com.ym.mec.biz.dal.page.TeacherPaymentRecordInfo;
+import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
+import org.snaker.engine.access.Page;
 
 import java.util.List;
 
@@ -77,5 +75,19 @@ public interface StudentManageService {
      * @param queryInfo
      * @return
      */
-    PageInfo queryMusicGroupStudent(StudentManageQueryInfo queryInfo);
+    PageInfo<MusicGroupStudentsDto> queryMusicGroupStudent(MusicGroupStudentQueryInfo queryInfo);
+
+    /**
+     * 乐团管理学员列表数据汇总
+     * @param musicGroupId
+     * @return
+     */
+    Object musicGroupStudentsSum(String musicGroupId);
+
+    /**
+     * 乐团管理--点名总览
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<MusicGroupStudentSignDto> queryMusicGroupStudentsSign(QueryInfo queryInfo);
 }

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

@@ -6,9 +6,6 @@ import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
-import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
-import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 
 public interface StudentPaymentOrderService extends BaseService<Long, StudentPaymentOrder> {

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java

@@ -5,6 +5,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.ym.mec.biz.dal.dto.StudentApplyDetailDto;
+import com.ym.mec.biz.dal.dto.StudentFeeDetailDto;
 import com.ym.mec.biz.dal.dto.StudentFeeDto;
 import com.ym.mec.biz.dal.dto.StudentInfo;
 import com.ym.mec.biz.dal.entity.Goods;
@@ -33,7 +34,7 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	 * @param subId
 	 * @return
 	 */
-	boolean batchUpdateSubject(String userId, Integer subId);
+	Integer batchUpdateSubject(String userId, Integer subId,String musicGroupId);
 
 	/**
 	 * 学生报名缴费金额详情
@@ -42,7 +43,7 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	 * @param musicGroupId
 	 * @return
 	 */
-	StudentFeeDto queryFeeDetail(Integer studentId, String musicGroupId);
+	StudentFeeDetailDto queryFeeDetail(Integer studentId, String musicGroupId);
 
 	/**
 	 * 获取未分配的班级的学生

+ 56 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
 import com.ym.mec.biz.dal.page.VipClassQueryInfo;
+import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupModel;
@@ -56,8 +57,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     @Autowired
     private TeacherDefaultMusicGroupSalaryService teacherDefaultMusicGroupSalaryService;
     @Autowired
-    private CourseScheduleService courseScheduleService;
-    @Autowired
     private StudentRegistrationDao studentRegistrationDao;
     @Autowired
     private MusicGroupStudentFeeDao musicGroupStudentFeeDao;
@@ -109,8 +108,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
     @Override
     public List<ClassGroup> findAllClassGroupByMusicGroup(String musicGroupId) {
-        List<ClassGroup> allMixClassGroup = classGroupDao.findAllClassGroupByMusicGroup(musicGroupId);
-        return allMixClassGroup;
+        return classGroupDao.findAllClassGroupByMusicGroup(musicGroupId);
     }
 
     @Override
@@ -846,4 +844,58 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaryList);
         return classGroup;
     }
+
+    @Override
+    public PageInfo<MusicGroupClassGroupDto> queryMusicGroupClassGroup(QueryInfo queryInfo) {
+        PageInfo<MusicGroupClassGroupDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+        List<MusicGroupClassGroupDto> dataList = null;
+        int count = classGroupDao.countMusicGroupClassGroup(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = classGroupDao.queryMusicGroupClassGroup(params);
+            Set<Integer> classGroups = dataList.stream().map(e -> e.getClassGroupId()).collect(Collectors.toSet());
+            String join = StringUtils.join(classGroups, ",");
+            //获取主教老师
+            Map<Integer,String> masterTeachers = MapUtil.convertMybatisMap(classGroupDao.countStudentNum(join, "BISHOP"));
+            //获取助教老师
+            Map<Integer,String> subTeachers = MapUtil.convertMybatisMap(classGroupDao.countStudentNum(join, "TEACHING"));
+            //获取在读人数
+            Map<Integer,String> studyNums = MapUtil.convertMybatisMap(classGroupDao.countStudyNum(join));
+            //获取退班人数
+            Map<Integer,String> quitNums = MapUtil.convertMybatisMap(classGroupDao.countQuitNum(join));
+            dataList.forEach(e->{
+                e.setMasterTeacher(masterTeachers.get(e.getClassGroupId()));
+                e.setSubTeacher(subTeachers.get(e.getClassGroupId()));
+                e.setStudyNum(studyNums.get(e.getClassGroupId()));
+                e.setQuitNum(quitNums.get(e.getClassGroupId()));
+            });
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
+
+    @Override
+    public PageInfo<MusicGroupCourseScheduleDto> queryMusicGroupCourseSchedule(queryMusicGroupCourseScheduleQueryInfo queryInfo) {
+        PageInfo<MusicGroupCourseScheduleDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+        List<MusicGroupCourseScheduleDto> dataList = null;
+        int count = classGroupDao.countMusicGroupCourseSchedule(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = classGroupDao.queryMusicGroupCourseSchedule(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

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

@@ -315,9 +315,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if(oldCourseScheduleList.size()!=newCourseSchedules.size()){
 			throw new BizException("课程信息错误");
 		}
-		Map<Long, List<CourseSchedule>> oldCourseSchedules = oldCourseScheduleList.stream().collect(Collectors.groupingBy(CourseSchedule::getId));
+		Map<Long, CourseSchedule> oldCourseSchedules = oldCourseScheduleList.stream().collect(Collectors.toMap(CourseSchedule::getId,courseSchedule -> courseSchedule));
 		newCourseSchedules.forEach(newCourseSchedule -> {
-			CourseSchedule oldCourseSchedule = oldCourseSchedules.get(newCourseSchedule.getId()).get(0);
+			CourseSchedule oldCourseSchedule = oldCourseSchedules.get(newCourseSchedule.getId());
 			ArrayList<Date> dates = new ArrayList<>();
 			dates.add(newCourseSchedule.getClassDate());
 			List<CourseSchedule> coursesByDates = courseScheduleDao.findOverLapCoursesInDay(dates,newCourseSchedule.getStartClassTime(),newCourseSchedule.getEndClassTime());

+ 24 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -10,11 +10,14 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 
 @Service
 public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long, MusicGroupPaymentCalender> implements MusicGroupPaymentCalenderService {
-	
+
 	@Autowired
 	private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
 
@@ -26,11 +29,30 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void batchInsert(List<MusicGroupPaymentCalender> musicGroupPaymentCalenders) {
-		if(musicGroupPaymentCalenders != null && musicGroupPaymentCalenders.size() > 0){
+		if (musicGroupPaymentCalenders != null && musicGroupPaymentCalenders.size() > 0) {
 			musicGroupPaymentCalenderDao.delByGroupId(musicGroupPaymentCalenders.get(0).getMusicGroupId());
 			musicGroupPaymentCalenders.forEach(e -> {
 				musicGroupPaymentCalenderDao.insert(e);
 			});
 		}
 	}
+
+	@Override
+	public Date getNextPaymentDate(String musicGroupId) {
+		List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.findByMusicGroupId(musicGroupId);
+		if (musicGroupPaymentCalenderList != null && musicGroupPaymentCalenderList.size() > 0) {
+
+			Collections.sort(musicGroupPaymentCalenderList);
+
+			Calendar cale = Calendar.getInstance();
+			int month = cale.get(Calendar.MONTH) + 1;
+
+			for (MusicGroupPaymentCalender cal : musicGroupPaymentCalenderList) {
+				if (cal.getPaymentMonth() >= month) {
+					return cal.getStartPaymentDate();
+				}
+			}
+		}
+		return null;
+	}
 }

+ 64 - 25
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -19,6 +19,7 @@ import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
@@ -44,6 +45,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 	@Autowired
 	private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
 	@Autowired
+	private MusicGroupPaymentCalenderService musicGroupPaymentCalenderService;
+	@Autowired
 	private MusicGroupPaymentEntitiesDao musicGroupPaymentEntitiesDao;
 	@Autowired
 	private MusicGroupSubjectGoodsGroupDao musicGroupSubjectGoodsGroupDao;
@@ -80,6 +83,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 	
 	@Autowired
 	private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
+	
+    @Autowired
+    private StudentPaymentOrderService studentPaymentOrderService;
+    
+    @Autowired
+    private StudentPaymentOrderDetailService studentPaymentOrderDetailService;
 
 	@Autowired
 	private PayService payService;
@@ -119,10 +128,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 		if (musicGroupSubjectGoodsGroups == null) {
 			musicGroupSubjectGoodsGroups = new ArrayList<>();
 		}
-		musicGroupSubjectGoodsGroups.forEach(e -> {
-			e.setMusicGroupId(musicGroupId);
-			musicGroupSubjectGoodsGroupDao.insert(e);
-		});
+		musicGroupSubjectGoodsGroupDao.batchInsert(musicGroupSubjectGoodsGroups,musicGroupId);
 		// 新增聊天群
 		// ImGroupModel imGroupModel = new ImGroupModel(musicGroupId, musicGroup.getName());
 		// 教务老师和运营主管加入群组
@@ -236,27 +242,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 		musicGroup.setUpdateTime(new Date());
 		musicGroupDao.update(musicGroup);
 
-		// 查询下次缴费时间
-		List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.findByMusicGroupId(musicGroupId);
-		if (musicGroupPaymentCalenderList != null && musicGroupPaymentCalenderList.size() > 0) {
-
-			Collections.sort(musicGroupPaymentCalenderList);
-
-			Calendar cale = Calendar.getInstance();
-			int month = cale.get(Calendar.MONTH) + 1;
-
-			MusicGroupPaymentCalender calender = null;
-
-			for (MusicGroupPaymentCalender cal : musicGroupPaymentCalenderList) {
-				if (cal.getPaymentMonth() >= month) {
-					calender = cal;
-					break;
-				}
-			}
-
-			// 重新设置下次缴费时间
-			musicGroupStudentFeeDao.updateNextPaymentDate(musicGroupId, calender.getStartPaymentDate());
-		}
+		// 重新设置下次缴费时间
+		musicGroupStudentFeeDao.updateNextPaymentDate(musicGroupId, musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId));
 
 		return true;
 	}
@@ -372,6 +359,29 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 			amount = musicGroupStudentFee.getCourseFee();
 		}
 
+		Date date = new Date();
+		StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
+		studentPaymentOrder.setUserId(userId);
+		studentPaymentOrder.setOrderNo(idGeneratorService.generatorId("RENEW") + "");
+		studentPaymentOrder.setType(OrderTypeEnum.RENEW);
+		studentPaymentOrder.setExpectAmount(amount);
+		studentPaymentOrder.setActualAmount(amount);
+		studentPaymentOrder.setStatus(DealStatusEnum.ING);
+		studentPaymentOrder.setPaymentChannel("银联");
+		studentPaymentOrder.setMusicGroupId(musicGroupId);
+		studentPaymentOrderService.insert(studentPaymentOrder);
+
+		ArrayList<StudentPaymentOrderDetail> studentPaymentOrderDetailList = new ArrayList<>();
+		StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
+		studentPaymentOrderDetail.setType(OrderDetailTypeEnum.COURSE);
+		studentPaymentOrderDetail.setPrice(amount);
+		studentPaymentOrderDetail.setCreateTime(date);
+		studentPaymentOrderDetail.setUpdateTime(date);
+		studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
+		studentPaymentOrderDetailList.add(studentPaymentOrderDetail);
+
+		studentPaymentOrderDetailService.batchAdd(studentPaymentOrderDetailList);
+
 		try {
 			return payService.getPayMap(amount, idGeneratorService.generatorId("payment") + "", "https://pay.dayaedu.com/api/yqpay/notify",
 					"http://dev.dayaedu.com", "测试订单", "测试订单");
@@ -382,6 +392,35 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
 	@Override
 	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+	public boolean renewForCallback(StudentPaymentOrder studentPaymentOrder) {
+		
+		studentPaymentOrderDao.update(studentPaymentOrder);
+		
+		Integer userId = studentPaymentOrder.getUserId();
+		String musicGroupId = studentPaymentOrder.getMusicGroupId();
+		
+		//更新下次续费时间
+		MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(userId, musicGroupId);
+		
+		if(musicGroupStudentFee == null){
+			throw new BizException("系统数据异常,找不到学员预缴费信息");
+		}
+		
+		Date date = new Date();
+		
+		musicGroupStudentFee.setUpdateTime(date);
+		musicGroupStudentFee.setLatestPaidTime(date);
+		musicGroupStudentFee.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
+		musicGroupStudentFee.setTemporaryCourseFee(new BigDecimal(0));
+		musicGroupStudentFee.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId));
+		
+		musicGroupStudentFeeDao.update(musicGroupStudentFee);
+		
+		return true;
+	}
+
+	@Override
+	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
 	public boolean updateTeacherCoursesSalary(Long courseScheduleId, Integer teacherId, BigDecimal salary, BigDecimal subsidy, String scope) {
 
 		CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId);

+ 37 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -7,10 +7,8 @@ import com.ym.mec.biz.dal.dao.StudentManageDao;
 import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
 import com.ym.mec.biz.dal.dao.VipGroupDao;
 import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.page.StudentManageAttendanceQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageCourseQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageQueryInfo;
-import com.ym.mec.biz.dal.page.TeacherPaymentRecordInfo;
+import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
 import com.ym.mec.biz.service.StudentManageService;
 import com.ym.mec.common.page.PageInfo;
@@ -150,12 +148,12 @@ public class StudentManageServiceImpl implements StudentManageService {
     }
 
     @Override
-    public PageInfo queryMusicGroupStudent(StudentManageQueryInfo queryInfo) {
-        PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+    public PageInfo<MusicGroupStudentsDto> queryMusicGroupStudent(MusicGroupStudentQueryInfo queryInfo) {
+        PageInfo<MusicGroupStudentsDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
         Map<String, Object> params = new HashMap<>();
         MapUtil.populateMap(params, queryInfo);
 
-        List dataList = null;
+        List<MusicGroupStudentsDto> dataList = null;
         int count = studentManageDao.countMusicGroupStudent(params);
         if (count > 0) {
             pageInfo.setTotal(count);
@@ -168,4 +166,36 @@ public class StudentManageServiceImpl implements StudentManageService {
         pageInfo.setRows(dataList);
         return pageInfo;
     }
+
+    @Override
+    public Object musicGroupStudentsSum(String musicGroupId) {
+        Map<String,Integer> resultMap = new HashMap<>(3);
+        //乐团在读人数
+        resultMap.put("studying",studentManageDao.countStudyNum(musicGroupId));
+        //退团人数
+        resultMap.put("quit",studentManageDao.countQuitNum(musicGroupId));
+        //新增人数
+        resultMap.put("add",studentManageDao.countAddNum(musicGroupId));
+        return resultMap;
+    }
+
+    @Override
+    public PageInfo<MusicGroupStudentSignDto> queryMusicGroupStudentsSign(QueryInfo queryInfo) {
+        PageInfo<MusicGroupStudentSignDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<MusicGroupStudentSignDto> dataList = null;
+        int count = studentManageDao.countMusicGroupStudentsSign(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = studentManageDao.queryMusicGroupStudentsSign(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

+ 6 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -8,6 +8,7 @@ import javax.annotation.Resource;
 
 import com.ym.mec.auth.api.entity.SysMenu;
 import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dto.StudentFeeDetailDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.service.MusicGroupSubjectPlanService;
@@ -89,25 +90,14 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
-    public boolean batchUpdateSubject(String userIds, Integer subId) {
-        String[] userId = userIds.split(",");
-        StudentRegistration studentRegistration;
-        Date date = new Date();
-        for (String str : userId) {
-            studentRegistration = studentRegistrationDao.get(Long.parseLong(str));
-            if (studentRegistration.getPaymentStatus() == YesOrNoEnum.NO) {
-                studentRegistration.setUpdateTime(date);
-                studentRegistration.setSubjectId(subId);
-                studentRegistrationDao.update(studentRegistration);
-            }
-        }
-        return true;
+    public Integer batchUpdateSubject(String userIds, Integer subId,String musicGroupId) {
+        //批量调剂(未缴费学员)
+        return studentRegistrationDao.batchUpdateSubject(userIds,subId,musicGroupId);
     }
 
     @Override
-    public StudentFeeDto queryFeeDetail(Integer studentId, String musicGroupId) {
-//		return studentRegistrationDao.queryFeeDetail(studentId,musicGroupId);
-        return null;
+    public StudentFeeDetailDto queryFeeDetail(Integer studentId, String musicGroupId) {
+		return studentRegistrationDao.queryFeeDetail(studentId,musicGroupId);
     }
 
     @Override

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

@@ -62,10 +62,11 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
     @Override
     public List<SubjectApplyDetailDto> findSubApplyDetail(String musicGroupId) {
         List<SubjectApplyDetailDto> subApplyDetail = subjectDao.findSubApplyDetail(musicGroupId);
-        List<Map<Integer, Integer>> payNums = studentRegistrationDao.countPayNum(musicGroupId);
-        Map<Integer, Integer> payNumMap = MapUtil.convertMybatisMap(payNums);
+        List<Map<Integer, Long>> payNums = studentRegistrationDao.countPayNum(musicGroupId);
+        Map<Integer, Long> payNumMap = MapUtil.convertMybatisMap(payNums);
         subApplyDetail.forEach(detail ->{
-            detail.setPayNum(payNumMap.get(detail.getSubjectId()));
+            Long num = payNumMap.get(detail.getSubjectId());
+            detail.setPayNum(num == null?0:num.intValue());
         });
         return subApplyDetail;
     }

+ 12 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherLeaveRecordServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service.impl;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -10,9 +11,11 @@ import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.ym.mec.biz.dal.dao.TeacherLeaveRecordDao;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.TeacherLeaveRecord;
 import com.ym.mec.biz.dal.entity.TeacherLeaveRecord.CoursesScheduleHistory;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
+import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.biz.service.TeacherLeaveRecordService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -26,6 +29,9 @@ public class TeacherLeaveRecordServiceImpl extends BaseServiceImpl<Long, Teacher
 	@Autowired
 	private TeacherLeaveRecordDao teacherLeaveRecordDao;
 
+	@Autowired
+	private CourseScheduleService courseScheduleService;
+
 	@Override
 	public BaseDAO<Long, TeacherLeaveRecord> getDAO() {
 		return teacherLeaveRecordDao;
@@ -70,10 +76,14 @@ public class TeacherLeaveRecordServiceImpl extends BaseServiceImpl<Long, Teacher
 					CoursesScheduleHistory.class);
 
 			if (coursesScheduleHistoryList != null && coursesScheduleHistoryList.size() > 0) {
+
+				List<CourseSchedule> list = new ArrayList<CourseSchedule>();
+
 				for (CoursesScheduleHistory his : coursesScheduleHistoryList) {
-					//课时调整
-					
+					list.add(his.getAfter());
 				}
+				// 课时调整
+				courseScheduleService.classStartDateAdjust(list);
 			}
 		}
 

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

@@ -12,6 +12,7 @@ import com.ym.mec.biz.dal.dto.TeacherCloseDto;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.School;
 import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.dal.entity.TeacherAttendance;
 import com.ym.mec.biz.dal.page.MusicGroupTeacherAttendanceQueryInfo;
 import com.ym.mec.biz.dal.page.MusicGroupTeachersQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;

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

@@ -533,6 +533,51 @@
         GROUP BY cgr.class_group_id_
     </select>
 
+    <resultMap id="MusicGroupClassGroupDto" type="com.ym.mec.biz.dal.dto.MusicGroupClassGroupDto">
+        <result property="classGroupName" column="class_group_name_"/>
+        <result property="classGroupType" column="class_group_type_"/>
+        <result property="currentClassTimes" column="current_class_times_"/>
+        <result property="classGroupId" column="class_group_id_"/>
+    </resultMap>
+    <select id="queryMusicGroupClassGroup" resultMap="MusicGroupClassGroupDto">
+        SELECT cg.name_ class_group_name_,cg.type_ class_group_type_,
+        cg.current_class_times_,cg.id_ class_group_id_
+        FROM class_group cg
+        WHERE cg.music_group_id_ = #{search} AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX')
+        <include refid="global.limit"/>
+    </select>
+
+    <select id="countMusicGroupClassGroup" resultType="java.lang.Integer">
+        SELECT COUNT(cg.id_)
+        FROM class_group cg
+        WHERE cg.music_group_id_ = #{search} AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX')
+    </select>
+
+    <select id="countStudentNum" resultType="java.util.Map">
+        SELECT cg.class_group_id_ 'key',GROUP_CONCAT(su.real_name_) 'value' FROM class_group_teacher_mapper cg
+        LEFT JOIN sys_user su ON cg.user_id_ = su.id_
+        WHERE FIND_IN_SET(cg.class_group_id_,#{classGroupIds}) AND cg.teacher_role_ = #{teacherRole}
+        GROUP BY cg.class_group_id_
+    </select>
+
+    <select id="countStudyNum" resultType="java.util.Map">
+        SELECT sr.class_group_id_ 'key',COUNT(sr.user_id_) 'value' FROM student_registration sr
+        WHERE FIND_IN_SET(sr.class_group_id_,#{classGroupIds}) AND sr.music_group_status_ != 'QUIT'
+        GROUP BY sr.class_group_id_
+    </select>
+
+    <select id="countQuitNum" resultType="java.util.Map">
+        SELECT sr.class_group_id_ 'key',COUNT(sr.user_id_) 'value' FROM student_registration sr
+        WHERE FIND_IN_SET(sr.class_group_id_,#{classGroupIds}) AND sr.music_group_status_ = 'QUIT'
+        GROUP BY sr.class_group_id_
+    </select>
+
+    <select id="queryMusicGroupCourseSchedule" resultType="com.ym.mec.biz.dal.dto.MusicGroupCourseScheduleDto">
+
+    </select>
+    <select id="countMusicGroupCourseSchedule" resultType="java.lang.Integer">
+
+    </select>
     <!-- 增加实际学生人数 -->
     <update id="addStudentNum" parameterType="com.ym.mec.biz.dal.entity.ClassGroup">
         UPDATE class_group SET student_num_ = student_num_+1,update_time_=#{updateTime} WHERE id_ = #{id} AND

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

@@ -41,8 +41,9 @@
     <insert id="batchInsert" parameterType="java.util.List">
         INSERT INTO music_group_subject_goods_group
         (id_,name_,type_,music_group_id_,subject_id_,goods_id_list_,create_time_,update_time_,price_) VALUES
-        <foreach collection="mappers" item="item" index="index" separator=",">
-            VALUES(#{item.id},#{item.name},#{item.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{item.musicGroupId},#{item.subjectId},#{item.goodsIdList},NOW(),NOW(),#{item.price})
+        <foreach collection="lists" item="item" index="index" separator=",">
+            VALUES(#{item.id},#{item.name},#{item.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            #{musicGroupId},#{item.subjectId},#{item.goodsIdList},NOW(),NOW(),#{item.price})
         </foreach>
     </insert>
 

+ 24 - 4
mec-biz/src/main/resources/config/mybatis/StudentApplyRefundsMapper.xml

@@ -18,6 +18,12 @@
         <result column="orig_payment_order_id_" property="origPaymentOrderId"/>
         <result column="remark_" property="remark"/>
     </resultMap>
+    
+    <resultMap type="com.ym.mec.biz.dal.entity.StudentApplyRefunds" extends="StudentApplyRefunds" id="StudentApplyRefundsListDTO">
+    	<result column="spo.expect_amount_" property="studentPaymentOrder.expectAmount"/>
+    	<result column="spo.actual_amount_" property="studentPaymentOrder.actualAmount"/>
+    	<result column="u.username_" property="user.username"/>
+    </resultMap>
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="StudentApplyRefunds">
@@ -80,13 +86,27 @@
 	</delete>
 
     <!-- 分页查询 -->
-    <select id="queryPage" resultMap="StudentApplyRefunds" parameterType="map">
-        SELECT * FROM student_apply_refunds ORDER BY id_
-        <include refid="global.limit"/>
+    <select id="queryPage" resultMap="StudentApplyRefundsListDTO" parameterType="map">
+        SELECT sar.*,spo.expect_amount_,spo.actual_amount_,u.username_ FROM student_apply_refunds sar left join student_payment_order spo on sar.orig_payment_order_id_ = spo.id_ left join sys_user u on sar.user_id_ = u.id_
+        where 1=1 
+        <if test="startTime != null">
+            and sar.create_time_ &gt;= #{startTime}
+        </if>
+        <if test="endTime != null">
+            and sar.create_time_ &lt;= #{endTime}
+        </if>
+        ORDER BY sar.id_ <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM student_apply_refunds
+		SELECT count(1) FROM student_apply_refunds sar left join student_payment_order spo on sar.orig_payment_order_id_ = spo.id_ 
+		where 1=1 
+        <if test="startTime != null">
+            and sar.create_time_ = #{startTime}
+        </if>
+        <if test="endTime != null">
+            and sar.create_time_ = #{endTime}
+        </if>
 	</select>
 </mapper>

+ 89 - 0
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -287,4 +287,93 @@
         <include refid="studentPaymentSql"/>
     </select>
 
+    <sql id="queryMusicGroupStudentSql">
+        <where>
+            <if test="search != null and search != ''">
+                AND (su.real_name_ like CONCAT("%",#{search},"%") OR sr.parents_phone_ like CONCAT("%",#{search},"%"))
+            </if>
+            <if test="subjectId != null">
+                AND sr.actual_subject_id_ = #{subjectId}
+            </if>
+            <if test="studentStatus != null and studentStatus != ''">
+                AND sr.music_group_status_ = #{studentStatus}
+            </if>
+            <if test="paymentStatus != null">
+                AND mgsf.payment_status_ = #{paymentStatus}
+            </if>
+            <if test="musicGroupId != null and musicGroupId != ''">
+                AND sr.music_group_id_ = #{musicGroupId}
+            </if>
+        </where>
+    </sql>
+    <resultMap id="MusicGroupStudentsDto" type="com.ym.mec.biz.dal.dto.MusicGroupStudentsDto">
+        <result property="userId" column="user_id_"/>
+        <result property="realName" column="real_name_"/>
+        <result property="phone" column="parents_phone_"/>
+        <result property="currentGrade" column="current_grade_"/>
+        <result property="currentClass" column="current_class_"/>
+        <result property="subjectName" column="subject_name_"/>
+        <result property="studentStatus" column="music_group_status_"/>
+        <result property="paymentStatus" column="payment_status_"/>
+        <result property="musicGroupId" column="music_group_id_"/>
+        <result property="isNewStudent" column="is_new_student_"/>
+    </resultMap>
+    <select id="queryMusicGroupStudent" resultMap="MusicGroupStudentsDto">
+        SELECT sr.user_id_,su.real_name_,su.gender_,sr.parents_phone_,sr.current_grade_,
+        sr.current_class_,sr.music_group_status_,mgsf.payment_status_,s.name_ subject_name_,sr.music_group_id_,
+        IF(sr.create_time_ > mg.payment_expire_date_,1,0) is_new_student_
+        FROM student_registration sr
+        LEFT JOIN sys_user su ON sr.user_id_ = su.id_
+        LEFT JOIN music_group_student_fee_ mgsf ON (mgsf.music_group_id_ = sr.music_group_id_ AND mgsf.user_id_ = sr.user_id_)
+        LEFT JOIN `subject` s ON s.id_ = sr.actual_subject_id_
+        LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
+        <include refid="queryMusicGroupStudentSql"/>
+        <include refid="global.limit"/>
+    </select>
+    <select id="countMusicGroupStudent" resultType="java.lang.Integer">
+        SELECT COUNT(sr.user_id_)
+        FROM student_registration sr
+        LEFT JOIN sys_user su ON sr.user_id_ = su.id_
+        LEFT JOIN music_group_student_fee_ mgsf ON (mgsf.music_group_id_ = sr.music_group_id_ AND mgsf.user_id_ = sr.user_id_)
+        LEFT JOIN `subject` s ON s.id_ = sr.actual_subject_id_
+        <include refid="queryMusicGroupStudentSql"/>
+    </select>
+    <select id="countStudyNum" resultType="java.lang.Integer">
+        SELECT COUNT(sr.user_id_) FROM student_registration sr
+        WHERE sr.music_group_id_ = #{musicGroupId} AND sr.payment_status_ = 1
+        AND sr.music_group_status_ != 'QUIT'
+    </select>
+    <select id="countQuitNum" resultType="java.lang.Integer">
+        SELECT COUNT(sr.user_id_) FROM student_registration sr
+        WHERE sr.music_group_id_ = #{musicGroupId} AND sr.payment_status_ = 1
+        AND sr.music_group_status_ = 'QUIT'
+    </select>
+    <select id="countAddNum" resultType="java.lang.Integer">
+        SELECT COUNT(sr.user_id_) FROM student_registration sr
+        LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_ AND sr.create_time_ > mg.apply_expire_date_
+        WHERE sr.music_group_id_ = #{musicGroupId} and sr.music_group_status_ != 'QUIT'
+    </select>
+
+    <resultMap id="MusicGroupStudentSignDto" type="com.ym.mec.biz.dal.dto.MusicGroupStudentSignDto">
+        <result property="signTime" column="create_time_"/>
+        <result property="name" column="real_name_"/>
+        <result property="signStatus" column="status_"/>
+        <result property="courseScheduleName" column="name_"/>
+    </resultMap>
+    <select id="queryMusicGroupStudentsSign" resultMap="MusicGroupStudentSignDto">
+        SELECT sa.create_time_,su.real_name_,sa.status_,cs.name_
+        FROM student_attendance sa
+        LEFT JOIN sys_user su ON sa.user_id_ = su.id_
+        LEFT JOIN course_schedule cs ON sa.course_schedule_id_ = cs.id_
+        WHERE (cs.type_ = 'NORMAL' OR cs.type_ = 'MIX') AND sa.music_group_id_ = #{search}
+        <include refid="global.limit"/>
+    </select>
+    <select id="countMusicGroupStudentsSign" resultType="java.lang.Integer">
+        SELECT COUNT(sa.id_)
+        FROM student_attendance sa
+        LEFT JOIN sys_user su ON sa.user_id_ = su.id_
+        LEFT JOIN course_schedule cs ON sa.course_schedule_id_ = cs.id_
+        WHERE (cs.type_ = 'NORMAL' OR cs.type_ = 'MIX') AND sa.music_group_id_ = #{search}
+    </select>
+
 </mapper>

+ 8 - 3
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -26,6 +26,10 @@
         <result column="pay_time_" property="payTime"/>
         <result column="version_" property="version"/>
     </resultMap>
+    
+    <resultMap type="com.ym.mec.biz.dal.entity.StudentPaymentOrder" extends="StudentPaymentOrder" id="PaymentOrderAndStudentInfo">
+    	<result column="username_" property="user.username"/>
+    </resultMap>
 
     <resultMap type="com.ym.mec.biz.dal.entity.Goods" id="Goods">
         <result column="id_" property="id"/>
@@ -139,8 +143,8 @@
     </delete>
 
     <!-- 分页查询 -->
-    <select id="queryPage" resultMap="StudentPaymentOrder" parameterType="map">
-        SELECT * FROM student_payment_order spo
+    <select id="queryPage" resultMap="PaymentOrderAndStudentInfo" parameterType="map">
+        SELECT spo.*,u.username_ FROM student_payment_order spo left join sys_user u on spo.user_id_ = u.id_
         <include refid="queryPaymentOrder"/>
         ORDER BY spo.id_
         <include refid="global.limit"/>
@@ -187,7 +191,7 @@
         FROM
         student_vip_group_payment svgp
         LEFT JOIN student_payment_order spo ON svgp.student_payment_order_id_=spo.id_
-        WHERE svgp.user_id_=#{userId} AND svgp.vip_group_id_=#{vipGroupId} AND spo.status_='ING'
+        WHERE svgp.user_id_=#{userId} AND svgp.vip_group_id_=#{vipGroupId} AND spo.status_='ING' and spo.type_ = 'SMALL_CLASS_TO_BUY'
     </select>
     <!-- 查询报名订单 -->
     <select id="findMusicGroupApplyOrderByStatus" resultMap="StudentPaymentOrder">
@@ -220,6 +224,7 @@
             <result column="goods_name_"/>
         </collection>
     </resultMap>
+    
     <select id="findGoodsIds" resultMap="userGoodsDto">
         SELECT g.id_ goods_id_,g.name_ goods_name_ FROM student_payment_order spo
         LEFT JOIN student_payment_order_detail spod ON spo.id_ = spod.payment_order_id_

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

@@ -186,18 +186,18 @@
     <resultMap type="com.ym.mec.biz.dal.dto.StudentApplyDetailDto" id="studentApplyDetail">
         <result column="current_grade_" property="currentGrade"/>
         <result column="current_class_" property="currentClass"/>
-        <result column="is_allow_adjust_" property="isAllowAdjust"
-                typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="is_allow_adjust_" property="isAllowAdjust"/>
         <result column="parents_name_" property="parentsName"/>
         <result column="parents_phone_" property="parentsPhone"/>
         <result column="subject_name_" property="subjectName"/>
         <result column="username_" property="studentName"/>
         <result column="actual_subject_name_" property="actualSubjectName"/>
         <result column="payment_status_" property="paymentStatus"/>
-        <result column="gender_" property="gender" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="gender_" property="gender"/>
+        <result column="user_id_" property="studentId"/>
     </resultMap>
     <select id="queryStudentDetailPage" resultMap="studentApplyDetail">
-        SELECT sr.name_ username_,sr.parents_name_,sr.current_class_,sr.current_grade_,
+        SELECT sr.user_id_,sr.name_ username_,sr.parents_name_,sr.current_class_,sr.current_grade_,
         su.gender_,sr.is_allow_adjust_, s.name_ subject_name_,ss.name_
         actual_subject_name_,sr.parents_phone_,sr.payment_status_
         FROM student_registration sr
@@ -217,14 +217,23 @@
         WHERE music_group_id_ = #{musicGroupId} AND payment_status_ = 1 GROUP BY subject_id_
     </select>
 
-    <resultMap id="queryFeeDetailMap" type="com.ym.mec.biz.dal.dto.StudentFeeDto">
-        <result column="deposit_fee_" property="depositFee"/>
-        <result column="course_fee_" property="courseFee"/>
-        <result column="musical_fee_" property="musicalFee"/>
-        <result column="total_amount_" property="totalAmount"/>
+    <resultMap id="queryFeeDetailMap" type="com.ym.mec.biz.dal.dto.StudentFeeDetailDto">
+        <result column="expect_amount_" property="courseFee"/>
+        <result column="actual_amount_" property="totalAmount"/>
+        <collection property="goods" ofType="com.ym.mec.biz.dal.dto.StudentFeeDto">
+            <result property="goodsName" column="goods_name_"/>
+            <result property="goodsType" column="goods_type_"/>
+            <result property="musicalFee" column="price_"/>
+        </collection>
     </resultMap>
     <select id="queryFeeDetail" resultMap="queryFeeDetailMap">
-
+        SELECT spo.actual_amount_,spo.expect_amount_,spod.price_,GROUP_CONCAT(g.name_) goods_name_,MAX(g.type_) goods_type_
+        FROM student_registration sr
+        LEFT JOIN student_payment_order spo ON sr.music_group_id_ = spo.music_group_id_ AND spo.user_id_ = sr.user_id_
+        LEFT JOIN student_payment_order_detail spod ON spod.payment_order_id_ = spo.id_
+        LEFT JOIN goods g ON FIND_IN_SET(g.id_,spod.goods_id_list_)
+        WHERE spo.type_ = 'APPLY' AND sr.user_id_ = #{studentId} AND sr.music_group_id_ = #{musicGroupId}
+        GROUP BY spo.id_,spod.id_
     </select>
 
     <!-- 根据乐团和声部获取未分班的学生 -->
@@ -254,6 +263,10 @@
         UPDATE student_registration SET class_group_id_ = #{studentRegistration.classGroupId} WHERE user_id_ =
         #{studentRegistration.userId} AND music_group_id_ = #{studentRegistration.musicGroupId}
     </update>
+    <update id="batchUpdateSubject">
+        UPDATE student_registration SET actual_subject_id_ = #{subId},update_time_ = now()
+        WHERE FIND_IN_SET(user_id_,#{userIds}) AND payment_status_ = 0 AND music_group_id_ = #{musicGroupId}
+    </update>
 
     <select id="queryStudentInfo" resultMap="StudentInfo">
         SELECT u.*,sr.name_,sr.current_class_,sr.current_grade_,sr.actual_subject_id_ FROM sys_user u left join

+ 8 - 7
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -338,14 +338,14 @@
     <sql id="queryMusicGroupTeachersSql">
         <where>
                 cg.type_ = 'MIX'
-            <if test="musicGroupId != null and musicGroupId != ''">
-                AND cg.music_group_id_ = #{musicGroupId}
+            <if test="search != null and search != ''">
+                AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
             </if>
-            <if test="jobNature != null and jobNature != ''">
-                AND t.job_nature_ = #{jobNature}
+            <if test="musicGroupId != null and musicGroupId != ''">
+                AND cgtm.music_group_id_ = #{musicGroupId}
             </if>
-            <if test="classGroupName != null and classGroupName != ''">
-                AND cg.name_ LIKE CONCAT('%',#{classGroupName},'%')
+            <if test="classGroupId != null">
+                AND cg.id_  = #{classGroupId}
             </if>
         </where>
     </sql>
@@ -382,7 +382,8 @@
         <result property="signOutStatus" column="sign_out_status_"/>
     </resultMap>
     <select id="queryTeacherAttendance" resultMap="MusicGroupTeacherAttendanceDto">
-        SELECT cs.class_date_,cs.start_class_time_,cs.name_,su.real_name_,ta.sign_in_status_,ta.sign_out_status_
+        SELECT cs.class_date_,cs.start_class_time_,cs.name_,su.real_name_,
+        IF(ta.sign_in_status_ IS NULL,3,ta.sign_in_status_) sign_in_status_,IF(ta.sign_out_status_ IS NULL,3,ta.sign_out_status_) sign_out_status_
         FROM course_schedule cs
         LEFT JOIN teacher_attendance ta ON cs.id_ = ta.course_schedule_id_
         LEFT JOIN sys_user su ON su.id_ = ta.teacher_id_

+ 8 - 0
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -4,11 +4,14 @@ import com.ym.mec.biz.dal.dao.SysAccountDao;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.OrderTypeEnum;
+import com.ym.mec.biz.service.MusicGroupService;
 import com.ym.mec.biz.service.StudentPaymentOrderService;
 import com.ym.mec.biz.service.StudentRegistrationService;
 import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.thirdparty.union.NotifyMsg;
+
 import io.swagger.annotations.Api;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,6 +33,9 @@ public class StudentOrderController {
     private StudentRegistrationService studentRegistrationService;
     @Autowired
     private VipGroupService vipGroupService;
+    
+    @Autowired
+    private MusicGroupService musicGroupService;
 
 
     @PostMapping("/notify")
@@ -66,6 +72,8 @@ public class StudentOrderController {
             studentRegistrationService.updateApplyOrder(order);
         }else if (order.getType().equals(OrderTypeEnum.SMALL_CLASS_TO_BUY)){
             vipGroupService.orderCallback(order);
+        }else if(order.getType().equals(OrderTypeEnum.RENEW)){
+        	musicGroupService.renewForCallback(order);
         }
 
         return "SUCCESS";

+ 6 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java

@@ -46,10 +46,15 @@ public class TeacherController extends BaseController {
         return succeed();
     }
 
-    @ApiOperation(value = "修改教师")
+    @ApiOperation(value = "修改教师个人中心信息")
     @PostMapping("/update")
     public Object update(Teacher teacher) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            return failed("获取用户信息失败");
+        }
         teacher.setUpdateTime(new Date());
+        teacher.setId(sysUser.getId());
         teacherService.updateTea(teacher);
         return succeed();
     }

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

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.dto.HighClassGroupDto;
 import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
+import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
 import com.ym.mec.common.controller.BaseController;
@@ -119,13 +120,27 @@ public class ClassGroupController extends BaseController {
         return succeed(classGroupService.findAllMixClassGroupByMusicGroupId(musicGroupId));
     }
 
-    @ApiOperation(value = "乐团所有班列表")
+    @ApiOperation(value = "乐团所有班列表")
     @GetMapping("/findAllClassGroupByMusicGroup")
     @PreAuthorize("@pcs.hasPermissions('classGroup/findAllClassGroupByMusicGroup')")
     public HttpResponseResult findAllClassGroupByMusicGroup(@ApiParam(value = "乐团编号", required = true) @RequestParam String musicGroupId) {
         return succeed(classGroupService.findAllClassGroupByMusicGroup(musicGroupId));
     }
 
+    @ApiOperation(value = "乐团详情--班级详情列表")
+    @GetMapping("/queryMusicGroupClassGroup")
+    @PreAuthorize("@pcs.hasPermissions('classGroup/queryMusicGroupClassGroup')")
+    public HttpResponseResult queryMusicGroupClassGroup(QueryInfo queryInfo) {
+        return succeed(classGroupService.queryMusicGroupClassGroup(queryInfo));
+    }
+
+    @ApiOperation(value = "乐团详情--课表详情列表")
+    @GetMapping("/queryMusicGroupCourseSchedule")
+    @PreAuthorize("@pcs.hasPermissions('classGroup/queryMusicGroupCourseSchedule')")
+    public HttpResponseResult queryMusicGroupCourseSchedule(queryMusicGroupCourseScheduleQueryInfo queryInfo) {
+        return succeed(classGroupService.queryMusicGroupCourseSchedule(queryInfo));
+    }
+
     @ApiOperation(value = "乐团班级老师设置")
     @PostMapping("/addClassGroupTeacher")
     @ApiParam(value = "乐团班级老师json", required = true)

+ 31 - 0
mec-web/src/main/java/com/ym/mec/web/controller/StudentApplyRefundsController.java

@@ -0,0 +1,31 @@
+package com.ym.mec.web.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.ym.mec.biz.dal.page.StudentApplyrefundsQueryInfo;
+import com.ym.mec.biz.service.StudentApplyRefundsService;
+import com.ym.mec.common.controller.BaseController;
+
+@RequestMapping("studentRefunds")
+@Api(tags = "退费服务")
+@RestController
+public class StudentApplyRefundsController extends BaseController {
+	
+	@Autowired
+	private StudentApplyRefundsService studentApplyRefundsService;
+
+	@ApiOperation(value = "查询退费列表")
+    @GetMapping("/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('studentRefunds/queryPage')")
+    public Object queryPage(StudentApplyrefundsQueryInfo queryInfo){
+		
+        return succeed(studentApplyRefundsService.queryPage(queryInfo));
+    }
+}

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

@@ -1,11 +1,9 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.biz.dal.page.StudentManageAttendanceQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageCourseQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageQueryInfo;
-import com.ym.mec.biz.dal.page.TeacherPaymentRecordInfo;
+import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.StudentManageService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -15,10 +13,6 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-/**
- * @Author Joburgess
- * @Date 2019/9/19
- */
 @Api(tags = "学生管理")
 @RequestMapping("studentManage")
 @RestController
@@ -37,10 +31,24 @@ public class StudentManageController extends BaseController {
     @ApiOperation(value = "乐团管理--乐团详情--获取学员列表")
     @GetMapping("/queryMusicGroupStudent")
     @PreAuthorize("@pcs.hasPermissions('studentManage/queryMusicGroupStudent')")
-    public Object queryMusicGroupStudent(StudentManageQueryInfo queryInfo){
+    public Object queryMusicGroupStudent(MusicGroupStudentQueryInfo queryInfo){
         return succeed(studentManageService.queryMusicGroupStudent(queryInfo));
     }
 
+    @ApiOperation(value = "乐团管理--乐团详情--学员列表,汇总数据接口")
+    @GetMapping("/musicGroupStudentsSum")
+    @PreAuthorize("@pcs.hasPermissions('studentManage/musicGroupStudentsSum')")
+    public Object musicGroupStudentsSum(String musicGroupId){
+        return succeed(studentManageService.musicGroupStudentsSum(musicGroupId));
+    }
+
+    @ApiOperation(value = "乐团管理--乐团详情--点名总览")
+    @GetMapping("/queryMusicGroupStudentsSign")
+    @PreAuthorize("@pcs.hasPermissions('studentManage/queryMusicGroupStudentsSign')")
+    public Object queryMusicGroupStudentsSign(QueryInfo queryInfo){
+        return succeed(studentManageService.queryMusicGroupStudentsSign(queryInfo));
+    }
+
     @ApiOperation(value = "根据学生ID获取学生基本报名信息")
     @GetMapping("/findStudentBaseInfo")
     @PreAuthorize("@pcs.hasPermissions('studentManage/findStudentBaseInfo')")

+ 31 - 0
mec-web/src/main/java/com/ym/mec/web/controller/StudentPaymentOrderController.java

@@ -0,0 +1,31 @@
+package com.ym.mec.web.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
+import com.ym.mec.biz.service.StudentPaymentOrderService;
+import com.ym.mec.common.controller.BaseController;
+
+@RequestMapping("order")
+@Api(tags = "订单服务")
+@RestController
+public class StudentPaymentOrderController extends BaseController {
+
+    @Autowired
+    private StudentPaymentOrderService studentPaymentOrderService;
+
+    @ApiOperation(value = "获取订单列表")
+    @GetMapping("/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('order/queryPage')")
+    public Object queryOrderPage(StudentPaymentOrderQueryInfo queryInfo){
+        return succeed(studentPaymentOrderService.queryPage(queryInfo));
+    }
+
+}

+ 7 - 11
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -37,13 +37,6 @@ public class StudentRegistrationController extends BaseController {
         return succeed(studentRegistrationService.insertStudent(studentRegistration));
     }
 
-//    @ApiOperation(value = "删除学生报名信息")
-//    @PostMapping("/del")
-//    public Object del(@ApiParam(value = "学生报名信息编号", required = true) @PathVariable("id") Long id) {
-//        studentRegistrationService.delete(id);
-//        return succeed();
-//    }
-
     @ApiOperation(value = "修改学生报名信息")
     @PostMapping("/update")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/update')")
@@ -56,11 +49,14 @@ public class StudentRegistrationController extends BaseController {
     @ApiOperation(value = "批量调剂学生报名专业")
     @PostMapping("/batchUpdateSubject")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/batchUpdateSubject')")
-    public Object batchUpdateSubject(String userId, Integer subId) {
-        if (StringUtils.isEmpty(userId) || subId == null) {
-            return failed();
+    @ApiImplicitParams({@ApiImplicitParam(name = "userId", value = "学生编号(多个逗号)", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "subId", value = "声部编号", required = true, dataType = "Integer"),
+            @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "Integer")})
+    public Object batchUpdateSubject(String userId,Integer subId,String musicGroupId) {
+        if (StringUtils.isEmpty(userId) || subId == null || StringUtils.isEmpty(musicGroupId)) {
+            return failed("参数校验异常");
         }
-        return succeed(studentRegistrationService.batchUpdateSubject(userId, subId));
+        return succeed(studentRegistrationService.batchUpdateSubject(userId, subId,musicGroupId));
     }
 
     @ApiOperation(value = "乐团【报名中、缴费中】 学生详情列表分页查询")

+ 5 - 4
mec-web/src/main/java/com/ym/mec/web/controller/student/StudentPaymentOrderController.java

@@ -1,16 +1,17 @@
 package com.ym.mec.web.controller.student;
 
-import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
-import com.ym.mec.biz.service.StudentPaymentOrderService;
-import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
+import com.ym.mec.biz.service.StudentPaymentOrderService;
+import com.ym.mec.common.controller.BaseController;
+
 @RequestMapping("studentPaymentOrder")
 @Api(tags = "学生缴费订单服务")
 @RestController