diff --git a/eiam-common/src/main/java/cn/topiam/employee/common/repository/app/AppGroupAssociationRepository.java b/eiam-common/src/main/java/cn/topiam/employee/common/repository/app/AppGroupAssociationRepository.java index 2ef21deb..f2cecfa7 100644 --- a/eiam-common/src/main/java/cn/topiam/employee/common/repository/app/AppGroupAssociationRepository.java +++ b/eiam-common/src/main/java/cn/topiam/employee/common/repository/app/AppGroupAssociationRepository.java @@ -53,6 +53,20 @@ public interface AppGroupAssociationRepository extends void deleteByGroupIdAndAppId(@Param("groupId") Long groupId, @Param("appId") Long appId); + /** + * 删除关联 + * + * @param appId {@link Long} + * @return {@link Boolean} + */ + @Modifying + @Transactional(rollbackFor = Exception.class) + @Query(value = "UPDATE app_group_association SET " + SOFT_DELETE_SET + + " WHERE app_id = :appId", nativeQuery = true) + void deleteAllByAppId(@Param(value = "appId") Long appId); + + + /** * 根据应用ID删除关联信息 * diff --git a/eiam-console/src/main/java/cn/topiam/employee/console/service/app/impl/AppServiceImpl.java b/eiam-console/src/main/java/cn/topiam/employee/console/service/app/impl/AppServiceImpl.java index 301f7280..14fdfc46 100644 --- a/eiam-console/src/main/java/cn/topiam/employee/console/service/app/impl/AppServiceImpl.java +++ b/eiam-console/src/main/java/cn/topiam/employee/console/service/app/impl/AppServiceImpl.java @@ -137,6 +137,7 @@ public class AppServiceImpl implements AppService { public boolean deleteApp(Long id) { AppEntity app = appRequireNonNull(id); applicationServiceLoader.getApplicationService(app.getTemplate()).delete(id.toString()); + appGroupAssociationRepository.deleteAllByAppId(id); AuditContext .setTarget(Target.builder().id(id.toString()).type(TargetType.APPLICATION).build()); return true;