Kaynağa Gözat

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

zouxuan 5 yıl önce
ebeveyn
işleme
b49c0938dd
39 değiştirilmiş dosya ile 1973 ekleme ve 220 silme
  1. 14 2
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  2. 56 0
      mec-web/src/main/java/com/ym/mec/web/controller/system/StudentManageController.java
  3. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/CourseScheduleTeacherSalaryDao.java
  4. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/HotWordsLabelDao.java
  5. 81 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentManageDao.java
  6. 12 1
      mec-web/src/main/java/com/ym/mec/web/dal/dao/TeacherDefaultMusicGroupSalaryDao.java
  7. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/VipGroupCategoryDao.java
  8. 2 133
      mec-web/src/main/java/com/ym/mec/web/dal/dto/CourseScheduleDto.java
  9. 66 0
      mec-web/src/main/java/com/ym/mec/web/dal/dto/HighClassGroup.java
  10. 46 0
      mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentManageBaseDto.java
  11. 151 0
      mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentManageBaseInfoOfMusicGroupDto.java
  12. 92 0
      mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentManageCourseListDto.java
  13. 78 0
      mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentManageListDto.java
  14. 4 3
      mec-web/src/main/java/com/ym/mec/web/dal/entity/ClassGroup.java
  15. 46 46
      mec-web/src/main/java/com/ym/mec/web/dal/entity/CourseSchedule.java
  16. 103 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/CourseScheduleTeacherSalary.java
  17. 70 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/HotWordsLabel.java
  18. 92 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/VipGroupCategory.java
  19. 68 0
      mec-web/src/main/java/com/ym/mec/web/dal/page/StudentManageAttendanceQueryInfo.java
  20. 79 0
      mec-web/src/main/java/com/ym/mec/web/dal/page/StudentManageCourseQueryInfo.java
  21. 56 0
      mec-web/src/main/java/com/ym/mec/web/dal/page/StudentManageQueryInfo.java
  22. 11 0
      mec-web/src/main/java/com/ym/mec/web/service/ClassGroupService.java
  23. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/CourseScheduleTeacherSalaryService.java
  24. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/HotWordsLabelService.java
  25. 53 0
      mec-web/src/main/java/com/ym/mec/web/service/StudentManageService.java
  26. 9 0
      mec-web/src/main/java/com/ym/mec/web/service/TeacherDefaultMusicGroupSalaryService.java
  27. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/VipGroupCategoryService.java
  28. 46 10
      mec-web/src/main/java/com/ym/mec/web/service/impl/ClassGroupServiceImpl.java
  29. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/CourseScheduleTeacherSalaryServiceImpl.java
  30. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/HotWordsLabelServiceImpl.java
  31. 111 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/StudentManageServiceImpl.java
  32. 6 1
      mec-web/src/main/java/com/ym/mec/web/service/impl/TeacherDefaultMusicGroupSalaryServiceImpl.java
  33. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/VipGroupCategoryServiceImpl.java
  34. 5 24
      mec-web/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  35. 84 0
      mec-web/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml
  36. 72 0
      mec-web/src/main/resources/config/mybatis/HotWordsLabelMapper.xml
  37. 255 0
      mec-web/src/main/resources/config/mybatis/StudentManageDao.xml
  38. 5 0
      mec-web/src/main/resources/config/mybatis/TeacherDefaultMusicGroupSalaryMapper.xml
  39. 80 0
      mec-web/src/main/resources/config/mybatis/VipGroupCategoryMapper.xml

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

@@ -3,6 +3,7 @@ package com.ym.mec.web.controller;
 import com.alibaba.fastjson.JSON;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.web.dal.dto.HighClassGroup;
 import com.ym.mec.web.dal.entity.ClassGroup;
 import com.ym.mec.web.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.web.service.ClassGroupService;
@@ -41,6 +42,15 @@ public class ClassGroupController extends BaseController {
         return succeed(classGroupService.addMixClassGroup(musicGroupId, name, classGroupIds));
     }
 
