From f09fa3541ad18c00f30707f592f16d18a0537f77 Mon Sep 17 00:00:00 2001 From: manailin <261030956@qq.com> Date: 星期二, 17 八月 2021 21:54:51 +0800 Subject: [PATCH] [新增]添加监控依赖包 --- springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 175 insertions(+), 0 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java new file mode 100644 index 0000000..59386ca --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java @@ -0,0 +1,175 @@ +package com.panzhihua.auth.api; + +import com.panzhihua.auth.model.dos.LoginBody; +import com.panzhihua.auth.service.LoginService; +import com.panzhihua.common.exceptions.TokenException; +import com.panzhihua.common.exceptions.UnAuthenticationException; +import com.panzhihua.common.model.vos.LoginReturnVO; +import com.panzhihua.common.model.vos.LoginReturnsVO; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.utlis.JWTTokenUtil; +import io.jsonwebtoken.Claims; +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * @program: springcloud_k8s_panzhihuazhihuishequ + * @description: 登录\登出 + * @author: huang.hongfa weixin hhf9596 qq 959656820 + * @create: 2020-11-19 16:56 + **/ +@RestController +@RequestMapping("/") +public class LoginApi { + @Resource + private LoginService loginService; + + /** + * 小程序登录 + * + * @param openId 微信标识 + * @return jwt + */ + @PostMapping("/loginApplets") + public R loginApplets(@RequestParam("openId") String openId) { + LoginReturnVO loginReturnVO = loginService.loginApplets(openId); + return R.ok(loginReturnVO); + } + + /** + * 用户登出 + * + * @param token 登录用户token + * @return 登出结果 + */ + @PostMapping("/logout") + public R logout(@RequestParam("token") String token) { + loginService.logoutApplets(token); + return R.ok(); + } + + /** + * 运营后台登录 + * + * @param account 账户 + * @param password 密码 + * @return 登录结果 + */ + @PostMapping("/loginAppletsBackStage") + public R loginAppletsBackStage(@RequestParam("account") String account, @RequestParam("password") String password) { + LoginReturnVO loginReturnVO = loginService.loginAppletsBackStage(account, password); + return R.ok(loginReturnVO); + } + + /** + * 大数据统计平台(区、街道、社区三层登陆接口) + * + * @param loginBody 账户 + * @return 登录结果 + * @author manailin + * @date 2021-5-13 10:56 + */ + @PostMapping("/loginBigDataBackStage") + public R loginBigDataBackStage(@RequestBody LoginBody loginBody) { + String account = loginBody.getAccount(); + String password = loginBody.getPassword(); + if (ObjectUtils.isEmpty(account) || ObjectUtils.isEmpty(password)) { + return R.fail("账户密码不能为空"); + } + LoginReturnVO loginReturnVO = loginService.loginBigDataBackStage(account, password); + return R.ok(loginReturnVO); + } + + /** + * 社区后台登录 + * + * @param account 账户 + * @param password 密码 + * @return 登录结果 + */ + @PostMapping("/loginCommunityBackage") + public R loginCommunityBackage(@RequestParam("account") String account, @RequestParam("password") String password) { + LoginReturnVO loginReturnVO = loginService.loginCommunityBackage(account, password); + return R.ok(loginReturnVO); + } + + /** + * 认证中心刷新token + * + * @param refreshToken 用户端保存的刷新token + * @return 新的token 和刷新token + */ + @PostMapping("/refreshToken") + public R refreshToken(@RequestParam("refreshToken") String refreshToken) { + Boolean expired = JWTTokenUtil.isTokenExpired(refreshToken); + if (expired) { + throw new TokenException("刷新token已过期"); + } + Claims claims = JWTTokenUtil.getClaimsFromToken(refreshToken); + boolean empty = ObjectUtils.isEmpty(claims); + if (empty) { + throw new TokenException("刷新token校验失败"); + } + String subject = claims.getSubject(); + Integer type = (Integer) claims.get("type"); + boolean empty1 = ObjectUtils.isEmpty(subject); + boolean empty2 = ObjectUtils.isEmpty(type); + if (empty1 || empty2) { + throw new TokenException("刷新token校验失败"); + } + LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO(); + loginUserInfoVO.setUserId(Long.valueOf(subject)); + loginUserInfoVO.setType(type); + String token = JWTTokenUtil.generateToken(loginUserInfoVO); + String refeshToken = JWTTokenUtil.generateRefeshToken(loginUserInfoVO); + LoginReturnVO loginReturnVO = new LoginReturnVO(); + loginReturnVO.setToken(token); + loginReturnVO.setRefreshToken(refeshToken); + return R.ok(loginReturnVO); + } + + /** + * 商家后台登录 + * + * @param account 账户 + * @param password 密码 + * @return 登录结果 + */ + @PostMapping("/loginShopBackStage") + public R loginShopBackStage(@RequestParam("account") String account, @RequestParam("password") String password) { + LoginReturnVO loginReturnVO = loginService.loginShopBackStage(account, password); + return R.ok(loginReturnVO); + } + + + /** + * 网格综治APP登录 + * + * @param account 账户 + * @param password 密码 + * @return 登录结果 + */ + @PostMapping("/loginGridApp") + public R loginGridApp(@RequestParam("account") String account, @RequestParam("password") String password) { + LoginReturnsVO loginReturnVO = loginService.loginGridApp(account, password); + return R.ok(loginReturnVO); + } + + + /** + * 网格综治后台登录 + * + * @param account 账户 + * @param password 密码 + * @return 登录结果 + */ + @PostMapping("/loginGridBackstage") + public R loginGridBackstage(@RequestParam("account") String account, @RequestParam("password") String password) { + LoginReturnVO loginReturnVO = loginService.loginGridBackstage(account, password); + return R.ok(loginReturnVO); + } + +} -- Gitblit v1.7.1