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.PermissionAddReqDTO; import com.gkhy.safePlatform.account.model.dto.req.PermissionModReqDTO; import com.gkhy.safePlatform.account.model.dto.resp.PermissionRespDTO; import com.gkhy.safePlatform.account.service.PermissionService; 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.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("/permission") public class PermissionController { @Autowired private PermissionService permissionService; /** * @Description: 获取启用权限 */ @RequestMapping(value = "/list",method = RequestMethod.GET) public ResultVO> getPermissions(Authentication authentication) { List data = permissionService.getEnablePermissions(); return new ResultVO<>(ResultCodes.OK,data); } /** * @Description: 新增权限 */ @RequestMapping(value = "/add", method = RequestMethod.POST) @CommonLogEnable(module = Module.ACCOUNT,content = "新增权限") public ResultVO addPermission(Authentication authentication, @RequestBody PermissionAddReqDTO permissionAddReqDTO) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); permissionService.addPermission(currentUser, permissionAddReqDTO); return new ResultVO<>(ResultCodes.OK); } /** * @Description: 修改权限 */ @RequestMapping(value = "/mod", method = RequestMethod.POST) @CommonLogEnable(module = Module.ACCOUNT,content = "修改权限") public ResultVO modPermission(Authentication authentication, @RequestBody PermissionModReqDTO permissionModReqDTO) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); permissionService.modPermission(currentUser, permissionModReqDTO); return new ResultVO<>(ResultCodes.OK); } /** * @Description: 删除权限 */ @RequestMapping(value = "/del", method = RequestMethod.POST) @CommonLogEnable(module = Module.ACCOUNT,content = "删除权限") public ResultVO modPermission(Authentication authentication, @RequestBody JSONObject json) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); Long id = json.getLong("id"); permissionService.delPermission(currentUser, id); return new ResultVO<>(ResultCodes.OK); } }