fix(system): 支持代理套餐的租户更新逻辑

This commit is contained in:
2025-11-26 16:13:17 +08:00
parent 42ec325815
commit 646bc77c7b

View File

@@ -407,15 +407,27 @@ public class TenantServiceImpl implements TenantService {
// 校验租户域名是否重复 // 校验租户域名是否重复
validTenantWebsiteDuplicate(updateReqVO.getWebsite(), updateReqVO.getId()); validTenantWebsiteDuplicate(updateReqVO.getWebsite(), updateReqVO.getId());
// 校验套餐被禁用 // 校验套餐被禁用
TenantPackageDO tenantPackage = tenantPackageService.validTenantPackage(updateReqVO.getPackageId());
// 更新租户 if (updateReqVO.getTenantType().equals(TenantEnum.AGENCY.getTenantType())) {
TenantDO updateObj = BeanUtils.toBean(updateReqVO, TenantDO.class); TenantAgencyPackageDO tenantAgencyPackageDO = tenantAgencyPackageService.validTenantPackage(updateReqVO.getPackageId());
tenantMapper.updateById(updateObj); // 更新租户
// 如果套餐发生变化,则修改其角色的权限 TenantDO updateObj = BeanUtils.toBean(updateReqVO, TenantDO.class);
if (ObjectUtil.notEqual(tenant.getPackageId(), updateReqVO.getPackageId())) { tenantMapper.updateById(updateObj);
updateTenantRoleMenu(tenant.getId(), tenantPackage.getMenuIds()); // 如果套餐发生变化,则修改其角色的权限
if (ObjectUtil.notEqual(tenant.getPackageId(), updateReqVO.getPackageId())) {
updateTenantRoleMenu(tenant.getId(), tenantAgencyPackageDO.getMenuIds());
}
}else {
TenantPackageDO tenantPackage = tenantPackageService.validTenantPackage(updateReqVO.getPackageId());
// 更新租户
TenantDO updateObj = BeanUtils.toBean(updateReqVO, TenantDO.class);
tenantMapper.updateById(updateObj);
// 如果套餐发生变化,则修改其角色的权限
if (ObjectUtil.notEqual(tenant.getPackageId(), updateReqVO.getPackageId())) {
updateTenantRoleMenu(tenant.getId(), tenantPackage.getMenuIds());
}
} }
} }
private void validTenantNameDuplicate(String name, Long id) { private void validTenantNameDuplicate(String name, Long id) {