From 2a0876b689ad97c58f79e9ca4637ae2dd43baa52 Mon Sep 17 00:00:00 2001
From: manailin <261030956@qq.com>
Date: 星期一, 17 五月 2021 15:25:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'remotes/origin/manailin_test' into test

---
 springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java |  142 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 142 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..4080e2f
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java
@@ -0,0 +1,142 @@
+package com.panzhihua.auth.api;
+
+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.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.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+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 account 账户
+     * @param password 密码
+     * @author manailin
+     * @return 登录结果
+     * @date 2021-5-13 10:56
+     */
+    @PostMapping("/loginBigDataBackStage")
+    public R loginBigDataBackStage(@RequestParam("account") String account, @RequestParam("password")String password){
+        boolean accountCheck = ObjectUtils.isEmpty(account);
+        boolean passwordCheck = ObjectUtils.isEmpty(password);
+        if (accountCheck||passwordCheck) {
+            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);
+    }
+
+}

--
Gitblit v1.7.1