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.MenuAddReqDTO; import com.gkhy.safePlatform.account.model.dto.req.MenuModReqDTO; import com.gkhy.safePlatform.account.service.MenuService; 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; @RestController @RequestMapping("/menu") public class MenuController { @Autowired private MenuService menuService; /** * @Description: 获取所有菜单 */ public ResultVO getAllMenu(){ return null; } /** * @Description: 新增菜单 */ @RequestMapping(value = "/add",method = RequestMethod.POST) @PreAuthorize("hasAuthority('menu_create')") @CommonLogEnable(module = Module.ACCOUNT,content = "新增菜单") public ResultVO addMenu(Authentication authentication, @RequestBody MenuAddReqDTO menuAddDto) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); menuService.addMenu(menuAddDto, currentUser); return new ResultVO<>(ResultCodes.OK); } /** * @Description: 修改菜单 */ @RequestMapping(value = "/mod",method = RequestMethod.POST) @PreAuthorize("hasAuthority('menu_modify')") @CommonLogEnable(module = Module.ACCOUNT,content = "修改菜单") public ResultVO modMenu(Authentication authentication,@RequestBody MenuModReqDTO menuAddDto) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); menuService.modMenu(menuAddDto, currentUser); return new ResultVO<>(ResultCodes.OK); } /** * @Description: 删除菜单 */ @RequestMapping(value = "/del",method = RequestMethod.POST) @PreAuthorize("hasAuthority('menu_delete')") @CommonLogEnable(module = Module.ACCOUNT,content = "删除菜单") public ResultVO modMenu(Authentication authentication, @RequestBody JSONObject json) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); Long id = json.getLong("id"); menuService.delMenu(id,currentUser); return new ResultVO<>(ResultCodes.OK); } }