|
@@ -1,27 +1,26 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
import com.yonge.cooleshow.auth.api.dto.RealnameAuthReq;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
import com.yonge.cooleshow.auth.api.enums.SysUserType;
|
|
|
+import com.yonge.cooleshow.biz.dal.dao.CourseScheduleDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
|
|
|
-import com.yonge.cooleshow.biz.dal.dto.req.UserSetReq;
|
|
|
+import com.yonge.cooleshow.biz.dal.dao.StudentStarDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.req.TeacherSubmitReq;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.TeacherSearch;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.Subject;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.TeacherAuthEntryRecord;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
|
|
|
-import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.TeacherTypeEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.EmployeeService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.TeacherAuthEntryRecordService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo;
|
|
|
+import com.yonge.cooleshow.biz.dal.vo.TeacherTotalVo;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
|
|
|
-import com.yonge.cooleshow.biz.dal.vo.UserSetVo;
|
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
|
import com.yonge.cooleshow.common.exception.BizException;
|
|
|
import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
|
|
@@ -32,9 +31,10 @@ import com.yonge.cooleshow.biz.dal.entity.Teacher;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
|
|
|
import com.yonge.cooleshow.biz.dal.service.TeacherService;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
@Service
|
|
@@ -42,11 +42,15 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
@Autowired
|
|
|
private TeacherStyleVideoService teacherStyleVideoService;
|
|
|
@Autowired
|
|
|
- private EmployeeDao employeeDao;
|
|
|
- @Autowired
|
|
|
private SysUserFeignService userFeignService;
|
|
|
@Autowired
|
|
|
private TeacherAuthEntryRecordService entryRecordService;
|
|
|
+ @Autowired
|
|
|
+ private EmployeeDao employeeDao;
|
|
|
+ @Autowired
|
|
|
+ private StudentStarDao studentStarDao;
|
|
|
+ @Autowired
|
|
|
+ private CourseScheduleDao courseScheduleDao;
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -96,6 +100,45 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
|
|
|
return baseMapper.querySubject(userId);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<TeacherTotalVo> queryTotalList() {
|
|
|
+ List<Teacher> teachers = baseMapper.selectList(Wrappers.<Teacher>emptyWrapper()
|
|
|
+ .select("userId"));
|
|
|
+ //查询粉丝数
|
|
|
+ List<TeacherTotalVo> teacherStarTotal = studentStarDao.queryTeacherHomeTotal();
|
|
|
+ Map<Long, TeacherTotalVo> teacherStarMap = new HashMap<>();
|
|
|
+ if (!CollectionUtils.isEmpty(teacherStarTotal)) {
|
|
|
+ teacherStarMap = teacherStarTotal.stream().collect(Collectors.toMap(TeacherTotalVo::getUserId, o -> o));
|
|
|
+ }
|
|
|
+ //查询已上未上课时数
|
|
|
+ List<TeacherTotalVo> teacherCourseTotal = courseScheduleDao.queryTeacherHomeTotal();
|
|
|
+ Map<Long, TeacherTotalVo> teacherCourseMap = new HashMap<>();
|
|
|
+ if (!CollectionUtils.isEmpty(teacherCourseTotal)) {
|
|
|
+ teacherCourseMap = teacherCourseTotal.stream().collect(Collectors.toMap(TeacherTotalVo::getUserId, o -> o));
|
|
|
+ }
|
|
|
+ List<TeacherTotalVo> resultList = new ArrayList<>();
|
|
|
+ for (Teacher teacher : teachers) {
|
|
|
+ TeacherTotalVo totalVo = new TeacherTotalVo();
|
|
|
+ totalVo.setUserId(teacher.getUserId());
|
|
|
+ TeacherTotalVo fansTotal= teacherStarMap.get(teacher.getUserId());
|
|
|
+ if(null != fansTotal){
|
|
|
+ totalVo.setFansNum(fansTotal.getFansNum());
|
|
|
+ }
|
|
|
+ TeacherTotalVo courseTotal= teacherCourseMap.get(teacher.getUserId());
|
|
|
+ if(null != courseTotal){
|
|
|
+ totalVo.setExpTime(courseTotal.getExpTime());
|
|
|
+ totalVo.setUnExpTime(courseTotal.getUnExpTime());
|
|
|
+ Double starGrade = courseTotal.getStarGrade();
|
|
|
+ if(null != starGrade){
|
|
|
+ Long round = Math.round(starGrade);
|
|
|
+ totalVo.setStarGrade(round.doubleValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ resultList.add(totalVo);
|
|
|
+ }
|
|
|
+ return resultList;
|
|
|
+ }
|
|
|
+
|
|
|
private HttpResponseResult<Boolean> doCreate(TeacherSubmitReq teacherSubmitReq) throws BizException {
|
|
|
//判断手机号
|
|
|
SysUser sysUser = employeeDao.queryByPhone(teacherSubmitReq.getPhone());
|