From a64b04cdbf273539f1d7461b4c62b3f0891a4e59 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期四, 11 七月 2019 18:50:59 +0800
Subject: [PATCH] jd
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java | 206 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 184 insertions(+), 22 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 5458278..f1568d3 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
@@ -31,9 +31,11 @@
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.UserExtraTaoBaoInfo;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.WeiXinUser;
import com.yeshi.fanli.exception.UserAccountException;
+import com.yeshi.fanli.exception.user.ForbiddenUserIdentifyCodeException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.msg.UserAccountMsgNotificationService;
@@ -43,7 +45,9 @@
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.UserInfoDeleteRecordService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FileUtil;
import com.yeshi.fanli.util.RedisManager;
@@ -62,6 +66,9 @@
@Resource
private UserInfoMapper userInfoMapper;
+
+ @Resource
+ private UserInfoService userInfoService;
@Resource
private BindingAccountService bindingAccountService;
@@ -92,6 +99,10 @@
@Resource
private UserAccountBindingHistoryService userAccountBindingHistoryService;
+
+ @Resource
+ private UserInfoDeleteRecordService userInfoDeleteRecordService;
+
@Transactional
@Override
@@ -537,6 +548,9 @@
int addCount = 0;
userAccountMsgNotificationService.connectSuccess(mainUser.getId(), lessUser.getId());
+
+
+ userInfoDeleteRecordService.addDeleteRecord(lessUser.getId(), UserInfo.STATE_DELETE, "鍒犻櫎锛氳处鍙疯鎵撻�氬垹闄�");
}
/**
@@ -677,6 +691,14 @@
updateUserInfo.setNickName(Constant.systemCommonConfig.getDefaultNickName() + user.getId());
userInfoMapper.updateByPrimaryKeySelective(updateUserInfo);
}
+
+ try {
+ // 绗竴娆$櫥褰曟椂鍒涘缓鐢ㄦ埛棰濆淇℃伅
+ userInfoExtraService.createUserInfoExtra(user.getId());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
}
@Override
@@ -917,7 +939,7 @@
phone = phone.replaceAll(" ", "");
// 鑻规灉搴旂敤鍟嗗簵涓婄嚎娴嬭瘯鍙风爜
- if ("17316780233".equalsIgnoreCase(phone) && "258168".equalsIgnoreCase(vcode)) {
+ if ("17316780233".equalsIgnoreCase(phone) && "2581".equalsIgnoreCase(vcode)) {
;
} else {
@@ -927,11 +949,12 @@
String oldVcode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_LOGIN);
LogHelper.test("----------------------鐧诲綍楠岃瘉鐮侊細 " + oldVcode);
- if (StringUtil.isNullOrEmpty(oldVcode) || !oldVcode.equalsIgnoreCase(vcode)) {
- throw new UserAccountException(1, "楠岃瘉鐮侀敊璇紝閲嶆柊杈撳叆");
- }
+ if (!Constant.IS_TEST)
+ if (StringUtil.isNullOrEmpty(oldVcode) || !oldVcode.equalsIgnoreCase(vcode)) {
+ throw new UserAccountException(1, "楠岃瘉鐮侀敊璇紝閲嶆柊杈撳叆");
+ }
}
-
+
JSONObject logInfo = new JSONObject();
logInfo.put("appId", appId);
logInfo.put("phone", phone);
@@ -944,13 +967,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);
@@ -1007,9 +1028,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());
@@ -1101,17 +1126,22 @@
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, "璇ュ笎鍙锋病鏈夌粦瀹氭墜鏈哄彿鐮侊紝闇�缁戝畾鎵嬫満鍙风爜鎵嶈兘瀹屾垚寰俊鏇存崲");
}
@@ -1120,14 +1150,19 @@
updateUserInfo.setWxOpenId(weiXinUser.getOpenid());
updateUserInfo.setWxPic(weiXinUser.getHeadimgurl());
updateUserInfo.setWxUnionId(weiXinUser.getUnionid());
- updateUserInfo.setNickName(weiXinUser.getNickname());
- updateUserInfo.setPortrait(weiXinUser.getHeadimgurl());
- if (StringUtil.isNullOrEmpty(weiXinUser.getNickname())) {
- updateUserInfo.setNickName(Constant.systemCommonConfig.getDefaultNickName());
+
+ // 灏嗛粯璁ゆ樀绉版浛鎹㈡垚寰俊鏄电О
+ String defaultNickName = Constant.systemCommonConfig.getDefaultNickName();
+ if (!StringUtil.isNullOrEmpty(weiXinUser.getNickname()) && !StringUtil.isNullOrEmpty(defaultNickName)
+ && defaultNickName.equals(user.getNickName())) {
+ updateUserInfo.setNickName(weiXinUser.getNickname());
}
- if (StringUtil.isNullOrEmpty(weiXinUser.getHeadimgurl())) {
- updateUserInfo.setPortrait(Constant.systemCommonConfig.getDefaultPortrait());
+ // 灏嗛粯璁ゅご鍍忔浛鎹㈡垚寰俊澶村儚
+ String defaultPortrait = Constant.systemCommonConfig.getDefaultPortrait();
+ if (!StringUtil.isNullOrEmpty(weiXinUser.getHeadimgurl()) && !StringUtil.isNullOrEmpty(defaultPortrait)
+ && defaultPortrait.equals(user.getPortrait())) {
+ updateUserInfo.setPortrait(weiXinUser.getHeadimgurl());
}
userInfoMapper.updateByPrimaryKeySelective(updateUserInfo);
@@ -1147,4 +1182,131 @@
userAccountMsgNotificationService.bindingSuccess(uid, MsgAccountDetailFactory.TYPE_WX);
}
+
+
+ @Override
+ public void forbiddenUserAll(Long uid, String reason) {
+ UserInfo currentInfo = userInfoService.selectByPKey(uid);
+ if (currentInfo == null) {
+ return;
+ }
+ if (currentInfo.getState() != UserInfo.STATE_NORMAL) {
+ return;
+ }
+
+ currentInfo.setState(UserInfo.STATE_FORBIDDEN);
+ currentInfo.setStateDesc(reason);
+ userInfoService.updateByPrimaryKeySelective(currentInfo);
+
+ // 鎻掑叆璁板綍
+ userInfoDeleteRecordService.addDeleteRecord(uid, UserInfo.STATE_FORBIDDEN, reason);
+
+ // 鍔犲叆灏佺鐨勮处鍙峰垪琛�
+ ForbiddenUserIdentifyCode forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode();
+ forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.wxUnionId);
+ forbiddenUserIdentifyCode.setIdentifyCode(currentInfo.getWxUnionId());
+ forbiddenUserIdentifyCode.setBeiZhu(currentInfo.getWxName());
+ try {
+ forbiddenUserIdentifyCodeService.forbiddenIdentifyCode(forbiddenUserIdentifyCode);
+ } catch (ForbiddenUserIdentifyCodeException e) {
+ e.printStackTrace();
+ }
+
+ // 鐢佃瘽鍙风爜
+ forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode();
+ forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.phone);
+ forbiddenUserIdentifyCode.setIdentifyCode(currentInfo.getPhone());
+ try {
+ forbiddenUserIdentifyCodeService.forbiddenIdentifyCode(forbiddenUserIdentifyCode);
+ } catch (ForbiddenUserIdentifyCodeException e) {
+ e.printStackTrace();
+ }
+
+ // 娣樺疂
+ UserExtraTaoBaoInfo taoBao = userExtraTaoBaoInfoService.getByUid(uid);
+ if (taoBao != null && !StringUtil.isNullOrEmpty(taoBao.getTaoBaoUid())) {
+ forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode();
+ forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.taobaoUid);
+ forbiddenUserIdentifyCode.setIdentifyCode(taoBao.getTaoBaoUid());
+ try {
+ forbiddenUserIdentifyCodeService.forbiddenIdentifyCode(forbiddenUserIdentifyCode);
+ } catch (ForbiddenUserIdentifyCodeException e) {
+ e.printStackTrace();
+ }
+ }
+
+ // 鏌ヨ鏀粯瀹濈粦瀹�
+ List<BindingAccount> list = bindingAccountService.getBindingAccountByUid(uid);
+ if (list != null) {
+ for (BindingAccount ba : list) {
+ forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode();
+ forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.alipayAccount);
+ forbiddenUserIdentifyCode.setIdentifyCode(ba.getAccount());
+ forbiddenUserIdentifyCode.setBeiZhu(ba.getName());
+ try {
+ forbiddenUserIdentifyCodeService.forbiddenIdentifyCode(forbiddenUserIdentifyCode);
+ } catch (ForbiddenUserIdentifyCodeException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+
+ @Override
+ public void forbiddenUser(Long uid, String reason) {
+ UserInfo currentInfo = userInfoService.selectByPKey(uid);
+ if (currentInfo == null) {
+ return;
+ }
+
+ if (currentInfo.getState() != UserInfo.STATE_NORMAL) {
+ return;
+ }
+
+ currentInfo.setState(UserInfo.STATE_FORBIDDEN);
+ currentInfo.setStateDesc(reason);
+ userInfoService.updateByPrimaryKeySelective(currentInfo);
+
+ // 鎻掑叆璁板綍
+ userInfoDeleteRecordService.addDeleteRecord(uid, UserInfo.STATE_FORBIDDEN, reason);
+ }
+
+
+ @Override
+ public void DeleteUser(Long uid, String reason) {
+ UserInfo currentInfo = userInfoService.selectByPKey(uid);
+ if (currentInfo == null) {
+ return;
+ }
+
+ if (currentInfo.getState() != UserInfo.STATE_NORMAL) {
+ return;
+ }
+
+ currentInfo.setState(UserInfo.STATE_DELETE);
+ currentInfo.setStateDesc(reason);
+ userInfoService.updateByPrimaryKeySelective(currentInfo);
+ // 鎻掑叆璁板綍
+ userInfoDeleteRecordService.addDeleteRecord(uid, UserInfo.STATE_DELETE, reason);
+ }
+
+
+ @Override
+ public void DeleteUserOutOfDate(Long uid, String reason) {
+ UserInfo currentInfo = userInfoService.selectByPKey(uid);
+ if (currentInfo == null) {
+ return;
+ }
+
+ if (currentInfo.getState() != UserInfo.STATE_NORMAL) {
+ return;
+ }
+
+ currentInfo.setState(UserInfo.STATE_DELETE_OUT_OF_DATE);
+ currentInfo.setStateDesc(reason);
+ userInfoService.updateByPrimaryKeySelective(currentInfo);
+ // 鎻掑叆璁板綍
+ userInfoDeleteRecordService.addDeleteRecord(uid, UserInfo.STATE_DELETE_OUT_OF_DATE, reason);
+ }
}
--
Gitblit v1.8.0