|
@@ -16,6 +16,7 @@ import java.util.Objects;
|
|
|
import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import com.ym.mec.biz.dal.dao.*;
|
|
|
import com.ym.mec.biz.dal.dto.*;
|
|
|
import com.ym.mec.biz.dal.page.*;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -30,20 +31,6 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.auth.api.enums.YesOrNoEnum;
|
|
|
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
|
|
|
-import com.ym.mec.biz.dal.dao.DemoGroupDao;
|
|
|
-import com.ym.mec.biz.dal.dao.ImGroupDao;
|
|
|
-import com.ym.mec.biz.dal.dao.ImUserFriendDao;
|
|
|
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
|
|
|
-import com.ym.mec.biz.dal.dao.OrganizationDao;
|
|
|
-import com.ym.mec.biz.dal.dao.SchoolDao;
|
|
|
-import com.ym.mec.biz.dal.dao.StudentDao;
|
|
|
-import com.ym.mec.biz.dal.dao.StudentExtracurricularExercisesSituationDao;
|
|
|
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
|
|
|
-import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
|
|
|
-import com.ym.mec.biz.dal.dao.SubjectDao;
|
|
|
-import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
|
|
|
-import com.ym.mec.biz.dal.dao.TeacherDao;
|
|
|
import com.ym.mec.biz.dal.entity.CourseHomework;
|
|
|
import com.ym.mec.biz.dal.entity.ImUserFriend;
|
|
|
import com.ym.mec.biz.dal.entity.MusicGroup;
|
|
@@ -109,6 +96,8 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
private ImUserFriendDao imUserFriendDao;
|
|
|
@Autowired
|
|
|
private RedisTemplate<String,String> redisTemplate;
|
|
|
+ @Autowired
|
|
|
+ private CloudTeacherDao cloudTeacherDao;
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -781,4 +770,43 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
pageInfo.setRows(dataList);
|
|
|
return pageInfo;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageInfo<TeacherStudentDataDto> queryMemberStudentData(TeacherServeQueryInfo queryInfo) {
|
|
|
+ PageInfo<TeacherStudentDataDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
+ Map<String, Object> params = new HashMap<String, Object>();
|
|
|
+ MapUtil.populateMap(params, queryInfo);
|
|
|
+
|
|
|
+ List<TeacherStudentDataDto> dataList = new ArrayList<>();
|
|
|
+ int count = teacherDao.countMemberStudentData(params);
|
|
|
+ if (count > 0) {
|
|
|
+ pageInfo.setTotal(count);
|
|
|
+ params.put("offset", pageInfo.getOffset());
|
|
|
+ dataList = teacherDao.queryMemberStudentData(params);
|
|
|
+ List<Integer> teacherIds = dataList.stream().map(TeacherStudentDataDto::getTeacherId).collect(Collectors.toList());
|
|
|
+ List<Map<Integer, Integer>> teachersMemberStudentNumMapList = cloudTeacherDao.getTeachersMemberStudentNum(teacherIds);
|
|
|
+ Map<Integer, Integer> teachersMemberStudentNumMap = new HashMap<>();
|
|
|
+ if(!CollectionUtils.isEmpty(teachersMemberStudentNumMapList)){
|
|
|
+ teachersMemberStudentNumMap = MapUtil.convertIntegerMap(teachersMemberStudentNumMapList);
|
|
|
+ }
|
|
|
+ List<Map<Integer, Integer>> teacherExperienceMemberStudentNumMapList = studentDao.getTeacherExperienceMemberStudentNum(teacherIds);
|
|
|
+ Map<Integer, Integer> teacherExperienceMemberStudentNumMap = new HashMap<>();
|
|
|
+ if(!CollectionUtils.isEmpty(teacherExperienceMemberStudentNumMapList)){
|
|
|
+ teacherExperienceMemberStudentNumMap = MapUtil.convertIntegerMap(teacherExperienceMemberStudentNumMapList);
|
|
|
+ }
|
|
|
+ for (TeacherStudentDataDto teacherStudentDataDto : dataList) {
|
|
|
+ if(teachersMemberStudentNumMap.containsKey(teacherStudentDataDto.getTeacherId())){
|
|
|
+ teacherStudentDataDto.setVipStudentNum(teachersMemberStudentNumMap.get(teacherStudentDataDto.getTeacherId().toString()));
|
|
|
+ }
|
|
|
+ if(teacherExperienceMemberStudentNumMap.containsKey(teacherStudentDataDto.getTeacherId())){
|
|
|
+ teacherStudentDataDto.seteVipStudentNum(teacherExperienceMemberStudentNumMap.get(teacherStudentDataDto.getTeacherId().toString()));
|
|
|
+ }
|
|
|
+ if(teacherStudentDataDto.getVipStudentNum()>0&&teacherStudentDataDto.getTotalStudentNum()>0){
|
|
|
+ teacherStudentDataDto.setVipStudentDuty(new BigDecimal(teacherStudentDataDto.getVipStudentNum()).divide(new BigDecimal(teacherStudentDataDto.getTotalStudentNum()), 4, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100)).floatValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ pageInfo.setRows(dataList);
|
|
|
+ return pageInfo;
|
|
|
+ }
|
|
|
}
|