管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-01-12 04d03991804f07065ad7e0951edc21afc31b3c84
1
已修改8个文件
128 ■■■■ 文件已修改
data/update.sql 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/controller/all/PermsController.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/controller/sys/MenuController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/mapper/all/PermsMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/mapper/sys/MenuMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/all/PermsService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/sys/MenuService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/all/PermsMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data/update.sql
@@ -56,9 +56,9 @@
insert into lf.sys_meta (name,dirid) values ('00116BT02-CR001#ESV-DW-0101(大河沿河穿越地形图)0.dwl2',62);
insert into lf.sys_meta (name,dirid) values ('00116BT02-CR001#ESV-DW-0101(大河沿河穿越纵断面图)0.dwg',62);
insert into lf.sys_meta (name,dirid) values ('00116BT02-CR001#ESV-IN-0101(资料图纸目录).doc',62);
insert into lf.sys_meta (name,dirid) values ('1类.gdb.zip',74);
insert into lf.sys_meta (name,dirid) values ('2类.gdb.zip',74);
insert into lf.sys_meta (name,dirid) values ('易燃易爆.gdb.zip',74);
insert into lf.sys_meta (name,dirid) values ('1类.gdb',74);
insert into lf.sys_meta (name,dirid) values ('2类.gdb',74);
insert into lf.sys_meta (name,dirid) values ('易燃易爆.gdb',74);
insert into lf.sys_meta (name,dirid) values ('地面线.xlsx',64);
insert into lf.sys_meta (name,dirid) values ('控制点.xlsx',64);
insert into lf.sys_meta (name,dirid) values ('离散点.xlsx',64);
@@ -83,25 +83,49 @@
select * from lf.sys_menu order by id;
select * from lf.sys_coord where epsgcode = 'EPSG:4490';
select * from lf.sys_role a inner join lf.sys_role_user b on a.id=b.roleid inner join lf.sys_user c on b.userid=c.id
where c.uid = 'kc';
select distinct e.id,e.pid,e.cn_name,e.en_name,e.url,e.perms,e.type,e.css,e.icon,e.level,e.order_num,e.is_show
from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid
inner join lf.sys_role_menu_auth c on b.roleid = c.roleid
inner join lf.sys_menu_auth d on c.menu_auth_id = d.id
inner join lf.sys_menu e on d.menuid = e.id
where a.uid = 'ptzh'
where a.uid = 'kc'
order by e.order_num;
select * from lf.sys_role a inner join lf.sys_role_user b on a.id=b.roleid inner join lf.sys_user c on b.userid=c.id
where c.uid = 'ptzh';
select distinct e.id,e.pid,e.order_num,e.cn_name,e.en_name,f.name,e.perms,f.tag
from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid
inner join lf.sys_role_menu_auth c on b.roleid = c.roleid
inner join lf.sys_menu_auth d on c.menu_auth_id = d.id
inner join lf.sys_menu e on d.menuid = e.id
inner join lf.sys_auth f on d.authid = f.id
where a.uid = 'kc'
order by e.order_num;
---------------------------------------------------------
select * from lf.sys_dir order by id
select * from lf.sys_meta where id > 20 order by id; delete from lf.sys_meta where id > 20;
select * from lf.sys_meta order by id; delete from lf.sys_meta where id > 20;
select * from lf.sys_fme_log;
select * from lf.sys_dep order by id
select * from lf.sys_user
select * from lf.sys_meta where guid='6b59075f0ff6611b815616bedc8b6af3'
with recursive rs as(
    select a.* from lf.sys_menu a where a.id = 2
union
    select a.* from lf.sys_menu a, rs b where a.pid = b.id
)
select * FROM rs where rs.id in (
    select distinct e.id
      from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid
      inner join lf.sys_role_menu_auth c on b.roleid = c.roleid
      inner join lf.sys_menu_auth d on c.menu_auth_id = d.id
      inner join lf.sys_menu e on d.menuid = e.id
      inner join lf.sys_auth f on d.authid = f.id
      where a.uid = 'kc')