+    @ApiOperation(value = "新增提高班")
+    @PostMapping("/addHighClass")
+    public Object addHighClass(@ApiParam(value = "乐团提高班json", required = true) @RequestParam List<HighClassGroup> HighClassGroupList) throws Exception {
+        if (HighClassGroupList.size() <= 0) {
+            return failed("参数不合法");
+        }
+        return succeed(classGroupService.addHighClassGroup(HighClassGroupList));
+    }
+
     @ApiOperation(value = "删除班级")
     @PostMapping("/del/{id}")
     public Object del(@ApiParam(value = "班级编号", required = true) @PathVariable("id") Integer id) {
@@ -83,8 +93,10 @@ public class ClassGroupController extends BaseController {
 
     @ApiOperation(value = "乐团班级老师设置")
     @GetMapping("/addClassGroupTeacher")
-    public Object addClassGroupTeacher(@ApiParam(value = "乐团班级老师json", required = true) @RequestParam String classTeacherJson) {
-        List<ClassGroupTeacherMapper> classGroupTeacherMapperList = JSON.parseObject(classTeacherJson, ArrayList.class);
+    public Object addClassGroupTeacher(@ApiParam(value = "乐团班级老师json", required = true) @RequestParam List<ClassGroupTeacherMapper> classGroupTeacherMapperList) {
+        if (classGroupTeacherMapperList.size() <= 0) {
+            return failed("参数不合法");
+        }
         return succeed(classGroupTeacherMapperService.classGroupTeachersInsert(classGroupTeacherMapperList));
     }
 

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

@@ -0,0 +1,56 @@
+package com.ym.mec.web.controller.system;
+
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.web.dal.page.StudentManageAttendanceQueryInfo;
+import com.ym.mec.web.dal.page.StudentManageCourseQueryInfo;
+import com.ym.mec.web.dal.page.StudentManageQueryInfo;
+import com.ym.mec.web.service.StudentManageService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/19
+ */
+@Api("学生管理")
+@RequestMapping("studentManage")
+@RestController
+public class StudentManageController extends BaseController {
+
+    @Autowired
+    private StudentManageService studentManageService;
+
+    @ApiOperation(value = "获取学生列表")
+    @GetMapping("/queryStudentList")
+    public Object queryStudentList(@RequestBody StudentManageQueryInfo queryInfo){
+        return succeed(studentManageService.findStudentsByOrganId(queryInfo));
+    }
+
+    @ApiOperation(value = "根据学生ID获取学生基本报名信息")
+    @GetMapping("/findStudentBaseInfo")
+    public Object findStudentBaseInfo(@ApiParam(value = "学生编号", required = true) @RequestParam Long userID){
+        return succeed(studentManageService.findStudentManageBaseInfo(userID));
+    }
+
+    @ApiOperation(value = "根据学生ID获取其所在的乐团")
+    @GetMapping("/findStudentMusicGroups/{userID}")
+    public Object findStudentMusicGroups(@ApiParam(value = "学生编号", required = true) @PathVariable("userID") Long userID){
+        return succeed(studentManageService.findStudentMusicGroupsByUserId(userID));
+    }
+
+    @ApiOperation(value = "根据乐团获取排课列表")
+    @PostMapping("/findStudentCourses")
+    public Object findStudentCourses(@RequestBody StudentManageCourseQueryInfo queryInfo){
+        return succeed(studentManageService.findStudentCourseList(queryInfo));
+    }
+
+    @ApiOperation(value = "获取学生签到列表")
+    @PostMapping("/findStudentAttendances")
+    public Object findStudentAttendances(@RequestBody StudentManageAttendanceQueryInfo queryInfo){
+        return succeed(studentManageService.findStudentAttendances(queryInfo));
+    }
+
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.CourseScheduleTeacherSalary;
+
+public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseScheduleTeacherSalary> {
+
+	
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/HotWordsLabelDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.HotWordsLabel;
+
+public interface HotWordsLabelDao extends BaseDAO<Integer, HotWordsLabel> {
+
+	
+}

+ 81 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentManageDao.java

@@ -0,0 +1,81 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.web.dal.dto.StudentManageBaseDto;
+import com.ym.mec.web.dal.dto.StudentManageBaseInfoOfMusicGroupDto;
+import com.ym.mec.web.dal.dto.StudentManageCourseListDto;
+import com.ym.mec.web.dal.dto.StudentManageListDto;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/19
+ */
+public interface StudentManageDao {
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/19
+     *根据部门ID获取该部门下所有学生
+     */
+    List<StudentManageListDto> findStudentsByOrganId(Map<String,Object> params);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/19
+     * 根据部门ID统计该部门下所有学生数
+     */
+    int countStudentByOrganId(Map<String,Object> params);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/20
+     * 根据学生ID获取该学院基本信息
+     */
+    StudentManageBaseDto findStudentBaseInfoByUserID(Long userID);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/20
+     * 根据商品id列表获取商品名称列表
+     */
+    String[] findGoodsNamesByIds(@Param("ids") String[] ids);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/20
+     * 根据学生ID获取其所在的乐团
+     */
+    List<StudentManageBaseInfoOfMusicGroupDto> findStudentMusicGroupsByUserId(Long userID);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/20
+     * 获取某乐团的排课列表
+     */
+    List<StudentManageCourseListDto> findStudentCourseList(Map<String,Object> params);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/20
+     * 统计乐团排课数
+     */
+    int countStudentCourses(Map<String,Object> params);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/20
+     * 学生签到列表获取
+     */
+    List<StudentManageCourseListDto> findStudentAttendances(Map<String,Object> params);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/20
+     * 统计学生签到次数
+     */
+    int countStudentAttendances(Map<String,Object> params);
+
+}

+ 12 - 1
mec-web/src/main/java/com/ym/mec/web/dal/dao/TeacherDefaultMusicGroupSalaryDao.java

@@ -2,8 +2,19 @@ package com.ym.mec.web.dal.dao;
 
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.web.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface TeacherDefaultMusicGroupSalaryDao extends BaseDAO<Long, TeacherDefaultMusicGroupSalary> {
 
-	
+
+    /**
+     * 获取老师对应课程类型的课酬
+     * @param userId
+     * @param classGroupType
+     * @return
+     */
+    TeacherDefaultMusicGroupSalary getTeacherSalaryByUserIdAndType(@Param("userId") int userId, @Param("classGroupType") ClassGroupTypeEnum classGroupType);
 }

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/VipGroupCategoryDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.VipGroupCategory;
+
+public interface VipGroupCategoryDao extends BaseDAO<Integer, VipGroupCategory> {
+
+	
+}

+ 2 - 133
mec-web/src/main/java/com/ym/mec/web/dal/dto/CourseScheduleDto.java

@@ -1,23 +1,14 @@
 package com.ym.mec.web.dal.dto;
 
+import com.ym.mec.web.dal.entity.CourseSchedule;
 import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
-import com.ym.mec.web.dal.enums.CourseStatusEnum;
 import io.swagger.annotations.ApiModelProperty;
 
-import java.util.Date;
-
 /**
  * @Author Joburgess
  * @Date 2019/9/17
  */
-public class CourseScheduleDto {
-
-    /**  */
-    private Long id;
-
-    /** 班级编号 */
-    @ApiModelProperty(value = "班级编号",required = false)
-    private Integer classGroupId;
+public class CourseScheduleDto extends CourseSchedule {
 
     /** 班级名称 */
     @ApiModelProperty(value = "班级名称",required = false)
@@ -27,56 +18,6 @@ public class CourseScheduleDto {
     @ApiModelProperty(value = "班级类型(普通班级、合奏班级、提高课班级、VIP班级)",required = false)
     private ClassGroupTypeEnum type;
 
-    /** 课程状态 */
-    @ApiModelProperty(value = "课程状态  NOT_START未开始,SIGN_IN已签到,SIGN_OUT已签退",required = false)
-    private CourseStatusEnum status;
-
-    /** 补贴 */
-    @ApiModelProperty(value = "补贴",required = false)
-    private long subsidy;
-
-    /** 上课日期 */
-    @ApiModelProperty(value = "上课日期",required = false)
-    private java.util.Date classDate;
-
-    /** 上课时间 */
-    @ApiModelProperty(value = "上课时间",required = false)
-    private java.util.Date startClassTime;
-
-    /** 结束时间 */
-    @ApiModelProperty(value = "结束时间",required = false)
-    private java.util.Date endClassTime;
-
-    /** 上课教师 */
-    @ApiModelProperty(value = "上课教师",required = false)
-    private Long teacherId;
-
-    /** 实际上课教师 */
-    @ApiModelProperty(value = "实际上课教师",required = false)
-    private Long actualTeacherId;
-
-    /**  */
-    private java.util.Date createTime;
-
-    /**  */
-    private java.util.Date updateTime;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public Integer getClassGroupId() {
-        return classGroupId;
-    }
-
-    public void setClassGroupId(Integer classGroupId) {
-        this.classGroupId = classGroupId;
-    }
-
     public String getClassGroupName() {
         return classGroupName;
     }
@@ -92,76 +33,4 @@ public class CourseScheduleDto {
     public void setType(ClassGroupTypeEnum type) {
         this.type = type;
     }
-
-    public CourseStatusEnum getStatus() {
-        return status;
-    }
-
-    public void setStatus(CourseStatusEnum status) {
-        this.status = status;
-    }
-
-    public long getSubsidy() {
-        return subsidy;
-    }
-
-    public void setSubsidy(long subsidy) {
-        this.subsidy = subsidy;
-    }
-
-    public Date getClassDate() {
-        return classDate;
-    }
-
-    public void setClassDate(Date classDate) {
-        this.classDate = classDate;
-    }
-
-    public Date getStartClassTime() {
-        return startClassTime;
-    }
-
-    public void setStartClassTime(Date startClassTime) {
-        this.startClassTime = startClassTime;
-    }
-
-    public Date getEndClassTime() {
-        return endClassTime;
-    }
-
-    public void setEndClassTime(Date endClassTime) {
-        this.endClassTime = endClassTime;
-    }
-
-    public Long getTeacherId() {
-        return teacherId;
-    }
-
-    public void setTeacherId(Long teacherId) {
-        this.teacherId = teacherId;
-    }
-
-    public Long getActualTeacherId() {
-        return actualTeacherId;
-    }
-
-    public void setActualTeacherId(Long actualTeacherId) {
-        this.actualTeacherId = actualTeacherId;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
 }

+ 66 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/HighClassGroup.java

@@ -0,0 +1,66 @@
+package com.ym.mec.web.dal.dto;
+
+import com.ym.mec.web.dal.entity.ClassGroup;
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import java.util.Date;
+
+/**
+ * 提交班
+ */
+public class HighClassGroup extends ClassGroup {
+
+	@ApiModelProperty(value = "教师user_id",required = true)
+	private int userId;
+
+	@ApiModelProperty(value = "星期几",required = true)
+	private String week;
+
+	@ApiModelProperty(value = "开始时间",required = true)
+	private Date startClassTime;
+
+	@ApiModelProperty(value = "结束时间",required = true)
+	private Date endClassTime;
+
+
+	public int getUserId() {
+		return userId;
+	}
+
+	public void setUserId(int userId) {
+		this.userId = userId;
+	}
+
+	public String getWeek() {
+		return week;
+	}
+
+	public void setWeek(String week) {
+		this.week = week;
+	}
+
+	public Date getStartClassTime() {
+		return startClassTime;
+	}
+
+	public void setStartClassTime(Date startClassTime) {
+		this.startClassTime = startClassTime;
+	}
+
+	public Date getEndClassTime() {
+		return endClassTime;
+	}
+
+	public void setEndClassTime(Date endClassTime) {
+		this.endClassTime = endClassTime;
+	}
+
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 46 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentManageBaseDto.java

@@ -0,0 +1,46 @@
+package com.ym.mec.web.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/20
+ */
+public class StudentManageBaseDto extends StudentManageListDto {
+
+    @ApiModelProperty(value = "生日",required = false)
+    private Date birthdate;
+
+    @ApiModelProperty(value = "家长姓名",required = false)
+    private String parentName;
+
+    @ApiModelProperty(value = "乐团列表",required = false)
+    private List<StudentManageBaseInfoOfMusicGroupDto> musicGroups;
+
+    public List<StudentManageBaseInfoOfMusicGroupDto> getMusicGroups() {
+        return musicGroups;
+    }
+
+    public void setMusicGroups(List<StudentManageBaseInfoOfMusicGroupDto> musicGroups) {
+        this.musicGroups = musicGroups;
+    }
+
+    public Date getBirthdate() {
+        return birthdate;
+    }
+
+    public void setBirthdate(Date birthdate) {
+        this.birthdate = birthdate;
+    }
+
+    public String getParentName() {
+        return parentName;
+    }
+
+    public void setParentName(String parentName) {
+        this.parentName = parentName;
+    }
+}

+ 151 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentManageBaseInfoOfMusicGroupDto.java

@@ -0,0 +1,151 @@
+package com.ym.mec.web.dal.dto;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.ym.mec.web.dal.enums.KitPurchaseMethodEnum;
+import com.ym.mec.web.dal.enums.MusicGroupStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/19
+ */
+public class StudentManageBaseInfoOfMusicGroupDto {
+
+    @ApiModelProperty(value = "乐团ID",required = false)
+    private Long musicGroupId;
+
+    @ApiModelProperty(value = "乐团名称",required = false)
+    private String musicGroupName;
+
+    @ApiModelProperty(value = "乐团状态(报名中、缴费中、筹备中、进行中、取消)",required = false)
+    private MusicGroupStatusEnum musicGroupStatus;
+
+    @ApiModelProperty(value = "加入乐团时间",required = false)
+    private Date joinMusicGroupDate;
+
+    @ApiModelProperty(value = "科目ID",required = false)
+    private Long subjectId;
+
+    @ApiModelProperty(value = "科目名称",required = false)
+    private String subjectName;
+
+    @ApiModelProperty(value = "器材购买方式(团购、自备)",required = false)
+    private KitPurchaseMethodEnum kitPurchaseMethod;
+
+    @ApiModelProperty(value = "商品ID列表",required = false)
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    private String goodsIdList;
+
+    @ApiModelProperty(value = "商品名称列表",required = false)
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    private String[] goodsNameList;
+
+    @ApiModelProperty(value = "打包价格",required = false)
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    private BigDecimal price;
+
+    @ApiModelProperty(value = "部门ID",required = false)
+    private Long organId;
+
+    @ApiModelProperty(value = "部门名称",required = false)
+    private String organName;
+
+    public Long getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Long organId) {
+        this.organId = organId;
+    }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public String[] getGoodsNameList() {
+        return goodsNameList;
+    }
+
+    public void setGoodsNameList(String[] goodsNameList) {
+        this.goodsNameList = goodsNameList;
+    }
+
+    public Long getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(Long musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public String getMusicGroupName() {
+        return musicGroupName;
+    }
+
+    public void setMusicGroupName(String musicGroupName) {
+        this.musicGroupName = musicGroupName;
+    }
+
+    public MusicGroupStatusEnum getMusicGroupStatus() {
+        return musicGroupStatus;
+    }
+
+    public void setMusicGroupStatus(MusicGroupStatusEnum musicGroupStatus) {
+        this.musicGroupStatus = musicGroupStatus;
+    }
+
+    public Date getJoinMusicGroupDate() {
+        return joinMusicGroupDate;
+    }
+
+    public void setJoinMusicGroupDate(Date joinMusicGroupDate) {
+        this.joinMusicGroupDate = joinMusicGroupDate;
+    }
+
+    public Long getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Long subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
+    public KitPurchaseMethodEnum getKitPurchaseMethod() {
+        return kitPurchaseMethod;
+    }
+
+    public void setKitPurchaseMethod(KitPurchaseMethodEnum kitPurchaseMethod) {
+        this.kitPurchaseMethod = kitPurchaseMethod;
+    }
+
+    public String getGoodsIdList() {
+        return goodsIdList;
+    }
+
+    public void setGoodsIdList(String goodsIdList) {
+        this.goodsIdList = goodsIdList;
+    }
+
+    public BigDecimal getPrice() {
+        return price;
+    }
+
+    public void setPrice(BigDecimal price) {
+        this.price = price;
+    }
+}

+ 92 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentManageCourseListDto.java

@@ -0,0 +1,92 @@
+package com.ym.mec.web.dal.dto;
+
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.web.dal.enums.CourseStatusEnum;
+import com.ym.mec.web.dal.enums.StudentAttendanceStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/20
+ */
+public class StudentManageCourseListDto {
+
+    @ApiModelProperty(value = "班级ID",required = false)
+    private Long classGroupId;
+
+    @ApiModelProperty(value = "班级名称",required = false)
+    private String classGroupName;
+
+    @ApiModelProperty(value = "班级类型(普通班级、合奏班级、提高课班级、VIP班级)",required = true)
+    private ClassGroupTypeEnum classGroupType;
+
+    @ApiModelProperty(value = "上课日期",required = false)
+    private Date courseDate;
+
+    @ApiModelProperty(value = "课程状态  NOT_START未开始,SIGN_IN已签到,SIGN_OUT已签退",required = false)
+    private CourseStatusEnum courseStatus;
+
+    @ApiModelProperty(value = "老师名称",required = false)
+    private String teacherName;
+
+    @ApiModelProperty(value = "状态(正常、旷课、请假、休学)",required = false)
+    private StudentAttendanceStatusEnum attendanceStatus;
+
+    public StudentAttendanceStatusEnum getAttendanceStatus() {
+        return attendanceStatus;
+    }
+
+    public void setAttendanceStatus(StudentAttendanceStatusEnum attendanceStatus) {
+        this.attendanceStatus = attendanceStatus;
+    }
+
+    public Long getClassGroupId() {
+        return classGroupId;
+    }
+
+    public void setClassGroupId(Long classGroupId) {
+        this.classGroupId = classGroupId;
+    }
+
+    public String getClassGroupName() {
+        return classGroupName;
+    }
+
+    public void setClassGroupName(String classGroupName) {
+        this.classGroupName = classGroupName;
+    }
+
+    public ClassGroupTypeEnum getClassGroupType() {
+        return classGroupType;
+    }
+
+    public void setClassGroupType(ClassGroupTypeEnum classGroupType) {
+        this.classGroupType = classGroupType;
+    }
+
+    public Date getCourseDate() {
+        return courseDate;
+    }
+
+    public void setCourseDate(Date courseDate) {
+        this.courseDate = courseDate;
+    }
+
+    public CourseStatusEnum getCourseStatus() {
+        return courseStatus;
+    }
+
+    public void setCourseStatus(CourseStatusEnum courseStatus) {
+        this.courseStatus = courseStatus;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+}

+ 78 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentManageListDto.java

@@ -0,0 +1,78 @@
+package com.ym.mec.web.dal.dto;
+
+import com.ym.mec.common.enums.UserGenderEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/19
+ */
+public class StudentManageListDto {
+
+    @ApiModelProperty(value = "用户ID",required = false)
+    private Long userId;
+
+
+    @ApiModelProperty(value = "用户名",required = false)
+    private String userName;
+
+    @ApiModelProperty(value = "性别",required = false)
+    private UserGenderEnum gender;
+
+    @ApiModelProperty(value = "电话号码",required = false)
+    private String phone;
+
+    @ApiModelProperty(value = "学校ID",required = false)
+    private Long schoolId;
+
+    @ApiModelProperty(value = "学校名称",required = false)
+    private String schoolName;
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public UserGenderEnum getGender() {
+        return gender;
+    }
+
+    public void setGender(UserGenderEnum gender) {
+        this.gender = gender;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public Long getSchoolId() {
+        return schoolId;
+    }
+
+    public void setSchoolId(Long schoolId) {
+        this.schoolId = schoolId;
+    }
+
+    public String getSchoolName() {
+        return schoolName;
+    }
+
+    public void setSchoolName(String schoolName) {
+        this.schoolName = schoolName;
+    }
+}

+ 4 - 3
mec-web/src/main/java/com/ym/mec/web/dal/entity/ClassGroup.java

@@ -38,6 +38,10 @@ public class ClassGroup {
 	@ApiModelProperty(value = "子班班级名称")
 	private String classNames;
 
+	/** 预计招生人数 */
+	@ApiModelProperty(value = "预计招生人数",hidden = true)
+	private Integer expectStudentNum;
+
 	/** 学生数 */
 	@ApiModelProperty(value = "学生数量", required = false)
 	private Integer studentNum;
@@ -56,9 +60,6 @@ public class ClassGroup {
 	@ApiModelProperty(value = "是否删除,1是 0否", required = false)
 	private YesOrNoEnum delFlag;
 
-	@ApiModelProperty(value = "预计招生学生数量", required = false)
-	private Integer expectStudentNum;
-
 	public YesOrNoEnum getDelFlag() {
 		return delFlag;
 	}

+ 46 - 46
mec-web/src/main/java/com/ym/mec/web/dal/entity/CourseSchedule.java

@@ -14,42 +14,42 @@ public class CourseSchedule {
 
 	/**  */
 	private Long id;
-
+	
 	/** 班级编号 */
-	@ApiModelProperty(value = "班级编号", required = false)
+	@ApiModelProperty(value = "班级编号",required = false)
 	private Integer classGroupId;
-
+	
 	/** 课程状态 */
-	@ApiModelProperty(value = "课程状态  NOT_START未开始,SIGN_IN已签到,SIGN_OUT已签退", required = false)
+	@ApiModelProperty(value = "课程状态  NOT_START未开始,SIGN_IN已签到,SIGN_OUT已签退",required = false)
 	private CourseStatusEnum status;
-
+	
 	/** 补贴 */
-	@ApiModelProperty(value = "补贴", required = false)
+	@ApiModelProperty(value = "补贴",required = false)
 	private long subsidy;
-
+	
 	/** 上课日期 */
-	@ApiModelProperty(value = "上课日期", required = false)
+	@ApiModelProperty(value = "上课日期",required = false)
 	private java.util.Date classDate;
-
+	
 	/** 上课时间 */
-	@ApiModelProperty(value = "上课时间", required = false)
+	@ApiModelProperty(value = "上课时间",required = false)
 	private java.util.Date startClassTime;
-
+	
 	/** 结束时间 */
-	@ApiModelProperty(value = "结束时间", required = false)
+	@ApiModelProperty(value = "结束时间",required = false)
 	private java.util.Date endClassTime;
-
+	
 	/** 上课教师 */
-	@ApiModelProperty(value = "上课教师", required = false)
+	@ApiModelProperty(value = "上课教师",required = false)
 	private Long teacherId;
-
+	
 	/** 实际上课教师 */
-	@ApiModelProperty(value = "实际上课教师", required = false)
+	@ApiModelProperty(value = "实际上课教师",required = false)
 	private Long actualTeacherId;
-
+	
 	/**  */
 	private java.util.Date createTime;
-
+	
 	/**  */
 	private java.util.Date updateTime;
 
@@ -60,16 +60,16 @@ public class CourseSchedule {
 	public void setId(Long id) {
 		this.id = id;
 	}
-
-	public Long getId() {
+	
+	public Long getId(){
 		return this.id;
 	}
-
-	public void setClassGroupId(Integer classGroupId) {
+			
+	public void setClassGroupId(Integer classGroupId){
 		this.classGroupId = classGroupId;
 	}
-
-	public Integer getClassGroupId() {
+	
+	public Integer getClassGroupId(){
 		return this.classGroupId;
 	}
 
@@ -81,35 +81,35 @@ public class CourseSchedule {
 		this.status = status;
 	}
 
-	public void setSubsidy(long subsidy) {
+	public void setSubsidy(long subsidy){
 		this.subsidy = subsidy;
 	}
-
-	public long getSubsidy() {
+	
+	public long getSubsidy(){
 		return this.subsidy;
 	}
-
-	public void setClassDate(java.util.Date classDate) {
+			
+	public void setClassDate(java.util.Date classDate){
 		this.classDate = classDate;
 	}
-
-	public java.util.Date getClassDate() {
+	
+	public java.util.Date getClassDate(){
 		return this.classDate;
 	}
-
-	public void setStartClassTime(java.util.Date startClassTime) {
+			
+	public void setStartClassTime(java.util.Date startClassTime){
 		this.startClassTime = startClassTime;
 	}
-
-	public java.util.Date getStartClassTime() {
+	
+	public java.util.Date getStartClassTime(){
 		return this.startClassTime;
 	}
-
-	public void setEndClassTime(java.util.Date endClassTime) {
+			
+	public void setEndClassTime(java.util.Date endClassTime){
 		this.endClassTime = endClassTime;
 	}
-
-	public java.util.Date getEndClassTime() {
+	
+	public java.util.Date getEndClassTime(){
 		return this.endClassTime;
 	}
 
@@ -129,19 +129,19 @@ public class CourseSchedule {
 		this.actualTeacherId = actualTeacherId;
 	}
 
-	public void setCreateTime(java.util.Date createTime) {
+	public void setCreateTime(java.util.Date createTime){
 		this.createTime = createTime;
 	}
-
-	public java.util.Date getCreateTime() {
+	
+	public java.util.Date getCreateTime(){
 		return this.createTime;
 	}
-
-	public void setUpdateTime(java.util.Date updateTime) {
+			
+	public void setUpdateTime(java.util.Date updateTime){
 		this.updateTime = updateTime;
 	}
-
-	public java.util.Date getUpdateTime() {
+	
+	public java.util.Date getUpdateTime(){
 		return this.updateTime;
 	}
 

+ 103 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/CourseScheduleTeacherSalary.java

@@ -0,0 +1,103 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(course_schedule_teacher_salary):
+ */
+public class CourseScheduleTeacherSalary {
+
+	/**  */
+	private Long id;
+	
+	/**  */
+	private Long courseScheduleId;
+	
+	/** 老师角色(主教、助教) */
+	private String teacherRole;
+	
+	/**  */
+	private Integer userId;
+	
+	/** 薪水 */
+	private long salary;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date createUpdate;
+	
+	/** 补贴 */
+	private long subsidy;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setCourseScheduleId(Long courseScheduleId){
+		this.courseScheduleId = courseScheduleId;
+	}
+	
+	public Long getCourseScheduleId(){
+		return this.courseScheduleId;
+	}
+			
+	public void setTeacherRole(String teacherRole){
+		this.teacherRole = teacherRole;
+	}
+	
+	public String getTeacherRole(){
+		return this.teacherRole;
+	}
+			
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setSalary(long salary){
+		this.salary = salary;
+	}
+	
+	public long getSalary(){
+		return this.salary;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setCreateUpdate(java.util.Date createUpdate){
+		this.createUpdate = createUpdate;
+	}
+	
+	public java.util.Date getCreateUpdate(){
+		return this.createUpdate;
+	}
+			
+	public void setSubsidy(long subsidy){
+		this.subsidy = subsidy;
+	}
+	
+	public long getSubsidy(){
+		return this.subsidy;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 70 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/HotWordsLabel.java

@@ -0,0 +1,70 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(hot_words_label):
+ */
+public class HotWordsLabel {
+
+	/**  */
+	private Integer id;
+	
+	/**  */
+	private String name;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	/**  */
+	private String delFlag;
+	
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setName(String name){
+		this.name = name;
+	}
+	
+	public String getName(){
+		return this.name;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	public void setDelFlag(String delFlag){
+		this.delFlag = delFlag;
+	}
+	
+	public String getDelFlag(){
+		return this.delFlag;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 92 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/VipGroupCategory.java

@@ -0,0 +1,92 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(vip_group_category):
+ */
+public class VipGroupCategory {
+
+	/**  */
+	private Integer id;
+	
+	/** 名称 */
+	private String name;
+	
+	/** 线上薪水 */
+	private long onlineClassesSalary;
+	
+	/** 线下薪水 */
+	private long offlineClassesSalary;
+	
+	/**  */
+	private String delFlag;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setName(String name){
+		this.name = name;
+	}
+	
+	public String getName(){
+		return this.name;
+	}
+			
+	public void setOnlineClassesSalary(long onlineClassesSalary){
+		this.onlineClassesSalary = onlineClassesSalary;
+	}
+	
+	public long getOnlineClassesSalary(){
+		return this.onlineClassesSalary;
+	}
+			
+	public void setOfflineClassesSalary(long offlineClassesSalary){
+		this.offlineClassesSalary = offlineClassesSalary;
+	}
+	
+	public long getOfflineClassesSalary(){
+		return this.offlineClassesSalary;
+	}
+			
+	public void setDelFlag(String delFlag){
+		this.delFlag = delFlag;
+	}
+	
+	public String getDelFlag(){
+		return this.delFlag;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 68 - 0
mec-web/src/main/java/com/ym/mec/web/dal/page/StudentManageAttendanceQueryInfo.java

@@ -0,0 +1,68 @@
+package com.ym.mec.web.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.web.dal.enums.StudentAttendanceStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/20
+ */
+public class StudentManageAttendanceQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "学生ID",required = false)
+    private Long studentId;
+
+    @ApiModelProperty(value = "班级类型(普通班级、合奏班级、提高课班级、VIP班级)",required = true)
+    private ClassGroupTypeEnum classGroupType;
+
+    @ApiModelProperty(value = "班级名称",required = false)
+    private String classGroupName;
+
+    @ApiModelProperty(value = "老师名称",required = false)
+    private String teacherName;
+
+    @ApiModelProperty(value = "状态(正常、旷课、请假、休学)",required = false)
+    private StudentAttendanceStatusEnum attendanceStatus;
+
+    public Long getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Long studentId) {
+        this.studentId = studentId;
+    }
+
+    public ClassGroupTypeEnum getClassGroupType() {
+        return classGroupType;
+    }
+
+    public void setClassGroupType(ClassGroupTypeEnum classGroupType) {
+        this.classGroupType = classGroupType;
+    }
+
+    public String getClassGroupName() {
+        return classGroupName;
+    }
+
+    public void setClassGroupName(String classGroupName) {
+        this.classGroupName = classGroupName;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public StudentAttendanceStatusEnum getAttendanceStatus() {
+        return attendanceStatus;
+    }
+
+    public void setAttendanceStatus(StudentAttendanceStatusEnum attendanceStatus) {
+        this.attendanceStatus = attendanceStatus;
+    }
+}

+ 79 - 0
mec-web/src/main/java/com/ym/mec/web/dal/page/StudentManageCourseQueryInfo.java

@@ -0,0 +1,79 @@
+package com.ym.mec.web.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.web.dal.enums.CourseStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/20
+ */
+public class StudentManageCourseQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "学生id",required = true)
+    private Long studentId;
+
+    @ApiModelProperty(value = "乐团ID",required = true)
+    private Long musicGroupId;
+
+    @ApiModelProperty(value = "班级类型(普通班级、合奏班级、提高课班级、VIP班级)",required = true)
+    private ClassGroupTypeEnum classGroupType;
+
+    @ApiModelProperty(value = "课程状态  NOT_START未开始,SIGN_IN已签到,SIGN_OUT已签退",required = false)
+    private CourseStatusEnum courseStatus;
+
+    @ApiModelProperty(value = "班级名称",required = false)
+    private String classGroupName;
+
+    @ApiModelProperty(value = "老师名称",required = false)
+    private String teacherName;
+
+    public Long getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Long studentId) {
+        this.studentId = studentId;
+    }
+
+    public Long getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(Long musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public ClassGroupTypeEnum getClassGroupType() {
+        return classGroupType;
+    }
+
+    public void setClassGroupType(ClassGroupTypeEnum classGroupType) {
+        this.classGroupType = classGroupType;
+    }
+
+    public CourseStatusEnum getCourseStatus() {
+        return courseStatus;
+    }
+
+    public void setCourseStatus(CourseStatusEnum courseStatus) {
+        this.courseStatus = courseStatus;
+    }
+
+    public String getClassGroupName() {
+        return classGroupName;
+    }
+
+    public void setClassGroupName(String classGroupName) {
+        this.classGroupName = classGroupName;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+}

+ 56 - 0
mec-web/src/main/java/com/ym/mec/web/dal/page/StudentManageQueryInfo.java

@@ -0,0 +1,56 @@
+package com.ym.mec.web.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.web.dal.enums.ClassGroupStudentStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/19
+ */
+public class StudentManageQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "部门ID")
+    private Long organId;
+
+    @ApiModelProperty(value = "乐团ID")
+    private Long musicGroupId;
+
+    @ApiModelProperty(value = "状态(在读、请假、退学)",required = false)
+    private ClassGroupStudentStatusEnum studentStatus;
+
+    @ApiModelProperty(value = "模糊查询字符串-用户名/电话")
+    private String queryString;
+
+    public Long getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Long organId) {
+        this.organId = organId;
+    }
+
+    public Long getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(Long musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public ClassGroupStudentStatusEnum getStudentStatus() {
+        return studentStatus;
+    }
+
+    public void setStudentStatus(ClassGroupStudentStatusEnum studentStatus) {
+        this.studentStatus = studentStatus;
+    }
+
+    public String getQueryString() {
+        return queryString;
+    }
+
+    public void setQueryString(String queryString) {
+        this.queryString = queryString;
+    }
+}

+ 11 - 0
mec-web/src/main/java/com/ym/mec/web/service/ClassGroupService.java

@@ -1,6 +1,7 @@
 package com.ym.mec.web.service;
 
 import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.dto.HighClassGroup;
 import com.ym.mec.web.dal.entity.ClassGroup;
 import com.ym.mec.web.dal.entity.ClassGroupRelation;
 import org.apache.ibatis.annotations.Param;
@@ -67,4 +68,14 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      */
     List<ClassGroup> findClassGroupByIds(String ids);
 
+
+    /**
+     * 提高班批量添加
+     * @param highClassGroupList
+     * @return
+     * @throws Exception
+     */
+    List<HighClassGroup> addHighClassGroup(List<HighClassGroup> highClassGroupList) throws Exception;
+
+
 }

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/CourseScheduleTeacherSalaryService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.CourseScheduleTeacherSalary;
+
+public interface CourseScheduleTeacherSalaryService extends BaseService<Long, CourseScheduleTeacherSalary> {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/HotWordsLabelService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.HotWordsLabel;
+
+public interface HotWordsLabelService extends BaseService<Integer, HotWordsLabel> {
+
+}

+ 53 - 0
mec-web/src/main/java/com/ym/mec/web/service/StudentManageService.java

@@ -0,0 +1,53 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.web.dal.dto.StudentManageBaseDto;
+import com.ym.mec.web.dal.dto.StudentManageBaseInfoOfMusicGroupDto;
+import com.ym.mec.web.dal.page.StudentManageAttendanceQueryInfo;
+import com.ym.mec.web.dal.page.StudentManageCourseQueryInfo;
+import com.ym.mec.web.dal.page.StudentManageQueryInfo;
+
+import java.util.List;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/19
+ */
+public interface StudentManageService {
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/19
+     * 根据员工分页获取该员工所属部门下所有学生
+     */
+    PageInfo findStudentsByOrganId(StudentManageQueryInfo queryInfo);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/20
+     * 根据学生ID获取学生基本报名信息
+     */
+    StudentManageBaseDto findStudentManageBaseInfo(Long userID);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/20
+     * 根据学生ID获取其所在的乐团
+     */
+    List<StudentManageBaseInfoOfMusicGroupDto> findStudentMusicGroupsByUserId(Long userID);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/20
+     * 获取学生排课信息
+     */
+    PageInfo findStudentCourseList(StudentManageCourseQueryInfo queryInfo);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/20
+     * 获取学生考勤记录
+     */
+    PageInfo findStudentAttendances(StudentManageAttendanceQueryInfo queryInfo);
+
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/service/TeacherDefaultMusicGroupSalaryService.java

@@ -2,7 +2,16 @@ package com.ym.mec.web.service;
 
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.web.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
 
 public interface TeacherDefaultMusicGroupSalaryService extends BaseService<Long, TeacherDefaultMusicGroupSalary> {
 
+
+    /**
+     * 获取老师对应课程类型的课酬
+     * @param userId
+     * @param classGroupType
+     * @return
+     */
+    TeacherDefaultMusicGroupSalary getTeacherSalaryByUserIdAndType(int userId,ClassGroupTypeEnum classGroupType);
 }

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/VipGroupCategoryService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.VipGroupCategory;
+
+public interface VipGroupCategoryService extends BaseService<Integer, VipGroupCategory> {
+
+}

+ 46 - 10
mec-web/src/main/java/com/ym/mec/web/service/impl/ClassGroupServiceImpl.java

@@ -1,19 +1,17 @@
 package com.ym.mec.web.service.impl;
 
-import com.ym.mec.web.dal.entity.ClassGroupRelation;
-import com.ym.mec.web.dal.entity.ClassGroupStudentMapper;
+import com.ym.mec.web.dal.dto.HighClassGroup;
+import com.ym.mec.web.dal.entity.*;
 import com.ym.mec.web.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
-import com.ym.mec.web.service.ClassGroupRelationService;
-import com.ym.mec.web.service.ClassGroupStudentMapperService;
+import com.ym.mec.web.dal.enums.TeachTypeEnum;
+import com.ym.mec.web.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.web.dal.dao.ClassGroupDao;
-import com.ym.mec.web.dal.entity.ClassGroup;
-import com.ym.mec.web.service.ClassGroupService;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
@@ -25,9 +23,14 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     private ClassGroupDao classGroupDao;
     @Autowired
     private ClassGroupRelationService classGroupRelationService;
-
     @Autowired
     private ClassGroupStudentMapperService classGroupStudentMapperService;
+    @Autowired
+    private ClassGroupTeacherMapperService classGroupTeacherMapperService;
+    @Autowired
+    private TeacherDefaultMusicGroupSalaryService teacherDefaultMusicGroupSalaryService;
+    @Autowired
+    private MusicGroupService musicGroupService;
 
     @Override
     public BaseDAO<Integer, ClassGroup> getDAO() {
@@ -92,8 +95,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     }
 
     @Override
-	@Transactional(rollbackFor = Exception.class)
-	public ClassGroup addMixClassGroup(int musicGroupId,String name, String classGroupIds) throws Exception {
+    @Transactional(rollbackFor = Exception.class)
+    public ClassGroup addMixClassGroup(int musicGroupId, String name, String classGroupIds) throws Exception {
         Date date;
         date = new Date();
 
@@ -124,7 +127,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             classGroupRelation.setCreateTime(date);
             classGroupRelationList.add(classGroupRelation);
         }
-		classGroupRelationService.classGroupRelationsInsert(classGroupRelationList);
+        classGroupRelationService.classGroupRelationsInsert(classGroupRelationList);
         return classGroup;
     }
 
@@ -133,4 +136,37 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         return classGroupDao.findClassGroupByIds(ids);
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public List<HighClassGroup> addHighClassGroup(List<HighClassGroup> highClassGroupList) throws Exception {
+        Integer musicGroupId = highClassGroupList.get(0).getMusicGroupId();
+        MusicGroup musicGroup = musicGroupService.get(musicGroupId.toString());
+        for (HighClassGroup highClassGroup : highClassGroupList) {
+            //1、插入班级信息
+            Date date;
+            date = new Date();
+            highClassGroup.setCreateTime(date);
+            highClassGroup.setUpdateTime(date);
+            highClassGroup.setType(ClassGroupTypeEnum.HIGH);
+            Long classGroupId = this.insert(highClassGroup);
+
+            //2、插入班级关联老师
+            TeacherDefaultMusicGroupSalary teacherSalary = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(highClassGroup.getUserId(), ClassGroupTypeEnum.HIGH);
+            ClassGroupTeacherMapper classGroupTeacherMapper = new ClassGroupTeacherMapper();
+            classGroupTeacherMapper.setMusicGroupId(highClassGroup.getUserId());
+            classGroupTeacherMapper.setClassGroupId(classGroupId.intValue());
+            classGroupTeacherMapper.setTeacherRole("BISHOP");
+            classGroupTeacherMapper.setUserId(highClassGroup.getUserId());
+            classGroupTeacherMapper.setSalary(teacherSalary.getMainTeacherSalary());
+            classGroupTeacherMapper.setCreateTime(date);
+            classGroupTeacherMapper.setUpdateTime(date);
+            classGroupTeacherMapperService.insert(classGroupTeacherMapper);
+
+            //3、插入班级排课信息
+
+        }
+
+        return highClassGroupList;
+    }
+
 }

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.CourseScheduleTeacherSalaryDao;
+import com.ym.mec.web.dal.entity.CourseScheduleTeacherSalary;
+import com.ym.mec.web.service.CourseScheduleTeacherSalaryService;
+
+@Service
+public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long, CourseScheduleTeacherSalary>  implements CourseScheduleTeacherSalaryService {
+	
+	@Autowired
+	private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
+
+	@Override
+	public BaseDAO<Long, CourseScheduleTeacherSalary> getDAO() {
+		return courseScheduleTeacherSalaryDao;
+	}
+	
+}

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/HotWordsLabelServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.HotWordsLabelDao;
+import com.ym.mec.web.dal.entity.HotWordsLabel;
+import com.ym.mec.web.service.HotWordsLabelService;
+
+@Service
+public class HotWordsLabelServiceImpl extends BaseServiceImpl<Integer, HotWordsLabel>  implements HotWordsLabelService {
+	
+	@Autowired
+	private HotWordsLabelDao hotWordsLabelDao;
+
+	@Override
+	public BaseDAO<Integer, HotWordsLabel> getDAO() {
+		return hotWordsLabelDao;
+	}
+	
+}

+ 111 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/StudentManageServiceImpl.java

@@ -0,0 +1,111 @@
+package com.ym.mec.web.service.impl;
+
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.web.dal.dao.StudentManageDao;
+import com.ym.mec.web.dal.dto.StudentManageBaseDto;
+import com.ym.mec.web.dal.dto.StudentManageBaseInfoOfMusicGroupDto;
+import com.ym.mec.web.dal.dto.StudentManageListDto;
+import com.ym.mec.web.dal.page.StudentManageAttendanceQueryInfo;
+import com.ym.mec.web.dal.page.StudentManageCourseQueryInfo;
+import com.ym.mec.web.dal.page.StudentManageQueryInfo;
+import com.ym.mec.web.service.StudentManageService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/19
+ */
+@Service
+public class StudentManageServiceImpl implements StudentManageService {
+
+    @Autowired
+    private StudentManageDao studentManageDao;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+    @Override
+    public PageInfo findStudentsByOrganId(StudentManageQueryInfo queryInfo) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        PageInfo<StudentManageListDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        queryInfo.setOrganId(Long.valueOf(user.getOrganId()));
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<StudentManageListDto> dataList = null;
+        int count = studentManageDao.countStudentByOrganId(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = studentManageDao.findStudentsByOrganId(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
+
+    @Override
+    public StudentManageBaseDto findStudentManageBaseInfo(Long userID) {
+        StudentManageBaseDto studentManageBaseDto = studentManageDao.findStudentBaseInfoByUserID(userID);
+        for(int i=0;i<studentManageBaseDto.getMusicGroups().size();i++){
+            String[] goodsIdList=studentManageBaseDto.getMusicGroups().get(i).getGoodsIdList().split("\\|");
+            studentManageBaseDto.getMusicGroups().get(i).setGoodsNameList(studentManageDao.findGoodsNamesByIds(goodsIdList));
+        }
+        return studentManageBaseDto;
+    }
+
+    @Override
+    public List<StudentManageBaseInfoOfMusicGroupDto> findStudentMusicGroupsByUserId(Long userID) {
+        return studentManageDao.findStudentMusicGroupsByUserId(userID);
+    }
+
+    @Override
+    public PageInfo findStudentCourseList(StudentManageCourseQueryInfo queryInfo) {
+        PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List dataList = null;
+        int count = studentManageDao.countStudentCourses(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = studentManageDao.findStudentCourseList(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
+
+    @Override
+    public PageInfo findStudentAttendances(StudentManageAttendanceQueryInfo queryInfo) {
+        PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List dataList = null;
+        int count = studentManageDao.countStudentAttendances(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = studentManageDao.findStudentAttendances(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
+}

+ 6 - 1
mec-web/src/main/java/com/ym/mec/web/service/impl/TeacherDefaultMusicGroupSalaryServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.service.impl;
 
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -19,5 +20,9 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 	public BaseDAO<Long, TeacherDefaultMusicGroupSalary> getDAO() {
 		return teacherDefaultMusicGroupSalaryDao;
 	}
-	
+
+	@Override
+    public TeacherDefaultMusicGroupSalary getTeacherSalaryByUserIdAndType(int userId,ClassGroupTypeEnum classGroupType) {
+        return teacherDefaultMusicGroupSalaryDao.getTeacherSalaryByUserIdAndType(userId, classGroupType);
+    }
 }

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/VipGroupCategoryServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.VipGroupCategoryDao;
+import com.ym.mec.web.dal.entity.VipGroupCategory;
+import com.ym.mec.web.service.VipGroupCategoryService;
+
+@Service
+public class VipGroupCategoryServiceImpl extends BaseServiceImpl<Integer, VipGroupCategory>  implements VipGroupCategoryService {
+	
+	@Autowired
+	private VipGroupCategoryDao vipGroupCategoryDao;
+
+	@Override
+	public BaseDAO<Integer, VipGroupCategory> getDAO() {
+		return vipGroupCategoryDao;
+	}
+	
+}

+ 5 - 24
mec-web/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -22,20 +22,7 @@
         <result column="complaint_status_" property="complaintStatus"/>
     </resultMap>
 
-    <resultMap type="com.ym.mec.web.dal.dto.CourseScheduleDto" id="courseScheduleDto">
-        <result column="id_" property="id"/>
-        <result column="class_group_id_" property="classGroupId"/>
-        <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="subsidy_" property="subsidy"/>
-        <result column="class_date_" property="classDate"/>
-        <result column="start_class_time_" property="startClassTime"/>
-        <result column="end_class_time_" property="endClassTime"/>
-        <result column="teacher_id_" property="teacherId"/>
-        <result column="actual_teacher_id_" property="actualTeacherId"/>
-        <result column="create_time_" property="createTime"/>
-        <result column="update_time_" property="updateTime"/>
-        <result column="teach_mode_" property="teachMode" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="complaint_status_" property="complaintStatus"/>
+    <resultMap type="com.ym.mec.web.dal.dto.CourseScheduleDto" id="courseScheduleDto" extends="CourseSchedule">
         <result column="name_" property="classGroupName"/>
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
@@ -59,16 +46,16 @@
         </selectKey>
         -->
         INSERT INTO course_schedule
-        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,teach_mode_,complaint_status_)
-        VALUES(#{id},#{classGroupId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{actualTeacherId},now(),now(),#{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{complaintStatus})
+        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_)
+        VALUES(#{id},#{classGroupId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{actualTeacherId},now(),now())
     </insert>
 
     <insert id="batchAddCourseSchedules" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
         INSERT INTO course_schedule
-        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,teach_mode_,complaint_status_)
+        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_)
         VALUE
         <foreach collection="list" item="course" separator=",">
-            (#{course.id},#{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},#{course.actualTeacherId},now(),now(),#{course.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.complaintStatus})
+            (#{course.id},#{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},#{course.actualTeacherId},now(),now())
         </foreach>
     </insert>
 
@@ -103,12 +90,6 @@
             <if test="updateTime != null">
                 update_time_ = #{updateTime},
             </if>
-            <if test="teachMode != null">
-                teach_mode_ = #{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-            </if>
-            <if test="complaintStatus != null">
-                complaint_status_ = #{complaintStatus},
-            </if>
         </set>
         WHERE id_ = #{id}
     </update>

+ 84 - 0
mec-web/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.CourseScheduleTeacherSalaryDao">
+	
+	<resultMap type="com.ym.mec.web.dal.entity.CourseScheduleTeacherSalary" id="CourseScheduleTeacherSalary">
+		<result column="id_" property="id" />
+		<result column="course_schedule_id_" property="courseScheduleId" />
+		<result column="teacher_role_" property="teacherRole" />
+		<result column="user_id_" property="userId" />
+		<result column="salary_" property="salary" />
+		<result column="create_time_" property="createTime" />
+		<result column="create_update_" property="createUpdate" />
+		<result column="subsidy_" property="subsidy" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="CourseScheduleTeacherSalary" >
+		SELECT * FROM course_schedule_teacher_salary WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="CourseScheduleTeacherSalary">
+		SELECT * FROM course_schedule_teacher_salary ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.web.dal.entity.CourseScheduleTeacherSalary" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO course_schedule_teacher_salary (id_,course_schedule_id_,teacher_role_,user_id_,salary_,create_time_,create_update_,subsidy_) VALUES(#{id},#{courseScheduleId},#{teacherRole},#{userId},#{salary},#{createTime},#{createUpdate},#{subsidy})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.web.dal.entity.CourseScheduleTeacherSalary">
+		UPDATE course_schedule_teacher_salary <set>
+<if test="userId != null">
+user_id_ = #{userId},
+</if>
+<if test="subsidy != null">
+subsidy_ = #{subsidy},
+</if>
+<if test="id != null">
+id_ = #{id},
+</if>
+<if test="courseScheduleId != null">
+course_schedule_id_ = #{courseScheduleId},
+</if>
+<if test="salary != null">
+salary_ = #{salary},
+</if>
+<if test="teacherRole != null">
+teacher_role_ = #{teacherRole},
+</if>
+<if test="createUpdate != null">
+create_update_ = #{createUpdate},
+</if>
+<if test="createTime != null">
+create_time_ = #{createTime},
+</if>
+</set> WHERE id_ = #{id} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM course_schedule_teacher_salary WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="CourseScheduleTeacherSalary" parameterType="map">
+		SELECT * FROM course_schedule_teacher_salary ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM course_schedule_teacher_salary
+	</select>
+</mapper>

+ 72 - 0
mec-web/src/main/resources/config/mybatis/HotWordsLabelMapper.xml

@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.HotWordsLabelDao">
+	
+	<resultMap type="com.ym.mec.web.dal.entity.HotWordsLabel" id="HotWordsLabel">
+		<result column="id_" property="id" />
+		<result column="name_" property="name" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+		<result column="del_flag_" property="delFlag" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="HotWordsLabel" >
+		SELECT * FROM hot_words_label WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="HotWordsLabel">
+		SELECT * FROM hot_words_label ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.web.dal.entity.HotWordsLabel" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO hot_words_label (id_,name_,create_time_,update_time_,del_flag_) VALUES(#{id},#{name},#{createTime},#{updateTime},#{delFlag})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.web.dal.entity.HotWordsLabel">
+		UPDATE hot_words_label <set>
+<if test="delFlag != null">
+del_flag_ = #{delFlag},
+</if>
+<if test="id != null">
+id_ = #{id},
+</if>
+<if test="updateTime != null">
+update_time_ = #{updateTime},
+</if>
+<if test="name != null">
+name_ = #{name},
+</if>
+<if test="createTime != null">
+create_time_ = #{createTime},
+</if>
+</set> WHERE id_ = #{id} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM hot_words_label WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="HotWordsLabel" parameterType="map">
+		SELECT * FROM hot_words_label ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM hot_words_label
+	</select>
+</mapper>

+ 255 - 0
mec-web/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ym.mec.web.dal.dao.StudentManageDao">
+
+    <resultMap id="studentManageListDto" type="com.ym.mec.web.dal.dto.StudentManageListDto">
+        <result property="userId" column="user_id_"/>
+        <result property="userName" column="username_"/>
+        <result property="phone" column="phone_"/>
+        <result property="gender" column="gender_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result property="schoolId" column="school_id_"/>
+        <result property="schoolName" column="school_name_"/>
+    </resultMap>
+
+    <resultMap id="musicGroup" type="com.ym.mec.web.dal.dto.StudentManageBaseInfoOfMusicGroupDto">
+        <result property="musicGroupId" column="music_group_id_"/>
+        <result property="musicGroupName" column="music_group_name_"/>
+        <result property="musicGroupStatus" column="music_group_status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result property="joinMusicGroupDate" column="join_date"/>
+        <result property="subjectId" column="subject_id_"/>
+        <result property="subjectName" column="subject_name_"/>
+        <result property="kitPurchaseMethod" column="kit_purchase_method_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result property="goodsIdList" column="goods_id_list_"/>
+        <result property="price" column="price_"/>
+        <result property="organId" column="organ_id_"/>
+        <result property="organName" column="organ_name_"/>
+    </resultMap>
+
+    <resultMap id="studentManageBaseInfo" type="com.ym.mec.web.dal.dto.StudentManageBaseDto" extends="studentManageListDto">
+        <result property="birthdate" column="birthdate_"/>
+        <result property="parentName" column="parents_name_"/>
+        <collection property="musicGroups" resultMap="musicGroup" javaType="list"/>
+    </resultMap>
+
+    <resultMap id="studentManageCourseListDto" type="com.ym.mec.web.dal.dto.StudentManageCourseListDto">
+        <result property="classGroupId" column="class_group_id_" />
+        <result property="classGroupName" column="class_group_name_" />
+        <result property="classGroupType" column="class_group_type_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result property="courseDate" column="course_date_" />
+        <result property="courseStatus" column="course_status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result property="teacherName" column="teacher_name_" />
+        <result property="attendanceStatus" column="status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+    </resultMap>
+
+    <sql id="queryCondition">
+        <where>
+            cgsm.user_id_ IS NOT NULL
+            <if test="organID != null">
+              AND s.organ_id_=#{organID}
+            </if>
+            <if test="musicGroupId != null">
+                and mg.id_ = #{musicGroupId}
+            </if>
+            <if test="studentStatus != null">
+                and cgsm.status_ = #{studentStatus, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
+            <if test="queryString != null">
+                and (su.username_ like CONCAT("%",#{queryString},"%")
+                    or su.phone_ like CONCAT("%",#{queryString},"%")
+                  )
+            </if>
+        </where>
+    </sql>
+
+    <select id="findStudentsByOrganId" resultMap="studentManageListDto">
+        SELECT
+            DISTINCT su.id_ user_id_,
+            su.username_,
+            su.gender_,
+            su.phone_,
+            s.id_ school_id_,
+            s.name_ school_name_
+        FROM
+            school s
+        LEFT JOIN music_group mg ON s.id_=mg.school_id_
+        LEFT JOIN class_group cg ON mg.id_=cg.music_group_id_
+        LEFT JOIN class_group_student_mapper cgsm ON cg.id_=cgsm.class_group_id_
+        LEFT JOIN sys_user su ON cgsm.user_id_=su.id_
+        <include refid="queryCondition"/>
+        ORDER BY su.id_
+        <include refid="global.limit"/>
+    </select>
+
+    <select id="countStudentByOrganId" resultType="java.lang.Integer">
+        SELECT
+            COUNT(DISTINCT su.id_)
+        FROM
+            school s
+        LEFT JOIN music_group mg ON s.id_=mg.school_id_
+        LEFT JOIN class_group cg ON mg.id_=cg.music_group_id_
+        LEFT JOIN class_group_student_mapper cgsm ON cg.id_=cgsm.class_group_id_
+        LEFT JOIN sys_user su ON cgsm.user_id_=su.id_
+        <include refid="queryCondition"/>
+    </select>
+    <select id="findStudentBaseInfoByUserID" resultMap="studentManageBaseInfo">
+      SELECT
+            su.id_ user_id_,
+            su.username_,
+            su.gender_,
+            su.birthdate_,
+            sr.parents_name_,
+            sr.parents_phone_,
+            sr.music_group_id_,
+            sr.create_time_ join_date,
+            mg.name_ music_group_name_,
+            mg.status_ music_group_status,
+            cg.id_ class_group_id_,
+            cg.name_ class_group_name_,
+            sr.subject_id_,
+            sj.name_ subject_name_,
+            sr.kit_purchase_method_,
+            spod.goods_id_list_,
+            spod.price_
+        FROM
+            sys_user su
+            LEFT JOIN student_registration sr ON su.id_ = sr.user_id_
+            LEFT JOIN class_group cg ON sr.class_group_id_=cg.id_
+            LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
+            LEFT JOIN `subject` sj ON sr.subject_id_=sj.id_
+            LEFT JOIN organization o ON mg.organ_id_ = o.id_
+            LEFT JOIN school s ON mg.school_id_ = s.id_
+            LEFT JOIN student_payment_order spo ON sr.user_id_=spo.user_id_ AND sr.music_group_id_=spo.music_group_id_
+            LEFT JOIN student_payment_order_detail spod ON spo.id_=spod.payment_order_id_
+        WHERE
+            su.id_ =#{userID}
+    </select>
+
+    <select id="findGoodsNamesByIds" resultType="string">
+      SELECT name_ FROM goods WHERE id_ IN
+      <foreach collection="ids" item="id" open="(" close=")" separator=",">
+          #{id}
+      </foreach>
+    </select>
+
+    <select id="findStudentMusicGroupsByUserId" resultMap="musicGroup">
+        SELECT
+            mg.id_ music_group_id_,
+            mg.name_ music_group_name_,
+            sr.create_time_ join_date,
+            mg.status_ music_group_status_,
+            s.name_ subject_name_,
+            sr.kit_purchase_method_,
+            cgsm.status_ student_status,
+            o.id_ organ_id_,
+            o.name_ organ_name_
+        FROM
+            student_registration sr
+        LEFT JOIN music_group mg ON sr.music_group_id_=mg.id_
+        LEFT JOIN organization o ON mg.organ_id_=o.id_
+        LEFT JOIN class_group_student_mapper cgsm ON sr.class_group_id_=cgsm.class_group_id_
+        LEFT JOIN `subject` s ON sr.subject_id_=s.id_
+        WHERE sr.user_id_=#{userID}
+    </select>
+
+    <sql id="studentManageCourseQueryCondition">
+        <where>
+            <if test="studentId!=null">
+                and cgsm.user_id_=#{studentId}
+            </if>
+            <if test="musicGroupId!=null">
+                and cg.music_group_id_=#{musicGroupId}
+            </if>
+            <if test="classGroupType!=null">
+                and cg.type_=#{classGroupType}
+            </if>
+            <if test="courseStatus!=null">
+                and cs.status_=#{courseStatus}
+            </if>
+            <if test="classGroupName!=null">
+                and cg.name_ like CONCAT("%",#{classGroupName},"%")
+            </if>
+            <if test="teacherName!=null">
+                and su.username_ like CONCAT("%",#{teacherName},"%")
+            </if>
+        </where>
+    </sql>
+
+    <select id="findStudentCourseList" resultMap="studentManageCourseListDto">
+        SELECT
+            cg.id_ class_group_id_,
+            cg.name_ class_group_name_,
+            cg.type_ class_group_type_,
+            CONCAT(cs.class_date_," ",cs.start_class_time_) course_date_,
+            cs.status_ course_status_,
+            su.username_ teacher_name_
+        FROM
+            class_group cg
+            LEFT JOIN class_group_student_mapper cgsm ON cg.id_=cgsm.class_group_id_
+            LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
+            LEFT JOIN sys_user su ON cs.teacher_id_=su.id_
+        <include refid="studentManageCourseQueryCondition"/>
+        ORDER BY course_date_
+        <include refid="global.limit"/>
+    </select>
+
+    <select id="countStudentCourses" resultType="int">
+        SELECT
+        count(*)
+        FROM
+        class_group cg
+        LEFT JOIN class_group_student_mapper cgsm ON cg.id_=cgsm.class_group_id_
+        LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
+        LEFT JOIN sys_user su ON cs.teacher_id_=su.id_
+        <include refid="studentManageCourseQueryCondition"/>
+    </select>
+
+    <sql id="studentManageAttendanceQueryCondition">
+        <where>
+            <if test="studentId!=null">
+                and sa.user_id_=#{studentId}
+            </if>
+            <if test="classGroupType!=null">
+                and cg.type_=#{classGroupType}
+            </if>
+            <if test="attendanceStatus!=null">
+                and cs.status_=#{attendanceStatus}
+            </if>
+            <if test="classGroupName!=null">
+                and cg.name_ like CONCAT("%",#{classGroupName},"%")
+            </if>
+            <if test="teacherName!=null">
+                and sa.status_ like CONCAT("%",#{teacherName},"%")
+            </if>
+        </where>
+    </sql>
+
+    <select id="findStudentAttendances" resultMap="studentManageCourseListDto">
+        SELECT
+            cg.id_ class_group_id_,
+            cg.name_ class_group_name_,
+            cg.type_ class_group_type_,
+            CONCAT(cs.class_date_," ",cs.start_class_time_) course_date_,
+            su.username_ teacher_name_,
+            sa.status_
+        FROM
+            student_attendance sa
+            LEFT JOIN class_group cg ON sa.class_group_id_=cg.id_
+            LEFT JOIN course_schedule cs ON sa.course_schedule_id_=cs.id_
+            LEFT JOIN sys_user su ON sa.teacher_id_=su.id_
+        <include refid="studentManageAttendanceQueryCondition"/>
+        ORDER BY sa.id_
+        <include refid="global.limit"/>
+    </select>
+
+    <select id="countStudentAttendances" resultType="int">
+        SELECT
+        count(*)
+        FROM
+        student_attendance sa
+        LEFT JOIN class_group cg ON sa.class_group_id_=cg.id_
+        LEFT JOIN course_schedule cs ON sa.course_schedule_id_=cs.id_
+        LEFT JOIN sys_user su ON sa.teacher_id_=su.id_
+        <include refid="studentManageAttendanceQueryCondition"/>
+    </select>
+
+</mapper>

+ 5 - 0
mec-web/src/main/resources/config/mybatis/TeacherDefaultMusicGroupSalaryMapper.xml

@@ -88,4 +88,9 @@
 		SELECT COUNT(*) FROM
 		teacher_default_music_group_salary
 	</select>
+
+	<!-- 根据user_id 获取老师的默认薪酬 -->
+	<select id="getTeacherSalaryByUserIdAndType" resultMap="TeacherDefaultMusicGroupSalary">
+		SELECT * FROM teacher_default_music_group_salary WHERE user_id_=#{userId} AND class_group_type_ = #{classGroupType}
+	</select>
 </mapper>

+ 80 - 0
mec-web/src/main/resources/config/mybatis/VipGroupCategoryMapper.xml

@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.VipGroupCategoryDao">
+	
+	<resultMap type="com.ym.mec.web.dal.entity.VipGroupCategory" id="VipGroupCategory">
+		<result column="id_" property="id" />
+		<result column="name_" property="name" />
+		<result column="online_classes_salary_" property="onlineClassesSalary" />
+		<result column="offline_classes_salary_" property="offlineClassesSalary" />
+		<result column="del_flag_" property="delFlag" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="VipGroupCategory" >
+		SELECT * FROM vip_group_category WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="VipGroupCategory">
+		SELECT * FROM vip_group_category ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.web.dal.entity.VipGroupCategory" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO vip_group_category (id_,name_,online_classes_salary_,offline_classes_salary_,del_flag_,create_time_,update_time_) VALUES(#{id},#{name},#{onlineClassesSalary},#{offlineClassesSalary},#{delFlag},#{createTime},#{updateTime})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.web.dal.entity.VipGroupCategory">
+		UPDATE vip_group_category <set>
+<if test="delFlag != null">
+del_flag_ = #{delFlag},
+</if>
+<if test="id != null">
+id_ = #{id},
+</if>
+<if test="onlineClassesSalary != null">
+online_classes_salary_ = #{onlineClassesSalary},
+</if>
+<if test="updateTime != null">
+update_time_ = #{updateTime},
+</if>
+<if test="offlineClassesSalary != null">
+offline_classes_salary_ = #{offlineClassesSalary},
+</if>
+<if test="name != null">
+name_ = #{name},
+</if>
+<if test="createTime != null">
+create_time_ = #{createTime},
+</if>
+</set> WHERE id_ = #{id} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM vip_group_category WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="VipGroupCategory" parameterType="map">
+		SELECT * FROM vip_group_category ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM vip_group_category
+	</select>
+</mapper>