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