Ver a proveniência

菜单权限保存问题

4.0
yaoq há 2 anos
ascendente
cometimento
133280bc63
2 ficheiros alterados com 11 adições e 3 eliminações
  1. +5
    -3
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/role/RoleHandler.java
  2. +6
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/role/RoleRightContent.java

+ 5
- 3
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/role/RoleHandler.java Ver ficheiro

@@ -56,9 +56,10 @@ public class RoleHandler {
if (role_id <= 0) return R.error("未指定角色!");
SwMap formData = data.readMap("form");
Set<Long> set = formData.readLongSet("menu");
if (PubUtil.isEmpty(set)) return R.error("未选择菜单!");
//if (PubUtil.isEmpty(set)) return R.error("未选择菜单!");
Role role = RoleCache.getInstance().get(role_id);
RoleRightContent rc = new RoleRightContent(role.getPrivilege());
rc.resetItem();
for (Long menu_id : set) {
MenuPlanItem item = MenuPlanCache.getInstance().getById(role.getSmpId(), menu_id);
RoleRight right = rc.getRoleRight(item.getId());
@@ -66,8 +67,8 @@ public class RoleHandler {
right = new RoleRight();
right.setId(item.getId());
right.setMenuId(item.getMenu());
right.setMenu(1);
}
right.setMenu(1);
rc.saveItem(right);
}
if (mp_id > 0) {
@@ -81,7 +82,8 @@ public class RoleHandler {
}
right.setFunc(formData.readStringSet("func"));
right.setData(formData.readListMap("data"));
right.setField(MenuCache.getInstance().get(item.getMenu()).getRightSet(SwEnum.MenuRightType.FIELD.value), formData.readStringSet("write"), formData.readStringSet("read"));
if (item.getMenu() > 0L)
right.setField(MenuCache.getInstance().get(item.getMenu()).getRightSet(SwEnum.MenuRightType.FIELD.value), formData.readStringSet("write"), formData.readStringSet("read"));
rc.saveItem(right);
}
role.setPrivilege(rc.toContentStr());


+ 6
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/sys/user/role/RoleRightContent.java Ver ficheiro

@@ -31,6 +31,12 @@ public class RoleRightContent {
RoleRight right = new RoleRight();
}

public void resetItem() {
map.values().forEach(roleRight -> {
roleRight.setMenu(0);
});
}

// 保存节点
public void saveItem(RoleRight item) {
map.put(item.getId(), item);


Carregando…
Cancelar
Guardar