diff --git a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/emp/service/impl/SysEmpServiceImpl.java b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/emp/service/impl/SysEmpServiceImpl.java index f7bf9ba0..ce0e581c 100644 --- a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/emp/service/impl/SysEmpServiceImpl.java +++ b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/emp/service/impl/SysEmpServiceImpl.java @@ -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 impleme @Resource private SysEmpPosService sysEmpPosService; + @Resource + private SysUserService sysUserService; + @Override public LoginEmpInfo getLoginEmpInfo(Long empId) { @@ -135,7 +141,12 @@ public class SysEmpServiceImpl extends ServiceImpl impleme LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysEmp::getOrgId, orgId); List list = this.list(queryWrapper); - return list.size() != 0; + if(ObjectUtil.isEmpty(list)) { + return false; + } else { + Set collect = list.stream().map(SysEmp::getId).collect(Collectors.toSet()); + return sysUserService.hasAllDeletedUser(collect); + } } @Transactional(rollbackFor = Exception.class) diff --git a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/user/service/SysUserService.java b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/user/service/SysUserService.java index 4d23da82..2ecdeadf 100644 --- a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/user/service/SysUserService.java +++ b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/user/service/SysUserService.java @@ -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 { * @date 2020/9/11 17:54 **/ List getAllUserIdList(); + + /** + * 判断集合内用户是否均已删除 + * + * @author xuyuxiang + * @date 2021/9/3 13:26 + * @param userIdSet 用户id集合 + * @return boolean + **/ + boolean hasAllDeletedUser(Set userIdSet); } diff --git a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java index b5aa8592..ea4d44ff 100644 --- a/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java +++ b/snowy-base/snowy-system/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.java @@ -516,6 +516,14 @@ public class SysUserServiceImpl extends ServiceImpl impl return resultList; } + @Override + public boolean hasAllDeletedUser(Set userIdSet) { + //查询id在此集合内,且状态为删除的用户,判断其数量是否大于等于集合数量,大于是为了容错 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper() + .eq(SysUser::getStatus, CommonStatusEnum.DELETED).in(SysUser::getId, userIdSet); + return this.count(lambdaQueryWrapper) >= userIdSet.size(); + } + /** * 校验参数,检查是否存在相同的账号 *