From c3b5bbea29386128bb09da0978fb70da0b5dce39 Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期六, 13 三月 2021 17:31:10 +0800
Subject: [PATCH] 1、优化发布广告2、优化字母车位3、优化小区联系方式

---
 service-front/src/main/java/com/java110/front/smo/login/impl/OwnerAppLoginSMOImpl.java |   64 ++++++++++++++++++++++++-------
 1 files changed, 49 insertions(+), 15 deletions(-)

diff --git a/service-front/src/main/java/com/java110/front/smo/login/impl/OwnerAppLoginSMOImpl.java b/service-front/src/main/java/com/java110/front/smo/login/impl/OwnerAppLoginSMOImpl.java
index 60946a2..60a83ab 100644
--- a/service-front/src/main/java/com/java110/front/smo/login/impl/OwnerAppLoginSMOImpl.java
+++ b/service-front/src/main/java/com/java110/front/smo/login/impl/OwnerAppLoginSMOImpl.java
@@ -67,11 +67,17 @@
         ResponseEntity<String> responseEntity;
 
         JSONObject loginInfo = JSONObject.parseObject(pd.getReqData());
+        boolean loginByPhone = false;
+        if (paramIn.containsKey("loginByPhone")) {
+            loginByPhone = paramIn.getBoolean("loginByPhone");
+        }
 
         loginInfo.put("passwd", AuthenticationFactory.passwdMd5(loginInfo.getString("password")));
         UserDto userDto = new UserDto();
         userDto.setUserName(loginInfo.getString("username"));
         userDto.setPassword(loginInfo.getString("password"));
