|  | @@ -4,12 +4,52 @@ import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.enums.YesOrNoEnum;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.dao.*;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.dto.*;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.*;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.page.*;
 | 
	
		
			
				|  |  | +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.StudentTeacherMapperDao;
 | 
	
		
			
				|  |  | +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.dto.BaseMapDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.BasicUserDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.ImUserFriendDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.MusicGroupStudentApplyDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.MusicGroupTeacherAttendanceDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.MusicGroupTeachersDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.SysUserDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.TeacherBasicDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.TeacherCloseDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.TeacherDefaultSalaryDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.TeacherExercisesServiceDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.TeacherMusicStudentOverViewDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CourseHomework;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.ImUserFriend;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.MusicGroup;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.Organization;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.School;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.Teacher;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.MusicGroupTeacherAttendanceQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.MusicGroupTeachersQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.TeacherNameQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.TeacherQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.TeacherServeQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.UserBasicQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.page.queryMusicGroupStudentQueryInfo;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.ClassGroupService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.OaUserService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.SysUserService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.TeacherService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.TenantInfoService;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.constant.CommonConstants;
 | 
	
	
		
			
				|  | @@ -29,6 +69,7 @@ import com.ym.mec.thirdparty.user.realname.provider.LinkfaceRealnameAuthenticati
 | 
	
		
			
				|  |  |  import com.ym.mec.util.collection.MapUtil;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.date.DateUtil;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.idcard.IdcardValidator;
 | 
	
		
			
				|  |  | +import lombok.extern.slf4j.Slf4j;
 | 
	
		
			
				|  |  |  import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.data.redis.core.RedisTemplate;
 | 
	
	
		
			
				|  | @@ -41,10 +82,20 @@ import java.math.BigDecimal;
 | 
	
		
			
				|  |  |  import java.time.DayOfWeek;
 | 
	
		
			
				|  |  |  import java.time.LocalDate;
 | 
	
		
			
				|  |  |  import java.time.LocalDateTime;
 | 
	
		
			
				|  |  | -import java.util.*;
 | 
	
		
			
				|  |  | +import java.util.ArrayList;
 | 
	
		
			
				|  |  | +import java.util.Arrays;
 | 
	
		
			
				|  |  | +import java.util.Collections;
 | 
	
		
			
				|  |  | +import java.util.Date;
 | 
	
		
			
				|  |  | +import java.util.HashMap;
 | 
	
		
			
				|  |  | +import java.util.HashSet;
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  | +import java.util.Map;
 | 
	
		
			
				|  |  | +import java.util.Objects;
 | 
	
		
			
				|  |  | +import java.util.Set;
 | 
	
		
			
				|  |  |  import java.util.function.Function;
 | 
	
		
			
				|  |  |  import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +@Slf4j
 | 
	
		
			
				|  |  |  @Service
 | 
	
		
			
				|  |  |  public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implements TeacherService {
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -77,8 +128,6 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  | -    private StudentDao studentDao;
 | 
	
		
			
				|  |  | -    @Autowired
 | 
	
		
			
				|  |  |      private ImUserFriendDao imUserFriendDao;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private RedisTemplate<String, String> redisTemplate;
 | 
	
	
		
			
				|  | @@ -88,6 +137,8 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
 | 
	
		
			
				|  |  |      private TenantInfoService tenantInfoService;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private OaUserService oaUserService;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private SysUserService sysUserService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private RealnameAuthenticationPluginContext realnameAuthenticationPluginContext;
 | 
	
	
		
			
				|  | @@ -138,7 +189,11 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
 | 
	
		
			
				|  |  |          //添加用户电子签章账户
 | 
	
		
			
				|  |  |  //		contractService.register(teacher.getId(), user.getRealName(), user.getIdCardNo(), user.getPhone());
 | 
	
		
			
				|  |  |          teacherDao.insert(teacher);
 | 
	
		
			
				|  |  | -        ImResult imResult = imFeignService.register(new ImUserModel(teacher.getId().toString(), teacher.getUsername(), null));
 | 
	
		
			
				|  |  | +        // IM头像
 | 
	
		
			
				|  |  | +        String imAvatar = sysUserService.getImAvatar(teacherDao.getUser(teacher.getId()));
 | 
	
		
			
				|  |  | +        // IM用户昵称
 | 
	
		
			
				|  |  | +        String imName = sysUserService.getImName(teacherDao.getUser(teacher.getId()));
 | 
	
		
			
				|  |  | +        ImResult imResult = imFeignService.register(new ImUserModel(teacher.getId().toString(), imName, imAvatar));
 | 
	
		
			
				|  |  |          if (imResult != null) {
 | 
	
		
			
				|  |  |              teacher.setImToken(imResult.getToken());
 | 
	
		
			
				|  |  |              teacherDao.updateUser(teacher);
 | 
	
	
		
			
				|  | @@ -181,7 +236,10 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
 | 
	
		
			
				|  |  |          teacherDao.updateUser(teacher);
 | 
	
		
			
				|  |  |          imGroupDao.updateNickname(teacher.getId(), teacher.getRealName());
 | 
	
		
			
				|  |  |          imGroupDao.updateUserFriendNickname(teacher.getId(), teacher.getRealName());
 | 
	
		
			
				|  |  | -        imFeignService.update(new ImUserModel(teacher.getId().toString(), teacher.getRealName(), teacher.getAvatar()));
 | 
	
		
			
				|  |  | +        //imFeignService.update(new ImUserModel(teacher.getId().toString(), teacher.getRealName(), teacher.getAvatar()));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 用户更新信息同步到三方
 | 
	
		
			
				|  |  | +        sysUserService.registerImUserInfo(teacher.getId());
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
	
		
			
				|  | @@ -215,7 +273,10 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
 | 
	
		
			
				|  |  |          teacherDao.updateUser(teacher);
 | 
	
		
			
				|  |  |          imGroupDao.updateNickname(teacher.getId(), teacher.getRealName());
 | 
	
		
			
				|  |  |          imGroupDao.updateUserFriendNickname(teacher.getId(), teacher.getRealName());
 | 
	
		
			
				|  |  | -        imFeignService.update(new ImUserModel(teacher.getId().toString(), teacher.getRealName(), teacher.getAvatar()));
 | 
	
		
			
				|  |  | +        //imFeignService.update(new ImUserModel(teacher.getId().toString(), teacher.getRealName(), teacher.getAvatar()));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 用户更新信息同步到三方
 | 
	
		
			
				|  |  | +        sysUserService.registerImUserInfo(teacher.getId());
 | 
	
		
			
				|  |  |          //更新OA信息
 | 
	
		
			
				|  |  |          teacher.setAvatar(user.getAvatar());
 | 
	
		
			
				|  |  |          teacher.setUsername(user.getUsername());
 |