|
@@ -8,6 +8,7 @@ import com.qmth.teachcloud.common.entity.SysRole;
|
|
|
import com.qmth.teachcloud.common.entity.SysRolePrivilege;
|
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
|
import com.qmth.teachcloud.common.entity.SysUserRole;
|
|
|
+import com.qmth.teachcloud.common.enums.PrivilegeEnum;
|
|
|
import com.qmth.teachcloud.common.enums.RoleTypeEnum;
|
|
|
import com.qmth.teachcloud.common.mapper.SysUserRoleMapper;
|
|
|
import com.qmth.teachcloud.common.service.SysRolePrivilegeService;
|
|
@@ -16,9 +17,11 @@ import com.qmth.teachcloud.common.service.SysUserRoleService;
|
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.LinkedMultiValueMap;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -62,12 +65,36 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
|
|
|
public List<MenuDto> listByUserId() {
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
List<SysRole> sysRole = sysRoleService.listRolesByUserId(sysUser.getId());
|
|
|
+ List<MenuDto> menuDtoList = null;
|
|
|
for (SysRole role : sysRole) {
|
|
|
- if (RoleTypeEnum.ADMIN.name().equals(role.getType().name())) {
|
|
|
- return this.baseMapper.listAll();
|
|
|
+ if (Objects.nonNull(role.getType()) && RoleTypeEnum.ADMIN.name().equals(role.getType().name())) {
|
|
|
+ return this.baseMapper.listAll(Objects.isNull(sysUser.getSchoolId()) ? (Long) ServletUtil.getRequestSchoolByNotVaild() : sysUser.getSchoolId());
|
|
|
}
|
|
|
}
|
|
|
- return this.baseMapper.listByUserId(sysUser.getId());
|
|
|
+ LinkedMultiValueMap<Long, LinkedMultiValueMap<PrivilegeEnum, MenuDto>> linkedMultiValueMap = new LinkedMultiValueMap<>();
|
|
|
+ menuDtoList = this.baseMapper.listByUserId(sysUser.getId(), Objects.isNull(sysUser.getSchoolId()) ? (Long) ServletUtil.getRequestSchoolByNotVaild() : sysUser.getSchoolId());
|
|
|
+// LinkedMultiValueMap<PrivilegeEnum, MenuDto> menuDtoLinkedMultiValueMap = null;
|
|
|
+// for (MenuDto m : menuDtoList) {
|
|
|
+// if (!linkedMultiValueMap.containsKey(m.getParentId())) {
|
|
|
+// menuDtoLinkedMultiValueMap = new LinkedMultiValueMap<>();
|
|
|
+// menuDtoLinkedMultiValueMap.add(m.getType(), m);
|
|
|
+// linkedMultiValueMap.add(m.getParentId(), menuDtoLinkedMultiValueMap);
|
|
|
+// } else {
|
|
|
+// List<LinkedMultiValueMap<PrivilegeEnum, MenuDto>> menuDtos = linkedMultiValueMap.get(m.getParentId());
|
|
|
+// for (int i = 0; i < menuDtos.size(); i++) {
|
|
|
+// menuDtoLinkedMultiValueMap = menuDtos.get(i);
|
|
|
+// if (menuDtoLinkedMultiValueMap.containsKey(m.getType())) {
|
|
|
+// menuDtoLinkedMultiValueMap.add(m.getType(), m);
|
|
|
+// break;
|
|
|
+// } else {
|
|
|
+// menuDtoLinkedMultiValueMap = new LinkedMultiValueMap<>();
|
|
|
+// menuDtoLinkedMultiValueMap.add(m.getType(), m);
|
|
|
+// linkedMultiValueMap.add(m.getParentId(), menuDtoLinkedMultiValueMap);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+ return menuDtoList;
|
|
|
}
|
|
|
|
|
|
@Override
|