|
@@ -6,13 +6,17 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.biz.dal.dao.TeacherDao;
|
|
|
import com.ym.mec.biz.dal.entity.SysConfig;
|
|
|
+import com.ym.mec.biz.dal.entity.Teacher;
|
|
|
import com.ym.mec.biz.dal.enums.ClientEnum;
|
|
|
+import com.ym.mec.biz.dal.wrapper.UserInfoWrapper;
|
|
|
import com.ym.mec.biz.service.SysConfigService;
|
|
|
import com.ym.mec.biz.service.SysUserService;
|
|
|
import com.ym.mec.biz.service.im.ImGroupCoreService;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
|
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.jetbrains.annotations.Nullable;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -32,6 +36,9 @@ public class SysUserServiceImpl implements SysUserService {
|
|
|
@Autowired
|
|
|
private ImGroupCoreService imGroupCoreService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private MessageSenderPluginContext messageSenderPluginContext;
|
|
|
+
|
|
|
@Override
|
|
|
public Integer getUserId(){
|
|
|
return Optional.ofNullable(sysUserFeignService.queryUserInfo())
|
|
@@ -137,4 +144,75 @@ public class SysUserServiceImpl implements SysUserService {
|
|
|
List<SysUser> userList = teacherDao.getUserList(studentIds);
|
|
|
return userList.stream().collect(HashMap::new, (m, v) -> m.put(v.getId().longValue(), v), HashMap::putAll);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void imDeviceId(UserInfoWrapper.UpdateUser info) {
|
|
|
+
|
|
|
+ List<String> list = new ArrayList<>();
|
|
|
+
|
|
|
+ teacherDao.updateImDeviceId(info.getImDeviceId(), info.getClient().getCode(), info.getUserId());
|
|
|
+
|
|
|
+ if (!checkImDeviceId(info, list)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ messageSenderPluginContext.getMessageSenderPlugin(MessageSenderPluginContext.MessageSender.JIGUANG)
|
|
|
+ .deviceRemoveAlias(info.getUserId().toString(),list,info.getClient().getCode());
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean checkImDeviceId(UserInfoWrapper.UpdateUser info, List<String> list) {
|
|
|
+
|
|
|
+ UserInfoWrapper.UpdateUser userImDeviceId = teacherDao.getUserImDeviceId(info.getUserId(), ClientEnum.TEACHER.getCode());
|
|
|
+ if (userImDeviceId != null ) {
|
|
|
+ if (userImDeviceId.getUserId() != null) {
|
|
|
+ list.add(userImDeviceId.getImDeviceId());
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ userImDeviceId = teacherDao.getUserImDeviceId(info.getUserId(), ClientEnum.STUDENT.getCode());
|
|
|
+ if (userImDeviceId != null ) {
|
|
|
+ if (userImDeviceId.getUserId() != null) {
|
|
|
+ list.add(userImDeviceId.getImDeviceId());
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ userImDeviceId = teacherDao.getUserImDeviceId(info.getUserId(), ClientEnum.SYSTEM.getCode());
|
|
|
+ if (userImDeviceId != null ) {
|
|
|
+ if (userImDeviceId.getUserId() != null) {
|
|
|
+ list.add(userImDeviceId.getImDeviceId());
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ userImDeviceId = teacherDao.getUserImDeviceId(info.getUserId(), ClientEnum.SCHOOL.getCode());
|
|
|
+ if (userImDeviceId != null ) {
|
|
|
+ if (userImDeviceId.getUserId() != null) {
|
|
|
+ list.add(userImDeviceId.getImDeviceId());
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Nullable
|
|
|
+ private String getTeacherDeviceId(UserInfoWrapper.UpdateUser info, String teacherDeviceId) {
|
|
|
+ Teacher teacher1 = teacherDao.get(info.getUserId());
|
|
|
+ if (teacher1 != null) {
|
|
|
+ if (org.springframework.util.StringUtils.isEmpty(teacher1.getImDeviceId())) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ teacherDeviceId = teacher1.getImDeviceId();
|
|
|
+ }
|
|
|
+ return teacherDeviceId;
|
|
|
+ }
|
|
|
}
|