|
@@ -5,6 +5,7 @@ import com.keao.edu.auth.api.client.SysUserFeignService;
|
|
|
import com.keao.edu.auth.api.entity.SysUser;
|
|
|
import com.keao.edu.common.dal.BaseDAO;
|
|
|
import com.keao.edu.common.exception.BizException;
|
|
|
+import com.keao.edu.common.page.PageInfo;
|
|
|
import com.keao.edu.common.service.impl.BaseServiceImpl;
|
|
|
import com.keao.edu.im.api.client.ImFeignService;
|
|
|
import com.keao.edu.im.api.entity.ImResult;
|
|
@@ -13,13 +14,16 @@ import com.keao.edu.user.dao.SysUserDao;
|
|
|
import com.keao.edu.user.dao.TeacherDao;
|
|
|
import com.keao.edu.user.entity.Teacher;
|
|
|
import com.keao.edu.user.enums.YesOrNoEnum;
|
|
|
+import com.keao.edu.user.page.TeacherQueryInfo;
|
|
|
import com.keao.edu.user.service.TeacherService;
|
|
|
+import com.keao.edu.util.collection.MapUtil;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implements TeacherService {
|
|
@@ -103,4 +107,29 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
|
|
|
sysUserDao.update(sysUser);
|
|
|
imFeignService.update(new ImUserModel(sysUser.getId().toString(),sysUser.getRealName(),sysUser.getAvatar()));
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageInfo<Teacher> queryTeacherPage(TeacherQueryInfo queryInfo) {
|
|
|
+ PageInfo<Teacher> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ MapUtil.populateMap(params, queryInfo);
|
|
|
+
|
|
|
+ List<Teacher> dataList = null;
|
|
|
+ int count = this.findCount(params);
|
|
|
+ if (count > 0) {
|
|
|
+ pageInfo.setTotal(count);
|
|
|
+ params.put("offset", pageInfo.getOffset());
|
|
|
+ dataList = this.getDAO().queryPage(params);
|
|
|
+ Set<Integer> teacherIds = dataList.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
|
|
|
+ Map<Integer,String> subjectNames = MapUtil.convertMybatisMap(teacherDao.queryTeacherSubjectNames(teacherIds));
|
|
|
+ dataList.forEach(e->{
|
|
|
+ e.setSubjectName(subjectNames.get(e.getUserId()));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (count == 0) {
|
|
|
+ dataList = new ArrayList<>();
|
|
|
+ }
|
|
|
+ pageInfo.setRows(dataList);
|
|
|
+ return pageInfo;
|
|
|
+ }
|
|
|
}
|