|
@@ -13,6 +13,7 @@ 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;
|
|
@@ -21,6 +22,7 @@ import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.atomic.AtomicReference;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -51,6 +53,18 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher> impl
|
|
|
@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();
|
|
@@ -189,7 +203,55 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher> impl
|
|
|
|
|
|
}
|
|
|
|
|
|
+ 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;
|
|
|
+ }
|
|
|
}
|