+        userDto.setLoginByPhone(loginByPhone);
+        userDto.setLevelCd("02");
         userDto = super.postForApi(pd, userDto, ServiceCodeConstant.SERVICE_CODE_USER_LOGIN, UserDto.class);
 
         if (userDto == null) {
@@ -206,6 +212,16 @@
 
         //鑾峰彇 openId
         String openId = paramObj.getString("openid");
+        String userinfo_url = WechatConstant.APP_GET_USER_INFO_URL
+                .replace("ACCESS_TOKEN", paramObj.getString("access_token"))
+                .replace("OPENID", openId);
+
+        ResponseEntity<String> userinfo_paramOut = outRestTemplate.getForEntity(userinfo_url, String.class);
+        logger.debug("璋冪敤寰俊鎹㈠幓openId ", userinfo_paramOut);
+        if (userinfo_paramOut.getStatusCode() != HttpStatus.OK) {
+            return ResultVo.redirectPage("/");
+        }
+        JSONObject userinfo_paramObj = JSONObject.parseObject(userinfo_paramOut.getBody());
 
         int loginFlag = paramIn.getInteger("loginFlag");
 
@@ -214,10 +230,12 @@
             //灏唎penId鏀惧埌redis 缂撳瓨锛岀粰鍓嶆涓嬪彂涓存椂绁ㄦ嵁
             String code = UUID.randomUUID().toString();
             CommonCache.setValue(code, openId, expireTime);
-            if(errorUrl.indexOf("?")> 0){
-                errorUrl +=("&code=" + code);
-            }else{
-                errorUrl +=("?code=" + code);
+            CommonCache.setValue(code+"-nickname",  userinfo_paramObj.getString("nickname"), expireTime);
+            CommonCache.setValue(code+"-headimgurl",  userinfo_paramObj.getString("headimgurl"), expireTime);
+            if (errorUrl.indexOf("?") > 0) {
+                errorUrl += ("&code=" + code);
+            } else {
+                errorUrl += ("?code=" + code);
             }
             return ResultVo.redirectPage(errorUrl);
         }
@@ -234,12 +252,14 @@
             //灏唎penId鏀惧埌redis 缂撳瓨锛岀粰鍓嶆涓嬪彂涓存椂绁ㄦ嵁
             String code = UUID.randomUUID().toString();
             CommonCache.setValue(code, openId, expireTime);
-            if(errorUrl.indexOf("?")> 0){
-                errorUrl +=("&code=" + code);
-            }else{
-                errorUrl +=("?code=" + code);
+            CommonCache.setValue(code+"-nickname",  userinfo_paramObj.getString("nickname"), expireTime);
+            CommonCache.setValue(code+"-headimgurl",  userinfo_paramObj.getString("headimgurl"), expireTime);
+            if (errorUrl.indexOf("?") > 0) {
+                errorUrl += ("&code=" + code);
+            } else {
+                errorUrl += ("?code=" + code);
             }
-            return ResultVo.redirectPage(errorUrl );
+            return ResultVo.redirectPage(errorUrl);
         }
 
         // String accessToken = paramObj.getString("access_token");//鏆傛椂涓嶇敤
@@ -261,14 +281,24 @@
         if (StringUtil.isEmpty(tmpUserDto.getKey())) {
             String code = UUID.randomUUID().toString();
             CommonCache.setValue(code, openId, expireTime);
-            if(errorUrl.indexOf("?")> 0){
-                errorUrl +=("&code=" + code);
-            }else{
-                errorUrl +=("?code=" + code);
+            CommonCache.setValue(code+"-nickname",  userinfo_paramObj.getString("nickname"), expireTime);
+            CommonCache.setValue(code+"-headimgurl",  userinfo_paramObj.getString("headimgurl"), expireTime);
+            if (errorUrl.indexOf("?") > 0) {
+                errorUrl += ("&code=" + code);
+            } else {
+                errorUrl += ("?code=" + code);
             }
             return ResultVo.redirectPage(errorUrl);
         }
-        redirectUrl = redirectUrl + (redirectUrl.indexOf("?") > 0 ? "&key=" + tmpUserDto.getKey() : "?key=" + tmpUserDto.getKey());
+        //濡傛灉鍙傛暟涓湁key 鐩存帴鐢ㄦ柊鐨勮鐩�
+        Map tempRedirectParam = super.urlToMap(redirectUrl);
+        tempRedirectParam.put("key", tmpUserDto.getKey());
+        if (redirectUrl.indexOf("?") > -1) {
+            redirectUrl = redirectUrl.substring(0, redirectUrl.indexOf("?")) + super.mapToUrlParam(tempRedirectParam);
+        } else {
+            redirectUrl = redirectUrl + super.mapToUrlParam(tempRedirectParam);
+        }
+        //redirectUrl = redirectUrl + (redirectUrl.indexOf("?") > 0 ? "&key=" + tmpUserDto.getKey() : "?key=" + tmpUserDto.getKey());
         return ResultVo.redirectPage(redirectUrl);
 
     }
@@ -321,7 +351,7 @@
 
             openUrl = WechatConstant.OPEN_AUTH
                     .replace("APPID", smallWeChatDto.getAppId())
-                    .replace("SCOPE", "snsapi_base")
+                    .replace("SCOPE", "snsapi_userinfo")
                     .replace(
                             "REDIRECT_URL",
                             URLEncoder
@@ -365,6 +395,8 @@
         String code = paramIn.getString("code");
 
         String openId = CommonCache.getValue(code);
+        String nickname = CommonCache.getValue(code+"-nickname");
+        String headimgurl = CommonCache.getValue(code+"-headimgurl");
 
         if (StringUtil.isEmpty(openId)) {
             responseEntity = new ResponseEntity<>("椤甸潰澶辨晥锛岃鍒锋柊鍚庨噸璇�", HttpStatus.UNAUTHORIZED);
@@ -381,6 +413,8 @@
         JSONObject userOwnerInfo = new JSONObject();
         OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
         ownerAppUserDto.setOpenId(openId);
+        ownerAppUserDto.setNickName(nickname);
+        ownerAppUserDto.setHeadImgUrl(headimgurl);
         ownerAppUserDto.setAppType(OwnerAppUserDto.APP_TYPE_WECHAT);
         if (curOwnerApp != null) {
             ownerAppUserDto.setAppUserId(curOwnerApp.getAppUserId());

--
Gitblit v1.8.0