|
@@ -8,11 +8,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.xy.dto.BatchDeleteDto;
|
|
import com.xy.dto.BatchDeleteDto;
|
|
import com.xy.dto.SysRoleDto;
|
|
import com.xy.dto.SysRoleDto;
|
|
-import com.xy.entity.SysDeptRole;
|
|
|
|
-import com.xy.entity.SysRole;
|
|
|
|
-import com.xy.entity.SysRoleMenu;
|
|
|
|
-import com.xy.entity.SysUserRole;
|
|
|
|
|
|
+import com.xy.entity.*;
|
|
import com.xy.mapper.SysRoleMapper;
|
|
import com.xy.mapper.SysRoleMapper;
|
|
|
|
+import com.xy.mapper.SysSystemMapper;
|
|
import com.xy.service.SysDeptRoleService;
|
|
import com.xy.service.SysDeptRoleService;
|
|
import com.xy.service.SysRoleMenuService;
|
|
import com.xy.service.SysRoleMenuService;
|
|
import com.xy.service.SysRoleService;
|
|
import com.xy.service.SysRoleService;
|
|
@@ -21,13 +19,17 @@ import com.xy.utils.PageBean;
|
|
import com.xy.utils.R;
|
|
import com.xy.utils.R;
|
|
import com.xy.utils.SaTokenUtils;
|
|
import com.xy.utils.SaTokenUtils;
|
|
import com.xy.vo.RoleMenuVo;
|
|
import com.xy.vo.RoleMenuVo;
|
|
|
|
+import com.xy.vo.SysRoleGroupBySysVo;
|
|
import com.xy.vo.SysRoleVo;
|
|
import com.xy.vo.SysRoleVo;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.xy.utils.Beans.copy;
|
|
import static com.xy.utils.Beans.copy;
|
|
import static com.xy.utils.PlusBeans.toIPage;
|
|
import static com.xy.utils.PlusBeans.toIPage;
|
|
@@ -46,6 +48,8 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
|
private final SysRoleMenuService sysRoleMenuService;
|
|
private final SysRoleMenuService sysRoleMenuService;
|
|
private final SysDeptRoleService sysDeptRoleService;
|
|
private final SysDeptRoleService sysDeptRoleService;
|
|
private final SysUserRoleService sysUserRoleService;
|
|
private final SysUserRoleService sysUserRoleService;
|
|
|
|
+ private final SysRoleService sysRoleService;
|
|
|
|
+ private final SysSystemMapper sysSystemMapper;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public R<Boolean> saveOrUpdate(SysRoleDto sysRoleDto) {
|
|
public R<Boolean> saveOrUpdate(SysRoleDto sysRoleDto) {
|
|
@@ -123,5 +127,31 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
|
return R.ok(copy(SysRoleVo.class, list));
|
|
return R.ok(copy(SysRoleVo.class, list));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public R<List<SysRoleGroupBySysVo>> myCreatedRoles() {
|
|
|
|
+ List<SysRoleGroupBySysVo> sysRoleGroupBySysVos = new ArrayList<>(16);
|
|
|
|
+ Long curUserId = Long.parseLong(SaTokenUtils.getId().toString());
|
|
|
|
+ //当前用户创建的的角色列表
|
|
|
|
+ List<SysRole> sysRoleList = this.list(Wrappers.<SysRole>lambdaQuery().eq(SysRole::getCreateUser, curUserId));
|
|
|
|
+ if (CollUtil.isNotEmpty(sysRoleList)) {
|
|
|
|
+ List<Long> sysIds = sysRoleList.stream().map(SysRole::getSysId).collect(Collectors.toList());
|
|
|
|
+ List<SysSystem> sysSystems = sysSystemMapper.selectBatchIds(sysIds);
|
|
|
|
+ //系统ID-系统名称映射
|
|
|
|
+ Map<Long, String> sysMap = sysSystems.stream().collect(Collectors.toMap(SysSystem::getId, SysSystem::getName));
|
|
|
|
+ //系统ID-系统角色映射
|
|
|
|
+ Map<Long, List<SysRole>> map = sysRoleList.stream().collect(Collectors.groupingBy(sysRole -> sysRole.getSysId()));
|
|
|
|
+ //按系统分组,封装角色信息
|
|
|
|
+ map.forEach((sysId, sysRoles) -> {
|
|
|
|
+ SysRoleGroupBySysVo sysRoleGroupBySysVo = new SysRoleGroupBySysVo();
|
|
|
|
+ sysRoleGroupBySysVo.setSysRoleVos(copy(SysRoleVo.class, sysRoles));
|
|
|
|
+ sysRoleGroupBySysVo.setSysId(sysId);
|
|
|
|
+ sysRoleGroupBySysVo.setName(sysMap.get(sysId));
|
|
|
|
+ sysRoleGroupBySysVos.add(sysRoleGroupBySysVo);
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ return R.ok(sysRoleGroupBySysVos);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|