|
@@ -30,6 +30,7 @@ import com.ym.mec.im.entity.GroupModel;
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.security.authentication.LockedException;
|
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -78,12 +79,20 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> imp
|
|
return employeeDao;
|
|
return employeeDao;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void checkTenantId(Integer tenantId,Integer targetTenantId){
|
|
|
|
+ //如果机构不一致,不允许跨机构注册
|
|
|
|
+ if(tenantId != null && tenantId != 0 && !tenantId.equals(targetTenantId)){
|
|
|
|
+ throw new LockedException("用户已注册");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public void add(Employee employee){
|
|
public void add(Employee employee){
|
|
- SysUser user = sysUserFeignService.queryUserByMobile(employee.getPhone());
|
|
|
|
|
|
+ SysUser user = teacherDao.getUserWithPhone(employee.getPhone());
|
|
Integer tenantId = TenantContextHolder.getTenantId();
|
|
Integer tenantId = TenantContextHolder.getTenantId();
|
|
if(user != null && user.getId() != null){
|
|
if(user != null && user.getId() != null){
|
|
|
|
+ checkTenantId(tenantId,user.getTenantId());
|
|
Employee employee1 = employeeDao.get(user.getId());
|
|
Employee employee1 = employeeDao.get(user.getId());
|
|
if(employee1 == null){
|
|
if(employee1 == null){
|
|
if(StringUtils.isEmpty(user.getPassword())){
|
|
if(StringUtils.isEmpty(user.getPassword())){
|
|
@@ -134,7 +143,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> imp
|
|
throw new BizException("员工信息不存在");
|
|
throw new BizException("员工信息不存在");
|
|
}
|
|
}
|
|
employee.setUserId(employee.getId());
|
|
employee.setUserId(employee.getId());
|
|
- SysUser sysUser = sysUserFeignService.queryUserByMobile(employee.getPhone());
|
|
|
|
|
|
+ SysUser sysUser = teacherDao.getUserWithPhone(employee.getPhone());
|
|
if(StringUtils.isNotEmpty(employee.getPhone())){
|
|
if(StringUtils.isNotEmpty(employee.getPhone())){
|
|
if(sysUser != null && !sysUser.getId().equals(employee.getUserId())){
|
|
if(sysUser != null && !sysUser.getId().equals(employee.getUserId())){
|
|
throw new BizException("手机号已存在");
|
|
throw new BizException("手机号已存在");
|
|
@@ -145,7 +154,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> imp
|
|
}
|
|
}
|
|
|
|
|
|
// 同步更新机构手机号 如果它存在 138xxx -> 159xxx
|
|
// 同步更新机构手机号 如果它存在 138xxx -> 159xxx
|
|
- SysUser user = sysUserFeignService.queryUserById(employee.getId());
|
|
|
|
|
|
+ SysUser user = teacherDao.getUser(employee.getId());
|
|
if (!Objects.equals(user.getPhone(), employee.getPhone())) {
|
|
if (!Objects.equals(user.getPhone(), employee.getPhone())) {
|
|
tenantInfoService.updatePhone(employee.getPhone(), user.getPhone());
|
|
tenantInfoService.updatePhone(employee.getPhone(), user.getPhone());
|
|
}
|
|
}
|
|
@@ -235,7 +244,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> imp
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public void employeeOperate(Integer employeeId, EmployeeOperateEnum operate) {
|
|
public void employeeOperate(Integer employeeId, EmployeeOperateEnum operate) {
|
|
Employee employee = employeeDao.get(employeeId);
|
|
Employee employee = employeeDao.get(employeeId);
|
|
- SysUser sysUser = sysUserFeignService.queryUserById(employeeId);
|
|
|
|
|
|
+ SysUser sysUser = teacherDao.getUser(employeeId);
|
|
switch (operate){
|
|
switch (operate){
|
|
case RESET_PASSWORD:
|
|
case RESET_PASSWORD:
|
|
employeeDao.updatePassword(employeeId,new BCryptPasswordEncoder().encode(ParamEnum.INIT_PASSWORD.getCode().toString()));
|
|
employeeDao.updatePassword(employeeId,new BCryptPasswordEncoder().encode(ParamEnum.INIT_PASSWORD.getCode().toString()));
|
|
@@ -393,7 +402,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> imp
|
|
employeeDao.updateUserDemissionDate(levelUserId);
|
|
employeeDao.updateUserDemissionDate(levelUserId);
|
|
//冻结用户
|
|
//冻结用户
|
|
employeeDao.updateUserLock(levelUserId,1);
|
|
employeeDao.updateUserLock(levelUserId,1);
|
|
- ExecutorService executor = Executors.newFixedThreadPool(20);
|
|
|
|
|
|
+ ExecutorService executor = Executors.newFixedThreadPool(5);
|
|
CompletableFuture<Boolean> refreshUserFriend = CompletableFuture.supplyAsync(()->{
|
|
CompletableFuture<Boolean> refreshUserFriend = CompletableFuture.supplyAsync(()->{
|
|
//获取用户担任教务老师、维修技师的所有乐团列表
|
|
//获取用户担任教务老师、维修技师的所有乐团列表
|
|
List<String> musicGroupIds = employeeDao.queryMusicGroupIdByUserId(levelUserId);
|
|
List<String> musicGroupIds = employeeDao.queryMusicGroupIdByUserId(levelUserId);
|