zouxuan vor 5 Jahren
Ursprung
Commit
b5c9d9b7da

+ 12 - 4
mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

@@ -5,6 +5,7 @@ import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.web.dal.entity.Teacher;
 import com.ym.mec.web.dal.page.TeacherCourseQueryInfo;
 import com.ym.mec.web.dal.page.TeacherQueryInfo;
+import com.ym.mec.web.dal.page.VipClassQueryInfo;
 import com.ym.mec.web.service.ClassGroupService;
 import com.ym.mec.web.service.TeacherService;
 import io.swagger.annotations.Api;
@@ -66,9 +67,16 @@ public class TeacherController extends BaseController {
         return succeed(classGroupService.findClassGroup4Teacher(id));
     }
 
-    @ApiOperation(value = "获取老师课程信息列表")
-    @GetMapping("/getTeaCourseInfos")
-    public Object getTeaCourseInfos(QueryInfo queryInfo){
-        return succeed(classGroupService.getTeaCourseInfos(queryInfo));
+    @ApiOperation(value = "获取老师乐团课程信息列表")
+    @GetMapping("/getTeacherMusicClass")
+    @ApiParam(value = "教师编号", required = true)
+    public Object getTeacherMusicClass(Integer teacherId){
+        return succeed(classGroupService.getTeacherMusicClass(teacherId));
+    }
+
+    @ApiOperation(value = "获取老师VIP课程信息列表")
+    @GetMapping("/getTeacherVipClass")
+    public Object getTeacherVipClass(VipClassQueryInfo queryInfo){
+        return succeed(classGroupService.getTeacherVipClass(queryInfo));
     }
 }

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

@@ -1,10 +1,13 @@
 package com.ym.mec.web.dal.dao;
 
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.dto.TeacherMusicClassInfoDto;
+import com.ym.mec.web.dal.dto.TeacherVipClassInfoDto;
 import com.ym.mec.web.dal.entity.ClassGroup;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
@@ -55,6 +58,24 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      */
     List<ClassGroup> findClassGroupByIds(@Param("ids") String ids);
 
-    void queryGroupCourses();
+    /**
+     * 根据教师编号获取教师所在乐团,带了哪些班级
+     * @param userId
+     * @return
+     */
+    List<TeacherMusicClassInfoDto> queryGroupCourses(Integer userId);
+
+    /**
+     * 获取老师VIP课程信息列表
+     * @param params
+     * @return
+     */
+    List<TeacherVipClassInfoDto> getTeacherVipClass(Map<String, Object> params);
 
+    /**
+     * count老师VIP课程信息列表
+     * @param params
+     * @return
+     */
+    int countTeacherVipClass(Map<String, Object> params);
 }

+ 88 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/TeacherMusicClassInfoDto.java

