【修复】修复用户删除后,删除机构时依然提示该机构下有员工无法删除的bug

pull/55/head
xuyuxiang 2021-09-03 13:35:52 +08:00
parent 0c9ff1d9a4
commit 12bd67cc34
3 changed files with 31 additions and 1 deletions

View File

@ -40,9 +40,12 @@ import vip.xiaonuo.sys.modular.emp.result.SysEmpInfo;
import vip.xiaonuo.sys.modular.emp.service.SysEmpExtOrgPosService;
import vip.xiaonuo.sys.modular.emp.service.SysEmpPosService;
import vip.xiaonuo.sys.modular.emp.service.SysEmpService;
import vip.xiaonuo.sys.modular.user.service.SysUserService;
import javax.annotation.Resource;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* service
@ -59,6 +62,9 @@ public class SysEmpServiceImpl extends ServiceImpl<SysEmpMapper, SysEmp> impleme
@Resource
private SysEmpPosService sysEmpPosService;
@Resource
private SysUserService sysUserService;
@Override
public LoginEmpInfo getLoginEmpInfo(Long empId) {
@ -135,7 +141,12 @@ public class SysEmpServiceImpl extends ServiceImpl<SysEmpMapper, SysEmp> impleme
LambdaQueryWrapper<SysEmp> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysEmp::getOrgId, orgId);
List<SysEmp> list = this.list(queryWrapper);
return list.size() != 0;
if(ObjectUtil.isEmpty(list)) {
return false;
} else {
Set<Long> collect = list.stream().map(SysEmp::getId).collect(Collectors.toSet());
return sysUserService.hasAllDeletedUser(collect);
}
}
@Transactional(rollbackFor = Exception.class)

View File

@ -33,6 +33,7 @@ import vip.xiaonuo.sys.modular.user.param.SysUserParam;
import vip.xiaonuo.sys.modular.user.result.SysUserResult;
import java.util.List;
import java.util.Set;
/**
* service
@ -261,4 +262,14 @@ public interface SysUserService extends IService<SysUser> {
* @date 2020/9/11 17:54
**/
List<Long> getAllUserIdList();
/**
*
*
* @author xuyuxiang
* @date 2021/9/3 13:26
* @param userIdSet id
* @return boolean
**/
boolean hasAllDeletedUser(Set<Long> userIdSet);
}

View File

@ -516,6 +516,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return resultList;
}
@Override
public boolean hasAllDeletedUser(Set<Long> userIdSet) {
//查询id在此集合内且状态为删除的用户判断其数量是否大于等于集合数量大于是为了容错
LambdaQueryWrapper<SysUser> lambdaQueryWrapper = new LambdaQueryWrapper<SysUser>()
.eq(SysUser::getStatus, CommonStatusEnum.DELETED).in(SysUser::getId, userIdSet);
return this.count(lambdaQueryWrapper) >= userIdSet.size();
}
/**
*
*