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)