From 33553858dc64c199f40a8f0d1e2eff78228b1794 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期五, 17 五月 2019 17:42:02 +0800
Subject: [PATCH] 商品详情 店铺链接为空时,组合链接
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java | 146 ++++++++++++++++++++++++++++++++----------------
1 files changed, 97 insertions(+), 49 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 a995194..f144b17 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
@@ -27,7 +27,9 @@
import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode;
import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum;
import com.yeshi.fanli.entity.bus.user.LoginResult;
+import com.yeshi.fanli.entity.bus.user.SMSHistory;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
+import com.yeshi.fanli.entity.bus.user.UserAccountBindingHistory;
import com.yeshi.fanli.entity.bus.user.UserConnectHistory;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.WeiXinUser;
@@ -38,6 +40,7 @@
import com.yeshi.fanli.service.inter.user.BindingAccountService;
import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService;
import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
+import com.yeshi.fanli.service.inter.user.UserAccountBindingHistoryService;
import com.yeshi.fanli.service.inter.user.UserAccountService;
import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
@@ -83,9 +86,12 @@
@Resource
private ForbiddenUserIdentifyCodeService forbiddenUserIdentifyCodeService;
-
+
@Resource
private UserInfoExtraService userInfoExtraService;
+
+ @Resource
+ private UserAccountBindingHistoryService userAccountBindingHistoryService;
@Transactional
@Override
@@ -671,6 +677,14 @@
updateUserInfo.setNickName(Constant.systemCommonConfig.getDefaultNickName() + user.getId());
userInfoMapper.updateByPrimaryKeySelective(updateUserInfo);
}
+
+ try {
+ // 绗竴娆$櫥褰曟椂鍒涘缓鐢ㄦ埛棰濆淇℃伅
+ userInfoExtraService.createUserInfoExtra(user.getId());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
}
@Override
@@ -899,36 +913,33 @@
return user.getPortrait();
}
-
-
@Transactional
@Override
- public UserInfo loginPhone(HttpServletRequest request,int loginType, String vcode, String phone,
- String appId) throws UserAccountException {
+ public UserInfo loginPhone(HttpServletRequest request, int loginType, String vcode, String phone, String appId)
+ throws UserAccountException {
// 绌洪娓呯悊
if (phone == null || phone.trim().length() == 0) {
throw new UserAccountException(1, "璇疯緭鍏ユ墜鏈哄彿鐮�");
}
phone = phone.replaceAll(" ", "");
-
-// // 鑻规灉搴旂敤鍟嗗簵涓婄嚎娴嬭瘯鍙风爜
-// if ("17316780233".equalsIgnoreCase(phone) && "258168".equalsIgnoreCase(vcode)) {
-// ;
-// } else {
-//
-// if (StringUtil.isNullOrEmpty(vcode)) {
-// throw new UserAccountException(1, "璇疯緭鍏ラ獙璇佺爜");
-// }
-//
-// String oldVcode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_LOGIN);
-// LogHelper.test("----------------------鐧诲綍楠岃瘉鐮侊細 " + oldVcode);
-// if (StringUtil.isNullOrEmpty(oldVcode) || !oldVcode.equalsIgnoreCase(vcode)) {
-// throw new UserAccountException(1, "楠岃瘉鐮侀敊璇紝閲嶆柊杈撳叆");
-// }
-// }
-// redisManager.clearSMSFrequencyLimit(phone, SMSHistory.TYPE_LOGIN);
-
+
+ // 鑻规灉搴旂敤鍟嗗簵涓婄嚎娴嬭瘯鍙风爜
+ if ("17316780233".equalsIgnoreCase(phone) && "2581".equalsIgnoreCase(vcode)) {
+ ;
+ } else {
+
+ if (StringUtil.isNullOrEmpty(vcode)) {
+ throw new UserAccountException(1, "璇疯緭鍏ラ獙璇佺爜");
+ }
+
+ String oldVcode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_LOGIN);
+ LogHelper.test("----------------------鐧诲綍楠岃瘉鐮侊細 " + oldVcode);
+ if (StringUtil.isNullOrEmpty(oldVcode) || !oldVcode.equalsIgnoreCase(vcode)) {
+ throw new UserAccountException(1, "楠岃瘉鐮侀敊璇紝閲嶆柊杈撳叆");
+ }
+ }
+
JSONObject logInfo = new JSONObject();
logInfo.put("appId", appId);
logInfo.put("phone", phone);
@@ -941,6 +952,11 @@
if (identifyCode1 != null && identifyCode1.getEffective() != null && identifyCode1.getEffective()) {
throw new UserAccountException(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC);
}
+
+ // 娓呯┖闄愬埗
+ redisManager.clearSMSFrequencyLimit(phone, SMSHistory.TYPE_LOGIN);
+ // 娓呯悊娆℃暟
+ redisManager.removeCommonString("sendMSNLoginCount" + phone);
// 鏌ヨ鏄惁瀛樺湪璇ョ數璇濆巻鍙茬敤鎴�
UserInfo userInfo = userInfoMapper.getEffectiveUserInfoByPhone(phone);
@@ -957,8 +973,7 @@
userInfo.setState(UserInfo.STATE_NORMAL);
// 鍒涘缓鐢ㄦ埛
addUser(userInfo);
-
-
+
try {
// 绗竴娆$櫥褰曟椂鍒涘缓鐢ㄦ埛棰濆淇℃伅
userInfoExtraService.createUserInfoExtra(userInfo.getId());
@@ -969,10 +984,11 @@
return userInfo;
}
-
+
@Transactional
@Override
- public UserInfo loginWinXin(HttpServletRequest request,int loginType, String code, String appId) throws UserAccountException {
+ public UserInfo loginWinXin(HttpServletRequest request, int loginType, String code, String appId)
+ throws UserAccountException {
// 鏃ュ織淇℃伅
JSONObject logInfo = new JSONObject();
logInfo.put("appId", appId);
@@ -997,9 +1013,13 @@
UserInfo userInfo = userInfoMapper.getEffectiveUserInfoByWXUnionId(weiXinUser.getUnionid());
// 鐩存帴鐢ㄧ殑寰俊鐧诲綍
if (userInfo != null) {
+ LogHelper.test("寰俊unionID瀛樺湪:"+weiXinUser.getUnionid());
// 鏇存柊璐︽埛鐧诲綍淇℃伅
updateLonginInfo(userInfo, loginType, request);
+ // 鍒犻櫎閭�璇峰垎浜浘
+ spreadUserImgService.deleteImgUrl(userInfo.getId());
} else {
+ LogHelper.test("寰俊unionID涓嶅瓨鍦�:"+weiXinUser.getUnionid());
// 鍒涘缓鏂拌处鎴�
userInfo = new UserInfo();
userInfo.setPortrait(weiXinUser.getHeadimgurl());
@@ -1014,7 +1034,7 @@
userInfo.setLastLoginIp(request.getRemoteHost());
userInfo.setState(UserInfo.STATE_NORMAL);
addUser(userInfo);
-
+
try {
// 绗竴娆$櫥褰曟椂鍒涘缓鐢ㄦ埛棰濆淇℃伅
userInfoExtraService.createUserInfoExtra(userInfo.getId());
@@ -1024,9 +1044,10 @@
}
return userInfo;
}
-
+
/**
* 鏇存柊璐︽埛鐧诲綍淇℃伅
+ *
* @param userInfo
* @param loginType
* @param request
@@ -1039,15 +1060,14 @@
updateUserInfo.setLastLoginIp(request.getRemoteHost());
userInfoMapper.updateByPrimaryKeySelective(updateUserInfo);
}
-
-
+
@Override
public void bindPhoneNew(Long uid, String phone) throws UserAccountException {
UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
if (user == null) {
throw new UserAccountException(1, "鐢ㄦ埛涓嶅瓨鍦�");
}
-
+
String hasPhone = user.getPhone();
if (!StringUtil.isNullOrEmpty(hasPhone) && hasPhone.equals(phone)) {
throw new UserAccountException(2, "鎮ㄥ凡缁忕粦瀹氫簡璇ョ數璇濆彿鐮�");
@@ -1057,44 +1077,59 @@
if (phoneUser != null) {
throw new UserAccountException(2, "鍙风爜宸茬粡琚崰鐢�");
}
-
+
// 鏇存柊鐢佃瘽鍙风爜
UserInfo update = new UserInfo(user.getId());
update.setPhone(phone);
userInfoMapper.updateByPrimaryKeySelective(update);
-
+ // 鍔犲叆缁戝畾璁板綍
+ UserAccountBindingHistory history = new UserAccountBindingHistory();
+ history.setContent(phone);
+ history.setType(UserAccountBindingHistory.TYPE_PHONE);
+ history.setUid(uid);
+
+ // 涔嬪墠宸茬粡缁戝畾鐢佃瘽鍙风爜
+ if (!StringUtil.isNullOrEmpty(user.getPhone()))
+ history.setFirst(false);
+ else
+ history.setFirst(true);
+ userAccountBindingHistoryService.addUserAccountBindingHistory(history);
+
// 鍙戦�佹秷鎭�
userAccountMsgNotificationService.bindingSuccess(uid, MsgAccountDetailFactory.TYPE_PHONE);
}
-
-
+
@Override
public void bindWeiXin(Long uid, String code) throws UserAccountException {
UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
if (user == null) {
throw new UserAccountException(1, "鐢ㄦ埛涓嶅瓨鍦�");
}
-
+
WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code);
if (weiXinUser == null) {
throw new UserAccountException(2, "寰俊甯愬彿鎺堟潈澶辫触");
}
- if (weiXinUser.getUnionid().equalsIgnoreCase(user.getWxUnionId())) {
+ String wxUnionId = weiXinUser.getUnionid();
+ if (StringUtil.isNullOrEmpty(wxUnionId)) {
+ throw new UserAccountException(2, "寰俊甯愬彿鎺堟潈澶辫触");
+ }
+
+ String wxUnionIdExist = user.getWxUnionId();
+ if (StringUtil.isNullOrEmpty(wxUnionIdExist)) {
+ UserInfo newUser = userInfoMapper.getEffectiveUserInfoByWXUnionId(wxUnionId);
+ if (newUser != null) {
+ throw new UserAccountException(4, "璇ュ井淇″彿宸茶鍏朵粬甯愬彿缁戝畾");
+ }
+ } else if (wxUnionId.equals(wxUnionIdExist)) {
throw new UserAccountException(3, "寰俊甯愬彿涓�鑷存棤闇�鏇存崲");
}
-
- UserInfo newUser = userInfoMapper.getEffectiveUserInfoByWXUnionId(weiXinUser.getUnionid());
- if (newUser != null) {
- throw new UserAccountException(4, "璇ュ井淇″彿宸茶鍏朵粬甯愬彿缁戝畾");
- }
-
- String wxUnionId = user.getWxUnionId();
- if (!StringUtil.isNullOrEmpty(wxUnionId) && StringUtil.isNullOrEmpty(user.getPhone())) {
+
+ if (StringUtil.isNullOrEmpty(user.getPhone())) {
throw new UserAccountException(5, "璇ュ笎鍙锋病鏈夌粦瀹氭墜鏈哄彿鐮侊紝闇�缁戝畾鎵嬫満鍙风爜鎵嶈兘瀹屾垚寰俊鏇存崲");
}
-
-
+
UserInfo updateUserInfo = new UserInfo(uid);
updateUserInfo.setWxName(weiXinUser.getNickname());
updateUserInfo.setWxOpenId(weiXinUser.getOpenid());
@@ -1111,7 +1146,20 @@
}
userInfoMapper.updateByPrimaryKeySelective(updateUserInfo);
+ // 鍔犲叆缁戝畾璁板綍
+ UserAccountBindingHistory history = new UserAccountBindingHistory();
+ history.setContent(weiXinUser.getUnionid());
+ history.setType(UserAccountBindingHistory.TYPE_WX);
+ history.setUid(uid);
+
+ // 涔嬪墠宸茬粡缁戝畾鐢佃瘽鍙风爜
+ if (!StringUtil.isNullOrEmpty(user.getWxUnionId()))
+ history.setFirst(false);
+ else
+ history.setFirst(true);
+ userAccountBindingHistoryService.addUserAccountBindingHistory(history);
+
userAccountMsgNotificationService.bindingSuccess(uid, MsgAccountDetailFactory.TYPE_WX);
}
-
+
}
--
Gitblit v1.8.0