@@ -0,0 +1,88 @@
+package com.ym.mec.web.dal.dto;
+
+import com.ym.mec.web.dal.enums.JobNatureEnum;
+import com.ym.mec.web.dal.enums.MusicGroupStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.List;
+
+/**
+ * 老师乐团课程信息
+ */
+public class TeacherMusicClassInfoDto {
+    @ApiModelProperty(value = "乐团编号", required = false)
+    private String musicGroupId;
+
+    @ApiModelProperty(value = "乐团名称", required = false)
+    private String musicGroupName;
+
+    @ApiModelProperty(value = "全职、兼职类型", required = false)
+    private JobNatureEnum jobNature;
+
+    @ApiModelProperty(value = "教务老师编号", required = false)
+    private Integer educationalTeacherId;
+
+    @ApiModelProperty(value = "运营主管编号", required = false)
+    private Integer teamTeacherId;
+
+    @ApiModelProperty(value = "执教班级名称", required = false)
+    private List<String> classGroupNames;
+
+    @ApiModelProperty(value = "乐团状态",required = false)
+    private MusicGroupStatusEnum status;
+
+    public String getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(String musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public String getMusicGroupName() {
+        return musicGroupName;
+    }
+
+    public void setMusicGroupName(String musicGroupName) {
+        this.musicGroupName = musicGroupName;
+    }
+
+    public JobNatureEnum getJobNature() {
+        return jobNature;
+    }
+
+    public void setJobNature(JobNatureEnum jobNature) {
+        this.jobNature = jobNature;
+    }
+
+    public Integer getEducationalTeacherId() {
+        return educationalTeacherId;
+    }
+
+    public void setEducationalTeacherId(Integer educationalTeacherId) {
+        this.educationalTeacherId = educationalTeacherId;
+    }
+
+    public Integer getTeamTeacherId() {
+        return teamTeacherId;
+    }
+
+    public void setTeamTeacherId(Integer teamTeacherId) {
+        this.teamTeacherId = teamTeacherId;
+    }
+
+    public List<String> getClassGroupNames() {
+        return classGroupNames;
+    }
+
+    public void setClassGroupNames(List<String> classGroupNames) {
+        this.classGroupNames = classGroupNames;
+    }
+
+    public MusicGroupStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(MusicGroupStatusEnum status) {
+        this.status = status;
+    }
+}

+ 115 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/TeacherVipClassInfoDto.java

@@ -0,0 +1,115 @@
+package com.ym.mec.web.dal.dto;
+
+import com.ym.mec.web.dal.enums.AuditStatusEnum;
+import com.ym.mec.web.dal.enums.CourseStatusEnum;
+import com.ym.mec.web.dal.enums.JobNatureEnum;
+import com.ym.mec.web.dal.enums.MusicGroupStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 老师Vip课程信息
+ */
+public class TeacherVipClassInfoDto {
+    @ApiModelProperty(value = "Vip课编号", required = false)
+    private Integer vipClassId;
+
+    @ApiModelProperty(value = "Vip课名称",required = false)
+    private String vipClassName;
+
+    @ApiModelProperty(value = "课程状态",required = false)
+    private CourseStatusEnum status;
+
+    @ApiModelProperty(value = "审核状态",required = false)
+    private AuditStatusEnum auditStatus;
+
+    @ApiModelProperty(value = "班级人数",required = false)
+    private Integer studentNum;
+
+    @ApiModelProperty(value = "课程单价",required = false)
+    private BigDecimal vipClassFee;
+
+    @ApiModelProperty(value = "开课时间",required = false)
+    private Date paymentExpireDate;
+
+    @ApiModelProperty(value = "截止时间",required = false)
+    private Date coursesExpireDate;
+
+    @ApiModelProperty(value = "申请时间",required = false)
+    private Date createDate;
+
+    public Integer getVipClassId() {
+        return vipClassId;
+    }
+
+    public void setVipClassId(Integer vipClassId) {
+        this.vipClassId = vipClassId;
+    }
+
+    public String getVipClassName() {
+        return vipClassName;
+    }
+
+    public void setVipClassName(String vipClassName) {
+        this.vipClassName = vipClassName;
+    }
+
+    public CourseStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(CourseStatusEnum status) {
+        this.status = status;
+    }
+
+    public AuditStatusEnum getAuditStatus() {
+        return auditStatus;
+    }
+
+    public void setAuditStatus(AuditStatusEnum auditStatus) {
+        this.auditStatus = auditStatus;
+    }
+
+    public Integer getStudentNum() {
+        return studentNum;
+    }
+
+    public void setStudentNum(Integer studentNum) {
+        this.studentNum = studentNum;
+    }
+
+    public BigDecimal getVipClassFee() {
+        return vipClassFee;
+    }
+
+    public void setVipClassFee(BigDecimal vipClassFee) {
+        this.vipClassFee = vipClassFee;
+    }
+
+    public Date getPaymentExpireDate() {
+        return paymentExpireDate;
+    }
+
+    public void setPaymentExpireDate(Date paymentExpireDate) {
+        this.paymentExpireDate = paymentExpireDate;
+    }
+
+    public Date getCoursesExpireDate() {
+        return coursesExpireDate;
+    }
+
+    public void setCoursesExpireDate(Date coursesExpireDate) {
+        this.coursesExpireDate = coursesExpireDate;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+}

+ 11 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/VipGroup.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.dal.entity;
 
+import com.ym.mec.web.dal.enums.AuditStatusEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
@@ -53,6 +54,16 @@ public class VipGroup {
 	@ApiModelProperty(value = "线下课课时数", required = false)
 	private Integer offlineClassesNum;
 
+	private AuditStatusEnum auditStatus;
+
+	public AuditStatusEnum getAuditStatus() {
+		return auditStatus;
+	}
+
+	public void setAuditStatus(AuditStatusEnum auditStatus) {
+		this.auditStatus = auditStatus;
+	}
+
 	public String getName() {
 		return name;
 	}

+ 19 - 0
mec-web/src/main/java/com/ym/mec/web/dal/page/VipClassQueryInfo.java

@@ -0,0 +1,19 @@
+package com.ym.mec.web.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+public class VipClassQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "教师编号")
+    private Integer teacherId;
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+}

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

@@ -1,11 +1,15 @@
 package com.ym.mec.web.service;
 
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.web.dal.dto.HighClassGroup;
+import com.ym.mec.web.dal.dto.TeacherMusicClassInfoDto;
+import com.ym.mec.web.dal.dto.TeacherVipClassInfoDto;
 import com.ym.mec.web.dal.entity.ClassGroup;
 import com.ym.mec.web.dal.entity.ClassGroupRelation;
 import com.ym.mec.web.dal.page.TeacherCourseQueryInfo;
+import com.ym.mec.web.dal.page.VipClassQueryInfo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.data.domain.Page;
 
@@ -81,9 +85,16 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
     List<HighClassGroup> addHighClassGroup(List<HighClassGroup> highClassGroupList) throws Exception;
 
     /**
-     * 获取老师课程信息列表
+     * 获取老师乐团课程信息列表
+     * @param teacherId
+     * @return
+     */
+    List<TeacherMusicClassInfoDto> getTeacherMusicClass(Integer teacherId);
+
+    /**
+     * 获取老师VIP课程信息列表
      * @param queryInfo
      * @return
      */
-    Object getTeaCourseInfos(QueryInfo queryInfo);
+    PageInfo<TeacherVipClassInfoDto> getTeacherVipClass(VipClassQueryInfo queryInfo);
 }

