From 12bd67cc343d6b02d44a82cf9e149528fe4e9d3e Mon Sep 17 00:00:00 2001 From: xuyuxiang Date: Fri, 3 Sep 2021 13:35:52 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E7=94=A8=E6=88=B7=E5=88=A0=E9=99=A4=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=9C=BA=E6=9E=84=E6=97=B6=E4=BE=9D=E7=84=B6?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E8=AF=A5=E6=9C=BA=E6=9E=84=E4=B8=8B=E6=9C=89?= =?UTF-8?q?=E5=91=98=E5=B7=A5=E6=97=A0=E6=B3=95=E5=88=A0=E9=99=A4=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modular/emp/service/impl/SysEmpServiceImpl.java | 13 ++++++++++++- .../sys/modular/user/service/SysUserService.java | 11 +++++++++++ .../user/service/impl/SysUserServiceImpl.java | 8 ++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) 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(); + } + /** * 校验参数,检查是否存在相同的账号 *