Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
#	mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
#	mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
#	mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java
Joburgess 5 years ago
parent
commit
7f1ec173eb
40 changed files with 531 additions and 101 deletions
  1. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/config/WebSecurityConfig.java
  2. 3 8
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysRoleMapper.xml
  3. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java
  4. 20 12
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  5. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentManageDao.java
  6. 18 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  7. 44 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroup4MixDto.java
  8. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroupAdjustDto.java
  9. 3 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMessageConfig.java
  10. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageQueryInfo.java
  11. 10 14
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherQueryInfo.java
  12. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java
  13. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupStudentMapperService.java
  14. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  15. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleStudentPaymentService.java
  16. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentManageService.java
  17. 19 1
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java
  18. 4 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  19. 43 9
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java
  20. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  21. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java
  22. 3 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java
  23. 12 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java
  24. 12 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  25. 4 1
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  26. 4 0
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  27. 69 0
      mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml
  28. 18 4
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  29. 1 1
      mec-biz/src/main/resources/config/mybatis/SysUserCashAccountMapper.xml
  30. 21 1
      mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java
  31. 0 6
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/DemoGroupController.java
  32. 1 7
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java
  33. 1 0
      mec-web/src/main/java/com/ym/mec/web/WebApplication.java
  34. 16 5
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  35. 2 7
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupStudentController.java
  36. 32 0
      mec-web/src/main/java/com/ym/mec/web/controller/DemoGroupController.java
  37. 6 0
      mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java
  38. 14 4
      mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java
  39. 28 0
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherAttendanceController.java
  40. 42 2
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/config/WebSecurityConfig.java

@@ -70,7 +70,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
 
 	@Override
 	public void configure(WebSecurity web) throws Exception {
-		web.ignoring().antMatchers("/usernameLogin", "/smsLogin", "/refreshToken", "/v2/api-docs","/loginIn","/code/*");
+		web.ignoring().antMatchers("/usernameLogin", "/smsLogin", "/refreshToken", "/v2/api-docs","/loginIn","/code/*","/user/updatePassword");
 	}
 
 	@Bean

+ 3 - 8
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysRoleMapper.xml

@@ -24,17 +24,12 @@
 
     <!-- 全查询 -->
     <select id="findAll" resultMap="SysRole">
-		SELECT * FROM sys_role ORDER BY id_
+		SELECT * FROM sys_role WHERE del_flag_ = 0 ORDER BY upate_time_ DESC
 	</select>
 
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.auth.api.entity.SysRole" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
-        <!--
-        <selectKey resultClass="int" keyProperty="id" >
-        SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
-        </selectKey>
-        -->
         INSERT INTO sys_role (id_,role_name_,role_code_,role_desc_,create_time_,update_time_,organ_id_)
         VALUES(#{id},#{roleName},#{roleCode},#{roleDesc},now(),now(),#{organId})
     </insert>
@@ -72,13 +67,13 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="SysRole" parameterType="map">
-        SELECT * FROM sys_role ORDER BY id_
+        SELECT * FROM sys_role WHERE del_flag_ = 0 ORDER BY update_time_ DESC
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM sys_role
+		SELECT COUNT(*) FROM sys_role WHERE del_flag_ = 0
 	</select>
 
     <select id="findRoleByUserId" resultMap="SysRole">

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

@@ -93,7 +93,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @param musicGroupId
      * @return
      */
-    List<ClassGroupTeachersDto> findClassGroupByMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("type") String type);
+    List<ClassGroupTeachersDto> findClassGroupByMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("type") String type, @Param("classGroupId") Integer classGroupId);
 
     /**
      * 获取学生所购买课程列表

+ 20 - 12
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -22,7 +22,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     /**
      * 根据教师ID获取当前课程信息
      *
-     * @param teacherID
+     * @param courseID
      * @return
      */
     TeacherAttendanceDto getCurrentCourseDetail(@Param("courseID") Long courseID);
@@ -380,15 +380,23 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @param endTime 结束时间
      * @return
      */
-	List<CourseSchedule> queryTeacherCourseScheduleListByTimeRangeAndType(@Param("teacherId") Integer teacherId, @Param("type") CourseScheduleType type,
-			@Param("startTime") Date startTime, @Param("endTime") Date endTime);
-
-	/**
-	 * @describe 获取点名详情头部信息
-	 * @author Joburgess
-	 * @date 2019/10/24
-	 * @param courseScheduleId: 课程编号
-	 * @return com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto
-	 */
-	CourseAttendanceDetailHeadInfoDto findByCourse(Long courseScheduleId);
+    List<CourseSchedule> queryTeacherCourseScheduleListByTimeRangeAndType(@Param("teacherId") Integer teacherId, @Param("type") CourseScheduleType type,
+                                                                          @Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    /**
+     * 查询班级未开始的课程
+     *
+     * @param classGroupId
+     * @return
+     */
+    List<CourseSchedule> findNoStartCoursesByClassGroupId(@Param("classGroupId") Integer classGroupId);
+
+    /**
+     * @describe 获取点名详情头部信息
+     * @author Joburgess
+     * @date 2019/10/24
+     * @param courseScheduleId: 课程编号
+     * @return com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto
+     */
+    CourseAttendanceDetailHeadInfoDto findByCourse(Long courseScheduleId);
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentManageDao.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.*;
 
 import com.ym.mec.common.page.PageInfo;
@@ -147,4 +148,10 @@ public interface StudentManageDao {
      * @return
      */
     int countMusicGroupStudentsSign(Map<String, Object> params);
+
+    /**
+     * 修改用户信息
+     * @param sysUser
+     */
+    void updateUser(SysUser sysUser);
 }

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

@@ -124,7 +124,7 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @param actualSubjectId
      * @return
      */
-    List<StudentRegistration> findMusicGroupStudent(@Param("musicGroupId") String musicGroupId, @Param("actualSubjectId") Integer actualSubjectId);
+    List<StudentRegistration> findMusicGroupNoClassGroupStudent(@Param("musicGroupId") String musicGroupId, @Param("actualSubjectId") Integer actualSubjectId);
 
     /**
      * 批量调剂学生专业
@@ -145,8 +145,25 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
 
     /**
      * 批量插入
+     *
      * @param studentRegistrationList
      * @return
      */
     int batchInsert(@Param("studentRegistrationList") List<StudentRegistration> studentRegistrationList);
+
+
+    /**
+     * 根据userId 和班级id查询学生
+     *
+     * @param userId
+     * @param classGroupId
+     * @return
+     */
+    StudentRegistration findStudentByClassGroupIdAndUserId(@Param("userId") Integer userId, @Param("classGroupId") Integer classGroupId);
+
+    /**
+     * 查询乐团声部下的学生
+     * @return
+     */
+    List<StudentRegistration> findMusicGroupStudent(String musicGroupId,Integer actualSubjectId);
 }

