diff --git a/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java b/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java index 9cea7d0..a9551d1 100644 --- a/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java +++ b/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java @@ -86,6 +86,17 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte FromItem fromItem = plainSelect.getFromItem(); if (fromItem instanceof Table) { this.dataScopeHandler.getSqlSegment(plainSelect, obj); + } else { + processFromItem(fromItem, obj); + } + } + + protected void processFromItem(FromItem fromItem, Object obj) { + if (fromItem instanceof SubSelect) { + SubSelect subSelect = (SubSelect) fromItem; + if (subSelect.getSelectBody() != null) { + processSelectBody(subSelect.getSelectBody(), obj); + } } } } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/BaseActionController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/BaseActionController.java index 63bc362..ac65a97 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/BaseActionController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/BaseActionController.java @@ -15,10 +15,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -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; +import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import java.util.List; @@ -53,14 +50,23 @@ public class BaseActionController { @OperLog(operModul = "功能按钮管理", operType = "查询", operDesc = "查询菜单下的按钮权限CODE") @ApiOperation(value = "查询菜单下的按钮权限CODE", notes = "查询菜单下的按钮权限CODE", httpMethod="POST") - @ApiImplicitParams({ - @ApiImplicitParam(name = "menuId", value = "menuId", paramType = "form"), - }) + @ApiImplicitParam(name = "menuId", value = "menuId", paramType = "body") @PostMapping("/codeList") public Result> getMenuCode(@ApiIgnore @RequestBody Map map) { return Result.success(baseActionService.getMenuCode(MapUtils.getString(map,"menuId"))); } - + + /** + * 用户查询自身菜单按钮权限列表 + * @return + */ + @OperLog(operModul = "功能按钮管理", operType = "查询", operDesc = "用户查询自身菜单按钮权限列表") + @ApiOperation(value = "用户查询自身菜单按钮权限列表", notes = "用户查询自身菜单按钮权限列表" , httpMethod="GET") + @GetMapping(value = "/queryBySelf") + public Result> queryBySelf() { + return Result.success(baseActionService.queryBySelf()); + } + /** * 添加 * @param baseAction diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/BaseActionMapper.xml b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/BaseActionMapper.xml index 54ac77b..7d680ed 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/BaseActionMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/BaseActionMapper.xml @@ -40,15 +40,13 @@ - SELECT i.*, GROUP_CONCAT(u.real_name) inspectUserName, p.project_name, e.engineering_name, + SELECT * FROM (SELECT i.*, GROUP_CONCAT(u.real_name) inspectUserName, p.project_name, IFNULL( e.engineering_name, p.project_name) engineering_name, (SELECT MAX(CASE WHEN m.type = 1 THEN s.enterprise_name ELSE '' END) FROM engineering_main m LEFT JOIN enterprise s ON m.enterprise_sn = s.enterprise_sn WHERE m.engineering_sn = e.engineering_sn) buildEnt, (SELECT MAX(CASE WHEN m.type = 2 THEN s.enterprise_name ELSE '' END) FROM engineering_main m @@ -22,8 +22,8 @@ FROM inspect_record i LEFT JOIN project p ON i.project_sn = p.project_sn LEFT JOIN engineering e ON i.engineering_sn = e.engineering_sn - LEFT JOIN system_user u ON FIND_IN_SET(u.user_id, i.inspect_user) - ${ew.customSqlSegment} GROUP BY i.id ORDER BY i.create_time DESC + LEFT JOIN system_user u ON FIND_IN_SET(u.user_id, i.inspect_user) GROUP BY i.id ORDER BY i.create_time DESC) a + ${ew.customSqlSegment}