From eec7e789a87863c25d92c10ad5dfc22ad80c448d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 14 七月 2020 12:36:48 +0800
Subject: [PATCH] 系统区分BUG修复

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 49 insertions(+), 11 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java
index 581e3bd..424488d 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java
@@ -10,6 +10,7 @@
 import com.yeshi.fanli.entity.SystemEnum;
 import com.yeshi.fanli.entity.system.BusinessSystem;
 import com.yeshi.fanli.util.*;
+import com.yeshi.fanli.vo.taobao.TaoBaoUser;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -451,6 +452,7 @@
 
     /**
      * 鏍规嵁绯荤粺涓巙nionid瀵绘壘鐢ㄦ埛
+     *
      * @param system
      * @param unionId
      * @return
@@ -479,7 +481,8 @@
 
 
     /**
-     *鏍规嵁绯荤粺鍜屾窐瀹濈殑Openid瀵绘壘鐢ㄦ埛
+     * 鏍规嵁绯荤粺鍜屾窐瀹濈殑Openid瀵绘壘鐢ㄦ埛
+     *
      * @param system
      * @param openId
      * @return
@@ -508,6 +511,7 @@
 
     /**
      * 鏍规嵁绯荤粺鍜岀數璇濆彿鐮佸鎵剧敤鎴�
+     *
      * @param system
      * @param phone
      * @return
@@ -571,7 +575,7 @@
         user.setRank(0);
         if (StringUtil.isNullOrEmpty(user.getPortrait()))
             user.setPortrait(Constant.systemCommonConfig.getDefaultPortrait());
-        userInfoService.createUser(user,user.getSystem());
+        userInfoService.createUser(user, user.getSystem());
         // 鏄电О涓虹┖鏃� 榛樿鏄电О
         if (StringUtil.isNullOrEmpty(user.getNickName())) {
             UserInfo updateUserInfo = new UserInfo(user.getId());
@@ -869,7 +873,7 @@
                     userInfo.setPhone(phone);
                     userInfo.setLoginType(loginType);
                     userInfo.setState(UserInfo.STATE_NORMAL);
-                    userInfo.setSystem( businessSystem.getSystem());
+                    userInfo.setSystem(businessSystem.getSystem());
                     // 鍒涘缓鐢ㄦ埛
                     addUser(userInfo);
 
@@ -893,10 +897,43 @@
         throw new UserAccountException(10, "璇风◢鍚庡啀璇�");
     }
 
+    @Override
+    public UserInfo loginTB(ProxyIP ipInfo, TaoBaoUser taoBaoUser, BusinessSystem businessSystem) throws UserAccountException {
+
+        if (StringUtil.isNullOrEmpty(taoBaoUser.getUserid()))
+            throw new UserAccountException(1, "娣樺疂鎺堟潈淇℃伅涓嶅畬鏁�");
+
+        UserInfo userInfo = userInfoService.getEffectiveUserInfoByOpenId(taoBaoUser.getOpenId(), businessSystem.getSystem());
+        if (userInfo != null) {
+            // 鏇存柊璐︽埛鐧诲綍淇℃伅
+            updateLonginInfo(userInfo, 1, ipInfo);
+        } else {
+            userInfo = new UserInfo();
+            userInfo.setNickName(taoBaoUser.getNick());
+            userInfo.setPortrait(taoBaoUser.getAvatarUrl());
+            userInfo.setAppId(businessSystem.getAppid());
+            userInfo.setTaoBaoUid(taoBaoUser.getUserid());
+            userInfo.setOpenid(taoBaoUser.getOpenId());
+            userInfo.setLoginType(1);
+            userInfo.setState(UserInfo.STATE_NORMAL);
+            userInfo.setSystem(businessSystem.getSystem());
+            // 鍒涘缓鐢ㄦ埛
+            addUser(userInfo);
+            try {
+                // 绗竴娆$櫥褰曟椂鍒涘缓鐢ㄦ埛棰濆淇℃伅
+                userInfoExtraService.createUserInfoExtra(userInfo.getId());
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return userInfo;
+    }
+
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public UserInfo loginPhoneNew(ProxyIP ipInfo, AcceptData acceptData, int loginType, String vcode, String phone, String appId)
+    public UserInfo loginPhoneNew(ProxyIP ipInfo, AcceptData acceptData, int loginType, String vcode, String
+            phone, String appId)
             throws UserAccountException {
         // 绌洪娓呯悊
         if (phone == null || phone.trim().length() == 0) {
@@ -989,7 +1026,7 @@
         LogHelper.lgoinInfo(logInfo.toString());
 
         // 閫氳繃Code鎹㈠彇淇℃伅
-        WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUser(code,businessSystem.getWxAppId(), businessSystem.getWxAppSecret());
+        WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUser(code, businessSystem.getWxAppId(), businessSystem.getWxAppSecret());
         if (weiXinUser == null) {
             throw new UserAccountException(1, "寰俊甯愬彿鎺堟潈澶辫触");
         }
@@ -1015,12 +1052,12 @@
             if (exec == null || exec.size() == 0) {
                 throw new UserAccountException(10, "璇风◢鍚庡啀璇�");
             } else {
-                UserInfo userInfo = userInfoService.getEffectiveUserInfoByWXUnionId(weiXinUser.getUnionid(),businessSystem.getSystem());
+                UserInfo userInfo = userInfoService.getEffectiveUserInfoByWXUnionId(weiXinUser.getUnionid(), businessSystem.getSystem());
                 // 鐩存帴鐢ㄧ殑寰俊鐧诲綍
                 if (userInfo != null) {
                     LogHelper.test("寰俊unionID瀛樺湪:" + weiXinUser.getUnionid());
                     // 鏇存柊璐︽埛鐧诲綍淇℃伅
-                    updateLonginInfo(userInfo, loginType,ipInfo );
+                    updateLonginInfo(userInfo, loginType, ipInfo);
                     // 鍒犻櫎閭�璇峰垎浜浘
                     spreadUserImgService.deleteImgUrl(userInfo.getId());
                 } else {
@@ -1084,7 +1121,7 @@
     @Transactional(rollbackFor = Exception.class)
     @Override
     public UserInfo loginWeiXinNew(ProxyIP ipInfo, int loginType, String wxCode,
-                                  BusinessSystem businessSystem) throws UserAccountException {
+                                   BusinessSystem businessSystem) throws UserAccountException {
         // 鏃ュ織淇℃伅
         JSONObject logInfo = new JSONObject();
         logInfo.put("appId", businessSystem.getAppid());
@@ -1093,7 +1130,7 @@
         LogHelper.lgoinInfo(logInfo.toString());
 
         // 閫氳繃Code鎹㈠彇淇℃伅
-        WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUser(wxCode, businessSystem.getWxAppId(),businessSystem.getWxAppSecret());
+        WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUser(wxCode, businessSystem.getWxAppId(), businessSystem.getWxAppSecret());
         if (weiXinUser == null) {
             throw new UserAccountException(1, "寰俊甯愬彿鎺堟潈澶辫触");
         }
@@ -1153,7 +1190,7 @@
             throw new UserAccountException(2, "鎮ㄥ凡缁忕粦瀹氫簡璇ョ數璇濆彿鐮�");
         }
 
-        UserInfo phoneUser = userInfoService.getEffectiveUserInfoByPhone(phone,user.getSystem());
+        UserInfo phoneUser = userInfoService.getEffectiveUserInfoByPhone(phone, user.getSystem());
         if (phoneUser != null) {
             throw new UserAccountException(2, "鍙风爜宸茬粡琚崰鐢�");
         }
@@ -1389,7 +1426,8 @@
 
 
     @Override
-    public UserInfo bindWXToLogin(ProxyIP ipInfo, AcceptData acceptData, String code, String appId, String key) throws UserAccountException {
+    public UserInfo bindWXToLogin(ProxyIP ipInfo, AcceptData acceptData, String code, String appId, String key) throws
+            UserAccountException {
         // 鏃ュ織淇℃伅
         JSONObject logInfo = new JSONObject();
         logInfo.put("appId", appId);

--
Gitblit v1.8.0