+ 44 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroup4MixDto.java

@@ -0,0 +1,44 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+public class ClassGroup4MixDto {
+
+    @ApiModelProperty(value = "乐团id", required = true)
+    private String musicGroupId;
+
+    @ApiModelProperty(value = "班级名称", required = true)
+    private String classGroupName;
+
+    @ApiModelProperty(value = "班级id", required = true)
+    private Integer classGroupId;
+
+    @ApiModelProperty(value = "学生-班级", required = true)
+    private List<ClassGroupStudentMapperDto> classGroupStudentMapperDtoList;
+
+    @ApiModelProperty(value = "老师设置", required = true)
+    private List<ClassGroupTeacherMapper> classGroupTeacherMapperList;
+
+    @ApiModelProperty(value = "是否永久 方式1-永久 0-临时", required = true)
+    private YesOrNoEnum type;
+
+    @ApiModelProperty(value = "开始时间", required = true)
+    private String startDate;
+
+    @ApiModelProperty(value = "排课星期几",required = true)
+    private Integer dayOfWeek;
+
+    @ApiModelProperty(value = "上课开始时间",required = true)
+    private String startClassTime;
+
+    @ApiModelProperty(value = "上课结束时间",required = true)
+    private String endClassTime;
+
+    @ApiModelProperty(value = "排课次数", required = true)
+    private Integer courseTimes;
+
+}

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

