From c3811d01d1929a98a0f34f70ca187d82ee312dbb Mon Sep 17 00:00:00 2001
From: manailin <261030956@qq.com>
Date: 星期三, 03 十一月 2021 17:26:50 +0800
Subject: [PATCH] Merge branch 'test' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into test
---
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