Browse Source

功能授权

master
God 1 year ago
parent
commit
38401b0998
  1. 16
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysfunction/SysFunctionFeign.java
  2. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysfunction/SysFunctionFeignFallback.java
  3. 13
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysfunction/SysFunctionMapper.java
  4. 28
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysfunction/SysFunctionMapper.xml
  5. 7
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysfunction/SysFunctionRest.java
  6. 45
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysfunction/SysFunctionService.java

16
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysfunction/SysFunctionFeign.java

@ -61,10 +61,10 @@ public interface SysFunctionFeign {
@ApiOperation("新增保存")
@PostMapping("/save")
public ResultBean save(@RequestBody SysFunctionDto dto);
@ApiOperation("修改保存")
@PostMapping("/update/{sid}")
public ResultBean update(@RequestBody SysFunctionDto dto,@PathVariable("sid") String sid);
public ResultBean update(@RequestBody SysFunctionDto dto, @PathVariable("sid") String sid);
@ApiOperation("修改功能的是否可用的状态")
@PostMapping("/updateIsEnable/{sid}/{isEnable}")
@ -73,6 +73,7 @@ public interface SysFunctionFeign {
@ApiOperation("删除记录")
@GetMapping("/del/{ids}")
public ResultBean del(@PathVariable("ids") String ids);
@ApiOperation("删除记录")
@GetMapping("/delBySids/{sids}")
public ResultBean delBySids(@PathVariable("sids") String sids);
@ -80,12 +81,19 @@ public interface SysFunctionFeign {
@ApiOperation("获取一条记录")
@GetMapping("/fetch/{id}")
public ResultBean<SysFunctionVo> fetch(@PathVariable("id") String id);
@ApiOperation("获取一条记录")
@GetMapping("/fetchBySid/{sid}")
public ResultBean<SysFunctionVo> fetchBySid(@PathVariable("sid") String sid);
@ApiOperation("角色授权时查询功能列表")
@ApiOperation("角色授权时查询功能列表(Pc)")
@GetMapping("/getFunctionAuthorization/{roleSid}")
public ResultBean<List<Map<String,Object>>> getFunctionAuthorization(@PathVariable("roleSid") String roleSid);
public ResultBean<List<Map<String, Object>>> getFunctionAuthorization(@PathVariable("roleSid") String roleSid);
@ApiOperation("角色授权时查询功能列表(App)")
@GetMapping("/getFunctionAuthorizationApp/{roleSid}")
public ResultBean<List<Map<String, Object>>> getFunctionAuthorizationApp(@PathVariable("roleSid") String roleSid);
@ApiOperation("查询按钮的权限")
@PostMapping("/getButtonPermissions")
public ResultBean<List<ButtonPermissionVo>> getButtonPermissions(@RequestBody ButtonPermissionQuery query);

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysfunction/SysFunctionFeignFallback.java

@ -96,6 +96,11 @@ public class SysFunctionFeignFallback implements SysFunctionFeign {
return null;
}
@Override
public ResultBean<List<Map<String, Object>>> getFunctionAuthorizationApp(String roleSid) {
return null;
}
@Override
public ResultBean<List<ButtonPermissionVo>> getButtonPermissions(ButtonPermissionQuery query) {
return null;

13
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysfunction/SysFunctionMapper.java

@ -57,15 +57,20 @@ public interface SysFunctionMapper extends BaseMapper<SysFunction> {
*/
int selectBySourceSid(@Param("isEnable") int isEnable, @Param("sourceSid") String sourceSid);
List<ButtonPermissionVo> getButtonPermissions(@Param("query")ButtonPermissionQuery query);
@Select("SELECT ss.sourceName,ss.sid FROM sys_source ss LEFT JOIN sys_source_role ssr ON ss.sid=ssr.sorceSid where ssr.rolesid=#{roleSid}")
List<Map<String, Object>> getSourceAuthorization(@Param("roleSid")String roleSid);
List<ButtonPermissionVo> getButtonPermissions(@Param("query") ButtonPermissionQuery query);
List<Map<String, Object>> getSourceAuthorization(@Param("roleSid") String roleSid);
@Select("SELECT sm.name,sm.sid,sm.pageUrl FROM sys_menu sm LEFT JOIN sys_source_menu ssm ON sm.sid=ssm.menuSid where ssm.sourceSid=#{sourceSid}")
List<Map<String, Object>> getMenuAuthorization(@Param("sourceSid") String sourceSid);
@Select("SELECT sf.name,sf.sid FROM sys_function sf WHERE sf.actionUrl= #{pageUrl}")
List<Map<String, Object>> getFunctionAuthorization(@Param("pageUrl") String pageUrl);
@Select("SELECT sf.name,sf.sid,IF(IFNULL(srf.id,0)<=0,1,0) checked FROM sys_function sf " +
" LEFT JOIN sys_role_function srf ON srf.functionSid=sf.sid " +
" WHERE sf.actionUrl= #{pageUrl} AND srf.roleSid = #{roleSid} ")
List<Map<String, Object>> getFunctionByRoleSid(@Param("pageUrl") String pageUrl,@Param("roleSid") String roleSid);
List<Map<String, Object>> getFunctionByRoleSid(@Param("pageUrl") String pageUrl, @Param("roleSid") String roleSid);
List<Map<String, Object>> getSourceAuthorizationApp(@Param("roleSid") String roleSid);
}

28
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysfunction/SysFunctionMapper.xml

@ -72,4 +72,32 @@
ON sur.roleSid = srf.rolesid
WHERE sur.userSid = #{query.userSid})
</select>
<select id="getSourceAuthorization" resultType="java.util.Map">
SELECT DISTINCT ss.sourceName,
ss.sid
FROM sys_source ss
LEFT JOIN sys_source_role ssr
ON ss.sid = ssr.sorceSid
LEFT JOIN sys_source_function ssf
ON ssr.`sorceSid` = ssf.`sourceSid`
LEFT JOIN sys_function sf
ON ssf.`functionSid` = sf.sid
WHERE ssr.rolesid = #{roleSid}
AND sf.phoneFunction = '0'
</select>
<select id="getSourceAuthorizationApp" resultType="java.util.Map">
SELECT DISTINCT ss.sourceName,
ss.sid
FROM sys_source ss
LEFT JOIN sys_source_role ssr
ON ss.sid = ssr.sorceSid
LEFT JOIN sys_source_function ssf
ON ssr.`sorceSid` = ssf.`sourceSid`
LEFT JOIN sys_function sf
ON ssf.`functionSid` = sf.sid
WHERE ssr.rolesid = #{roleSid}
AND sf.phoneFunction = '1'
</select>
</mapper>

7
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysfunction/SysFunctionRest.java

@ -201,6 +201,13 @@ public class SysFunctionRest implements SysFunctionFeign {
return rb.success().setData(list);
}
@Override
public ResultBean<List<Map<String, Object>>> getFunctionAuthorizationApp(String roleSid) {
ResultBean rb = ResultBean.fireFail();
List<Map<String,Object>> list=sysFunctionService.getFunctionAuthorizationApp(roleSid);
return rb.success().setData(list);
}
@Override
public ResultBean<List<ButtonPermissionVo>> getButtonPermissions(ButtonPermissionQuery query) {
ResultBean<List<ButtonPermissionVo>> rb = ResultBean.fireFail();

45
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysfunction/SysFunctionService.java

@ -299,4 +299,49 @@ public class SysFunctionService extends MybatisBaseService<SysFunctionMapper, Sy
});
return list;
}
public List<Map<String, Object>> getFunctionAuthorizationApp(String roleSid) {
List<Map<String, Object>> list = new ArrayList<>();
List<Map<String, Object>> lsources = baseMapper.getSourceAuthorizationApp(roleSid);
lsources.forEach(f -> {
Map<String, Object> map = new HashMap<>();
map.put("name", f.get("sourceName").toString());
map.put("sid", f.get("sid").toString());
map.put("checked", "1");
list.add(map);
});
list.forEach(f -> {
List<Map<String, Object>> list2 = new ArrayList<>();
String sid = f.get("sid").toString();
List<Map<String, Object>> lmenus = baseMapper.getMenuAuthorization(sid);
lmenus.forEach(ff -> {
Map<String, Object> map = new HashMap<>();
if (ff.get("pageUrl") != null && com.yxt.common.base.utils.StringUtils.isNotBlank(ff.get("pageUrl").toString())) {
String pageUrl = ff.get("pageUrl").toString();
List<Map<String, Object>> lfuncs = baseMapper.getFunctionAuthorization(pageUrl);
List<Map<String, Object>> functionByRoleSid = baseMapper.getFunctionByRoleSid(pageUrl, roleSid);
if (lfuncs.size() > 0){
map.put("name", ff.get("name"));
String sids = ff.get("sid").toString();
map.put("sid", sids);
map.put("checked", "1");
map.put("children", new ArrayList<>());
for (Map<String, Object> lfunc : lfuncs) {
for (Map<String, Object> funByRole : functionByRoleSid) {
if (lfunc.get("sid").equals(funByRole.get("sid"))) {
lfunc.put("checked", "0");
}
}
lfunc.put("children", new ArrayList<>());
}
map.put("children", lfuncs);
list2.add(map);
}
}
});
f.put("children", list2);
});
return list;
}
}
Loading…
Cancel
Save