PermssionController.java 5.5 KB
package com.tianbo.warehouse.controller;

import com.github.pagehelper.PageInfo;
import com.tianbo.warehouse.annotation.LogAnnotation;
import com.tianbo.warehouse.controller.response.ResultJson;
import com.tianbo.warehouse.model.PERMISSION;
import com.tianbo.warehouse.model.USERS;
import com.tianbo.warehouse.service.PermissionService;
import com.tianbo.warehouse.service.UserService;
import io.swagger.annotations.ApiOperation;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.List;


@RestController()
@RequestMapping("/perm")
public class PermssionController {

    @Autowired
    PermissionService permissionService;

    @Autowired
    UserService userService;

    @GetMapping("/list")
    public PageInfo<PERMISSION> list(@RequestParam(value = "pageNum",required = false,defaultValue = "1")
                                             int pageNum,
                                     @RequestParam(value = "pageSize",required = false,defaultValue = "5")
                                             int pageSize,
                                     @RequestParam(value = "name", required = false) String name){
        return permissionService.findAll(pageNum,pageSize, name);

    }

    @LogAnnotation(moduleName = "权限管理",operate = "权限添加")
    @PostMapping("/add")
    public ResultJson add(@RequestBody PERMISSION permission){
        int i =permissionService.insertSelective(permission);

        ResultJson resultJson = new ResultJson();
        if (1==i){
            resultJson = new ResultJson("200","添加成功");
        }else {
            resultJson = new ResultJson("500","insert faild");
        }
        return resultJson;
    }

    @LogAnnotation(moduleName = "权限管理",operate = "权限修改")
    @PutMapping("/edit")
    @ResponseBody
    public ResultJson edit(@RequestBody @Valid PERMISSION permission){

        int i =permissionService.updateByPrimaryKeySelective(permission);

        ResultJson resultJson = new ResultJson();
        if (1==i){
            resultJson = new ResultJson("200","修改成功");
        }else {
            resultJson = new ResultJson("500","insert faild");
        }
        return resultJson;
    }

    @LogAnnotation(moduleName = "权限管理",operate = "权限删除")
    @DeleteMapping("/del")
    public ResultJson reomve(@RequestBody PERMISSION permission, HttpServletRequest request, HttpServletResponse response){

        Integer permissionId = permission.getPermissionId();
        int i =permissionService.deleteByPrimaryKey(permission.getPermissionId());

        ResultJson resultJson = new ResultJson();
        if (1==i){
            resultJson = new ResultJson("200","删除成功");
        }else {
            resultJson = new ResultJson("500","insert faild");
        }
        return resultJson;
    }

    @LogAnnotation(moduleName = "权限管理",operate = "权限批量删除")
    @PostMapping("/batchremove")
    public ResultJson reomve(@RequestBody List<Integer> ids, HttpServletRequest request, HttpServletResponse response){

        ResultJson resultJson = new ResultJson();

        if (permissionService.deleteByPrimaryKeys(ids)>0){
            resultJson = new ResultJson("200","删除成功");
        }else {
            resultJson = new ResultJson("400","删除失败");
        }
        return resultJson;
    }
//    @LogAnnotation(moduleName = "权限管理",operate = "查找权限")
    @GetMapping("/findByRoleId")
    public ResultJson findByRoleId(@RequestParam Integer roleId){

        ResultJson resultJson = new ResultJson();

        List<PERMISSION> list = permissionService.findByRoleId(roleId);
        resultJson.setData(list);
        resultJson.setCode("1");
        resultJson.setMsg("SUCCESS");
        return resultJson;
    }

    @GetMapping("/flushPermCache")
    public ResultJson flushPermCache(){
        permissionService.flushCache();
        return new ResultJson("200","清理缓存成功");
    }

    @GetMapping("/userMenu")
    public ResultJson<List<PERMISSION>> userMenu(
            @RequestParam(value = "userId") Integer userId){
        return new ResultJson<List<PERMISSION>>("200","success",permissionService.getUserMenuTreeByUserId(userId));

    }

    @ApiOperation(value = "所有目录列表", notes = "查询所有目录菜单的树形结构信息")
    @GetMapping("/menu")
    public ResultJson<List<PERMISSION>> menu(){
        return new ResultJson<List<PERMISSION>>("200","success",permissionService.getUserMenuTreeByUserId(0));

    }

    @ApiOperation(value = "根据用户ID查询用户权限", notes = "根据用户ID查询用户权限")
    @GetMapping("/getPermission")
    public ResultJson getPermission(
            @RequestHeader("Authorization") String token,
            @RequestParam(value = "url",required = false)String url,
            @RequestParam(value = "name",required = false)String name){
        Boolean result = permissionService.getPermission(token, url, name);
        return new ResultJson("200","success",result);

    }

    @GetMapping("/getUserPermByToken")
    public ResultJson get(
            @RequestHeader("Authorization") String token,
            @RequestParam(value = "path") String path
    ){
        System.out.println("im in");
        USERS userInfo = userService.getUserDataPermissionsByPath(token, path);
        return new ResultJson("200","get user data permissions success",userInfo);
    }
}