Browse Source

修复如果权限设置已经存在则无法保存到问题

zhou-hao 5 years ago
parent
commit
a7fdd1c098

+ 3 - 1
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-local/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleAuthorizationSettingService.java

@@ -201,10 +201,12 @@ public class SimpleAuthorizationSettingService extends GenericEntityService<Auth
     @CacheEvict(cacheNames = {CacheConstants.USER_AUTH_CACHE_NAME, CacheConstants.USER_MENU_CACHE_NAME}, allEntries = true)
     public void mergeSetting(List<AuthorizationSettingEntity> settings) {
         for (AuthorizationSettingEntity setting : settings) {
-            if (select(setting.getType(), setting.getSettingFor()) == null) {
+            AuthorizationSettingEntity old = select(setting.getType(), setting.getSettingFor());
+            if (old == null) {
                 insert(setting);
                 continue;
             }
+            setting.setId(old.getId());
             if (!CollectionUtils.isEmpty(setting.getDetails())) {
                 for (AuthorizationSettingDetailEntity detail : setting.getDetails()) {
                     detail.setSettingId(setting.getId());