浏览代码

Merge remote-tracking branch 'origin/master'

Joburgess 5 年之前
父节点
当前提交
1570cfd494
共有 21 个文件被更改,包括 545 次插入35 次删除
  1. 15 0
      mec-education/src/main/java/com/ym/mec/education/controller/TeacherController.java
  2. 61 22
      mec-education/src/main/java/com/ym/mec/education/entity/DemoGroupCoursesPlan.java
  3. 128 0
      mec-education/src/main/java/com/ym/mec/education/entity/VipGroupDefaultClassesCycle.java
  4. 1 1
      mec-education/src/main/java/com/ym/mec/education/mapper/DemoGroupMapper.java
  5. 1 1
      mec-education/src/main/java/com/ym/mec/education/mapper/VipGroupCategoryMapper.java
  6. 16 0
      mec-education/src/main/java/com/ym/mec/education/mapper/VipGroupDefaultClassesCycleMapper.java
  7. 2 0
      mec-education/src/main/java/com/ym/mec/education/req/TeacherReq.java
  8. 56 0
      mec-education/src/main/java/com/ym/mec/education/resp/TeacherDetailResp.java
  9. 28 0
      mec-education/src/main/java/com/ym/mec/education/resp/VipGroupClassResp.java
  10. 1 1
      mec-education/src/main/java/com/ym/mec/education/service/IDemoGroupService.java
  11. 5 0
      mec-education/src/main/java/com/ym/mec/education/service/ITeacherService.java
  12. 1 1
      mec-education/src/main/java/com/ym/mec/education/service/IVipGroupCategoryService.java
  13. 16 0
      mec-education/src/main/java/com/ym/mec/education/service/IVipGroupDefaultClassesCycleService.java
  14. 1 1
      mec-education/src/main/java/com/ym/mec/education/service/impl/DemoGroupServiceImpl.java
  15. 150 3
      mec-education/src/main/java/com/ym/mec/education/service/impl/TeacherServiceImpl.java
  16. 1 1
      mec-education/src/main/java/com/ym/mec/education/service/impl/VipGroupCategoryServiceImpl.java
  17. 20 0
      mec-education/src/main/java/com/ym/mec/education/service/impl/VipGroupDefaultClassesCycleServiceImpl.java
  18. 15 1
      mec-education/src/main/java/com/ym/mec/education/utils/DateUtil.java
  19. 1 1
      mec-education/src/main/java/test/MpGenerator.java
  20. 5 2
      mec-education/src/main/resources/mapper/DemoGroupCoursesPlanMapper.xml
  21. 21 0
      mec-education/src/main/resources/mapper/VipGroupDefaultClassesCycleMapper.xml

+ 15 - 0
mec-education/src/main/java/com/ym/mec/education/controller/TeacherController.java

@@ -53,4 +53,19 @@ public class TeacherController {
 
         return teacherService.teacherList(req);
     }
+
+    @PostMapping(value = "/teacherDetail")
+    public BaseResponse teacherDetail(@RequestBody TeacherReq req) {
+        return teacherService.teacherDetail(req);
+    }
+
+    /**
+     *
+     * @return
+     */
+    @PostMapping(value = "/teacherVipClass")
+    public PageResponse teacherVipClass(@RequestBody TeacherReq req){
+
+        return null;
+    }
 }

+ 61 - 22
mec-education/src/main/java/com/ym/mec/education/entity/DemoGroupCoursesPlan.java

@@ -1,12 +1,12 @@
 package com.ym.mec.education.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import java.io.Serializable;