+ 43 - 27
mec-web/src/main/java/com/ym/mec/web/service/impl/ClassGroupServiceImpl.java

@@ -1,32 +1,24 @@
 package com.ym.mec.web.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
 import com.ym.mec.common.dal.BaseDAO;
-import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.web.dal.dao.ClassGroupDao;
+import com.ym.mec.web.dal.dao.TeacherDao;
 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 com.ym.mec.web.dal.entity.ClassGroupStudentMapper;
-import com.ym.mec.web.dal.entity.ClassGroupTeacherMapper;
-import com.ym.mec.web.dal.entity.MusicGroup;
-import com.ym.mec.web.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.web.dal.dto.TeacherMusicClassInfoDto;
+import com.ym.mec.web.dal.dto.TeacherVipClassInfoDto;
+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.ClassGroupService;
-import com.ym.mec.web.service.ClassGroupStudentMapperService;
-import com.ym.mec.web.service.ClassGroupTeacherMapperService;
-import com.ym.mec.web.service.MusicGroupService;
-import com.ym.mec.web.service.TeacherDefaultMusicGroupSalaryService;
+import com.ym.mec.web.dal.page.VipClassQueryInfo;
+import com.ym.mec.web.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
 
 @Service
 public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup> implements ClassGroupService {
@@ -34,6 +26,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     @Autowired
     private ClassGroupDao classGroupDao;
     @Autowired
+    private TeacherDao teacherDao;
+    @Autowired
     private ClassGroupRelationService classGroupRelationService;
     @Autowired
     private ClassGroupStudentMapperService classGroupStudentMapperService;
@@ -173,18 +167,40 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             classGroupTeacherMapper.setCreateTime(date);
             classGroupTeacherMapper.setUpdateTime(date);
             classGroupTeacherMapperService.insert(classGroupTeacherMapper);
-
             //3、插入班级排课信息
-
         }
-
         return highClassGroupList;
     }
 
     @Override
