管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-02-27 cec8c5738686bd16d17ae37455b85069e6babe29
src/main/java/com/lf/server/controller/all/PermsController.java
@@ -1,11 +1,17 @@
package com.lf.server.controller.all;
import com.lf.server.aspect.SysLog;
import com.lf.server.annotation.SysLog;
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.all.ResponseMsg;
import com.lf.server.entity.sys.LayerEntity;
import com.lf.server.entity.sys.MenuEntity;
import com.lf.server.entity.sys.UserEntity;
import com.lf.server.service.all.PermsService;
import com.lf.server.service.sys.LayerService;
import com.lf.server.service.sys.MenuService;
import com.lf.server.service.sys.TokenService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -13,6 +19,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
@@ -21,72 +28,159 @@
 */
@Api(tags = "运维管理\\授权管理")
@RestController
@RequestMapping("/file")
@RequestMapping("/perms")
public class PermsController extends BaseController {
    @Autowired
    PermsService permsService;
    @Autowired
    TokenService tokenService;
    @Autowired
    MenuService menuService;
    @Autowired
    LayerService layerService;
    @SysLog()
    @ApiOperation(value = "根据用户Uid查询资源授权")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "uid", value = "用户Uid", dataType = "String", paramType = "query", example = "admin")
    })
    @ApiOperation(value = "查询当前用户的资源授权")
    @GetMapping(value = "/selectRes")
    public ResponseMsg<List<ResAuthEntity>> selectRes(String uid) {
    public ResponseMsg<List<ResAuthEntity>> selectRes(HttpServletRequest req) {
        try {
            List<ResAuthEntity> rs = permsService.selectRes(uid);
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            List<ResAuthEntity> rs = permsService.selectRes(ue.getUid());
            return success(rs);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
            return fail(ex, null);
        }
    }
    @SysLog()
    @ApiOperation(value = "根据用户Uid查询菜单授权")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "uid", value = "用户Uid", dataType = "String", paramType = "query", example = "admin")
    })
    @ApiOperation(value = "查询当前用户的菜单授权")
    @GetMapping(value = "/selectMenus")
    public ResponseMsg<List<MenusAuthEntity>> selectMenus(String uid) {
    public ResponseMsg<List<MenusAuthEntity>> selectMenus(HttpServletRequest req) {
        try {
            List<MenusAuthEntity> rs = permsService.selectMenus(uid);
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            List<MenusAuthEntity> rs = permsService.selectMenus(ue.getUid());
            return success(rs);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
            return fail(ex, null);
        }
    }
    @SysLog()
    @ApiOperation(value = "根据用户Uid查询权限授权")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "uid", value = "用户Uid", dataType = "String", paramType = "query", example = "admin")
    })
    @ApiOperation(value = "查询当前用户的权限授权")
    @GetMapping(value = "/selectPerms")
    public ResponseMsg<List<PermsAuthEntity>> selectPerms(String uid) {
    public ResponseMsg<List<String>> selectPerms(HttpServletRequest req) {
        try {
            List<PermsAuthEntity> rs = permsService.selectPerms(uid);
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            List<String> rs = permsService.selectPerms(ue.getUid());
            return success(rs);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
            return fail(ex, null);
        }
    }
    @SysLog()
    @ApiOperation(value = "根据用户Uid查询权限授权2")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "uid", value = "用户Uid", dataType = "String", paramType = "query", example = "admin")
    })
    @GetMapping(value = "/selectPerms2")
    public ResponseMsg<List<String>> selectPerms2(String uid) {
    @ApiOperation(value = "查询当前用户的权限授权实体集合")
    @GetMapping(value = "/selectPermsEntity")
    public ResponseMsg<List<PermsAuthEntity>> selectPermsEntity(HttpServletRequest req) {
        try {
            List<String> rs = permsService.selectPerms2(uid);
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            List<PermsAuthEntity> rs = permsService.selectPermsEntity(ue.getUid());
            return success(rs);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
            return fail(ex, null);
        }
    }
    @SysLog()
    @ApiOperation(value = "清空所有授权缓存")
    @GetMapping(value = "/deleteAllCache")
    public ResponseMsg<Boolean> deleteAllCache() {
        try {
            permsService.clearAllCache();
            return success(true);
        } catch (Exception ex) {
            return fail(ex, false);
        }
    }
    @SysLog()
    @ApiOperation(value = "查询用户角色")
    @GetMapping("/selectRoles")
    public ResponseMsg<Object> selectRoles(HttpServletRequest req) {
        try {
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            List<Integer> list = permsService.selectRoles(ue.getUid());
            return success(list);
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
    @SysLog()
    @ApiOperation(value = "递归查询")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "菜单ID", dataType = "Integer", paramType = "query", example = "14")
    })
    @GetMapping(value = "/selectMenuRecursive")
    public ResponseMsg<Object> selectMenuRecursive(int id, HttpServletRequest req) {
        try {
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            List<MenuEntity> list = permsService.selectMenuRecursive(id, ue.getUid());
            return success(list);
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
    @SysLog()
    @ApiOperation(value = "查询所有图层")
    @GetMapping(value = "/selectLayers")
    public ResponseMsg<Object> selectLayers(HttpServletRequest req) {
        try {
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            List<LayerEntity> list = layerService.selectAll();
            return success(list);
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
}