From 931ea9dcdf62ea348f1811b9faf95d07ab1c1ac8 Mon Sep 17 00:00:00 2001 From: 罗元桥 <2376770955@qq.com> Date: 星期日, 26 九月 2021 14:22:22 +0800 Subject: [PATCH] Merge branch 'test' into 'test_bak' --- springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java | 230 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 230 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..dde5cd0 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java @@ -0,0 +1,230 @@ +package com.panzhihua.auth.api; + +import javax.annotation.Resource; + +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.panzhihua.auth.model.dos.LoginBody; +import com.panzhihua.auth.service.LoginService; +import com.panzhihua.common.exceptions.TokenException; +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; + +/** + * @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); + } + + /** + * 城管后台登录 + * @param account 账号 + * @param password 密码 + * @return 登录结果 + */ + @PostMapping("/loginCgBackage") + public R loginCgBackage(@RequestParam("account") String account, @RequestParam("password") String password) { + LoginReturnVO loginReturnVO = loginService.loginCgBackage(account, password); + return R.ok(loginReturnVO); + } + + /** + * 一键报警APP登录 + * @param account 账号 + * @param password 密码 + * @return 登录结果 + */ + @PostMapping("/loginAlarmApp") + public R loginAlarmApp(@RequestParam("account") String account, @RequestParam("password") String password) { + LoginReturnsVO loginReturnVO = loginService.loginAlarmApp(account, password); + return R.ok(loginReturnVO); + } + + /** + * 便民服务商家后台登录 + * + * @param account + * 账户 + * @param password + * 密码 + * @return 登录结果 + */ + @PostMapping("/loginMerchantBackStage") + public R loginMerchantBackStage(@RequestParam("account") String account, @RequestParam("password") String password) { + LoginReturnVO loginReturnVO = loginService.loginMerchantBackStage(account, password); + return R.ok(loginReturnVO); + } +} -- Gitblit v1.7.1