From 64ed31119151ad0a7ad6da6c27cef3ca2a1c82e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sun, 27 Apr 2025 10:48:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E3=80=90bug-101=E3=80=91=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=AB=AF=EF=BC=8C=E6=9B=B4=E6=94=B9=E4=B8=BB=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7=E5=85=B3=E8=81=94=E7=9A=84=E4=BB=A3=E7=90=86=E5=95=86?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=EF=BC=8C=E5=8E=BB=E6=8E=89=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E7=9A=84=E5=B0=8F=E5=86=99=E7=9A=84=E4=BB=A3?= =?UTF-8?q?=E7=90=86=E5=95=86=E5=85=AC=E5=8F=B8=EF=BC=8C=E5=B9=B6=E5=85=B3?= =?UTF-8?q?=E8=81=94=E4=BA=86=E4=B8=80=E4=B8=AA=E6=96=B0=E5=A2=9E=E7=9A=84?= =?UTF-8?q?=E4=BB=A3=E7=90=86=E5=95=86=E5=85=AC=E5=8F=B8=EF=BC=8C=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E6=97=B6=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 如果移除了公司,则检查被移除的公司是否绑定了子账号,如果绑定了,则不允许移除 --- .../admin/controller/AppUserController.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AppUserController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AppUserController.java index cf946be3..d09a0285 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AppUserController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AppUserController.java @@ -204,7 +204,18 @@ public class AppUserController extends ControllerBase { appUserService.updateById(user); } - public void updatePrimaryAppUser(AppUser user,AppUserUpdateRequest request) throws MessagingException { + public void updatePrimaryAppUser(AppUser user,AppUserUpdateRequest request) { + Collection currentCompanyIds=StrUtil.split(user.getCompanyId(),",").stream().map(Integer::parseInt).collect(Collectors.toSet()); + currentCompanyIds.removeAll(request.getCompanyIds()); + if (CollectionUtil.isNotEmpty(currentCompanyIds)){ + //删除了一些公司,需要判断被删除的公司是否被其他代理商子账号关联,如果被删除的公司下有子账号,则不允许删除 + VUtils.trueThrowBusinessError(appUserService.lambdaQuery() + .eq(AppUser::getIsDel,false) + .eq(AppUser::getIsPrimary,false) + .in(AppUser::getCompanyId, currentCompanyIds) + .exists()) + .throwMessage("被移除的公司存在子账号,移除失败"); + } List companyIds = appUserService.lambdaQuery() .select(AppUser::getCompanyId) .eq(AppUser::getIsPrimary, true)