-    public Object getTeaCourseInfos(QueryInfo queryInfo) {
-        classGroupDao.queryGroupCourses();
-        return null;
+    public List<TeacherMusicClassInfoDto> getTeacherMusicClass(Integer teacherId) {
+        List<TeacherMusicClassInfoDto> teacherMusicClassInfoDtos = classGroupDao.queryGroupCourses(teacherId);
+        Teacher teacher = teacherDao.get(teacherId);
+        if(teacher == null){
+            return null;
+        }
+        teacherMusicClassInfoDtos.forEach(e->{
+            e.setJobNature(teacher.getJobNature());
+        });
+        return teacherMusicClassInfoDtos;
     }
 
+    @Override
+    public PageInfo<TeacherVipClassInfoDto> getTeacherVipClass(VipClassQueryInfo queryInfo) {
+        PageInfo<TeacherVipClassInfoDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+        List<TeacherVipClassInfoDto> dataList = null;
+        int count = classGroupDao.countTeacherVipClass(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = classGroupDao.getTeacherVipClass(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

+ 44 - 1
mec-web/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -175,7 +175,50 @@
     <select id="findClassGroupByIds" resultMap="ClassGroup">
         SELECT * FROM class_group WHERE FIND_IN_SET(id_,#{ids})
     </select>
-    <select id="queryGroupCourses">
 
+    <resultMap type="com.ym.mec.web.dal.dto.TeacherMusicClassInfoDto" id="getTeaCourseInfosMap">
+        <result column="music_group_id_" property="musicGroupId"/>
+        <result column="music_group_name_" property="musicGroupName"/>
+        <!--<result column="job_nature_" property="jobNature" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>-->
+        <result column="educational_teacher_id_" property="educationalTeacherId"/>
+        <result column="team_teacher_id_" property="teamTeacherId"/>
+        <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <collection property="classGroupNames" javaType="java.lang.String" column="class_group_name_"/>
+    </resultMap>
+    <select id="queryGroupCourses" resultMap="getTeaCourseInfosMap">
+        SELECT mg.id_ music_group_id_,mg.name_ music_group_name_,
+        mg.team_teacher_id_,mg.educational_teacher_id_,cg.name_ class_group_name_,mg.status_
+        FROM class_group_teacher_mapper cgtm
+        LEFT JOIN music_group mg ON cgtm.music_group_id_ = mg.id_
+        LEFT JOIN class_group cg ON cg.id_ = cgtm.class_group_id_
+        WHERE cgtm.user_id_ = #{userId}
+    </select>
+
+
+    <resultMap type="com.ym.mec.web.dal.dto.TeacherVipClassInfoDto" id="getTeacherVipClassMap">
+        <result column="price_" property="vipClassFee"/>
+        <result column="vip_group_id_" property="vipClassId"/>
+        <result column="student_num_" property="studentNum"/>
+        <result column="courses_expire_date_" property="coursesExpireDate"/>
+        <result column="payment_expire_date_" property="paymentExpireDate"/>
+        <result column="create_time_" property="createDate"/>
+        <result column="vip_group_name_" property="vipClassName"/>
+        <result column="audit_status_" property="auditStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+    </resultMap>
+    <select id="getTeacherVipClass" resultMap="getTeacherVipClassMap">
+        SELECT vg.id_ vip_group_id_,vg.name_ vip_group_name_,vg.audit_status_,cs.status_,
+        cg.student_num_,vg.price_,vg.payment_expire_date_,vg.courses_expire_date_,vg.create_time_
+        FROM vip_group vg
+        LEFT JOIN sys_user su ON vg.user_id_ = su.id_
+        LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_ = vgcgm.vip_group_id_
+        LEFT JOIN class_group cg ON vgcgm.class_group_id_ = cg.id_
+        LEFT JOIN course_schedule cs ON cg.id_ = cs.class_group_id_
+        WHERE vg.user_id_ = #{teacherId}
+        <include refid="global.limit"/>
+    </select>
+    <select id="countTeacherVipClass" resultType="java.lang.Integer">
+        SELECT COUNT(vg.id_) FROM vip_group vg
+        WHERE vg.user_id_ = #{teacherId}
     </select>
 </mapper>

+ 1 - 1
mec-web/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -52,7 +52,7 @@
         FROM teacher t
         LEFT JOIN sys_user su ON t.id_ = su.id_
         LEFT JOIN organization o ON t.organ_id_ = o.id_
-        WHERE t.user_id_ = #{userId} AND o.del_flag_ = 0
+        WHERE t.id_ = #{userId} AND o.del_flag_ = 0
 	</select>
 
     <!-- 全查询 -->

+ 4 - 0
mec-web/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -18,6 +18,7 @@
         <result column="teacher_school_id_" property="teacherSchoolId"/>
         <result column="online_classes_num_" property="onlineClassesNum"/>
         <result column="offline_classes_num_" property="offlineClassesNum"/>
+        <result column="audit_status_" property="auditStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
 
     <resultMap id="studentManageVipGroup" type="com.ym.mec.web.dal.dto.StudentManageVipGroupDto" extends="VipGroup">
@@ -90,6 +91,9 @@
             <if test="registrationStartTime != null">
                 registration_start_time_ = #{registrationStartTime},
             </if>
+            <if test="auditStatus != null">
+                audit_status_ = #{auditStatus,typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>