+import com.baomidou.mybatisplus.enums.IdType;
 import java.util.Date;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.activerecord.Model;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
 
 /**
  * <p>
@@ -14,7 +14,7 @@ import java.util.Date;
  * </p>
  *
  * @author lemeng
- * @since 2019-09-25
+ * @since 2019-09-30
  */
 @TableName("demo_group_courses_plan")
 public class DemoGroupCoursesPlan extends Model<DemoGroupCoursesPlan> {
@@ -25,10 +25,19 @@ public class DemoGroupCoursesPlan extends Model<DemoGroupCoursesPlan> {
     private Long id;
     @TableField("demo_group_id_")
     private Long demoGroupId;
-    @TableField("courses_start_time_")
-    private Date coursesStartTime;
     @TableField("create_time_")
     private Date createTime;
+    /**
+     * 是否被预约:0未预约;1已预约
+     */
+    @TableField("status_")
+    private Integer status;
+    @TableField("course_date_")
+    private Date courseDate;
+    @TableField("start_time_")
+    private Date startTime;
+    @TableField("end_time_")
+    private Date endTime;
 
 
     public Long getId() {
@@ -49,21 +58,48 @@ public class DemoGroupCoursesPlan extends Model<DemoGroupCoursesPlan> {
         return this;
     }
 
-    public Date getCoursesStartTime() {
-        return coursesStartTime;
+    public Date getCreateTime() {
+        return createTime;
     }
 
-    public DemoGroupCoursesPlan setCoursesStartTime(Date coursesStartTime) {
-        this.coursesStartTime = coursesStartTime;
+    public DemoGroupCoursesPlan setCreateTime(Date createTime) {
+        this.createTime = createTime;
         return this;
     }
 
-    public Date getCreateTime() {
-        return createTime;
+    public Integer getStatus() {
+        return status;
     }
 
-    public DemoGroupCoursesPlan setCreateTime(Date createTime) {
-        this.createTime = createTime;
+    public DemoGroupCoursesPlan setStatus(Integer status) {
+        this.status = status;
+        return this;
+    }
+
+    public Date getCourseDate() {
+        return courseDate;
+    }
+
+    public DemoGroupCoursesPlan setCourseDate(Date courseDate) {
+        this.courseDate = courseDate;
+        return this;
+    }
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public DemoGroupCoursesPlan setStartTime(Date startTime) {
+        this.startTime = startTime;
+        return this;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public DemoGroupCoursesPlan setEndTime(Date endTime) {
+        this.endTime = endTime;
         return this;
     }
 
@@ -75,10 +111,13 @@ public class DemoGroupCoursesPlan extends Model<DemoGroupCoursesPlan> {
     @Override
     public String toString() {
         return "DemoGroupCoursesPlan{" +
-        ", id=" + id +
-        ", demoGroupId=" + demoGroupId +
-        ", coursesStartTime=" + coursesStartTime +
-        ", createTime=" + createTime +
-        "}";
+                ", id=" + id +
+                ", demoGroupId=" + demoGroupId +
+                ", createTime=" + createTime +
+                ", status=" + status +
+                ", courseDate=" + courseDate +
+                ", startTime=" + startTime +
+                ", endTime=" + endTime +
+                "}";
     }
 }

+ 128 - 0
mec-education/src/main/java/com/ym/mec/education/entity/VipGroupDefaultClassesCycle.java

@@ -0,0 +1,128 @@
+package com.ym.mec.education.entity;
+
+import java.util.Date;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.activerecord.Model;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * vip课默认课程周期
+ * </p>
+ *
+ * @author lemeng
+ * @since 2019-10-02
+ */
+@TableName("vip_group_default_classes_cycle")
+public class VipGroupDefaultClassesCycle extends Model<VipGroupDefaultClassesCycle> {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("id_")
+    private Integer id;
+    /**
+     * 最小课次
+     */
+    @TableField("min_class_times_")
+    private Integer minClassTimes;
+    /**
+     * 最大课次
+     */
+    @TableField("max_class_times_")
+    private Integer maxClassTimes;
+    /**
+     * 最大排课范围(月份)
+     */
+    @TableField("month_")
+    private Integer month;
+    @TableField("create_time_")
+    private Date createTime;
+    @TableField("update_time_")
+    private Date updateTime;
+    @TableField("organ_id_")
+    private Integer organId;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public VipGroupDefaultClassesCycle setId(Integer id) {
+        this.id = id;
+        return this;
+    }
+
+    public Integer getMinClassTimes() {
+        return minClassTimes;
+    }
+
+    public VipGroupDefaultClassesCycle setMinClassTimes(Integer minClassTimes) {
+        this.minClassTimes = minClassTimes;
+        return this;
+    }
+
+    public Integer getMaxClassTimes() {
+        return maxClassTimes;
+    }
+
+    public VipGroupDefaultClassesCycle setMaxClassTimes(Integer maxClassTimes) {
+        this.maxClassTimes = maxClassTimes;
+        return this;
+    }
+
+    public Integer getMonth() {
+        return month;
+    }
+
+    public VipGroupDefaultClassesCycle setMonth(Integer month) {
+        this.month = month;
+        return this;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public VipGroupDefaultClassesCycle setCreateTime(Date createTime) {
+        this.createTime = createTime;
+        return this;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public VipGroupDefaultClassesCycle setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+        return this;
+    }
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public VipGroupDefaultClassesCycle setOrganId(Integer organId) {
+        this.organId = organId;
+        return this;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "VipGroupDefaultClassesCycle{" +
+        ", id=" + id +
+        ", minClassTimes=" + minClassTimes +
+        ", maxClassTimes=" + maxClassTimes +
+        ", month=" + month +
+        ", createTime=" + createTime +
+        ", updateTime=" + updateTime +
+        ", organId=" + organId +
+        "}";
+    }
+}

+ 1 - 1
mec-education/src/main/java/com/ym/mec/education/mapper/DemoGroupMapper.java

@@ -1,6 +1,6 @@
 package com.ym.mec.education.mapper;
 
-import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ym.mec.education.entity.DemoGroup;
 
 /**

+ 1 - 1
mec-education/src/main/java/com/ym/mec/education/mapper/VipGroupCategoryMapper.java

@@ -1,7 +1,7 @@
 package com.ym.mec.education.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ym.mec.education.entity.VipGroupCategory;
-import com.baomidou.mybatisplus.mapper.BaseMapper;
 
 /**
  * <p>

+ 16 - 0
mec-education/src/main/java/com/ym/mec/education/mapper/VipGroupDefaultClassesCycleMapper.java

@@ -0,0 +1,16 @@
+package com.ym.mec.education.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ym.mec.education.entity.VipGroupDefaultClassesCycle;
+
+/**
+ * <p>
+ * vip课默认课程周期 Mapper 接口
+ * </p>
+ *
+ * @author lemeng
+ * @since 2019-10-02
+ */
+public interface VipGroupDefaultClassesCycleMapper extends BaseMapper<VipGroupDefaultClassesCycle> {
+
+}

+ 2 - 0
mec-education/src/main/java/com/ym/mec/education/req/TeacherReq.java

@@ -14,4 +14,6 @@ import lombok.ToString;
 public class TeacherReq extends BaseQuery {
 
     private String name;
+
+    private Integer userId;
 }

+ 56 - 0
mec-education/src/main/java/com/ym/mec/education/resp/TeacherDetailResp.java

@@ -0,0 +1,56 @@
+package com.ym.mec.education.resp;
+
+import lombok.Data;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @version V1.0
+ * @Description: TODO
+ * @date Date : 2019年09月29日 13:45
+ */
+@Data
+@ToString
+public class TeacherDetailResp implements Serializable {
+
+    private Integer userId;
+
+    private String name;
+
+    private String avatar;
+
+    private List<String> subjectName;
+
+    private List<String> className;
+
+    private Integer vipClassNum;
+
+    private Integer groupClassNum;
+
+    private List<InnerDemoGroup> demoGroups;
+
+    private Integer countNum;
+
+    private Integer hourCount;
+
+    @Data
+    public static class InnerDemoGroup{
+        private String dateStr;
+
+        private String week;
+
+        private List<DemoGroupPlan> demoGroupPlans;
+
+
+    }
+
+    @Data
+    public static  class DemoGroupPlan{
+
+        private String startTime;
+
+        private String endTime;
+    }
+}

+ 28 - 0
mec-education/src/main/java/com/ym/mec/education/resp/VipGroupClassResp.java

@@ -0,0 +1,28 @@
+package com.ym.mec.education.resp;
+
+import lombok.Data;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author : chengp
+ * @version V1.0
+ * @Description: TODO
+ * @date Date : 2019年10月02日 15:22
+ */
+@Data
+@ToString
+public class VipGroupClassResp implements Serializable {
+
+    private String vipGroupName;
+
+    private String vipClassType;
+
+    private String classNum;
+
+    private String longTime;
+
+    private List<String> studentList;
+}

+ 1 - 1
mec-education/src/main/java/com/ym/mec/education/service/IDemoGroupService.java

@@ -1,7 +1,7 @@
 package com.ym.mec.education.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ym.mec.education.entity.DemoGroup;
-import com.baomidou.mybatisplus.service.IService;
 
 /**
  * <p>

+ 5 - 0
mec-education/src/main/java/com/ym/mec/education/service/ITeacherService.java

@@ -1,6 +1,7 @@
 package com.ym.mec.education.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ym.mec.education.base.BaseResponse;
 import com.ym.mec.education.base.PageResponse;
 import com.ym.mec.education.entity.Teacher;
 import com.ym.mec.education.req.TeacherReq;
@@ -16,4 +17,8 @@ import com.ym.mec.education.req.TeacherReq;
 public interface ITeacherService extends IService<Teacher> {
 
     PageResponse teacherList(TeacherReq req);
+
+    BaseResponse teacherDetail(TeacherReq req);
+
+    PageResponse teacherVipClass(TeacherReq req);
 }

+ 1 - 1
mec-education/src/main/java/com/ym/mec/education/service/IVipGroupCategoryService.java

@@ -1,7 +1,7 @@
 package com.ym.mec.education.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ym.mec.education.entity.VipGroupCategory;
-import com.baomidou.mybatisplus.service.IService;
 
 /**
  * <p>

+ 16 - 0
mec-education/src/main/java/com/ym/mec/education/service/IVipGroupDefaultClassesCycleService.java

@@ -0,0 +1,16 @@
+package com.ym.mec.education.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ym.mec.education.entity.VipGroupDefaultClassesCycle;
+
+/**
+ * <p>
+ * vip课默认课程周期 服务类
+ * </p>
+ *
+ * @author lemeng
+ * @since 2019-10-02
+ */
+public interface IVipGroupDefaultClassesCycleService extends IService<VipGroupDefaultClassesCycle> {
+
+}

+ 1 - 1
mec-education/src/main/java/com/ym/mec/education/service/impl/DemoGroupServiceImpl.java

@@ -1,9 +1,9 @@
 package com.ym.mec.education.service.impl;
 
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ym.mec.education.entity.DemoGroup;
 import com.ym.mec.education.mapper.DemoGroupMapper;
 import com.ym.mec.education.service.IDemoGroupService;
-import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 /**

+ 150 - 3
mec-education/src/main/java/com/ym/mec/education/service/impl/TeacherServiceImpl.java

@@ -4,21 +4,25 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ym.mec.education.base.BaseResponse;
 import com.ym.mec.education.base.PageResponse;
 import com.ym.mec.education.entity.*;
+import com.ym.mec.education.enums.ClassGroupTypeEnum;
 import com.ym.mec.education.enums.ReturnCodeEnum;
 import com.ym.mec.education.mapper.TeacherMapper;
 import com.ym.mec.education.req.TeacherReq;
+import com.ym.mec.education.resp.TeacherDetailResp;
 import com.ym.mec.education.resp.TeacherResp;
+import com.ym.mec.education.resp.VipGroupClassResp;
 import com.ym.mec.education.service.*;
+import com.ym.mec.education.utils.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 
 /**
@@ -40,9 +44,27 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher> impl
 
     @Autowired
     private IClassGroupService classGroupService;
+
+    @Autowired
+    private IDemoGroupService demoGroupService;
     @Autowired
     private IClassGroupTeacherMapperService classGroupTeacherMapperService;
 
+    @Autowired
+    private IDemoGroupCoursesPlanService demoGroupCoursesPlanService;
+
+    @Autowired
+    private ITeacherLeaveRecordService teacherLeaveRecordService;
+
+    @Autowired
+    private IVipGroupService vipGroupService;
+
+    @Autowired
+    private IVipGroupCategoryService vipGroupCategoryService;
+
+
+    @Autowired
+    private IVipGroupDefaultClassesCycleService vipGroupDefaultClassesCycleService;
     @Override
     public PageResponse teacherList(TeacherReq req) {
         PageResponse response = new PageResponse();
@@ -105,6 +127,131 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher> impl
         response.setMessage(ReturnCodeEnum.CODE_200.getValue());
         response.setRecords(teacherRespList);
         response.setTotal(Math.toIntExact(teacherIPage.getTotal()));
+        return response;
+    }
+
+    @Override
+    public BaseResponse teacherDetail(TeacherReq req) {
+
+        TeacherDetailResp teacherDetailResp = new TeacherDetailResp();
+        if(req == null || req.getUserId() == null){
+            return  BaseResponse.errorParam();
+        }
+        QueryWrapper<ClassGroupTeacherMapper> mapperQueryWrapper = new QueryWrapper<>();
+        mapperQueryWrapper.eq("user_id_",req.getUserId());
+        List<ClassGroupTeacherMapper> groupTeacherMapperList =  classGroupTeacherMapperService.list(mapperQueryWrapper);
+
+        if(!CollectionUtils.isEmpty(groupTeacherMapperList)){
+            List<Integer> classIds = groupTeacherMapperList.stream().map(ClassGroupTeacherMapper :: getClassGroupId).collect(Collectors.toList());
+            QueryWrapper<ClassGroup> queryWrapper = new QueryWrapper<>();
+            queryWrapper.in("id_",classIds);
+            List<ClassGroup> classGroups = classGroupService.list(queryWrapper);
+            if(!CollectionUtils.isEmpty(classGroups)){
+                List<ClassGroup> norClass = classGroups.stream().filter(e -> ClassGroupTypeEnum.NORMAL.getCode().equalsIgnoreCase(e.getType()) ||
+                                ClassGroupTypeEnum.MIX.getCode().equalsIgnoreCase(e.getType()) ||  ClassGroupTypeEnum.HIGH.getCode().equalsIgnoreCase(e.getType())).collect(Collectors.toList());
+
+                List<ClassGroup> vipClass = classGroups.stream().filter(e -> ClassGroupTypeEnum.VIP.getCode().equalsIgnoreCase(e.getType())).collect(Collectors.toList());
+                if(!CollectionUtils.isEmpty(norClass)){
+                    Integer norCount = norClass.stream().mapToInt(ClassGroup::getTotalClassTimes).sum();
+                    teacherDetailResp.setGroupClassNum(norCount * norClass.size());
+                }
+
+                if(!CollectionUtils.isEmpty(vipClass)){
+                    Integer vipCount = vipClass.stream().mapToInt(ClassGroup::getTotalClassTimes).sum();
+                    teacherDetailResp.setVipClassNum(vipCount * vipClass.size());
+                }
+                QueryWrapper<DemoGroup> demoGroupQueryWrapper = new QueryWrapper<>();
+                demoGroupQueryWrapper.eq("user_id_",req.getUserId());
+                List<DemoGroup> demoGroupList = demoGroupService.list(demoGroupQueryWrapper);
+                if(!CollectionUtils.isEmpty(demoGroupList)){
+                    List<Long> demoId = demoGroupList.stream().map(e ->e.getId()).collect(Collectors.toList());
+                    QueryWrapper<DemoGroupCoursesPlan> planQueryWrapper = new QueryWrapper<>();
+                    planQueryWrapper.in("demo_group_id_",demoId);
+                    List<DemoGroupCoursesPlan> demoGroupCoursesPlans =  demoGroupCoursesPlanService.list(planQueryWrapper);
+                    if(!CollectionUtils.isEmpty(demoGroupCoursesPlans)){
+                        Map<Date, List<DemoGroupCoursesPlan>> collect = demoGroupCoursesPlans.stream()
+                                .collect(
+                                        Collectors.groupingBy(DemoGroupCoursesPlan::getCourseDate));
+
+
+
+                        if(!CollectionUtils.isEmpty(collect)) {
+                            List<TeacherDetailResp.InnerDemoGroup> innerDemoGroups = new ArrayList<>();
+                            for (Date key : collect.keySet()) {
+                                TeacherDetailResp.InnerDemoGroup demoGroup = new TeacherDetailResp.InnerDemoGroup();
+                                demoGroup.setDateStr(DateUtil.date2String(key,DateUtil.DATE_FORMAT));
+                                demoGroup.setWeek(DateUtil.date2Week(key));
+
+                                List<DemoGroupCoursesPlan> demoGroupCoursesPlans1 = collect.get(key);
+                                if(!CollectionUtils.isEmpty(demoGroupCoursesPlans1)){
+                                    List<TeacherDetailResp.DemoGroupPlan> planList = new ArrayList<>();
+                                    demoGroupCoursesPlans1.forEach(e ->{
+                                        TeacherDetailResp.DemoGroupPlan demoGroupPlan = new TeacherDetailResp.DemoGroupPlan();
+                                        demoGroupPlan.setStartTime(DateUtil.date2String(e.getStartTime(),DateUtil.TIME_FORMAT));
+                                        demoGroupPlan.setEndTime(DateUtil.date2String(e.getEndTime(),DateUtil.TIME_FORMAT));
+                                        planList.add(demoGroupPlan);
+                                    });
+                                    demoGroup.setDemoGroupPlans(planList);
+                                }
+                            }
+                            teacherDetailResp.setDemoGroups(innerDemoGroups);
+
+                        }
+
+                    }
+                }
+
+            }
+
+            QueryWrapper<TeacherLeaveRecord> teacherLeaveRecordQueryWrapper = new QueryWrapper<>();
+            teacherLeaveRecordQueryWrapper.eq("user_id_",req.getUserId());
+            List<TeacherLeaveRecord> teacherLeaveRecordList = teacherLeaveRecordService.list(teacherLeaveRecordQueryWrapper);
+            if(!CollectionUtils.isEmpty(teacherLeaveRecordList)){
+                AtomicReference<Integer> count = new AtomicReference<>(0);
+                teacherLeaveRecordList.forEach(e ->{
+
+                    Integer hour = DateUtil.subMin(e.getStartTime(),e.getEndTime());
+                    if (hour != null){
+                        count.set(count.get() + hour);
+                    }
+                });
+                teacherDetailResp.setCountNum(teacherLeaveRecordList.size());
+                teacherDetailResp.setHourCount(count.get());
+            }
+        }
+        return BaseResponse.success(teacherDetailResp);
+    }
+
+    @Override
+    public PageResponse teacherVipClass(TeacherReq req) {
+
+        if(req == null && req.getUserId() == null){
+            return PageResponse.errorParam();
+        }
+
+        IPage page = new Page(req.getPageNo() == null ? 1 : req.getPageNo(),req.getPageSize() == null ? 10 : req.getPageSize());
+        QueryWrapper<VipGroup> vipGroupQueryWrapper = new QueryWrapper<>();
+        vipGroupQueryWrapper.eq("user_id_",req.getUserId());
+        IPage<VipGroup> vipGroupPage = vipGroupService.page(page,vipGroupQueryWrapper);
+
+        List<VipGroup> vipGroupList = vipGroupPage.getRecords();
+        List<VipGroupClassResp> vipGroupClassRespList = new ArrayList<>();
+        if(!CollectionUtils.isEmpty(vipGroupList)){
+
+            vipGroupList.forEach(e ->{
+                VipGroupClassResp vipGroupClassResp = new VipGroupClassResp();
+                vipGroupClassResp.setVipGroupName(e.getName());
+                VipGroupCategory vipGroupCategory =  vipGroupCategoryService.getById(e.getVipGroupCategoryId());
+                if(vipGroupCategory != null){
+                    vipGroupClassResp.setVipClassType(vipGroupCategory.getName());
+                }
+
+                vipGroupDefaultClassesCycleService.list()
+               // vipGroupClassResp.setClassNum();
+
+            });
+        }
+
         return null;
     }
 }

+ 1 - 1
mec-education/src/main/java/com/ym/mec/education/service/impl/VipGroupCategoryServiceImpl.java

@@ -1,9 +1,9 @@
 package com.ym.mec.education.service.impl;
 
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ym.mec.education.entity.VipGroupCategory;
 import com.ym.mec.education.mapper.VipGroupCategoryMapper;
 import com.ym.mec.education.service.IVipGroupCategoryService;
-import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 /**

+ 20 - 0
mec-education/src/main/java/com/ym/mec/education/service/impl/VipGroupDefaultClassesCycleServiceImpl.java

@@ -0,0 +1,20 @@
+package com.ym.mec.education.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ym.mec.education.entity.VipGroupDefaultClassesCycle;
+import com.ym.mec.education.mapper.VipGroupDefaultClassesCycleMapper;
+import com.ym.mec.education.service.IVipGroupDefaultClassesCycleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * vip课默认课程周期 服务实现类
+ * </p>
+ *
+ * @author lemeng
+ * @since 2019-10-02
+ */
+@Service
+public class VipGroupDefaultClassesCycleServiceImpl extends ServiceImpl<VipGroupDefaultClassesCycleMapper, VipGroupDefaultClassesCycle> implements IVipGroupDefaultClassesCycleService {
+
+}

+ 15 - 1
mec-education/src/main/java/com/ym/mec/education/utils/DateUtil.java

@@ -17,7 +17,7 @@ import java.util.Date;
 public class DateUtil {
 
     private static final String DATE_FORMAT_CHINESE = "MM月dd日";
-    private static final String TIME_FORMAT = "HH:mm";
+    public static final String TIME_FORMAT = "HH:mm";
     public static final String TIME_FORMAT_MIN = "HH:mm:ss";
     public static final String DATE_FORMAT = "MM-dd";
     public static final String DATE_FORMAT_HOUR = "MM-dd HH:mm";
@@ -95,4 +95,18 @@ public class DateUtil {
         }
         return null;
     }
+
+
+    public static Integer subMin(Date startTime,Date endTime){
+
+        if(startTime != null && endTime != null){
+            long from = startTime.getTime();
+            long to = endTime.getTime();
+            Integer hours = (int) ((to - from)/(1000 * 60 * 60));
+
+            return hours;
+        }
+
+        return null;
+    }
 }

+ 1 - 1
mec-education/src/main/java/test/MpGenerator.java

@@ -72,7 +72,7 @@ public class MpGenerator {
         // strategy.setCapitalMode(true);// 全局大写命名 ORACLE 注意
         //strategy.setTablePrefix(new String[]{"tb_", "tsys_"});// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-         //strategy.setInclude(new String[] { "sys_user" }); // 需要生成的表
+         strategy.setInclude(new String[] { "vip_group_default_classes_cycle" }); // 需要生成的表
          //strategy.setExclude(new String[]{"sys_user"}); // 排除生成的表
         // 自定义实体父类
         // strategy.setSuperEntityClass("com.baomidou.demo.TestEntity");

+ 5 - 2
mec-education/src/main/resources/mapper/DemoGroupCoursesPlanMapper.xml

@@ -6,13 +6,16 @@
     <resultMap id="BaseResultMap" type="com.ym.mec.education.entity.DemoGroupCoursesPlan">
         <id column="id_" property="id" />
         <result column="demo_group_id_" property="demoGroupId" />
-        <result column="courses_start_time_" property="coursesStartTime" />
         <result column="create_time_" property="createTime" />
+        <result column="status_" property="status" />
+        <result column="course_date_" property="courseDate" />
+        <result column="start_time_" property="startTime" />
+        <result column="end_time_" property="endTime" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id_, demo_group_id_, courses_start_time_, create_time_
+        id_, demo_group_id_, create_time_, status_, course_date_, start_time_, end_time_
     </sql>
 
 </mapper>

+ 21 - 0
mec-education/src/main/resources/mapper/VipGroupDefaultClassesCycleMapper.xml

@@ -0,0 +1,21 @@
+<?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.education.mapper.VipGroupDefaultClassesCycleMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.ym.mec.education.entity.VipGroupDefaultClassesCycle">
+        <id column="id_" property="id" />
+        <result column="min_class_times_" property="minClassTimes" />
+        <result column="max_class_times_" property="maxClassTimes" />
+        <result column="month_" property="month" />
+        <result column="create_time_" property="createTime" />
+        <result column="update_time_" property="updateTime" />
+        <result column="organ_id_" property="organId" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id_, min_class_times_, max_class_times_, month_, create_time_, update_time_, organ_id_
+    </sql>
+
+</mapper>