Преглед на файлове

微信登录问题解决

黄远 преди 5 години
родител
ревизия
318092c436

+ 20 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/controller/LoginController.java

@@ -24,6 +24,8 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -149,6 +151,24 @@ public class LoginController {
         return restResponse;
     }
 
+    /**
+     * @param
+     * @return
+     * @description 通过授权码获取微信openId
+     * @date 2020/5/11 4:06 下午
+     */
+    @RequestMapping("/getOpenId")
+    @ResponseBody
+    public RestResponse getOpenId(@RequestBody UserRequest userRequest) {
+        RestResponse restResponse = judgeAuthCode(userRequest, WxConstants.APPLET_LOGIN);
+        if (restResponse == null) {
+            Map<String, String> openIdMap = new HashMap<>();
+            openIdMap.put("appletOpenId", userRequest.getAccount());
+            return RestResponse.success(openIdMap, ApiConstants.RESULT_SUCCESS, "获取openId成功");
+        }
+        return restResponse;
+    }
+
     /**
      * @param userRequest 手机号 验证码
      * @return 是否成功

+ 3 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/LoginService.java

@@ -490,13 +490,15 @@ public class LoginService implements ILoginService {
         //封装登录用户信息
         Map<String, Object> currentUserInfoMap = getUserInfoMap(userResponse);
         String mobileUserInfo = getUserInfoKeyInRedis(userRequest);
+        //设置token
+        userResponse.setToken(request.getSession().getId());
         //将用户信息放入redis中
         putUserInfoToRedis(userRequest, userResponse, currentUserInfoMap, mobileUserInfo);
         setUserInfoToSession(request, userResponse);
         //添加登录记录
         userLoginService.saveLoginInfo(request, userAccount.getUserId());
         //更新用户信息
-        userAccountService.save(userAccount);
+        userAccountService.updateById(userAccount);
     }
 
     /**

+ 1 - 3
lift-system-service/src/main/java/cn/com/ty/lift/system/wechat/constants/WxConstants.java

@@ -23,9 +23,7 @@ public class WxConstants {
      */
     public interface AppConfigConstants {
 
-        String OPEN_ID_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?"
-                + "appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
-
+        String OPEN_ID_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
         /**
          * appId
          */