|
@@ -24,6 +24,7 @@ import com.microsvc.toolkit.middleware.im.message.GroupMemberWrapper;
|
|
|
import com.ym.mec.biz.dal.dto.SimpleUserDto;
|
|
|
import com.ym.mec.biz.dal.enums.im.ClientEnum;
|
|
|
import com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper;
|
|
|
+import com.ym.mec.biz.dal.wrapper.ImGroupWrapper;
|
|
|
import com.ym.mec.biz.service.*;
|
|
|
import com.ym.mec.biz.service.im.ImGroupCoreService;
|
|
|
import com.ym.mec.common.page.QueryInfo;
|
|
@@ -141,7 +142,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void add(Employee employee) {
|
|
|
RBucket<String> bucket = redissonClient.getBucket("add_employee_lock" + employee.getPhone());
|
|
|
- if (!bucket.trySet(employee.getPhone(), 1l, TimeUnit.SECONDS)) {
|
|
|
+ if (!bucket.trySet(employee.getPhone(), 1L, TimeUnit.SECONDS)) {
|
|
|
throw new BizException("请勿重复提交");
|
|
|
}
|
|
|
SysUser user = teacherDao.getUserWithPhone(employee.getPhone());
|
|
@@ -149,6 +150,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
|
|
|
throw new BizException("用户已存在学校账户");
|
|
|
}
|
|
|
Integer tenantId = employee.getTenantId();
|
|
|
+
|
|
|
if (user != null && user.getId() != null) {
|
|
|
checkTenantId(tenantId, user.getTenantId());
|
|
|
Employee employee1 = employeeDao.get(user.getId());
|
|
@@ -175,6 +177,11 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
|
|
|
}
|
|
|
employee.setUserType(user.getUserType() + ",SYSTEM");
|
|
|
teacherDao.updateUser(employee);
|
|
|
+
|
|
|
+ // 用户更新信息同步到三方
|
|
|
+ if (Objects.nonNull(employee.getId())) {
|
|
|
+ registerImUserInfo(employee.getId());
|
|
|
+ }
|
|
|
return;
|
|
|
} else {
|
|
|
throw new BizException("员工已存在");
|
|
@@ -214,6 +221,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
|
|
|
addUserTenant(employee.getTenantIds(), tenantId, userId);
|
|
|
//添加到OA
|
|
|
oaUserService.addOaUser(employee);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -307,6 +315,11 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ // 用户更新信息同步到三方
|
|
|
+ if (Objects.nonNull(employee.getId())) {
|
|
|
+ registerImUserInfo(employee.getId());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -729,7 +742,16 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
|
|
|
employeeDao.update(employee);
|
|
|
|
|
|
// 用户更新信息同步到三方
|
|
|
- SysUser userInfo = teacherDao.getUser(employee.getId());
|
|
|
+ registerImUserInfo(employee.getId());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 用户更新信息同步到三方
|
|
|
+ * @param userId 用户id
|
|
|
+ */
|
|
|
+ private void registerImUserInfo(Integer userId) {
|
|
|
+ SysUser userInfo = teacherDao.getUser(userId);
|
|
|
if (Objects.nonNull(userInfo)) {
|
|
|
|
|
|
try {
|
|
@@ -739,12 +761,13 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
|
|
|
username = Optional.ofNullable(userInfo.getRealName()).filter(StringUtils::isNotBlank).orElse(username);
|
|
|
}
|
|
|
|
|
|
- imGroupCoreService.register(String.valueOf(userInfo.getId()), "", username, sysUserService.getImAvatar(userInfo));
|
|
|
+ ImGroupWrapper.ImUserInfo imUserInfo = imGroupCoreService.register(String.valueOf(userInfo.getId()), "",
|
|
|
+ username, sysUserService.getImAvatar(userInfo));
|
|
|
+ log.info("用户更新信息同步到三方成功,userId={}, ret={}", userInfo.getId(), JSON.toJSONString(imUserInfo));
|
|
|
} catch (Exception e) {
|
|
|
log.error("用户更新信息同步到三方失败,userId:{}", userInfo.getId(), e);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@Override
|