package com.gkhy.safePlatform.account.controller;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.gkhy.safePlatform.account.model.annotation.CommonLogEnable;
|
import com.gkhy.safePlatform.account.model.dto.req.RoleAddReqDTO;
|
import com.gkhy.safePlatform.account.model.dto.req.RoleModReqDTO;
|
import com.gkhy.safePlatform.account.model.dto.resp.RoleRespDTO;
|
import com.gkhy.safePlatform.account.service.RoleService;
|
import com.gkhy.safePlatform.commons.co.ContextCacheUser;
|
import com.gkhy.safePlatform.commons.enums.Module;
|
import com.gkhy.safePlatform.commons.enums.ResultCodes;
|
import com.gkhy.safePlatform.commons.vo.ResultVO;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.core.Authentication;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.security.Principal;
|
import java.util.List;
|
|
@RestController
|
@RequestMapping("/role")
|
public class RoleController {
|
|
@Autowired
|
private RoleService roleService;
|
|
/**
|
* @Description: 获取所有启用角色
|
*/
|
|
@RequestMapping(value = "/list",method = RequestMethod.POST)
|
public ResultVO<List<RoleRespDTO>> addRole(Authentication authentication){
|
List<RoleRespDTO> res = roleService.getEnableRoleInfos();
|
return new ResultVO<>(ResultCodes.OK, res);
|
}
|
|
/**
|
* @Description: 新增角色
|
*/
|
@RequestMapping(value = "/add",method = RequestMethod.POST)
|
@PreAuthorize("hasAuthority('role_create')")
|
@CommonLogEnable(module = Module.ACCOUNT,content = "新增角色")
|
public ResultVO<String> addRole(Authentication authentication, @RequestBody RoleAddReqDTO roleAddDto) {
|
ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal();
|
roleService.addRole(roleAddDto, currentUser);
|
return new ResultVO<>(ResultCodes.OK);
|
}
|
|
|
/**
|
* @Description: 修改角色
|
*/
|
@RequestMapping(value = "/mod",method = RequestMethod.POST)
|
@PreAuthorize("hasAuthority('role_modify')")
|
@CommonLogEnable(module = Module.ACCOUNT,content = "修改角色")
|
public ResultVO<String> modRole(Authentication authentication, @RequestBody RoleModReqDTO roleModDto) {
|
ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal();
|
roleService.modRole(roleModDto, currentUser);
|
return new ResultVO<>(ResultCodes.OK);
|
}
|
|
|
/**
|
* @Description: 删除角色
|
*/
|
@RequestMapping(value = "/del",method = RequestMethod.POST)
|
@PreAuthorize("hasAuthority('role_delete')")
|
@CommonLogEnable(module = Module.ACCOUNT,content = "删除角色")
|
public ResultVO<String> delRole(Authentication authentication, @RequestBody JSONObject json) {
|
ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal();
|
roleService.delRole(json.getLong("roleId"), currentUser);
|
return new ResultVO<>(ResultCodes.OK);
|
}
|
}
|