|  | @@ -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;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  }
 |