order by order_num;
src/main/java/com/lf/server/controller/all/PermsController.java
@@ -6,6 +6,7 @@
import com.lf.server.entity.all.ResAuthEntity;
import com.lf.server.entity.all.ResponseMsg;
import com.lf.server.entity.data.DirEntity;
import com.lf.server.entity.sys.MenuEntity;
import com.lf.server.entity.sys.UserEntity;
import com.lf.server.helper.StringHelper;
import com.lf.server.service.all.PermsService;
@@ -127,11 +128,16 @@
    @SysLog()
    @ApiOperation(value = "查询用户角色")
    @GetMapping("/selectRoles")
    public ResponseMsg<Object> selectRoles(HttpServletRequest req, HttpServletResponse res) {
    public ResponseMsg<Object> selectRoles(HttpServletRequest req) {
        try {
            //
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            return success(null);
            List<Integer> list = permsService.selectRoles(ue.getUid());
            return success(list);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
        }
@@ -140,15 +146,17 @@
    @SysLog()
    @ApiOperation(value = "递归查询")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "name", value = "菜单名称", dataType = "String", paramType = "query", required = false, example = "管道基础大数据平台")
            @ApiImplicitParam(name = "id", value = "菜单ID", dataType = "Integer", paramType = "query", example = "14")
    })
    @GetMapping(value = "/selectMenuRecursive")
    public ResponseMsg<List<DirEntity>> selectMenuRecursive(String name) {
    public ResponseMsg<Object> selectMenuRecursive(int id, HttpServletRequest req) {
        try {
            if (StringHelper.isEmpty(name)) {
                name = "管道基础大数据平台";
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            List<DirEntity> list = menuService.selectMenuRecursive(name);
            List<MenuEntity> list = permsService.selectMenuRecursive(id, ue.getUid());
            return success(list);
        } catch (Exception ex) {
src/main/java/com/lf/server/controller/sys/MenuController.java
@@ -217,12 +217,12 @@
            @ApiImplicitParam(name = "name", value = "菜单名称", dataType = "String", paramType = "query", required = false, example = "管道基础大数据平台")
    })
    @GetMapping(value = "/selectMenuRecursive")
    public ResponseMsg<List<DirEntity>> selectMenuRecursive(String name) {
    public ResponseMsg<Object> selectMenuRecursive(String name) {
        try {
            if (StringHelper.isEmpty(name)) {
                name = "管道基础大数据平台";
            }
            List<DirEntity> list = menuService.selectMenuRecursive(name);
            List<MenuEntity> list = menuService.selectMenuRecursive(name);
            return success(list);
        } catch (Exception ex) {
src/main/java/com/lf/server/mapper/all/PermsMapper.java
@@ -3,6 +3,7 @@
import com.lf.server.entity.all.MenusAuthEntity;
import com.lf.server.entity.all.PermsAuthEntity;
import com.lf.server.entity.all.ResAuthEntity;
import com.lf.server.entity.sys.MenuEntity;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@@ -46,4 +47,21 @@
     * @return
     */
    public List<PermsAuthEntity> selectPermsEntity(String uid);
    /**
     * 根据用户Uid查询角色ID
     *
     * @param uid
     * @return
     */
    public List<Integer> selectRoles(String uid);
    /**
     * 根据用户Uid递归查询菜单集合
     *
     * @param id
     * @param uid
     * @return
     */
    public List<MenuEntity> selectMenuRecursive(int id, String uid);
}
src/main/java/com/lf/server/mapper/sys/MenuMapper.java
@@ -1,6 +1,5 @@
package com.lf.server.mapper.sys;
import com.lf.server.entity.data.DirEntity;
import com.lf.server.entity.sys.MenuEntity;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@@ -74,5 +73,5 @@
     * @param name
     * @return
     */
    public List<DirEntity> selectMenuRecursive(String name);
    public List<MenuEntity> selectMenuRecursive(String name);
}
src/main/java/com/lf/server/service/all/PermsService.java
@@ -1,6 +1,7 @@
package com.lf.server.service.all;
import com.lf.server.entity.all.*;
import com.lf.server.entity.sys.MenuEntity;
import com.lf.server.helper.StringHelper;
import com.lf.server.mapper.all.PermsMapper;
import org.springframework.beans.factory.annotation.Autowired;
@@ -101,6 +102,16 @@
        return list;
    }
    @Override
    public List<Integer> selectRoles(String uid) {
        return permsMapper.selectRoles(uid);
    }
    @Override
    public List<MenuEntity> selectMenuRecursive(int id, String uid) {
        return permsMapper.selectMenuRecursive(id, uid);
    }
    public void clearResCache() {
        redisService.clearKeys(RedisCacheKey.permsResKey(""));
    }
src/main/java/com/lf/server/service/sys/MenuService.java
@@ -1,6 +1,5 @@
package com.lf.server.service.sys;
import com.lf.server.entity.data.DirEntity;
import com.lf.server.entity.sys.MenuEntity;
import com.lf.server.mapper.sys.MenuMapper;
import org.springframework.beans.factory.annotation.Autowired;
@@ -59,7 +58,7 @@
    }
    @Override
    public List<DirEntity> selectMenuRecursive(String name) {
    public List<MenuEntity> selectMenuRecursive(String name) {
        return menuMapper.selectMenuRecursive(name);
    }
}
src/main/resources/mapper/all/PermsMapper.xml
@@ -41,8 +41,25 @@
        order by e.order_num
    </select>
    <select id="selectRoles">
    <select id="selectRoles" resultType="java.lang.Integer">
        select is_admin from lf.sys_role a inner join lf.sys_role_user b on a.id = b.roleid
        inner join lf.sys_user c on b.userid = c.id where c.id = #{uid}
        inner join lf.sys_user c on b.userid = c.id where c.uid = #{uid}
    </select>
    <select id="selectMenuRecursive" resultType="com.lf.server.entity.sys.MenuEntity">
        with recursive rs as(
            select a.* from lf.sys_menu a where a.id = #{id}
        union
            select a.* from lf.sys_menu a, rs b where a.pid = b.id
        )
        select * FROM rs where rs.id in (
            select distinct e.id
            from lf.sys_user a inner join lf.sys_role_user b on a.id = b.userid
            inner join lf.sys_role_menu_auth c on b.roleid = c.roleid
            inner join lf.sys_menu_auth d on c.menu_auth_id = d.id
            inner join lf.sys_menu e on d.menuid = e.id
            inner join lf.sys_auth f on d.authid = f.id
            where a.uid = #{uid})
        order by order_num;
    </select>
</mapper>