@@ -17,6 +17,9 @@ public class ClassGroupAdjustDto {
     @ApiModelProperty(value = "班级名称", required = true)
     private String classGroupName;
 
+    @ApiModelProperty(value = "班级id", required = true)
+    private Integer classGroupId;
+
     @ApiModelProperty(value = "学生-班级", required = true)
     private List<ClassGroupStudentMapperDto> classGroupStudentMapperDtoList;
 
@@ -120,4 +123,12 @@ public class ClassGroupAdjustDto {
     public void setCourseTimes(Integer courseTimes) {
         this.courseTimes = courseTimes;
     }
+
+    public Integer getClassGroupId() {
+        return classGroupId;
+    }
+
+    public void setClassGroupId(Integer classGroupId) {
+        this.classGroupId = classGroupId;
+    }
 }

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMessageConfig.java

@@ -11,7 +11,9 @@ import com.ym.mec.common.enums.BaseEnum;
 public class SysMessageConfig {
 
 	public enum MessageType implements BaseEnum<String, MessageType> {
-		USER_REGISTER("用户注册");
+		USER_REGISTER("用户注册"),
+		PUSH("推送"),
+		SMS("短信");
 
 		private MessageType(String code) {
 		}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageQueryInfo.java

@@ -17,9 +17,20 @@ public class StudentManageQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "乐团ID")
     private String musicGroupId;
 
+    @ApiModelProperty(value = "学生姓名")
+    private String studentName;
+
     @ApiModelProperty(value = "状态(在读、请假、退学)",required = false)
     private ClassGroupStudentStatusEnum studentStatus;
 
+    public String getStudentName() {
+        return studentName;
+    }
+
+    public void setStudentName(String studentName) {
+        this.studentName = studentName;
+    }
+
     public ClassGroupStudentStatusEnum getStudentStatus() {
         return studentStatus;
     }

+ 10 - 14
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherQueryInfo.java

@@ -1,11 +1,7 @@
 package com.ym.mec.biz.dal.page;
 
-import io.swagger.annotations.ApiModelProperty;
-
-import com.ym.mec.auth.api.enums.UserLockFlag;
-import com.ym.mec.biz.dal.enums.JobNatureEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
 
 public class TeacherQueryInfo extends QueryInfo {
 
@@ -16,13 +12,13 @@ public class TeacherQueryInfo extends QueryInfo {
     private Integer organId;
 
     @ApiModelProperty(value = "教师工作性质")
-    private JobNatureEnum jobNature;
+    private String jobNature;
 
     @ApiModelProperty(value = "是否试用期")
-    private YesOrNoEnum isProbationPeriod;
+    private String isProbationPeriod;
 
     @ApiModelProperty(value = "账号状态")
-    private UserLockFlag lockFlag;
+    private String lockFlag;
 
     public Integer getSubjectId() {
         return subjectId;
@@ -40,27 +36,27 @@ public class TeacherQueryInfo extends QueryInfo {
         this.organId = organId;
     }
 
-    public JobNatureEnum getJobNature() {
+    public String getJobNature() {
         return jobNature;
     }
 
-    public void setJobNature(JobNatureEnum jobNature) {
+    public void setJobNature(String jobNature) {
         this.jobNature = jobNature;
     }
 
-    public YesOrNoEnum getIsProbationPeriod() {
+    public String getIsProbationPeriod() {
         return isProbationPeriod;
     }
 
-    public void setIsProbationPeriod(YesOrNoEnum isProbationPeriod) {
+    public void setIsProbationPeriod(String isProbationPeriod) {
         this.isProbationPeriod = isProbationPeriod;
     }
 
-    public UserLockFlag getLockFlag() {
+    public String getLockFlag() {
         return lockFlag;
     }
 
-    public void setLockFlag(UserLockFlag lockFlag) {
+    public void setLockFlag(String lockFlag) {
         this.lockFlag = lockFlag;
     }
 }

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

@@ -119,7 +119,7 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param type 班级类型(多种类型)
      * @return
      */
-    List<ClassGroupTeachersDto> getClassGroupAndTeachers(String musicGroupId,String type);
+    List<ClassGroupTeachersDto> getClassGroupAndTeachers(String musicGroupId,String type,Integer classGroupId);
 
     /**
      * 获取乐团班级老师课酬
@@ -127,7 +127,7 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param musicGroupId
      * @return
      */
-    List<ClassGroupTeachersDto> getClassGroupAndTeacherSalary(String musicGroupId, SalarySettlementTypeEnum type) throws Exception;
+    List<ClassGroupTeachersDto> getClassGroupAndTeacherSalary(String musicGroupId, SalarySettlementTypeEnum type,Integer classGroupId) throws Exception;
 
 
     /**

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

@@ -16,4 +16,12 @@ public interface ClassGroupStudentMapperService extends BaseService<Long, ClassG
      * @return
      */
     ClassGroupStudentMapper findClassStudentMapperByUserIdAndClassGroupId(Integer userId, Integer classGroupId);
+
+    /**
+     * 删除班级学生
+     * @param userId
+     * @param classGroupId
+     * @return
+     */
+    boolean delClassGroupStudent(Integer userId, Integer classGroupId) throws Exception;
 }

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

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto;
+import com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto;
 import com.ym.mec.biz.dal.dto.CourseScheduleDto;
 import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
 import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
@@ -214,4 +215,12 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @return java.util.Map<java.lang.Integer,java.lang.Integer>
 	 */
 	Map<Integer,Integer> findCourseScheduleCurrentTimes(List<Integer> courseSchedules);
+
+    /**
+     * 查询班级未开始的课程
+     *
+     * @param classGroupId
+     * @return
+     */
+    List<CourseSchedule> findNoStartCoursesByClassGroupId(Integer classGroupId);
 }

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleStudentPaymentService.java

@@ -1,7 +1,11 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
 import com.ym.mec.common.service.BaseService;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface CourseScheduleStudentPaymentService extends BaseService<Long, CourseScheduleStudentPayment> {
 
@@ -14,4 +18,13 @@ public interface CourseScheduleStudentPaymentService extends BaseService<Long, C
 	 */
 	int createCourseScheduleStudentPaymentForVipGroup(Long vipGroupId, Integer userId);
 
+
+	/**
+	 * 删除学生对应的课程
+	 * @param userId
+	 * @param courseScheduleList
+	 * @return
+	 */
+	int deleteStudentCourseSchedule(Integer userId, List<CourseSchedule> courseScheduleList);
+
 }

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.page.*;
@@ -99,4 +100,10 @@ public interface StudentManageService {
      * @return
      */
     List<ConditionDto> queryStudentClassGroup(String musicGroupId, Integer teacherId);
+
+    /**
+     * 修改用户信息
+     * @param sysUser
+     */
+    void updateUser(SysUser sysUser);
 }

+ 19 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java

@@ -156,7 +156,7 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	 * @param actualSubjectId 科目id
 	 * @return
 	 */
-	List<StudentRegistration> getMusicGroupStu(String musicGroupId, Integer actualSubjectId);
+	List<StudentRegistration> findMusicGroupNoClassGroupStudent(String musicGroupId, Integer actualSubjectId);
 
 	/**
 	 * 根据id list 查询报名学生
@@ -172,4 +172,22 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	 */
 	int batchInsert(List<StudentRegistration> studentRegistrationList);
 
+
+	/**
+	 * 根据userId 和班级id查询学生
+	 * @param userId
+	 * @param classGroupId
+	 * @return
+	 */
+	StudentRegistration findStudentByClassGroupIdAndUserId(Integer userId, Integer classGroupId);
+
+
+
+	/**
+	 * 查询乐团声部下的学生
+	 * @return
+	 */
+	List<StudentRegistration> findMusicGroupStudent(String musicGroupId,Integer actualSubjectId);
+
+
 }

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

@@ -335,8 +335,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     }
 
     @Override
-    public List<ClassGroupTeachersDto> getClassGroupAndTeachers(String musicGroupId, String type) {
-        List<ClassGroupTeachersDto> classGroupAndTeachersList = classGroupDao.findClassGroupByMusicGroupId(musicGroupId, type);
+    public List<ClassGroupTeachersDto> getClassGroupAndTeachers(String musicGroupId, String type,Integer classGroupId) {
+        List<ClassGroupTeachersDto> classGroupAndTeachersList = classGroupDao.findClassGroupByMusicGroupId(musicGroupId, type,classGroupId);
 
         List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroupTeacherMapperService.findClassGroupTeachers(classGroupAndTeachersList);
 
@@ -353,9 +353,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     }
 
     @Override
-    public List<ClassGroupTeachersDto> getClassGroupAndTeacherSalary(String musicGroupId, SalarySettlementTypeEnum type) throws Exception {
+    public List<ClassGroupTeachersDto> getClassGroupAndTeacherSalary(String musicGroupId, SalarySettlementTypeEnum type,Integer classGroupId) throws Exception {
         //乐团班级及班级老师
-        List<ClassGroupTeachersDto> classGroupAndTeachers = getClassGroupAndTeachers(musicGroupId, "NORMAL,MIX,HIGH");
+        List<ClassGroupTeachersDto> classGroupAndTeachers = getClassGroupAndTeachers(musicGroupId, "NORMAL,MIX,HIGH",classGroupId);
 
         for (ClassGroupTeachersDto classGroupAndTeacher : classGroupAndTeachers) {
             //班级的教师列表

+ 43 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -1,5 +1,11 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
+import com.ym.mec.biz.service.CourseScheduleService;
+import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
+import com.ym.mec.biz.service.StudentRegistrationService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -8,22 +14,50 @@ import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
 import com.ym.mec.biz.service.ClassGroupStudentMapperService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 
 @Service
-public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, ClassGroupStudentMapper>  implements ClassGroupStudentMapperService {
-	
-	@Autowired
-	private ClassGroupStudentMapperDao classGroupStudentMapperDao;
+public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, ClassGroupStudentMapper> implements ClassGroupStudentMapperService {
 
-	@Override
-	public BaseDAO<Long, ClassGroupStudentMapper> getDAO() {
-		return classGroupStudentMapperDao;
-	}
+    @Autowired
+    private ClassGroupStudentMapperDao classGroupStudentMapperDao;
+
+    @Autowired
+    private CourseScheduleService courseScheduleService;
+    @Autowired
+    StudentRegistrationService studentRegistrationService;
+    @Autowired
+    private CourseScheduleStudentPaymentService courseScheduleStudentPaymentService;
+
+    @Override
+    public BaseDAO<Long, ClassGroupStudentMapper> getDAO() {
+        return classGroupStudentMapperDao;
+    }
 
     @Override
     public ClassGroupStudentMapper findClassStudentMapperByUserIdAndClassGroupId(Integer userId, Integer classGroupId) {
-        return classGroupStudentMapperDao.findClassStudentMapperByUserIdAndClassGroupId(userId,classGroupId);
+        return classGroupStudentMapperDao.findClassStudentMapperByUserIdAndClassGroupId(userId, classGroupId);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean delClassGroupStudent(Integer userId, Integer classGroupId) throws Exception {
+        ClassGroupStudentMapper classStudentMapper = findClassStudentMapperByUserIdAndClassGroupId(userId, classGroupId);
+        if (classStudentMapper == null) {
+            throw new Exception("班级学生不存在");
+        }
+        //1、删除班级学生对应班级关系
+        classStudentMapper.setStatus(ClassGroupStudentStatusEnum.QUIT);
+        update(classStudentMapper);
+        StudentRegistration student = studentRegistrationService.findStudentByClassGroupIdAndUserId(userId, classGroupId);
+        student.setClassGroupId(null);
+        studentRegistrationService.update(student);
+
+        //2、删除学生对应班级的单技课程和对应合奏课程
+        List<CourseSchedule> courseScheduleList = courseScheduleService.findNoStartCoursesByClassGroupId(classGroupId);
+        courseScheduleStudentPaymentService.deleteStudentCourseSchedule(userId, courseScheduleList);
+        return true;
     }
 }

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

@@ -63,6 +63,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	private TeacherDefaultVipGroupSalaryDao teacherDefaultVipGroupSalaryDao;
 	@Autowired
 	private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
+	
 	@Autowired
 	private ClassGroupService classGroupService;
 
@@ -671,4 +672,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		List<Map<Integer, Integer>> courseScheduleCurrentTimes = courseScheduleDao.findCourseScheduleCurrentTimes(courseSchedules);
 		return MapUtil.convertMybatisMap(courseScheduleCurrentTimes);
 	}
+
+    @Override
+    public List<CourseSchedule> findNoStartCoursesByClassGroupId(Integer classGroupId) {
+		return courseScheduleDao.findNoStartCoursesByClassGroupId(classGroupId);
+    }
 }

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

@@ -122,4 +122,9 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 		}
 		return courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
 	}
+
+    @Override
+    public int deleteStudentCourseSchedule(Integer userId, List<CourseSchedule> courseScheduleList) {
+		return courseScheduleStudentPaymentDao.deleteStudentCourseSchedule(userId,courseScheduleList);
+    }
 }

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

@@ -59,8 +59,8 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	public void add(Employee employee){
 		SysUser user = sysUserFeignService.queryUserByMobile(employee.getPhone());
 		if(user != null){
-            user.setUserType(SysUserType.SYSTEM);
-			teacherDao.updateUser(user);
+			employee.setUserType(SysUserType.SYSTEM);
+			teacherDao.updateUser(employee);
 			Employee employee1 = employeeDao.get(user.getId());
 			if(employee1 == null || employee1.getId() == null){
 				employee.setUserId(user.getId());
@@ -74,6 +74,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		}
 		employee.setPassword(new BCryptPasswordEncoder().encode(ParamEnum.INIT_PASSWORD.getCode().toString()));
 		employee.setUserType(SysUserType.SYSTEM);
+		employee.setUsername(employee.getRealName());
 		teacherDao.addSysUser(employee);
 		employee.setUserId(employee.getId());
         employeeDao.insert(employee);

+ 12 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -2,18 +2,19 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dao.ClassGroupDao;
+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.entity.ClassGroup;
-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;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.util.collection.MapUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -43,7 +44,7 @@ public class StudentManageServiceImpl implements StudentManageService {
         SysUser user = sysUserFeignService.queryUserInfo();
         PageInfo<StudentManageListDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
         queryInfo.setOrganId(user.getOrganId());
-        Map<String, Object> params = new HashMap<String, Object>();
+        Map<String, Object> params = new HashMap<>();
         MapUtil.populateMap(params, queryInfo);
 
         List<StudentManageListDto> dataList = null;
@@ -203,4 +204,10 @@ public class StudentManageServiceImpl implements StudentManageService {
     public List<ConditionDto> queryStudentClassGroup(String musicGroupId, Integer teacherId) {
         return classGroupDao.queryStudentClassGroup(musicGroupId,teacherId);
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateUser(SysUser sysUser) {
+        studentManageDao.updateUser(sysUser);
+    }
 }

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

@@ -465,8 +465,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
-    public List<StudentRegistration> getMusicGroupStu(String musicGroupId, Integer actualSubjectId) {
-        return studentRegistrationDao.findMusicGroupStudent(musicGroupId, actualSubjectId);
+    public List<StudentRegistration> findMusicGroupNoClassGroupStudent(String musicGroupId, Integer actualSubjectId) {
+        return studentRegistrationDao.findMusicGroupNoClassGroupStudent(musicGroupId, actualSubjectId);
     }
 
     @Override
@@ -478,4 +478,14 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     public int batchInsert(List<StudentRegistration> studentRegistrationList) {
         return studentRegistrationDao.batchInsert(studentRegistrationList);
     }
+
+    @Override
+    public StudentRegistration findStudentByClassGroupIdAndUserId(Integer userId, Integer classGroupId) {
+        return studentRegistrationDao.findStudentByClassGroupIdAndUserId(userId, classGroupId);
+    }
+
+    @Override
+    public List<StudentRegistration> findMusicGroupStudent(String musicGroupId, Integer actualSubjectId) {
+        return studentRegistrationDao.findMusicGroupStudent(musicGroupId,actualSubjectId);
+    }
 }

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

@@ -225,7 +225,10 @@
     <select id="findClassGroupByMusicGroupId" resultMap="ClassGroupTeachers">
         SELECT * FROM class_group WHERE music_group_id_ = #{musicGroupId}
         <if test="type !=null and type !=''">
-        AND FIND_IN_SET(type_,#{type})
+            AND FIND_IN_SET(type_,#{type})
+        </if>
+        <if test="classGroupId !=null and classGroupId !=''">
+            AND id_ = #{classGroupId}
         </if>
         AND del_flag_ = 0
     </select>

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

@@ -934,6 +934,10 @@
         and type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
         </if>
     </select>
+    <!-- 查找班级未开始的课程 -->
+    <select id="findNoStartCoursesByClassGroupId" resultMap="CourseSchedule">
+        SELECT * FROM course_schedule WHERE class_group_id_ = #{classGroupId} AND status_ = 'NOT_START'
+    </select>
 
     <resultMap id="CourseAttendanceDetailHeadInfoDto" type="com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto">
         <result property="courseScheduleId" column="course_schedule_id_"/>

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

@@ -50,6 +50,69 @@
             </if>
         </where>
     </sql>
+    <update id="updateUser" parameterType="com.ym.mec.auth.api.entity.SysUser">
+        UPDATE sys_user
+        <set>
+            <if test="delFlag != null">
+                del_flag_ = #{delFlag, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
+            <if test="wxOpenid != null">
+                wx_openid_ = #{wxOpenid},
+            </if>
+            <if test="avatar != null">
+                avatar_ = #{avatar},
+            </if>
+            <if test="email != null">
+                email_ = #{email},
+            </if>
+            <if test="gender != null">
+                gender_ = #{gender},
+            </if>
+            <if test="salt != null">
+                salt_ = #{salt},
+            </if>
+            <if test="username != null">
+                username_ = #{username},
+            </if>
+            <if test="userType != null">
+                user_type_ = #{userType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
+            <if test="updateTime != null">
+                update_time_ = #{updateTime},
+            </if>
+            <if test="lockFlag != null">
+                lock_flag_ = #{lockFlag, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
+            <if test="birthdate != null">
+                birthdate_ = #{birthdate},
+            </if>
+            <if test="phone != null">
+                phone_ = #{phone},
+            </if>
+            <if test="qqOpenid != null">
+                qq_openid_ = #{qqOpenid},
+            </if>
+            <if test="nation != null">
+                nation_ = #{nation},
+            </if>
+            <if test="organId != null">
+                organ_id_ = #{organId},
+            </if>
+            <if test="imToken != null">
+                im_token_ = #{imToken},
+            </if>
+            <if test="idCardNo != null">
+                id_card_no_ = #{idCardNo},
+            </if>
+            <if test="wechatId != null">
+                wechat_id_ = #{wechatId},
+            </if>
+            <if test="realName != null">
+                real_name = #{realName},
+            </if>
+        </set>
+        WHERE id_ = #{id}
+    </update>
 
     <select id="findStudentsByOrganId" resultMap="studentManageListDto">
         SELECT sr.user_id_,su.real_name_,su.gender_,sr.parents_name_,sr.parents_phone_
@@ -66,6 +129,9 @@
         <if test="organId != null">
             AND su.organ_id_=#{organId}
         </if>
+        <if test="studentName != null and studentName != ''">
+            AND su.real_name_ LIKE CONCAT('%',#{studentName},'%')
+        </if>
         <include refid="global.limit"/>
     </select>
 
@@ -84,6 +150,9 @@
         <if test="organId != null">
             AND su.organ_id_=#{organId}
         </if>
+        <if test="studentName != null and studentName != ''">
+            AND su.real_name_ LIKE CONCAT('%',#{studentName},'%')
+        </if>
     </select>
     <select id="findStudentBaseInfoByUserID" resultMap="studentManageListDto">
         SELECT su.real_name_,su.gender_,su.birthdate_,sr.parents_name_,su.id_ user_id_,

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

@@ -311,17 +311,31 @@
 
     <!-- 获取班级下的学生 -->
     <select id="findClassGroupStu" resultMap="StudentRegistration">
-        SELECT * FROM student_registration WHERE music_group_id_= #{musicGroupId} AND
-        FIND_IN_SET(#{classGroupId},class_group_id_)
+        SELECT * FROM student_registration WHERE music_group_id_= #{musicGroupId} AND class_group_id_=#{classGroupId}
     </select>
 
-    <!-- 获取乐团的学生 -->
+    <!-- 根据班级和userId查询学生信息-->
+    <select id="findStudentByClassGroupIdAndUserId" resultMap="StudentRegistration">
+        SELECT * FROM student_registration WHERE user_id_= #{userId} AND class_group_id_=#{classGroupId}
+    </select>
+
+    <!-- 获取乐团未分班的学生 -->
+    <select id="findMusicGroupNoClassGroupStudent" resultMap="StudentRegistration">
+        SELECT * FROM student_registration WHERE music_group_id_ = #{musicGroupId}
+        <if test="actualSubjectId != null and actualSubjectId !=''">
+            AND actual_subject_id_ = #{actualSubjectId}
+        </if>
+        AND payment_status_ = 1 AND class_group_id_ IS NULL;
+    </select>
+
+
+    <!-- 获取乐团未分班的学生 -->
     <select id="findMusicGroupStudent" resultMap="StudentRegistration">
         SELECT * FROM student_registration WHERE music_group_id_ = #{musicGroupId}
         <if test="actualSubjectId != null and actualSubjectId !=''">
             AND actual_subject_id_ = #{actualSubjectId}
         </if>
-        AND payment_status_ = 1
+        AND payment_status_ = 1;
     </select>
 
     <!-- 根据注册id list查询报名学生的信息 -->

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

@@ -35,7 +35,7 @@
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.SysUserCashAccount" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
         INSERT INTO sys_user_cash_account
-        (user_id_,currency_,balance_,create_time_,update_time)
+        (user_id_,currency_,create_time_,update_time)
         VALUES(#{userId},#{currency},now(),now())
     </insert>
 

+ 21 - 1
mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java

@@ -9,6 +9,8 @@ import com.ym.mec.biz.dal.entity.SysUserBankCard;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.UploadReturnBean;
+import com.ym.mec.common.security.AuthUser;
+import com.ym.mec.common.security.SecurityUtils;
 import com.ym.mec.util.upload.UploadUtil;
 import io.swagger.annotations.*;
 import org.apache.commons.lang.StringUtils;
@@ -24,7 +26,9 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
-@Api(tags = "教师管理")
+import java.util.Date;
+
+@Api(tags = "学生管理")
 @RestController
 public class StudentManageController extends BaseController {
 
@@ -42,6 +46,8 @@ public class StudentManageController extends BaseController {
     private StudentWithdrawService studentWithdrawService;
     @Autowired
     private SysUserBankCardService sysUserBankCardService;
+    @Autowired
+    private StudentManageService studentManageService;
 
     private final static Logger LOGGER = LoggerFactory.getLogger(StudentManageController.class);
 
@@ -153,4 +159,18 @@ public class StudentManageController extends BaseController {
         }
         return succeed(sysUserBankCardService.findByUser(sysUser.getId()));
     }
+
+    @ApiOperation(value = "修改用户")
+    @PostMapping(value = "user/update", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+    public Object update(SysUser sysUser) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user != null) {
+            Date date = new Date();
+            sysUser.setId(user.getId());
+            sysUser.setUpdateTime(date);
+            studentManageService.updateUser(sysUser);
+            return succeed();
+        }
+        return failed("获取用户失败");
+    }
 }

+ 0 - 6
mec-teacher/src/main/java/com/ym/mec/teacher/controller/DemoGroupController.java

@@ -50,10 +50,4 @@ public class DemoGroupController extends BaseController {
         return succeed(demoGroupService.update(demoGroup));
     }
 
-    @ApiOperation(value = "获取教师试听课安排列表")
-    @GetMapping("/findTeacherDemoGroups")
-    public Object findTeacherDemoGroups(TeacherManageDemoGroupQueryInfo queryInfo){
-        return succeed(demoGroupService.findTeacherDemoGroups(queryInfo));
-    }
-
 }

+ 1 - 7
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java

@@ -41,13 +41,7 @@ public class TeacherAttendanceController extends BaseController {
     public Object queryPage(TeacherAttendanceQueryInfo queryInfo) {
         return succeed(teacherAttendanceService.queryPage(queryInfo));
     }
-
-    @ApiOperation(value = "查询教师签到(上课)记录")
-    @GetMapping("/getTeacherPersonalAttendances")
-    public Object getTeacherPersonalAttendances(TeacherCloseQueryInfo queryInfo){
-        return succeed(teacherAttendanceService.getTeacherPersonalAttendances(queryInfo));
-    }
-
+    
     @ApiOperation(value = "根据班级ID获取当前课程的学生")
     @GetMapping("/getCurrentCourseStudents")
     public Object getCurrentCourseStudents(Long courseScheduleId){

+ 1 - 0
mec-web/src/main/java/com/ym/mec/web/WebApplication.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web;
 
+import com.ym.mec.biz.dal.entity.SysMessageConfig;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;

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

@@ -155,18 +155,21 @@ public class ClassGroupController extends BaseController {
     @ApiOperation(value = "获取乐团班级老师")
     @GetMapping("/findMusicGroupClassTeacher")
     @PreAuthorize("@pcs.hasPermissions('classGroup/findMusicGroupClassTeacher')")
-    public HttpResponseResult findMusicGroupClassTeacher(@ApiParam(value = "乐团编号", required = true) @RequestParam String musicGroupId) {
-        return succeed(classGroupService.getClassGroupAndTeachers(musicGroupId, "NORMAL,MIX"));
+    @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "classGroupId", value = "班级编号", required = false, dataType = "Integer")})
+    public HttpResponseResult findMusicGroupClassTeacher(String musicGroupId, Integer classGroupId) {
+        return succeed(classGroupService.getClassGroupAndTeachers(musicGroupId, "NORMAL,MIX", classGroupId));
     }
 
     @ApiOperation(value = "获取乐团班级老师课酬")
     @GetMapping("/findMusicGroupClassTeacherSalary")
     @PreAuthorize("@pcs.hasPermissions('classGroup/findMusicGroupClassTeacherSalary')")
     @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
-            @ApiImplicitParam(name = "type", value = "结算类型(1-基准课酬,4-梯度课酬)", required = true, dataType = "Integer")})
-    public HttpResponseResult findMusicGroupClassTeacherSalary(String musicGroupId, SalarySettlementTypeEnum type) {
+            @ApiImplicitParam(name = "type", value = "结算类型(1-基准课酬,4-梯度课酬)", required = true, dataType = "Integer"),
+            @ApiImplicitParam(name = "classGroupId", value = "班级编号", required = false, dataType = "Integer")})
+    public HttpResponseResult findMusicGroupClassTeacherSalary(String musicGroupId, SalarySettlementTypeEnum type, Integer classGroupId) {
         try {
-            return succeed(classGroupService.getClassGroupAndTeacherSalary(musicGroupId, type));
+            return succeed(classGroupService.getClassGroupAndTeacherSalary(musicGroupId, type, classGroupId));
         } catch (Exception e) {
             return failed(e.getMessage());
         }
@@ -198,6 +201,14 @@ public class ClassGroupController extends BaseController {
 
 
     @ApiOperation(value = "调整班级(添加班级)")
+    @PostMapping("/revisionAddClassGroup")
+    @PreAuthorize("@pcs.hasPermissions('classGroup/revisionAddClassGroup')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "classGroupIds", value = "班级编号,号分割", required = true, dataType = "String")})
+    public HttpResponseResult revisionAddClassGroup(@RequestBody ClassGroupAdjustDto classGroupAdjustDto) throws Exception {
+        return succeed(classGroupService.classGroupAdjust(classGroupAdjustDto));
+    }
+
+    @ApiOperation(value = "调整班级(临时调整)")
     @PostMapping("/revisionClassGroup")
     @PreAuthorize("@pcs.hasPermissions('classGroup/revisionClassGroup')")
     @ApiImplicitParams({@ApiImplicitParam(name = "classGroupIds", value = "班级编号,号分割", required = true, dataType = "String")})

+ 2 - 7
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupStudentController.java

@@ -28,13 +28,8 @@ public class ClassGroupStudentController extends BaseController {
     @ApiOperation(value = "删除班级学生")
     @PostMapping("/del")
     @PreAuthorize("@pcs.hasPermissions('classGroupStudent/del')")
-    public HttpResponseResult add(Integer userId, Integer classGroupId) throws Exception {
-        ClassGroupStudentMapper classStudentMapper = classGroupStudentMapperService.findClassStudentMapperByUserIdAndClassGroupId(userId, classGroupId);
-        if (classStudentMapper == null) {
-            return failed("班级学生不存在");
-        }
-        classStudentMapper.setStatus(ClassGroupStudentStatusEnum.QUIT);
-        return succeed(classGroupStudentMapperService.update(classStudentMapper));
+    public HttpResponseResult del(Integer userId, Integer classGroupId) throws Exception {
+        return succeed(classGroupStudentMapperService.delClassGroupStudent(userId, classGroupId));
     }
 
 }

+ 32 - 0
mec-web/src/main/java/com/ym/mec/web/controller/DemoGroupController.java

@@ -0,0 +1,32 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.biz.dal.page.TeacherManageDemoGroupQueryInfo;
+import com.ym.mec.biz.service.DemoGroupService;
+import com.ym.mec.common.controller.BaseController;
+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;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/25
+ */
+@Api(tags = "试听课")
+@RequestMapping("demoGroup")
+@RestController
+public class DemoGroupController extends BaseController {
+
+    @Autowired
+    private DemoGroupService demoGroupService;
+    @ApiOperation(value = "获取教师试听课安排列表")
+    @GetMapping("/findTeacherDemoGroups")
+    @PreAuthorize("@pcs.hasPermissions('demoGroup/findTeacherDemoGroups')")
+    public Object findTeacherDemoGroups(TeacherManageDemoGroupQueryInfo queryInfo){
+        return succeed(demoGroupService.findTeacherDemoGroups(queryInfo));
+    }
+
+}

+ 6 - 0
mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java

@@ -8,6 +8,7 @@ import com.ym.mec.common.controller.BaseController;
 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.*;
 
 import java.util.Date;
@@ -26,12 +27,14 @@ public class EmployeeController extends BaseController {
 
     @ApiOperation(value = "根据部门获取下面的员工")
     @GetMapping("/queryEmployByOrganId")
+    @PreAuthorize("@pcs.hasPermissions('employee/queryEmployByOrganId')")
     public Object queryEmployByOrganId(EmployeeQueryInfo queryInfo) throws Exception {
         return succeed(employeeService.queryEmployByOrganId(queryInfo));
     }
 
     @ApiOperation(value = "员工操作")
     @PostMapping("/employeeOperate")
+    @PreAuthorize("@pcs.hasPermissions('employee/employeeOperate')")
     public Object employeeOperate(Long employeeId, EmployeeOperateEnum operate){
         employeeService.employeeOperate(employeeId,operate);
         return succeed();
@@ -39,6 +42,7 @@ public class EmployeeController extends BaseController {
 
     @ApiOperation(value = "新增员工")
     @PostMapping("/add")
+    @PreAuthorize("@pcs.hasPermissions('employee/add')")
     public Object add(@RequestBody Employee employee) throws Exception {
         employeeService.add(employee);
         return succeed();
@@ -46,6 +50,7 @@ public class EmployeeController extends BaseController {
 
     @ApiOperation(value = "修改员工")
     @PostMapping("/update")
+    @PreAuthorize("@pcs.hasPermissions('employee/update')")
     public Object update(@RequestBody Employee employee) {
         employee.setUpdateTime(new Date());
         employeeService.updateEmployee(employee);
@@ -54,6 +59,7 @@ public class EmployeeController extends BaseController {
 
     @ApiOperation(value = "删除员工")
     @PostMapping("/delete/{userId}")
+    @PreAuthorize("@pcs.hasPermissions('employee/delete')")
     public Object update(@PathVariable("userId") Long userId) {
         employeeService.deleteEmployee(userId);
         return succeed();

+ 14 - 4
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -96,13 +97,22 @@ public class StudentRegistrationController extends BaseController {
         return succeed(studentRegistrationService.findClassGroupStu(musicGroupId, classGroupId));
     }
 
-    @ApiOperation(value = "获取乐团的学生")
+    @ApiOperation(value = "获取乐团(声部)的学生")
     @GetMapping("/getMusicGroupStu")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/getMusicGroupStu')")
     @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
-            @ApiImplicitParam(name = "actualSubjectId", value = "科目(声部)id,", required = true, dataType = "int")})
-    public Object getMusicGroupStu(String musicGroupId, Integer actualSubjectId) {
-        return succeed(studentRegistrationService.getMusicGroupStu(musicGroupId, actualSubjectId));
+            @ApiImplicitParam(name = "actualSubjectId", value = "科目(声部)id,", required = false, dataType = "int")})
+    public HttpResponseResult getMusicGroupStu(String musicGroupId, Integer actualSubjectId) {
+        return succeed(studentRegistrationService.findMusicGroupStudent(musicGroupId, actualSubjectId));
+    }
+
+    @ApiOperation(value = "获取乐团未分班的学生")
+    @GetMapping("/getMusicGroupNoClassStu")
+    @PreAuthorize("@pcs.hasPermissions('studentRegistration/getMusicGroupNoClassStu')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "actualSubjectId", value = "科目(声部)id,", required = false, dataType = "int")})
+    public HttpResponseResult getMusicGroupNoClassStu(String musicGroupId, Integer actualSubjectId) {
+        return succeed(studentRegistrationService.findMusicGroupNoClassGroupStudent(musicGroupId, actualSubjectId));
     }
 
 }

+ 28 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TeacherAttendanceController.java

@@ -0,0 +1,28 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
+import com.ym.mec.biz.service.TeacherAttendanceService;
+import com.ym.mec.common.controller.BaseController;
+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;
+
+@RequestMapping("teacherAttendance")
+@Api(tags = "教师签到服务")
+@RestController
+public class TeacherAttendanceController extends BaseController {
+
+    @Autowired
+    private TeacherAttendanceService teacherAttendanceService;
+
+    @ApiOperation(value = "查询教师签到(上课)记录")
+    @GetMapping("/getTeacherPersonalAttendances")
+    @PreAuthorize("@pcs.hasPermissions('teacherAttendance/getTeacherPersonalAttendances')")
+    public Object getTeacherPersonalAttendances(TeacherCloseQueryInfo queryInfo){
+        return succeed(teacherAttendanceService.getTeacherPersonalAttendances(queryInfo));
+    }
+}

+ 42 - 2
mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

@@ -2,11 +2,12 @@ package com.ym.mec.web.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.biz.dal.entity.Teacher;
-import com.ym.mec.biz.dal.page.MusicGroupTeacherAttendanceQueryInfo;
-import com.ym.mec.biz.dal.page.MusicGroupTeachersQueryInfo;
+import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -24,6 +25,8 @@ public class TeacherController extends BaseController {
     private TeacherService teacherService;
     @Autowired
     private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private ClassGroupService classGroupService;
 
     @ApiOperation(value = "新增教师")
     @PostMapping("/add")
@@ -33,6 +36,13 @@ public class TeacherController extends BaseController {
         return succeed();
     }
 
+    @ApiOperation(value = "分页查询教师列表")
+    @GetMapping("/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('teacher/queryPage')")
+    public Object queryPage(TeacherQueryInfo queryInfo) {
+        return succeed(teacherService.queryPageDetail(queryInfo));
+    }
+
     @ApiOperation(value = "修改教师信息")
     @PostMapping("/update")
     @PreAuthorize("@pcs.hasPermissions('teacher/update')")
@@ -80,4 +90,34 @@ public class TeacherController extends BaseController {
         return succeed(teacherService.queryTeacherAttendance(queryInfo));
     }
 
+    @ApiOperation(value = "获取老师乐团课程信息列表")
+    @GetMapping("/getTeacherMusicClass")
+    @ApiParam(value = "教师编号", required = true)
+    @PreAuthorize("@pcs.hasPermissions('teacher/getTeacherMusicClass')")
+    public Object getTeacherMusicClass(QueryInfo queryInfo){
+        return succeed(classGroupService.getTeacherMusicClass(queryInfo));
+    }
+
+    @ApiOperation(value = "获取老师VIP课程信息列表")
+    @GetMapping("/getTeacherVipClass")
+    @PreAuthorize("@pcs.hasPermissions('teacher/getTeacherVipClass')")
+    public Object getTeacherVipClass(VipClassQueryInfo queryInfo){
+        return succeed(classGroupService.getTeacherVipClass(queryInfo));
+    }
+
+    @ApiOperation(value = "获取教师上课结算列表")
+    @GetMapping("/queryCloses")
+    @PreAuthorize("@pcs.hasPermissions('teacher/queryCloses')")
+    public Object queryCloses(TeacherCloseQueryInfo queryInfo){
+        return succeed(teacherService.queryCloses(queryInfo));
+    }
+
+    @ApiOperation(value = "获取教师上课课酬未结算总额")
+    @GetMapping("/sumTeacherNoPay")
+    @PreAuthorize("@pcs.hasPermissions('teacher/sumTeacherNoPay')")
+    public Object findTeacherNoPay(Integer teacherId){
+        return succeed(teacherService.findTeacherNoPay(teacherId));
+    }
+
+
 }