Commit fb2286ad by zhangxingmin

Merge remote-tracking branch 'origin/dev' into prod

parents 1ca2959a f436f64d
...@@ -6,8 +6,10 @@ import com.yd.user.api.service.ApiRelProjectRoleService; ...@@ -6,8 +6,10 @@ import com.yd.user.api.service.ApiRelProjectRoleService;
import com.yd.user.feign.client.relprojectrole.ApiRelProjectRoleFeignClient; import com.yd.user.feign.client.relprojectrole.ApiRelProjectRoleFeignClient;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListAddRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListAddRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleMenuListPageRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageResponse; import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageResponse;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleMenuListPageResponse;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleSelectPageResponse; import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleSelectPageResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -15,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -15,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List;
/** /**
* 项目-角色关系信息(项目管理-角色配置) * 项目-角色关系信息(项目管理-角色配置)
...@@ -41,6 +44,16 @@ public class ApiRelProjectRoleController implements ApiRelProjectRoleFeignClient ...@@ -41,6 +44,16 @@ public class ApiRelProjectRoleController implements ApiRelProjectRoleFeignClient
} }
/** /**
* 项目角色关系菜单列表查询
* @param request
* @return
*/
@Override
public Result<ApiRelProjectRoleMenuListPageResponse> list(ApiRelProjectRoleMenuListPageRequest request) {
return apiRelProjectRoleService.list(request);
}
/**
* 添加项目和角色列表关系 * 添加项目和角色列表关系
* @param request * @param request
* @return * @return
......
...@@ -4,14 +4,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,14 +4,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListAddRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListAddRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleMenuListPageRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageResponse; import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageResponse;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleMenuListPageResponse;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleSelectPageResponse; import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleSelectPageResponse;
public interface ApiRelProjectRoleService { public interface ApiRelProjectRoleService {
Result<IPage<ApiRelProjectRoleListPageResponse>> page(ApiRelProjectRoleListPageRequest request); Result<IPage<ApiRelProjectRoleListPageResponse>> page(ApiRelProjectRoleListPageRequest request);
Result<ApiRelProjectRoleMenuListPageResponse> list(ApiRelProjectRoleMenuListPageRequest request);
Result addRoleList(ApiRelProjectRoleListAddRequest request); Result addRoleList(ApiRelProjectRoleListAddRequest request);
Result del(Long id); Result del(Long id);
......
...@@ -5,14 +5,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -5,14 +5,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.common.enums.ResultCode; import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException; import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.common.utils.TreeUtils;
import com.yd.user.api.service.ApiRelProjectRoleService; import com.yd.user.api.service.ApiRelProjectRoleService;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListAddRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListAddRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleMenuListPageRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageResponse; import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageResponse;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleMenuListPageResponse;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleSelectPageResponse; import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleSelectPageResponse;
import com.yd.user.feign.response.reltenantrole.ApiRelTenantRoleListPageResponse; import com.yd.user.feign.response.reltenantrole.ApiRelTenantRoleListPageResponse;
import com.yd.user.feign.response.reltenantrole.ApiRelTenantRoleSelectPageResponse; import com.yd.user.feign.response.reltenantrole.ApiRelTenantRoleSelectPageResponse;
import com.yd.user.feign.response.sysmenu.ApiSysMenuDetailResponse;
import com.yd.user.feign.response.sysmenu.ApiSysMenuTreeListResponse;
import com.yd.user.service.model.RelProjectRole; import com.yd.user.service.model.RelProjectRole;
import com.yd.user.service.model.RelTenantRole; import com.yd.user.service.model.RelTenantRole;
import com.yd.user.service.service.IRelProjectRoleService; import com.yd.user.service.service.IRelProjectRoleService;
...@@ -21,6 +26,7 @@ import org.springframework.stereotype.Service; ...@@ -21,6 +26,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -44,6 +50,45 @@ public class ApiRelProjectRoleServiceImpl implements ApiRelProjectRoleService { ...@@ -44,6 +50,45 @@ public class ApiRelProjectRoleServiceImpl implements ApiRelProjectRoleService {
} }
/** /**
* 项目角色关系菜单列表查询
* @param request
* @return
*/
@Override
public Result<ApiRelProjectRoleMenuListPageResponse> list(ApiRelProjectRoleMenuListPageRequest request) {
ApiRelProjectRoleMenuListPageResponse response = new ApiRelProjectRoleMenuListPageResponse();
// 查询角色列表
List<ApiRelProjectRoleListPageResponse> roleList = iRelProjectRoleService.list(request.getRelProjectRoleIdList());
response.setRoleList(roleList);
// 查询多个角色绑定合集菜单列表
List<ApiSysMenuDetailResponse> menuDetailResponseList = iRelProjectRoleService.menuList(request.getRelProjectRoleIdList());
// 根据 menuBizId 去重
List<ApiSysMenuDetailResponse> treeMenu = new ArrayList<>();
if (!CollectionUtils.isEmpty(menuDetailResponseList)) {
List<ApiSysMenuDetailResponse> distinctMenuList = menuDetailResponseList.stream()
.collect(Collectors.toMap(
ApiSysMenuDetailResponse::getMenuBizId,
menu -> menu,
(existing, replacement) -> existing // 保留第一个
))
.values().stream()
.sorted(Comparator.comparing(ApiSysMenuDetailResponse::getOrderNum, Comparator.nullsLast(Integer::compareTo)))
.collect(Collectors.toList());
//构建菜单树形结构
treeMenu = TreeUtils.buildTree(
distinctMenuList,
ApiSysMenuDetailResponse::getMenuBizId, // 获取节点ID
ApiSysMenuDetailResponse::getParentBizId, // 获取父节点ID
(parent, children) -> parent.setChildren(children), // 设置子节点
"0" // 根节点的父ID值
);
}
response.setMenuList(treeMenu);
return Result.success(response);
}
/**
* 添加项目和角色列表关系 * 添加项目和角色列表关系
* @param request * @param request
* @return * @return
......
...@@ -5,7 +5,9 @@ import com.yd.common.result.Result; ...@@ -5,7 +5,9 @@ import com.yd.common.result.Result;
import com.yd.user.feign.fallback.relprojectrole.ApiRelProjectRoleFeignFallbackFactory; import com.yd.user.feign.fallback.relprojectrole.ApiRelProjectRoleFeignFallbackFactory;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListAddRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListAddRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleMenuListPageRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleMenuListPageResponse;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
...@@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.PostMapping; ...@@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List;
/** /**
* 用户服务:项目-角色关系信息Feign客户端 * 用户服务:项目-角色关系信息Feign客户端
...@@ -29,6 +32,14 @@ public interface ApiRelProjectRoleFeignClient { ...@@ -29,6 +32,14 @@ public interface ApiRelProjectRoleFeignClient {
Result page(@Validated @RequestBody ApiRelProjectRoleListPageRequest request); Result page(@Validated @RequestBody ApiRelProjectRoleListPageRequest request);
/** /**
* 项目角色关系菜单列表查询
* @param request
* @return
*/
@PostMapping("/menu/list")
Result<ApiRelProjectRoleMenuListPageResponse> list(@Validated @RequestBody ApiRelProjectRoleMenuListPageRequest request);
/**
* 添加项目和角色列表关系 * 添加项目和角色列表关系
* @param request * @param request
* @return * @return
......
...@@ -4,11 +4,15 @@ import com.yd.common.result.Result; ...@@ -4,11 +4,15 @@ import com.yd.common.result.Result;
import com.yd.user.feign.client.relprojectrole.ApiRelProjectRoleFeignClient; import com.yd.user.feign.client.relprojectrole.ApiRelProjectRoleFeignClient;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListAddRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListAddRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleMenuListPageRequest;
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleMenuListPageResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* 用户服务:项目-角色关系信息Feign降级处理 * 用户服务:项目-角色关系信息Feign降级处理
*/ */
...@@ -24,6 +28,11 @@ public class ApiRelProjectRoleFeignFallbackFactory implements FallbackFactory<Ap ...@@ -24,6 +28,11 @@ public class ApiRelProjectRoleFeignFallbackFactory implements FallbackFactory<Ap
} }
@Override @Override
public Result<ApiRelProjectRoleMenuListPageResponse> list(ApiRelProjectRoleMenuListPageRequest request) {
return null;
}
@Override
public Result addRoleList(ApiRelProjectRoleListAddRequest request) { public Result addRoleList(ApiRelProjectRoleListAddRequest request) {
return null; return null;
} }
......
package com.yd.user.feign.request.relprojectrole;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.util.List;
@Data
public class ApiRelProjectRoleMenuListPageRequest {
/**
* 租户项目角色ID列表
*/
@NotEmpty(message = "租户项目角色ID列表不能为空")
private List<Long> relProjectRoleIdList;
}
...@@ -14,6 +14,11 @@ public class ApiRelProjectRoleListPageResponse { ...@@ -14,6 +14,11 @@ public class ApiRelProjectRoleListPageResponse {
private Long id; private Long id;
/** /**
* 租户唯一标识(业务ID)
*/
private String tenantBizId;
/**
* 项目ID(业务id) * 项目ID(业务id)
*/ */
private String projectBizId; private String projectBizId;
......
package com.yd.user.feign.response.relprojectrole;
import com.yd.user.feign.response.sysmenu.ApiSysMenuDetailResponse;
import lombok.Data;
import java.util.List;
@Data
public class ApiRelProjectRoleMenuListPageResponse {
/**
* 租户项目角色列表
*/
private List<ApiRelProjectRoleListPageResponse> roleList;
/**
* 租户项目角色菜单列表(角色菜单合并集)
*/
private List<ApiSysMenuDetailResponse> menuList;
}
...@@ -2,6 +2,7 @@ package com.yd.user.feign.response.sysmenu; ...@@ -2,6 +2,7 @@ package com.yd.user.feign.response.sysmenu;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* 获取菜单详情出参 * 获取菜单详情出参
...@@ -9,9 +10,6 @@ import java.time.LocalDateTime; ...@@ -9,9 +10,6 @@ import java.time.LocalDateTime;
@Data @Data
public class ApiSysMenuDetailResponse { public class ApiSysMenuDetailResponse {
/**
* 菜单主键id
*/
private Long id; private Long id;
/** /**
...@@ -20,14 +18,24 @@ public class ApiSysMenuDetailResponse { ...@@ -20,14 +18,24 @@ public class ApiSysMenuDetailResponse {
private String menuBizId; private String menuBizId;
/** /**
* 父菜单ID
*/
private String parentBizId;
/**
* 父ID(树绑定的父id, 展示作用) * 父ID(树绑定的父id, 展示作用)
*/ */
private String parentId; private String parentId;
/** /**
* 父菜单ID * 所属租户名称
*/ */
private String parentBizId; private String tenantName;
/**
* 所属项目名称
*/
private String projectName;
/** /**
* 菜单名称 * 菜单名称
...@@ -35,6 +43,16 @@ public class ApiSysMenuDetailResponse { ...@@ -35,6 +43,16 @@ public class ApiSysMenuDetailResponse {
private String menuName; private String menuName;
/** /**
* 菜单背景图片
*/
private String menuBgImage;
/**
* 菜单背景颜色
*/
private String menuBgColor;
/**
* 类型(1:目录 2:菜单 3:按钮) * 类型(1:目录 2:菜单 3:按钮)
*/ */
private Integer menuType; private Integer menuType;
...@@ -65,6 +83,21 @@ public class ApiSysMenuDetailResponse { ...@@ -65,6 +83,21 @@ public class ApiSysMenuDetailResponse {
private String icon; private String icon;
/** /**
* 图标背景颜色
*/
private String iconBgColor;
/**
* 图标颜色
*/
private String iconColor;
/**
* 模块类型
*/
private String moudleType;
/**
* 是否外链(0:否 1:是) * 是否外链(0:否 1:是)
*/ */
private Integer isExternal; private Integer isExternal;
...@@ -80,6 +113,11 @@ public class ApiSysMenuDetailResponse { ...@@ -80,6 +113,11 @@ public class ApiSysMenuDetailResponse {
private Integer isVisible; private Integer isVisible;
/** /**
* 是否登录(0-否 1-是)
*/
private Integer isLogin;
/**
* 菜单编码 * 菜单编码
*/ */
private String menuCode; private String menuCode;
...@@ -110,21 +148,11 @@ public class ApiSysMenuDetailResponse { ...@@ -110,21 +148,11 @@ public class ApiSysMenuDetailResponse {
private String tenantBizId; private String tenantBizId;
/** /**
* 所属租户名称
*/
private String tenantName;
/**
* 所属项目ID(业务id) * 所属项目ID(业务id)
*/ */
private String projectBizId; private String projectBizId;
/** /**
* 所属项目名称
*/
private String projectName;
/**
* 通用备注 * 通用备注
*/ */
private String remark; private String remark;
...@@ -153,4 +181,10 @@ public class ApiSysMenuDetailResponse { ...@@ -153,4 +181,10 @@ public class ApiSysMenuDetailResponse {
* 更新时间 * 更新时间
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime;
/**
* 子节点
*/
private List<ApiSysMenuDetailResponse> children;
} }
...@@ -10,9 +10,12 @@ import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageRespon ...@@ -10,9 +10,12 @@ import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageRespon
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleSelectPageResponse; import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleSelectPageResponse;
import com.yd.user.feign.response.reltenantrole.ApiRelTenantRoleListPageResponse; import com.yd.user.feign.response.reltenantrole.ApiRelTenantRoleListPageResponse;
import com.yd.user.feign.response.reltenantrole.ApiRelTenantRoleSelectPageResponse; import com.yd.user.feign.response.reltenantrole.ApiRelTenantRoleSelectPageResponse;
import com.yd.user.feign.response.sysmenu.ApiSysMenuDetailResponse;
import com.yd.user.service.model.RelProjectRole; import com.yd.user.service.model.RelProjectRole;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
* 项目-角色关系表(正常来说一对多,加关系表方便扩展) Mapper 接口 * 项目-角色关系表(正常来说一对多,加关系表方便扩展) Mapper 接口
...@@ -26,6 +29,10 @@ public interface RelProjectRoleMapper extends BaseMapper<RelProjectRole> { ...@@ -26,6 +29,10 @@ public interface RelProjectRoleMapper extends BaseMapper<RelProjectRole> {
IPage<ApiRelProjectRoleListPageResponse> page(@Param("page") IPage<ApiRelProjectRoleListPageResponse> page, IPage<ApiRelProjectRoleListPageResponse> page(@Param("page") IPage<ApiRelProjectRoleListPageResponse> page,
@Param("request") ApiRelProjectRoleListPageRequest request); @Param("request") ApiRelProjectRoleListPageRequest request);
List<ApiRelProjectRoleListPageResponse> list(@Param("relProjectRoleIdList") List<Long> relProjectRoleIdList);
List<ApiSysMenuDetailResponse> menuList(@Param("relProjectRoleIdList") List<Long> relProjectRoleIdList);
/** /**
* 导入-选择角色分页查询(查询当前项目级(当前所属项目绑定的角色)或者系统级(全局角色在任何地方都适用导入绑定)的角色表数据) * 导入-选择角色分页查询(查询当前项目级(当前所属项目绑定的角色)或者系统级(全局角色在任何地方都适用导入绑定)的角色表数据)
* @param page * @param page
......
...@@ -49,6 +49,18 @@ public class SysMenu implements Serializable { ...@@ -49,6 +49,18 @@ public class SysMenu implements Serializable {
private String menuName; private String menuName;
/** /**
* 菜单背景图片
*/
@TableField("menu_bg_image")
private String menuBgImage;
/**
* 菜单背景颜色
*/
@TableField("menu_bg_color")
private String menuBgColor;
/**
* 类型(1:目录 2:菜单 3:按钮) * 类型(1:目录 2:菜单 3:按钮)
*/ */
@TableField("menu_type") @TableField("menu_type")
...@@ -85,6 +97,24 @@ public class SysMenu implements Serializable { ...@@ -85,6 +97,24 @@ public class SysMenu implements Serializable {
private String icon; private String icon;
/** /**
* 图标背景颜色
*/
@TableField("icon_bg_color")
private String iconBgColor;
/**
* 图标颜色
*/
@TableField("icon_color")
private String iconColor;
/**
* 模块类型
*/
@TableField("moudle_type")
private String moudleType;
/**
* 是否外链(0:否 1:是) * 是否外链(0:否 1:是)
*/ */
@TableField("is_external") @TableField("is_external")
...@@ -103,6 +133,12 @@ public class SysMenu implements Serializable { ...@@ -103,6 +133,12 @@ public class SysMenu implements Serializable {
private Integer isVisible; private Integer isVisible;
/** /**
* 是否登录(0-否 1-是)
*/
@TableField("is_login")
private Integer isLogin;
/**
* 菜单编码 * 菜单编码
*/ */
@TableField("menu_code") @TableField("menu_code")
......
...@@ -6,10 +6,13 @@ import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest ...@@ -6,10 +6,13 @@ import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageResponse; import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageResponse;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleSelectPageResponse; import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleSelectPageResponse;
import com.yd.user.feign.response.sysmenu.ApiSysMenuDetailResponse;
import com.yd.user.service.model.RelProjectRole; import com.yd.user.service.model.RelProjectRole;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.user.service.model.RelTenantRole; import com.yd.user.service.model.RelTenantRole;
import java.util.List;
/** /**
* <p> * <p>
* 项目-角色关系表(正常来说一对多,加关系表方便扩展) 服务类 * 项目-角色关系表(正常来说一对多,加关系表方便扩展) 服务类
...@@ -23,6 +26,10 @@ public interface IRelProjectRoleService extends IService<RelProjectRole> { ...@@ -23,6 +26,10 @@ public interface IRelProjectRoleService extends IService<RelProjectRole> {
IPage<ApiRelProjectRoleListPageResponse> page(Page<ApiRelProjectRoleListPageResponse> page, IPage<ApiRelProjectRoleListPageResponse> page(Page<ApiRelProjectRoleListPageResponse> page,
ApiRelProjectRoleListPageRequest request); ApiRelProjectRoleListPageRequest request);
List<ApiRelProjectRoleListPageResponse> list(List<Long> relProjectRoleIdList);
List<ApiSysMenuDetailResponse> menuList(List<Long> relProjectRoleIdList);
IPage<ApiRelProjectRoleSelectPageResponse> selectProjectPage(Page<ApiRelProjectRoleSelectPageResponse> page, IPage<ApiRelProjectRoleSelectPageResponse> selectProjectPage(Page<ApiRelProjectRoleSelectPageResponse> page,
ApiRelProjectRoleSelectPageRequest request); ApiRelProjectRoleSelectPageRequest request);
......
...@@ -6,6 +6,7 @@ import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest ...@@ -6,6 +6,7 @@ import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleListPageRequest
import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest; import com.yd.user.feign.request.relprojectrole.ApiRelProjectRoleSelectPageRequest;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageResponse; import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageResponse;
import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleSelectPageResponse; import com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleSelectPageResponse;
import com.yd.user.feign.response.sysmenu.ApiSysMenuDetailResponse;
import com.yd.user.service.model.RelProjectRole; import com.yd.user.service.model.RelProjectRole;
import com.yd.user.service.dao.RelProjectRoleMapper; import com.yd.user.service.dao.RelProjectRoleMapper;
import com.yd.user.service.service.IRelProjectRoleService; import com.yd.user.service.service.IRelProjectRoleService;
...@@ -13,6 +14,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -13,6 +14,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* <p> * <p>
* 项目-角色关系表(正常来说一对多,加关系表方便扩展) 服务实现类 * 项目-角色关系表(正常来说一对多,加关系表方便扩展) 服务实现类
...@@ -35,6 +38,16 @@ public class RelProjectRoleServiceImpl extends ServiceImpl<RelProjectRoleMapper, ...@@ -35,6 +38,16 @@ public class RelProjectRoleServiceImpl extends ServiceImpl<RelProjectRoleMapper,
return baseMapper.page(page,request); return baseMapper.page(page,request);
} }
@Override
public List<ApiRelProjectRoleListPageResponse> list(List<Long> relProjectRoleIdList) {
return this.baseMapper.list(relProjectRoleIdList);
}
@Override
public List<ApiSysMenuDetailResponse> menuList(List<Long> relProjectRoleIdList) {
return this.baseMapper.menuList(relProjectRoleIdList);
}
/** /**
* 导入-选择角色分页查询(查询当前项目级(当前所属项目绑定的角色)或者系统级(全局角色在任何地方都适用导入绑定)的角色表数据) * 导入-选择角色分页查询(查询当前项目级(当前所属项目绑定的角色)或者系统级(全局角色在任何地方都适用导入绑定)的角色表数据)
* @param request * @param request
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<select id="page" resultType="com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageResponse"> <select id="page" resultType="com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageResponse">
select select
rpr.id,rpr.project_biz_id,rpr.role_biz_id, rpr.id,rpr.tenant_biz_id,rpr.project_biz_id,rpr.role_biz_id,
sr.role_name,sr.scope,sr.role_type sr.role_name,sr.scope,sr.role_type
from rel_project_role rpr from rel_project_role rpr
inner join sys_role sr on sr.role_biz_id = rpr.role_biz_id and sr.is_deleted = 0 inner join sys_role sr on sr.role_biz_id = rpr.role_biz_id and sr.is_deleted = 0
...@@ -39,4 +39,40 @@ ...@@ -39,4 +39,40 @@
and rpr.is_deleted = 0) and rpr.is_deleted = 0)
</where> </where>
</select> </select>
<select id="list" resultType="com.yd.user.feign.response.relprojectrole.ApiRelProjectRoleListPageResponse">
select
rpr.id,rpr.tenant_biz_id,rpr.project_biz_id,rpr.role_biz_id,
sr.role_name,sr.scope,sr.role_type
from rel_project_role rpr
inner join sys_role sr on sr.role_biz_id = rpr.role_biz_id and sr.is_deleted = 0
<where>
<if test="relProjectRoleIdList != null and relProjectRoleIdList.size > 0">
and rpr.id in
<foreach collection="relProjectRoleIdList" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
and rpr.is_deleted = 0
</where>
</select>
<select id="menuList" resultType="com.yd.user.feign.response.sysmenu.ApiSysMenuDetailResponse">
select
sm.*
from rel_project_role rpr
inner join rel_role_menu rrm on rpr.role_biz_id = rrm.role_biz_id
and rpr.tenant_biz_id = rrm.tenant_biz_id and rpr.project_biz_id = rrm.project_biz_id and rrm.is_deleted = 0
inner join sys_menu sm on rrm.menu_biz_id = sm.menu_biz_id and sm.is_deleted = 0
<where>
<if test="relProjectRoleIdList != null and relProjectRoleIdList.size > 0">
and rpr.id in
<foreach collection="relProjectRoleIdList" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
and rpr.is_deleted = 0
</where>
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment