From 8a9e3a1307710ee7e6ac7ef73ece6ee8fc9e4ecc Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期二, 28 六月 2022 11:55:01 +0800 Subject: [PATCH] 菜单和登录 --- safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/accountController/LoginController.java | 14 ++++++- safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/exception/GlobalExceptionHandler.java | 51 +++++++++++++++++++++++++ safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/accountController/MenuController.java | 45 ++++++++++++++++++++++ 3 files changed, 108 insertions(+), 2 deletions(-) diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/accountController/LoginController.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/accountController/LoginController.java index e257ec2..608b319 100644 --- a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/accountController/LoginController.java +++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/accountController/LoginController.java @@ -2,7 +2,8 @@ import com.alibaba.fastjson.JSONObject; import com.gkhy.safePlatform.account.rpc.apimodel.UserAccountService; -import com.gkhy.safePlatform.account.rpc.apimodel.model.UserLoginRespDTO; +import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.MenuRPCRespDTO; +import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.UserLoginRPCRespDTO; import com.gkhy.safePlatform.commons.vo.ResultVO; import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboService; @@ -10,6 +11,9 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; + +import java.security.Principal; +import java.util.List; @RestController @RequestMapping("/auth") @@ -19,9 +23,15 @@ private UserAccountService userAccountService; @RequestMapping("/login") - public ResultVO<UserLoginRespDTO> authLogin(@RequestBody JSONObject loginForm){ + public ResultVO<UserLoginRPCRespDTO> authLogin(@RequestBody JSONObject loginForm){ String username = loginForm.getString("username"); String password = loginForm.getString("password"); return userAccountService.authLogin(username, password); } + + @RequestMapping("/menu") + public ResultVO<List<MenuRPCRespDTO>> getMenu(Principal principal, Long projectId){ + String userId = principal.getName(); + return userAccountService.getMenu(Long.valueOf(userId), projectId); + } } diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/accountController/MenuController.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/accountController/MenuController.java new file mode 100644 index 0000000..ccc7f7d --- /dev/null +++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/accountController/MenuController.java @@ -0,0 +1,45 @@ +package com.gkhy.safePlatform.accountController; + +import com.gkhy.safePlatform.account.rpc.apimodel.UserAccountService; +import com.gkhy.safePlatform.account.rpc.apimodel.model.req.MenuAddRPCReqDTO; +import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.MenuModRPCReqDTO; +import com.gkhy.safePlatform.commons.enums.ResultCodes; +import com.gkhy.safePlatform.commons.vo.ResultVO; +import org.apache.dubbo.config.annotation.DubboReference; +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 { + + @DubboReference(check = false) + private UserAccountService userAccountService; + + + /** + * @Description: 新增菜单 + */ + @RequestMapping(value = "/add",method = RequestMethod.POST) + public ResultVO<String> addMenu(Principal principal, @RequestBody MenuAddRPCReqDTO menuAddDto) { + String userId = principal.getName(); + userAccountService.addMenu(Long.valueOf(userId), menuAddDto); + return new ResultVO<>(ResultCodes.OK); + } + + + /** + * @Description: 新增菜单 + */ + @RequestMapping(value = "/mod",method = RequestMethod.POST) + public ResultVO<String> addMenu(Principal principal, @RequestBody MenuModRPCReqDTO menuModDto) { + String userId = principal.getName(); + userAccountService.modMenu(Long.valueOf(userId), menuModDto); + return new ResultVO<>(ResultCodes.OK); + } + +} diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/exception/GlobalExceptionHandler.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..a8493d2 --- /dev/null +++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/exception/GlobalExceptionHandler.java @@ -0,0 +1,51 @@ +package com.gkhy.safePlatform.config.exception; + + +import com.gkhy.safePlatform.commons.enums.ResultCodes; +import com.gkhy.safePlatform.commons.exception.AusinessException; +import com.gkhy.safePlatform.commons.exception.BusinessException; +import com.gkhy.safePlatform.commons.vo.ResultVO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + +@ControllerAdvice +public class GlobalExceptionHandler { + + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + + /** + * 自定义异常 + */ + @ResponseBody + @ExceptionHandler(value = AusinessException.class) + public ResultVO AHandler(AusinessException e) { + logger.warn(e.getMessage()); + return new ResultVO(e.getCode(),e.getMessage()); + } + + + /** + * 通用异常 + */ + @ResponseBody + @ExceptionHandler(value = BusinessException.class) + public ResultVO AHandler(BusinessException e) { + logger.warn(e.getMessage()); + return new ResultVO(e.getError()); + } + + /** + * 系统错误异常 + */ + @ResponseBody + @ExceptionHandler(value = Exception.class) + public ResultVO errorHandler(Exception e) { + e.printStackTrace(); + logger.error(e.getMessage()); + return new ResultVO(ResultCodes.SERVER_ERROR); + } +} -- Gitblit v1.9.2