|
@@ -76,8 +76,8 @@ public class SysDataPermServiceImpl extends BaseService<SysDataPerm, Long> imple
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public SysDataPerm saveNew(SysDataPerm dataPerm, Set<Long> deptIdSet, Set<Long> menuIdSet) {
|
|
|
- dataPerm.setDataPermId(idGenerator.nextLongId());
|
|
|
+ public SysDataPerm saveNew(SysDataPerm dataPerm, Set<String> deptIdSet, Set<String> menuIdSet) {
|
|
|
+ dataPerm.setDataPermId(idGenerator.nextLongId() + "");
|
|
|
MyModelUtil.fillCommonsForInsert(dataPerm);
|
|
|
sysDataPermMapper.insert(dataPerm);
|
|
|
this.insertRelationData(dataPerm, deptIdSet, menuIdSet);
|
|
@@ -87,9 +87,9 @@ public class SysDataPermServiceImpl extends BaseService<SysDataPerm, Long> imple
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public boolean update(
|
|
|
- SysDataPerm dataPerm, SysDataPerm originalDataPerm, Set<Long> deptIdSet, Set<Long> menuIdSet) {
|
|
|
+ SysDataPerm dataPerm, SysDataPerm originalDataPerm, Set<String> deptIdSet, Set<String> menuIdSet) {
|
|
|
MyModelUtil.fillCommonsForUpdate(dataPerm, originalDataPerm);
|
|
|
- UpdateWrapper<SysDataPerm> uw = this.createUpdateQueryForNullValue(dataPerm, dataPerm.getDataPermId());
|
|
|
+ UpdateWrapper<SysDataPerm> uw = this.createUpdateQueryForNullValue(dataPerm, Long.valueOf(dataPerm.getDataPermId()));
|
|
|
if (sysDataPermMapper.update(dataPerm, uw) != 1) {
|
|
|
return false;
|
|
|
}
|
|
@@ -111,7 +111,7 @@ public class SysDataPermServiceImpl extends BaseService<SysDataPerm, Long> imple
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public boolean remove(Long dataPermId) {
|
|
|
+ public boolean remove(String dataPermId) {
|
|
|
if (sysDataPermMapper.deleteById(dataPermId) != 1) {
|
|
|
return false;
|
|
|
}
|
|
@@ -135,7 +135,7 @@ public class SysDataPermServiceImpl extends BaseService<SysDataPerm, Long> imple
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void putDataPermCache(String sessionId, Long userId, Long deptId) {
|
|
|
+ public void putDataPermCache(String sessionId, String userId, String deptId) {
|
|
|
Map<String, Map<Integer, String>> menuDataPermMap = getSysDataPermListByUserId(userId, deptId);
|
|
|
if (menuDataPermMap.size() > 0) {
|
|
|
String dataPermSessionKey = RedisKeyUtil.makeSessionDataPermIdKey(sessionId);
|
|
@@ -157,11 +157,11 @@ public class SysDataPermServiceImpl extends BaseService<SysDataPerm, Long> imple
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Map<String, Map<Integer, String>> getSysDataPermListByUserId(Long userId, Long deptId) {
|
|
|
+ public Map<String, Map<Integer, String>> getSysDataPermListByUserId(String userId, String deptId) {
|
|
|
List<SysDataPerm> dataPermList = sysDataPermMapper.getSysDataPermListByUserId(userId);
|
|
|
dataPermList.forEach(dataPerm -> {
|
|
|
if (CollUtil.isNotEmpty(dataPerm.getDataPermDeptList())) {
|
|
|
- Set<Long> deptIdSet = dataPerm.getDataPermDeptList().stream()
|
|
|
+ Set<String> deptIdSet = dataPerm.getDataPermDeptList().stream()
|
|
|
.map(SysDataPermDept::getDeptId).collect(Collectors.toSet());
|
|
|
dataPerm.setDeptIdListString(StrUtil.join(",", deptIdSet));
|
|
|
}
|
|
@@ -187,7 +187,7 @@ public class SysDataPermServiceImpl extends BaseService<SysDataPerm, Long> imple
|
|
|
}
|
|
|
|
|
|
private Map<String, Map<Integer, String>> mergeAndOptimizeDataPermRule(
|
|
|
- Map<String, List<SysDataPerm>> menuIdMap, Long deptId) {
|
|
|
+ Map<String, List<SysDataPerm>> menuIdMap, String deptId) {
|
|
|
Map<String, Map<Integer, String>> menuResultMap = new HashMap<>(menuIdMap.size());
|
|
|
// 为了更方便进行后续的合并优化处理,这里再基于菜单Id和规则类型进行分组。ruleMap的key是规则类型。
|
|
|
for (Map.Entry<String, List<SysDataPerm>> entry : menuIdMap.entrySet()) {
|
|
@@ -227,15 +227,15 @@ public class SysDataPermServiceImpl extends BaseService<SysDataPerm, Long> imple
|
|
|
return menuResultMap;
|
|
|
}
|
|
|
|
|
|
- private String processMultiDeptAndChildren(Map<Integer, List<SysDataPerm>> ruleMap, Long deptId) {
|
|
|
+ private String processMultiDeptAndChildren(Map<Integer, List<SysDataPerm>> ruleMap, String deptId) {
|
|
|
List<SysDataPerm> parentDeptList = ruleMap.get(DataPermRuleType.TYPE_MULTI_DEPT_AND_CHILD_DEPT);
|
|
|
if (parentDeptList == null) {
|
|
|
return null;
|
|
|
}
|
|
|
- Set<Long> deptIdSet = new HashSet<>();
|
|
|
+ Set<String> deptIdSet = new HashSet<>();
|
|
|
for (SysDataPerm parentDept : parentDeptList) {
|
|
|
deptIdSet.addAll(StrUtil.split(parentDept.getDeptIdListString(), ',')
|
|
|
- .stream().map(Long::valueOf).collect(Collectors.toSet()));
|
|
|
+ .stream().map(String::valueOf).collect(Collectors.toSet()));
|
|
|
}
|
|
|
// 在合并所有的多父部门Id之后,需要判断是否有本部门及子部门的规则。如果有,就继续合并。
|
|
|
if (ruleMap.containsKey(DataPermRuleType.TYPE_DEPT_AND_CHILD_DEPT)) {
|
|
@@ -252,15 +252,15 @@ public class SysDataPermServiceImpl extends BaseService<SysDataPerm, Long> imple
|
|
|
return StrUtil.join(",", deptIdSet);
|
|
|
}
|
|
|
|
|
|
- private String processMultiDept(Map<Integer, List<SysDataPerm>> ruleMap, Long deptId) {
|
|
|
+ private String processMultiDept(Map<Integer, List<SysDataPerm>> ruleMap, String deptId) {
|
|
|
List<SysDataPerm> customDeptList = ruleMap.get(DataPermRuleType.TYPE_CUSTOM_DEPT_LIST);
|
|
|
if (customDeptList == null) {
|
|
|
return null;
|
|
|
}
|
|
|
- Set<Long> deptIdSet = new HashSet<>();
|
|
|
+ Set<String> deptIdSet = new HashSet<>();
|
|
|
for (SysDataPerm customDept : customDeptList) {
|
|
|
deptIdSet.addAll(StrUtil.split(customDept.getDeptIdListString(), ',')
|
|
|
- .stream().map(Long::valueOf).collect(Collectors.toSet()));
|
|
|
+ .stream().map(String::valueOf).collect(Collectors.toSet()));
|
|
|
}
|
|
|
if (ruleMap.containsKey(DataPermRuleType.TYPE_DEPT_ONLY)) {
|
|
|
deptIdSet.add(deptId);
|
|
@@ -277,8 +277,8 @@ public class SysDataPermServiceImpl extends BaseService<SysDataPerm, Long> imple
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public void addDataPermUserList(Long dataPermId, Set<Long> userIdSet) {
|
|
|
- for (Long userId : userIdSet) {
|
|
|
+ public void addDataPermUserList(String dataPermId, Set<String> userIdSet) {
|
|
|
+ for (String userId : userIdSet) {
|
|
|
SysDataPermUser dataPermUser = new SysDataPermUser();
|
|
|
dataPermUser.setDataPermId(dataPermId);
|
|
|
dataPermUser.setUserId(userId);
|
|
@@ -296,8 +296,8 @@ public class SysDataPermServiceImpl extends BaseService<SysDataPerm, Long> imple
|
|
|
@Override
|
|
|
public boolean removeDataPermUser(Long dataPermId, Long userId) {
|
|
|
SysDataPermUser dataPermUser = new SysDataPermUser();
|
|
|
- dataPermUser.setDataPermId(dataPermId);
|
|
|
- dataPermUser.setUserId(userId);
|
|
|
+ dataPermUser.setDataPermId(dataPermId + "");
|
|
|
+ dataPermUser.setUserId(userId + "");
|
|
|
return sysDataPermUserMapper.delete(new QueryWrapper<>(dataPermUser)) == 1;
|
|
|
}
|
|
|
|
|
@@ -327,9 +327,9 @@ public class SysDataPermServiceImpl extends BaseService<SysDataPerm, Long> imple
|
|
|
return CallResult.ok(jsonObject);
|
|
|
}
|
|
|
|
|
|
- private void insertRelationData(SysDataPerm dataPerm, Set<Long> deptIdSet, Set<Long> menuIdSet) {
|
|
|
+ private void insertRelationData(SysDataPerm dataPerm, Set<String> deptIdSet, Set<String> menuIdSet) {
|
|
|
if (CollUtil.isNotEmpty(deptIdSet)) {
|
|
|
- for (Long deptId : deptIdSet) {
|
|
|
+ for (String deptId : deptIdSet) {
|
|
|
SysDataPermDept dataPermDept = new SysDataPermDept();
|
|
|
dataPermDept.setDataPermId(dataPerm.getDataPermId());
|
|
|
dataPermDept.setDeptId(deptId);
|
|
@@ -337,7 +337,7 @@ public class SysDataPermServiceImpl extends BaseService<SysDataPerm, Long> imple
|
|
|
}
|
|
|
}
|
|
|
if (CollUtil.isNotEmpty(menuIdSet)) {
|
|
|
- for (Long menuId : menuIdSet) {
|
|
|
+ for (String menuId : menuIdSet) {
|
|
|
SysDataPermMenu dataPermMenu = new SysDataPermMenu();
|
|
|
dataPermMenu.setDataPermId(dataPerm.getDataPermId());
|
|
|
dataPermMenu.setMenuId(menuId);
|