56 changed files with 1007 additions and 823 deletions
@ -1,159 +0,0 @@ |
|||
package com.yxt.portal.apiadmin; |
|||
|
|||
import com.yxt.portal.biz.sysmenurole.*; |
|||
import com.yxt.portal.biz.sysrole.SysRole; |
|||
import com.yxt.portal.biz.sysrole.SysRoleService; |
|||
import com.yxt.common.base.utils.StringUtils; |
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
import com.yxt.portal.biz.sysmenurole.*; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import java.util.List; |
|||
import java.util.Objects; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysMenuRoleFeignFallback.java <br/> |
|||
* Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleRest <br/> |
|||
* Description: 菜单与角色关联表. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:28 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Api(tags = "菜单与角色关联表") |
|||
@RestController |
|||
@RequestMapping("v1/sysmenurole") |
|||
public class SysMenuRoleRest { |
|||
|
|||
@Autowired |
|||
private SysMenuRoleService sysMenuRoleService; |
|||
@Autowired |
|||
private SysRoleService sysRoleService; |
|||
|
|||
@ApiOperation("根据条件分页查询数据的列表") |
|||
@PostMapping("/listPage") |
|||
public ResultBean<PagerVo<SysMenuRoleVo>> listPage(@RequestBody PagerQuery<SysMenuRoleQuery> pq){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
PagerVo<SysMenuRoleVo> pv = sysMenuRoleService.listPageVo(pq); |
|||
return rb.success().setData(pv); |
|||
} |
|||
|
|||
|
|||
@ApiOperation("根据条件查询所有数据列表") |
|||
@PostMapping("/listAll") |
|||
public ResultBean<List<SysMenuRoleVo>> listAll(@RequestBody SysMenuRoleQuery query){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
List<SysMenuRoleVo> list = sysMenuRoleService.listAllVo(query); |
|||
return rb.success().setData(list); |
|||
} |
|||
|
|||
@ApiOperation("根据角色查询授权的菜单列表(PC)") |
|||
@PostMapping("/selMenuByRole") |
|||
public ResultBean<List<SysMenuRoleDataVo>> selMenuByRole(@RequestBody SysMenuRoleDataQuery query) { |
|||
return sysMenuRoleService.selMenuByRole(query); |
|||
} |
|||
|
|||
@ApiOperation("根据角色查询授权的菜单列表(APP)") |
|||
@PostMapping("/selMenuByRoleApp") |
|||
public ResultBean<List<SysMenuRoleDataVo>> selMenuByRoleApp(@RequestBody SysMenuRoleDataQuery query) { |
|||
return sysMenuRoleService.selMenuByRoleApp(query); |
|||
} |
|||
|
|||
@ApiOperation("修改角色菜单的数据权限(PC)") |
|||
@PostMapping("/updateDataByRoleMenu") |
|||
public ResultBean updateDataByRoleMenu(@RequestBody List<SysMenuRoleDataDto> dtos) { |
|||
return sysMenuRoleService.updateDataByRoleMenu(dtos); |
|||
} |
|||
|
|||
@ApiOperation("修改角色菜单的数据权限(移动端)") |
|||
@PostMapping("/updateDataByRoleMenuApp") |
|||
public ResultBean updateDataByRoleMenuApp(@RequestBody List<SysMenuRoleDataDto> dtos) { |
|||
return sysMenuRoleService.updateDataByRoleMenuApp(dtos); |
|||
} |
|||
|
|||
|
|||
@ApiOperation("所有数据列表") |
|||
@GetMapping("/list") |
|||
public ResultBean<List<SysMenuRoleVo>> list(){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
List<SysMenuRoleVo> list = sysMenuRoleService.listVo(); |
|||
return rb.success().setData(list); |
|||
} |
|||
|
|||
|
|||
@ApiOperation("新增保存") |
|||
@PostMapping("/save") |
|||
public ResultBean save(@RequestBody SysMenuRoleDto dto){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
sysMenuRoleService.saveOrUpdateDto(dto); |
|||
return rb.success(); |
|||
} |
|||
|
|||
@ApiOperation("修改保存") |
|||
@PostMapping("/update/{sid}") |
|||
public ResultBean update(@RequestBody SysMenuRoleDto dto,@PathVariable("sid") String sid){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
sysMenuRoleService.updateBySid(dto.toMap(),sid); |
|||
return rb.success(); |
|||
} |
|||
|
|||
|
|||
@ApiOperation("修改角色的菜单配置") |
|||
@PostMapping("/updateRoleAndMenu") |
|||
public ResultBean updateRoleAndMenu(@RequestBody SysMenuRoleDto dto) { |
|||
String roleSid=dto.getRoleSid(); |
|||
String menuSid=dto.getMenuSid(); |
|||
if(StringUtils.isBlank(roleSid)){ |
|||
return ResultBean.fireFail().setMessage("角色sid不能为空"); |
|||
}else{ |
|||
SysRole sysRole = sysRoleService.fetchBySid(roleSid); |
|||
if(sysRole==null||StringUtils.isBlank(sysRole.getSid())){ |
|||
return ResultBean.fireFail().setMessage("角色sid不存在"); |
|||
} |
|||
} |
|||
List<MenuRoleVo> menuRoleList = sysMenuRoleService.selectByRoleSid(roleSid); |
|||
sysMenuRoleService.delByRoleSid(roleSid); |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
if(!StringUtils.isBlank(menuSid)){ |
|||
String[] sids = menuSid.split(","); |
|||
for(String sid:sids){ |
|||
MenuRoleVo menuRoleVo = menuRoleList.stream().filter(s -> Objects.equals(s.getMenuSid(), sid)).findFirst().orElse(null); |
|||
SysMenuRole sysMenuRole = new SysMenuRole(); |
|||
sysMenuRole.setRoleSid(roleSid); |
|||
sysMenuRole.setMenuSid(sid); |
|||
if(menuRoleVo != null){ |
|||
sysMenuRole.setDataRuleId(menuRoleVo.getDataRuleId()); |
|||
} |
|||
sysMenuRoleService.save(sysMenuRole); |
|||
} |
|||
} |
|||
return rb.success(); |
|||
} |
|||
|
|||
|
|||
@ApiOperation("删除记录") |
|||
@GetMapping("/del/{ids}") |
|||
public ResultBean del(@PathVariable("ids") String ids){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
sysMenuRoleService.delByIds(ids); |
|||
return rb.success(); |
|||
} |
|||
|
|||
|
|||
@ApiOperation("获取一条记录") |
|||
@GetMapping("/fetch/{id}") |
|||
public ResultBean<SysMenuRoleVo> fetch(@PathVariable("id") String id){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
SysMenuRoleVo vo = sysMenuRoleService.fetchByIdVo(id); |
|||
return rb.success().setData(vo); |
|||
} |
|||
} |
@ -0,0 +1,15 @@ |
|||
package com.yxt.portal.apiadmin; |
|||
|
|||
import io.swagger.annotations.Api; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/5/16 11:32 |
|||
*/ |
|||
@Api(tags = "组织授权表") |
|||
@RestController |
|||
@RequestMapping("apiadmin/sysorgauthorize") |
|||
public class SysOrgAuthorizeRest { |
|||
} |
@ -0,0 +1,29 @@ |
|||
package com.yxt.portal.apiadmin; |
|||
|
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeDto; |
|||
import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeService; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/5/15 16:00 |
|||
*/ |
|||
@Api(tags = "角色授权表") |
|||
@RestController |
|||
@RequestMapping("apiadmin/sysroleauthorize") |
|||
public class SysRoleAuthorizeRest { |
|||
@Autowired |
|||
SysRoleAuthorizeService sysRoleAuthorizeService; |
|||
@ApiOperation("修改角色的菜单配置") |
|||
@PostMapping("/updateRoleAndMenu") |
|||
public ResultBean updateRoleAndMenu(@RequestBody SysRoleAuthorizeDto dto){ |
|||
return sysRoleAuthorizeService.updateRoleAndMenu(dto); |
|||
} |
|||
} |
@ -1,19 +0,0 @@ |
|||
package com.yxt.portal.biz.sysmenurole; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @description: 菜单和角色临时存储 |
|||
* @author: dimengzhe |
|||
* @date: 2023/6/1 |
|||
**/ |
|||
@Data |
|||
public class MenuRoleVo { |
|||
|
|||
|
|||
@ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)") |
|||
private String dataRuleId; |
|||
@ApiModelProperty("菜单sid") |
|||
private String menuSid; |
|||
} |
@ -1,37 +0,0 @@ |
|||
package com.yxt.portal.biz.sysmenurole; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysMenuRole.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRole <br/> |
|||
* Description: 菜单与角色关联表. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:28 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@ApiModel(value = "菜单与角色关联表", description = "菜单与角色关联表") |
|||
@TableName("sys_menu_role") |
|||
@Data |
|||
public class SysMenuRole extends BaseEntity { |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
|
|||
@ApiModelProperty("菜单sid") |
|||
private String menuSid; |
|||
|
|||
@ApiModelProperty("角色sid") |
|||
private String roleSid; |
|||
|
|||
@ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)") |
|||
private String dataRuleId; |
|||
} |
@ -1,30 +0,0 @@ |
|||
package com.yxt.portal.biz.sysmenurole; |
|||
|
|||
|
|||
import com.yxt.common.core.dto.Dto; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysMenuRoleDto.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleDto <br/> |
|||
* Description: 菜单与角色关联表 数据传输对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:28 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@ApiModel(value = "菜单与角色关联表 数据传输对象", description = "菜单与角色关联表 数据传输对象") |
|||
@Data |
|||
public class SysMenuRoleDataDto implements Dto { |
|||
|
|||
@ApiModelProperty("菜单与角色关联表sid") |
|||
private String sid; |
|||
@ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)") |
|||
private String dataRuleId; |
|||
} |
@ -1,30 +0,0 @@ |
|||
package com.yxt.portal.biz.sysmenurole; |
|||
|
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysMenuRoleQuery.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleQuery <br/> |
|||
* Description: 菜单与角色关联表 查询条件. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:28 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@ApiModel(value = "菜单与角色关联表 查询条件", description = "菜单与角色关联表 查询条件") |
|||
@Data |
|||
public class SysMenuRoleDataQuery implements Query { |
|||
|
|||
@ApiModelProperty("角色sid") |
|||
private String roleSid; |
|||
@ApiModelProperty("菜单名称") |
|||
private String menuName; |
|||
} |
@ -1,32 +0,0 @@ |
|||
package com.yxt.portal.biz.sysmenurole; |
|||
|
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysMenuRoleVo.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleVo <br/> |
|||
* Description: 菜单与角色关联表 视图数据对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:28 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@ApiModel(value = "菜单与角色关联表 视图数据对象", description = "菜单与角色关联表 视图数据对象") |
|||
@Data |
|||
public class SysMenuRoleDataVo implements Vo { |
|||
|
|||
@ApiModelProperty("菜单与角色关联表sid") |
|||
private String sid; |
|||
@ApiModelProperty("菜单名称") |
|||
private String name; |
|||
@ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)") |
|||
private String dataRuleId; |
|||
} |
@ -1,31 +0,0 @@ |
|||
package com.yxt.portal.biz.sysmenurole; |
|||
|
|||
|
|||
import com.yxt.common.core.dto.Dto; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysMenuRoleDto.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleDto <br/> |
|||
* Description: 菜单与角色关联表 数据传输对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:28 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@ApiModel(value = "菜单与角色关联表 数据传输对象", description = "菜单与角色关联表 数据传输对象") |
|||
@Data |
|||
public class SysMenuRoleDto implements Dto { |
|||
|
|||
|
|||
@ApiModelProperty("菜单sid") |
|||
private String menuSid; |
|||
@ApiModelProperty("角色sid") |
|||
private String roleSid; |
|||
} |
@ -1,60 +0,0 @@ |
|||
package com.yxt.portal.biz.sysmenurole; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.baomidou.mybatisplus.core.toolkit.Constants; |
|||
import com.yxt.portal.biz.sysmenurole.MenuRoleVo; |
|||
import com.yxt.portal.biz.sysmenurole.SysMenuRole; |
|||
import com.yxt.portal.biz.sysmenurole.SysMenuRoleDataVo; |
|||
import com.yxt.portal.biz.sysmenurole.SysMenuRoleVo; |
|||
import org.apache.ibatis.annotations.*; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysMenuRoleMapper.java <br/> |
|||
* Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleMapper <br/> |
|||
* Description: 菜单与角色关联表. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:28 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Mapper |
|||
public interface SysMenuRoleMapper extends BaseMapper<SysMenuRole> { |
|||
|
|||
//@Update("update sys_menu_role set name=#{msg} where id=#{id}")
|
|||
//IPage<SysMenuRoleVo> voPage(IPage<SysMenuRole> page, @Param(Constants.WRAPPER) QueryWrapper<SysMenuRole> qw);
|
|||
|
|||
IPage<SysMenuRoleVo> selectPageVo(IPage<SysMenuRole> page, @Param(Constants.WRAPPER) Wrapper<SysMenuRole> qw); |
|||
|
|||
List<SysMenuRoleVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysMenuRole> qw); |
|||
|
|||
@Select("select * from sys_menu_role") |
|||
List<SysMenuRoleVo> selectListVo(); |
|||
|
|||
@Delete("delete from sys_menu_role where roleSid=#{roleSid}") |
|||
void delByRoleSid(@Param("roleSid") String roleSid); |
|||
|
|||
List<SysMenuRoleVo> list(@Param(Constants.WRAPPER) QueryWrapper<SysMenuRoleVo> qw); |
|||
|
|||
List<MenuRoleVo> selectByRoleSid(String roleSid); |
|||
|
|||
List<SysMenuRoleDataVo> selMenuByRole(@Param(Constants.WRAPPER) QueryWrapper qw); |
|||
|
|||
List<SysMenuRoleDataVo> selMenuByRoleApp(@Param(Constants.WRAPPER) QueryWrapper qw); |
|||
|
|||
@Update("update sys_menu_role set dataRuleId = #{dataRuleId} where sid = #{sid}") |
|||
void updateDataByRoleMenu(@Param("sid") String sid,@Param("dataRuleId") String dataRuleId); |
|||
|
|||
@Update("update sys_mobile_menu_role set dataRuleId = #{dataRuleId} where sid = #{sid}") |
|||
void updateDataByRoleMenuApp(@Param("sid") String sid,@Param("dataRuleId") String dataRuleId); |
|||
|
|||
|
|||
} |
@ -1,74 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.yxt.portal.biz.sysmenurole.SysMenuRoleMapper"> |
|||
<!-- <where> ${ew.sqlSegment} </where>--> |
|||
<!-- ${ew.customSqlSegment} --> |
|||
<select id="selectPageVo" resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleVo"> |
|||
SELECT * FROM sys_menu_role |
|||
<where> |
|||
${ew.sqlSegment} |
|||
</where> |
|||
</select> |
|||
|
|||
<select id="selectListAllVo" resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleVo"> |
|||
SELECT * FROM sys_menu_role |
|||
<where> |
|||
${ew.sqlSegment} |
|||
</where> |
|||
</select> |
|||
<select id="list" parameterType="com.yxt.portal.biz.sysmenurole.SysMenuRoleQuery" |
|||
resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleVo"> |
|||
SELECT distinct rm.menuSid as sid, |
|||
m.name as menuName, |
|||
m.menuUrl, |
|||
m.pageUrl, |
|||
m.pageName, |
|||
m.pageUrlRedirect, |
|||
m.pageAliasName, |
|||
m.iconUrl, |
|||
m.sourceSid, |
|||
m.isShow, |
|||
m.pSid, |
|||
m.sortNo, |
|||
m.remarks, |
|||
1 as alwaysShow |
|||
FROM sys_menu_role rm |
|||
LEFT JOIN sys_menu m ON rm.menuSid = m.sid |
|||
${ew.customSqlSegment} |
|||
</select> |
|||
|
|||
<select id="selectByRoleSid" resultType="com.yxt.portal.biz.sysmenurole.MenuRoleVo"> |
|||
select menuSid, dataRuleId |
|||
from sys_menu_role |
|||
where roleSid = #{roleSid} |
|||
</select> |
|||
|
|||
<select id="selMenuByRole" resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleDataVo"> |
|||
SELECT |
|||
smr.sid, |
|||
sm.`name`, |
|||
smr.`dataRuleId` |
|||
FROM |
|||
sys_menu sm |
|||
LEFT JOIN sys_menu_role smr |
|||
ON smr.`menuSid` = sm.`sid` |
|||
<where> |
|||
${ew.sqlSegment} |
|||
</where> |
|||
</select> |
|||
|
|||
<select id="selMenuByRoleApp" resultType="com.yxt.portal.biz.sysmenurole.SysMenuRoleDataVo"> |
|||
SELECT |
|||
smmr.sid, |
|||
smm.`name`, |
|||
smmr.`dataRuleId` |
|||
FROM |
|||
sys_mobile_menu smm |
|||
LEFT JOIN sys_mobile_menu_role smmr |
|||
ON smmr.`menuSid` = smm.`sid` |
|||
<where> |
|||
${ew.sqlSegment} |
|||
</where> |
|||
</select> |
|||
|
|||
</mapper> |
@ -1,213 +0,0 @@ |
|||
package com.yxt.portal.biz.sysmenurole; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.yxt.portal.biz.sysmenurole.*; |
|||
import com.yxt.portal.biz.sysmenu.SysMenuService; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
import com.yxt.common.base.utils.PagerUtil; |
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysMenuRoleService.java <br/> |
|||
* Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleService <br/> |
|||
* Description: 菜单与角色关联表 业务逻辑. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:28 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Service |
|||
public class SysMenuRoleService extends MybatisBaseService<SysMenuRoleMapper, SysMenuRole> { |
|||
@Autowired |
|||
private SysMenuService sysMenuService; |
|||
|
|||
public PagerVo<SysMenuRole> listPage(PagerQuery<SysMenuRoleQuery> pq) { |
|||
SysMenuRoleQuery query = pq.getParams(); |
|||
QueryWrapper<SysMenuRole> qw = createQueryWrapper(query); |
|||
IPage<SysMenuRole> page = PagerUtil.queryToPage(pq); |
|||
IPage<SysMenuRole> pagging = baseMapper.selectPage(page, qw); |
|||
PagerVo<SysMenuRole> p = PagerUtil.pageToVo(pagging, null); |
|||
return p; |
|||
} |
|||
|
|||
public List<SysMenuRole> listAll(SysMenuRoleQuery query) { |
|||
QueryWrapper<SysMenuRole> qw = createQueryWrapper(query); |
|||
return baseMapper.selectList(qw); |
|||
} |
|||
|
|||
private QueryWrapper<SysMenuRole> createQueryWrapper(SysMenuRoleQuery query) { |
|||
// todo: 这里根据具体业务调整查询条件
|
|||
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|||
QueryWrapper<SysMenuRole> qw = new QueryWrapper<>(); |
|||
|
|||
|
|||
if (StringUtils.isNotBlank(query.getMenuSid())) { |
|||
qw.eq("menuSid", query.getMenuSid()); |
|||
} |
|||
|
|||
if (StringUtils.isNotBlank(query.getRoleSid())) { |
|||
qw.eq("roleSid", query.getRoleSid()); |
|||
} |
|||
return qw; |
|||
} |
|||
|
|||
public PagerVo<SysMenuRoleVo> listPageVo(PagerQuery<SysMenuRoleQuery> pq) { |
|||
SysMenuRoleQuery query = pq.getParams(); |
|||
QueryWrapper<SysMenuRole> qw = createQueryWrapper(query); |
|||
IPage<SysMenuRole> page = PagerUtil.queryToPage(pq); |
|||
IPage<SysMenuRoleVo> pagging = baseMapper.selectPageVo(page, qw); |
|||
PagerVo<SysMenuRoleVo> p = PagerUtil.pageToVo(pagging, null); |
|||
return p; |
|||
} |
|||
|
|||
public List<SysMenuRoleVo> listAllVo(SysMenuRoleQuery query) { |
|||
QueryWrapper<SysMenuRole> qw = createQueryWrapper(query); |
|||
return baseMapper.selectListAllVo(qw); |
|||
} |
|||
|
|||
public List<SysMenuRoleVo> listVo() { |
|||
return baseMapper.selectListVo(); |
|||
} |
|||
|
|||
public void saveOrUpdateDto(SysMenuRoleDto dto) { |
|||
SysMenuRole entity = new SysMenuRole(); |
|||
dto.fillEntity(entity); |
|||
this.saveOrUpdate(entity); |
|||
} |
|||
|
|||
public SysMenuRoleVo fetchByIdVo(String id) { |
|||
SysMenuRole entity = this.fetchById(id); |
|||
SysMenuRoleVo vo = new SysMenuRoleVo(); |
|||
BeanUtil.copyProperties(entity, vo); |
|||
return vo; |
|||
} |
|||
|
|||
public void delByRoleSid(String roleSid) { |
|||
baseMapper.delByRoleSid(roleSid); |
|||
} |
|||
|
|||
// 不分页列表
|
|||
public List<SysMenuRoleVo> list(SysMenuRoleQuery query) { |
|||
// mybits所用的查询条件封装类
|
|||
QueryWrapper<SysMenuRoleVo> qw = buildQueryWrapper(query); |
|||
return baseMapper.list(qw); |
|||
} |
|||
|
|||
/** |
|||
* 解析和组装查询条件,封装在qw中 |
|||
* |
|||
* @param query |
|||
* @return |
|||
*/ |
|||
private QueryWrapper<SysMenuRoleVo> buildQueryWrapper(SysMenuRoleQuery query) { |
|||
QueryWrapper<SysMenuRoleVo> qw = new QueryWrapper<>(); |
|||
if (query != null) { |
|||
if (StringUtils.isNotBlank(query.getSourceSid())) { |
|||
qw.eq("m.sourceSid", query.getSourceSid()); |
|||
} |
|||
/*if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getRoleSid())) { |
|||
qw.in("rm.roleSid", query.getRoleSid()); |
|||
}*/ |
|||
if (StringUtils.isNotBlank(query.getIsAdmin())) { |
|||
if (!query.getIsAdmin().equals("1")){ |
|||
qw.eq("m.isEnable", 1); |
|||
} |
|||
} |
|||
|
|||
if (query.getRoleSids() != null && query.getRoleSids().size() > 0) { |
|||
qw.in("rm.roleSid", query.getRoleSids()); |
|||
} |
|||
qw.eq("m.isShow", 1); |
|||
qw.orderByAsc("m.sortNo"); |
|||
} |
|||
|
|||
return qw; |
|||
|
|||
} |
|||
|
|||
/** |
|||
* 资源菜单树形列表 |
|||
* |
|||
* @param query:roleSids,sourceSid |
|||
* @return 资源菜单树形列表(第一级一级菜单 第二级二级菜单) |
|||
*/ |
|||
public List<Map<String, Object>> getSourceMenuTreeOfRoles(SysMenuRoleQuery query, Map<String, Object> map_rolemenus) { |
|||
|
|||
//获取当前资源的菜单列表
|
|||
List<Map<String, Object>> list_menus_map = new ArrayList<Map<String, Object>>(); |
|||
if (null == query) |
|||
return list_menus_map; |
|||
|
|||
//角色s的某个资源的所有菜单列表
|
|||
List<SysMenuRoleVo> list_menu = list(query); |
|||
list_menus_map = sysMenuService.getSourceMenuTree(list_menu, map_rolemenus); |
|||
|
|||
return list_menus_map; |
|||
|
|||
} |
|||
|
|||
public List<MenuRoleVo> selectByRoleSid(String roleSid) { |
|||
return baseMapper.selectByRoleSid(roleSid); |
|||
} |
|||
|
|||
public ResultBean<List<SysMenuRoleDataVo>> selMenuByRole(SysMenuRoleDataQuery query) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
QueryWrapper qw = new QueryWrapper<>(); |
|||
qw.eq("smr.roleSid",query.getRoleSid()); |
|||
if (StringUtils.isNotBlank(query.getMenuName())){ |
|||
qw.like("sm.name",query.getMenuName()); |
|||
} |
|||
List<SysMenuRoleDataVo> sysMenuRoleDataVos = baseMapper.selMenuByRole(qw); |
|||
return rb.success().setData(sysMenuRoleDataVos); |
|||
} |
|||
|
|||
public ResultBean<List<SysMenuRoleDataVo>> selMenuByRoleApp(SysMenuRoleDataQuery query) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
QueryWrapper qw = new QueryWrapper<>(); |
|||
qw.eq("smmr.roleSid",query.getRoleSid()); |
|||
if (StringUtils.isNotBlank(query.getMenuName())){ |
|||
qw.like("smm.name",query.getMenuName()); |
|||
} |
|||
List<SysMenuRoleDataVo> sysMenuRoleDataVos = baseMapper.selMenuByRoleApp(qw); |
|||
return rb.success().setData(sysMenuRoleDataVos); |
|||
} |
|||
|
|||
public ResultBean updateDataByRoleMenu(List<SysMenuRoleDataDto> dtos) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
for (SysMenuRoleDataDto dto : dtos) { |
|||
if (StringUtils.isNotBlank(dto.getDataRuleId())){ |
|||
baseMapper.updateDataByRoleMenu(dto.getSid(),dto.getDataRuleId()); |
|||
} |
|||
} |
|||
return rb.success(); |
|||
} |
|||
|
|||
public ResultBean updateDataByRoleMenuApp(List<SysMenuRoleDataDto> dtos) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
for (SysMenuRoleDataDto dto : dtos) { |
|||
if (StringUtils.isNotBlank(dto.getDataRuleId())){ |
|||
baseMapper.updateDataByRoleMenuApp(dto.getSid(),dto.getDataRuleId()); |
|||
} |
|||
} |
|||
return rb.success(); |
|||
} |
|||
|
|||
///----获平台角色s的某个资源的菜单树形列表(内存操作) 开始----
|
|||
|
|||
|
|||
} |
@ -0,0 +1,30 @@ |
|||
package com.yxt.portal.biz.sysorgauthorize; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModel; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysSource.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.syssource.SysSource <br/> |
|||
* Description: 资源表. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:29 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@ApiModel(value = "角色授权表", description = "角色授权表") |
|||
@TableName("sys_role_authorize") |
|||
@Data |
|||
public class SysOrgAuthorize extends BaseEntity { |
|||
private static final long serialVersionUID = 1L; |
|||
private String orgSid;//组织
|
|||
private String sourceSid;//资源sid
|
|||
private String menuSid;//菜单sid
|
|||
private String funcSid;//功能sid
|
|||
} |
@ -0,0 +1,32 @@ |
|||
package com.yxt.portal.biz.sysorgauthorize; |
|||
|
|||
|
|||
import com.yxt.common.core.dto.Dto; |
|||
import io.swagger.annotations.ApiModel; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysSourceDto.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.syssource.SysSourceDto <br/> |
|||
* Description: 资源表 数据传输对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:29 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@ApiModel(value = "资源表 数据传输对象", description = "资源表 数据传输对象") |
|||
@Data |
|||
public class SysOrgAuthorizeDto implements Dto { |
|||
|
|||
|
|||
private String orgSid;//组织
|
|||
private String sourceSid;//资源sid
|
|||
private String menuSid;//菜单sid
|
|||
private String funcSid;//功能sid
|
|||
private String roleSid;//角色sid
|
|||
|
|||
} |
@ -0,0 +1,73 @@ |
|||
package com.yxt.portal.biz.sysorgauthorize; |
|||
|
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.PathVariable; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysSourceFeign.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.syssource.SysSourceFeign <br/> |
|||
* Description: 资源表. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:29 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Api(tags = "资源表") |
|||
@FeignClient( |
|||
contextId = "anrui-portal-SysRoleAuthorize", |
|||
name = "anrui-portal", |
|||
path = "apiadmin/syssource", |
|||
fallback = SysOrgAuthorizeFeignFallback.class) |
|||
public interface SysOrgAuthorizeFeign { |
|||
|
|||
@ApiOperation("根据条件分页查询数据的列表") |
|||
@PostMapping("/listPage") |
|||
public ResultBean<PagerVo<SysOrgAuthorizeVo>> listPage(@RequestBody PagerQuery<SysOrgAuthorizeQuery> pq); |
|||
|
|||
@ApiOperation("根据条件查询所有数据列表") |
|||
@PostMapping("/listAll") |
|||
public ResultBean<List<SysOrgAuthorizeVo>> listAll(@RequestBody SysOrgAuthorizeQuery query); |
|||
@ApiOperation("根据角色sid条件查询所有数据列表") |
|||
@PostMapping("/listAllByRoleSid") |
|||
public ResultBean<List<SysOrgAuthorizeVo>> listAllByRoleSid(@RequestBody SysOrgAuthorizeQuery query); |
|||
|
|||
@ApiOperation("所有数据列表") |
|||
@GetMapping("/list") |
|||
public ResultBean<List<SysOrgAuthorizeVo>> list(); |
|||
|
|||
@ApiOperation("新增保存") |
|||
@PostMapping("/save") |
|||
public ResultBean save(@RequestBody SysOrgAuthorizeDto dto); |
|||
|
|||
@ApiOperation("修改保存") |
|||
@PostMapping("/update/{sid}") |
|||
public ResultBean update(@RequestBody SysOrgAuthorizeDto dto, @PathVariable("sid") String sid); |
|||
|
|||
@ApiOperation("删除记录") |
|||
@GetMapping("/del/{ids}") |
|||
public ResultBean del(@PathVariable("ids") String ids); |
|||
@ApiOperation("删除记录 根据sid") |
|||
@GetMapping("/delBySids/{sids}") |
|||
public ResultBean delBySids(@PathVariable("sids") String sids); |
|||
|
|||
@ApiOperation("获取一条记录") |
|||
@GetMapping("/fetch/{id}") |
|||
public ResultBean<SysOrgAuthorizeVo> fetch(@PathVariable("id") String id); |
|||
@ApiOperation("获取一条记录 根据sid") |
|||
@GetMapping("/fetchBySid/{sid}") |
|||
public ResultBean<SysOrgAuthorizeVo> fetchBySid(@PathVariable("sid") String sid); |
|||
} |
@ -0,0 +1,81 @@ |
|||
package com.yxt.portal.biz.sysorgauthorize; |
|||
|
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysSourceFeignFallback.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.syssource.SysSourceFeignFallback <br/> |
|||
* Description: 资源表. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:29 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Component |
|||
public class SysOrgAuthorizeFeignFallback implements SysOrgAuthorizeFeign { |
|||
|
|||
@Override |
|||
public ResultBean<PagerVo<SysOrgAuthorizeVo>> listPage(PagerQuery<SysOrgAuthorizeQuery> pq){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
return rb.setMsg("接口anrui_portal/syssource/listPage无法访问"); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<List<SysOrgAuthorizeVo>> listAll(SysOrgAuthorizeQuery query){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
return rb.setMsg("接口anrui_portal/syssource/listAll无法访问"); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<List<SysOrgAuthorizeVo>> listAllByRoleSid(SysOrgAuthorizeQuery query) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
return rb.setMsg("接口anrui_portal/syssource/listAllByRoleSid无法访问"); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<List<SysOrgAuthorizeVo>> list(){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
return rb.setMsg("接口anrui_portal/syssource/list无法访问"); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean save(SysOrgAuthorizeDto dto){ |
|||
return ResultBean.fireFail().setMsg("接口anrui_portal/syssource/save无法访问"); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean update(SysOrgAuthorizeDto dto, String sid){ |
|||
return ResultBean.fireFail().setMsg("接口anrui_portal/syssource/update无法访问"); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean del(String ids){ |
|||
return ResultBean.fireFail().setMsg("接口anrui_portal/syssource/del无法访问"); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean delBySids(String sids) { |
|||
return ResultBean.fireFail().setMsg("接口anrui_portal/syssource/delBySids无法访问"); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<SysOrgAuthorizeVo> fetch(String id){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
return rb.setMsg("接口anrui_portal/syssource/fetch无法访问"); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<SysOrgAuthorizeVo> fetchBySid(String sid) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
return rb.setMsg("接口anrui_portal/syssource/fetchBySid无法访问"); |
|||
} |
|||
} |
@ -0,0 +1,34 @@ |
|||
package com.yxt.portal.biz.sysorgauthorize; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.baomidou.mybatisplus.core.toolkit.Constants; |
|||
import com.yxt.portal.biz.sysroleauthorize.SysMenuRoleVo; |
|||
import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeVo; |
|||
import org.apache.ibatis.annotations.Delete; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysSourceMapper.java <br/> |
|||
* Class: com.yxt.anrui.portal.biz.syssource.SysSourceMapper <br/> |
|||
* Description: 角色授权表. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:29 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Mapper |
|||
public interface SysOrgAuthorizeMapper extends BaseMapper<SysOrgAuthorize> { |
|||
|
|||
|
|||
|
|||
List<SysMenuRoleVo> list(@Param(Constants.WRAPPER) QueryWrapper<SysOrgAuthorizeVo> qw); |
|||
|
|||
} |
@ -0,0 +1,7 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.yxt.portal.biz.sysorgauthorize.SysOrgAuthorizeMapper"> |
|||
<!-- <where> ${ew.sqlSegment} </where>--> |
|||
<!-- ${ew.customSqlSegment} --> |
|||
|
|||
</mapper> |
@ -0,0 +1,100 @@ |
|||
package com.yxt.portal.biz.sysorgauthorize; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.portal.biz.sysmenu.SysMenuService; |
|||
import com.yxt.portal.biz.sysrole.SysRole; |
|||
import com.yxt.portal.biz.sysrole.SysRoleService; |
|||
import com.yxt.portal.biz.sysroleauthorize.SysMenuRoleVo; |
|||
import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorize; |
|||
import com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeVo; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
import java.util.Objects; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysSourceService.java <br/> |
|||
* Class: com.yxt.anrui.portal.biz.syssource.SysSourceService <br/> |
|||
* Description: 资源表 业务逻辑. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:29 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Service |
|||
public class SysOrgAuthorizeService extends MybatisBaseService<SysOrgAuthorizeMapper, SysOrgAuthorize> { |
|||
@Autowired |
|||
SysMenuService sysMenuService; |
|||
@Autowired |
|||
SysRoleService sysRoleService; |
|||
|
|||
|
|||
/** |
|||
* 解析和组装查询条件,封装在qw中 |
|||
* |
|||
* @param query |
|||
* @return |
|||
*/ |
|||
private QueryWrapper<SysOrgAuthorizeVo> buildQueryWrapper(SysOrgAuthorizeQuery query) { |
|||
QueryWrapper<SysOrgAuthorizeVo> qw = new QueryWrapper<>(); |
|||
if (query != null) { |
|||
if (StringUtils.isNotBlank(query.getSourceSid())) { |
|||
qw.eq("m.sourceSid", query.getSourceSid()); |
|||
} |
|||
/*if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getRoleSid())) { |
|||
qw.in("rm.roleSid", query.getRoleSid()); |
|||
}*/ |
|||
if (StringUtils.isNotBlank(query.getIsAdmin())) { |
|||
if (!query.getIsAdmin().equals("1")){ |
|||
qw.eq("m.isEnable", 1); |
|||
} |
|||
} |
|||
|
|||
if (query.getRoleSids() != null && query.getRoleSids().size() > 0) { |
|||
qw.in("rm.roleSid", query.getRoleSids()); |
|||
} |
|||
qw.eq("m.isShow", 1); |
|||
qw.orderByAsc("m.sortNo"); |
|||
} |
|||
|
|||
return qw; |
|||
|
|||
} |
|||
public List<SysMenuRoleVo> list(SysOrgAuthorizeQuery query) { |
|||
// mybits所用的查询条件封装类
|
|||
QueryWrapper<SysOrgAuthorizeVo> qw = buildQueryWrapper(query); |
|||
return baseMapper.list(qw); |
|||
} |
|||
/** |
|||
* 资源菜单树形列表 |
|||
* |
|||
* @param query:roleSids,sourceSid |
|||
* @return 资源菜单树形列表(第一级一级菜单 第二级二级菜单) |
|||
*/ |
|||
public List<Map<String, Object>> getSourceMenuTreeOfRoles(SysOrgAuthorizeQuery query, Map<String, Object> map_rolemenus) { |
|||
|
|||
//获取当前资源的菜单列表
|
|||
List<Map<String, Object>> list_menus_map = new ArrayList<Map<String, Object>>(); |
|||
if (null == query) |
|||
return list_menus_map; |
|||
|
|||
//角色s的某个资源的所有菜单列表
|
|||
List<SysMenuRoleVo> list_menu = list(query); |
|||
list_menus_map = sysMenuService.getSourceMenuTree(list_menu, map_rolemenus); |
|||
|
|||
return list_menus_map; |
|||
|
|||
} |
|||
|
|||
|
|||
} |
@ -0,0 +1,30 @@ |
|||
package com.yxt.portal.biz.sysorgauthorize; |
|||
|
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModel; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysSourceVo.java <br/> |
|||
* Class: com.yxt.user.biz.syssource.SysSourceVo <br/> |
|||
* Description: 资源表 视图数据对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:29 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@ApiModel(value = "资源表 视图数据对象", description = "资源表 视图数据对象") |
|||
@Data |
|||
public class SysOrgAuthorizeVo implements Vo { |
|||
|
|||
|
|||
private String orgSid;//组织
|
|||
private String sourceSid;//资源sid
|
|||
private String menuSid;//菜单sid
|
|||
private String funcSid;//功能sid
|
|||
} |
@ -0,0 +1,32 @@ |
|||
package com.yxt.portal.biz.sysroleauthorize; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysSource.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.syssource.SysSource <br/> |
|||
* Description: 资源表. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:29 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@ApiModel(value = "角色授权表", description = "角色授权表") |
|||
@TableName("sys_role_authorize") |
|||
@Data |
|||
public class SysRoleAuthorize extends BaseEntity { |
|||
private static final long serialVersionUID = 1L; |
|||
private String roleSid;//角色sid
|
|||
private String sourceSid;//资源sid
|
|||
private String menuSid;//菜单sid
|
|||
private String dataRuleId;//菜单的数据权限id
|
|||
private String funcSid;//功能sid
|
|||
} |
@ -0,0 +1,33 @@ |
|||
package com.yxt.portal.biz.sysroleauthorize; |
|||
|
|||
|
|||
import com.yxt.common.core.dto.Dto; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysSourceDto.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.syssource.SysSourceDto <br/> |
|||
* Description: 资源表 数据传输对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:29 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@ApiModel(value = "资源表 数据传输对象", description = "资源表 数据传输对象") |
|||
@Data |
|||
public class SysRoleAuthorizeDto implements Dto { |
|||
|
|||
|
|||
private String roleSid;//角色sid
|
|||
private String sourceSid;//资源sid
|
|||
private String menuSid;//菜单sid
|
|||
private String dataRuleId;//菜单的数据权限id
|
|||
private String funcSid;//功能sid
|
|||
|
|||
} |
@ -0,0 +1,34 @@ |
|||
package com.yxt.portal.biz.sysroleauthorize; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.baomidou.mybatisplus.core.toolkit.Constants; |
|||
import org.apache.ibatis.annotations.Delete; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysSourceMapper.java <br/> |
|||
* Class: com.yxt.anrui.portal.biz.syssource.SysSourceMapper <br/> |
|||
* Description: 角色授权表. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:29 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Mapper |
|||
public interface SysRoleAuthorizeMapper extends BaseMapper<SysRoleAuthorize> { |
|||
|
|||
|
|||
|
|||
List<SysMenuRoleVo> list(@Param(Constants.WRAPPER) QueryWrapper<SysRoleAuthorizeVo> qw); |
|||
List<SysRoleAuthorizeVo> selectByRoleSid(String roleSid); |
|||
@Delete("delete from sys_role_authorize where roleSid=#{roleSid}") |
|||
void delByRoleSid(@Param("roleSid") String roleSid); |
|||
} |
@ -0,0 +1,33 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeMapper"> |
|||
<!-- <where> ${ew.sqlSegment} </where>--> |
|||
<!-- ${ew.customSqlSegment} --> |
|||
|
|||
|
|||
<select id="list" parameterType="com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeQuery" |
|||
resultType="com.yxt.portal.biz.sysroleauthorize.SysMenuRoleVo"> |
|||
SELECT distinct rm.menuSid as sid, |
|||
m.name as menuName, |
|||
m.menuUrl, |
|||
m.pageUrl, |
|||
m.pageName, |
|||
m.pageUrlRedirect, |
|||
m.pageAliasName, |
|||
m.iconUrl, |
|||
m.sourceSid, |
|||
m.isShow, |
|||
m.pSid, |
|||
m.sortNo, |
|||
m.remarks, |
|||
1 as alwaysShow |
|||
FROM sys_role_authorize rm |
|||
LEFT JOIN sys_menu m ON rm.menuSid = m.sid |
|||
${ew.customSqlSegment} |
|||
</select> |
|||
<select id="selectByRoleSid" resultType="com.yxt.portal.biz.sysroleauthorize.SysRoleAuthorizeVo"> |
|||
select menuSid, dataRuleId |
|||
from sys_role_authorize |
|||
where roleSid = #{roleSid} |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,41 @@ |
|||
package com.yxt.portal.biz.sysroleauthorize; |
|||
|
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysSourceQuery.java <br/> |
|||
* Class: com.yxt.anrui.portal.api.syssource.SysSourceQuery <br/> |
|||
* Description: 资源表 查询条件. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:29 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@ApiModel(value = "资源表 查询条件", description = "资源表 查询条件") |
|||
@Data |
|||
public class SysRoleAuthorizeQuery implements Query { |
|||
|
|||
@ApiModelProperty("菜单sid") |
|||
private String menuSid; |
|||
|
|||
@ApiModelProperty("角色sid") |
|||
private String roleSid; |
|||
@ApiModelProperty("多个角色sid计集合") |
|||
private List<String> roleSids; |
|||
@ApiModelProperty("资源sid") |
|||
private String sourceSid; |
|||
@ApiModelProperty("是否是系统管理员") |
|||
private String isAdmin; |
|||
|
|||
|
|||
} |
@ -0,0 +1,133 @@ |
|||
package com.yxt.portal.biz.sysroleauthorize; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.portal.biz.sysmenu.SysMenuService; |
|||
import com.yxt.portal.biz.sysorgauthorize.SysOrgAuthorizeDto; |
|||
import com.yxt.portal.biz.sysrole.SysRole; |
|||
import com.yxt.portal.biz.sysrole.SysRoleService; |
|||
import com.yxt.portal.biz.sysuser.SysUserService; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
import java.util.Objects; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysSourceService.java <br/> |
|||
* Class: com.yxt.anrui.portal.biz.syssource.SysSourceService <br/> |
|||
* Description: 资源表 业务逻辑. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:29 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@Service |
|||
public class SysRoleAuthorizeService extends MybatisBaseService<SysRoleAuthorizeMapper, SysRoleAuthorize> { |
|||
@Autowired |
|||
SysMenuService sysMenuService; |
|||
@Autowired |
|||
SysRoleService sysRoleService; |
|||
|
|||
|
|||
/** |
|||
* 解析和组装查询条件,封装在qw中 |
|||
* |
|||
* @param query |
|||
* @return |
|||
*/ |
|||
private QueryWrapper<SysRoleAuthorizeVo> buildQueryWrapper(SysRoleAuthorizeQuery query) { |
|||
QueryWrapper<SysRoleAuthorizeVo> qw = new QueryWrapper<>(); |
|||
if (query != null) { |
|||
if (StringUtils.isNotBlank(query.getSourceSid())) { |
|||
qw.eq("m.sourceSid", query.getSourceSid()); |
|||
} |
|||
/*if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getRoleSid())) { |
|||
qw.in("rm.roleSid", query.getRoleSid()); |
|||
}*/ |
|||
if (StringUtils.isNotBlank(query.getIsAdmin())) { |
|||
if (!query.getIsAdmin().equals("1")){ |
|||
qw.eq("m.isEnable", 1); |
|||
} |
|||
} |
|||
|
|||
if (query.getRoleSids() != null && query.getRoleSids().size() > 0) { |
|||
qw.in("rm.roleSid", query.getRoleSids()); |
|||
} |
|||
qw.eq("m.isShow", 1); |
|||
qw.orderByAsc("m.sortNo"); |
|||
} |
|||
|
|||
return qw; |
|||
|
|||
} |
|||
public List<SysMenuRoleVo> list(SysRoleAuthorizeQuery query) { |
|||
// mybits所用的查询条件封装类
|
|||
QueryWrapper<SysRoleAuthorizeVo> qw = buildQueryWrapper(query); |
|||
return baseMapper.list(qw); |
|||
} |
|||
/** |
|||
* 资源菜单树形列表 |
|||
* |
|||
* @param query:roleSids,sourceSid |
|||
* @return 资源菜单树形列表(第一级一级菜单 第二级二级菜单) |
|||
*/ |
|||
public List<Map<String, Object>> getSourceMenuTreeOfRoles(SysRoleAuthorizeQuery query, Map<String, Object> map_rolemenus) { |
|||
|
|||
//获取当前资源的菜单列表
|
|||
List<Map<String, Object>> list_menus_map = new ArrayList<Map<String, Object>>(); |
|||
if (null == query) |
|||
return list_menus_map; |
|||
|
|||
//角色s的某个资源的所有菜单列表
|
|||
List<SysMenuRoleVo> list_menu = list(query); |
|||
list_menus_map = sysMenuService.getSourceMenuTree(list_menu, map_rolemenus); |
|||
|
|||
return list_menus_map; |
|||
|
|||
} |
|||
public ResultBean updateRoleAndMenu(SysRoleAuthorizeDto dto) { |
|||
String roleSid=dto.getRoleSid(); |
|||
String menuSid=dto.getMenuSid(); |
|||
if(com.yxt.common.base.utils.StringUtils.isBlank(roleSid)){ |
|||
return ResultBean.fireFail().setMessage("角色sid不能为空"); |
|||
}else{ |
|||
SysRole sysRole = sysRoleService.fetchBySid(roleSid); |
|||
if(sysRole==null|| com.yxt.common.base.utils.StringUtils.isBlank(sysRole.getSid())){ |
|||
return ResultBean.fireFail().setMessage("角色sid不存在"); |
|||
} |
|||
} |
|||
List<SysRoleAuthorizeVo> menuRoleList = selectByRoleSid(roleSid); |
|||
delByRoleSid(roleSid); |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
if(!com.yxt.common.base.utils.StringUtils.isBlank(menuSid)){ |
|||
String[] sids = menuSid.split(","); |
|||
for(String sid:sids){ |
|||
SysRoleAuthorizeVo menuRoleVo = menuRoleList.stream().filter(s -> Objects.equals(s.getMenuSid(), sid)).findFirst().orElse(null); |
|||
SysRoleAuthorize sysMenuRole = new SysRoleAuthorize(); |
|||
sysMenuRole.setRoleSid(roleSid); |
|||
sysMenuRole.setMenuSid(sid); |
|||
sysMenuRole.setSourceSid(dto.getSourceSid()); |
|||
if(menuRoleVo != null){ |
|||
sysMenuRole.setDataRuleId(menuRoleVo.getDataRuleId()); |
|||
} |
|||
save(sysMenuRole); |
|||
} |
|||
} |
|||
return rb.success(); |
|||
} |
|||
public List<SysRoleAuthorizeVo> selectByRoleSid(String roleSid) { |
|||
return baseMapper.selectByRoleSid(roleSid); |
|||
} |
|||
public void delByRoleSid(String roleSid) { |
|||
baseMapper.delByRoleSid(roleSid); |
|||
} |
|||
} |
@ -0,0 +1,35 @@ |
|||
package com.yxt.portal.biz.sysroleauthorize; |
|||
|
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import com.yxt.portal.biz.sysmenu.SysMenuVo; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* Project: anrui_portal(门户建设) <br/> |
|||
* File: SysSourceVo.java <br/> |
|||
* Class: com.yxt.user.biz.syssource.SysSourceVo <br/> |
|||
* Description: 资源表 视图数据对象. <br/> |
|||
* Copyright: Copyright (c) 2011 <br/> |
|||
* Company: https://gitee.com/liuzp315 <br/>
|
|||
* Makedate: 2021-08-03 00:24:29 <br/> |
|||
* |
|||
* @author liupopo |
|||
* @version 1.0 |
|||
* @since 1.0 |
|||
*/ |
|||
@ApiModel(value = "资源表 视图数据对象", description = "资源表 视图数据对象") |
|||
@Data |
|||
public class SysRoleAuthorizeVo implements Vo { |
|||
|
|||
|
|||
private String roleSid;//角色sid
|
|||
private String sourceSid;//资源sid
|
|||
private String menuSid;//菜单sid
|
|||
private String dataRuleId;//菜单的数据权限id
|
|||
private String funcSid;//功能sid
|
|||
} |
Loading…
Reference in new issue