From bcc571238ec8534b566687411491a69fda7b1bc6 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 23 八月 2019 10:43:50 +0800
Subject: [PATCH] 拼多多订单到账修改
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java | 742 ++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 599 insertions(+), 143 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 e325927..9185a59 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
@@ -4,6 +4,7 @@
import java.io.FileWriter;
import java.io.IOException;
import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -13,100 +14,100 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.tencentcloud.COSManager;
import com.google.gson.Gson;
import com.qcloud.cos.model.COSObjectSummary;
import com.qcloud.cos.model.ObjectListing;
-import com.yeshi.fanli.dao.mybatis.AccountDetailsMapper;
import com.yeshi.fanli.dao.mybatis.AccountMessageMapper;
-import com.yeshi.fanli.dao.mybatis.BindingAccountMapper;
-import com.yeshi.fanli.dao.mybatis.MoneyRecordMapper;
-import com.yeshi.fanli.dao.mybatis.PidOrderMapper;
-import com.yeshi.fanli.dao.mybatis.ThreeSaleMapper;
import com.yeshi.fanli.dao.mybatis.UserConnectHistoryMapper;
import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
-import com.yeshi.fanli.dao.mybatis.hongbao.HongBaoMapper;
-import com.yeshi.fanli.dao.mybatis.order.OrderItemMapper;
-import com.yeshi.fanli.dao.mybatis.order.OrderMapper;
-import com.yeshi.fanli.entity.bus.user.AccountDetails;
-import com.yeshi.fanli.entity.bus.user.AccountMessage;
import com.yeshi.fanli.entity.bus.user.BindingAccount;
-import com.yeshi.fanli.entity.bus.user.HongBao;
+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.MoneyRecord;
-import com.yeshi.fanli.entity.bus.user.Order;
-import com.yeshi.fanli.entity.bus.user.OrderItem;
+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.UserExtraTaoBaoInfo;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.WeiXinUser;
-import com.yeshi.fanli.entity.taobao.PidOrder;
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.HongBaoService;
+import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.msg.UserAccountMsgNotificationService;
+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.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;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
-import com.yeshi.fanli.util.factory.AccountDetailsFactory;
import com.yeshi.fanli.util.factory.msg.MsgAccountDetailFactory;
import com.yeshi.fanli.util.wx.WXLoginUtil;
import net.sf.json.JSONObject;
-
-import org.yeshi.utils.JsonUtil;
-import org.yeshi.utils.tencentcloud.COSManager;
+import redis.clients.jedis.Jedis;
+import redis.clients.jedis.JedisPool;
+import redis.clients.jedis.Transaction;
@Service
public class UserAccountServiceImpl implements UserAccountService {
@Resource
+ private RedisManager redisManager;
+
+ @Resource
private UserInfoMapper userInfoMapper;
@Resource
- private BindingAccountMapper bindingAccountMapper;
+ private UserInfoService userInfoService;
+
+ @Resource
+ private BindingAccountService bindingAccountService;
@Resource
private UserConnectHistoryMapper userConnectHistoryMapper;
@Resource
- private AccountDetailsMapper accountDetailsMapper;
-
- @Resource
- private HongBaoMapper hongBaoMapper;
-
- @Resource
- private OrderMapper orderMapper;
-
- @Resource
- private OrderItemMapper orderItemMapper;
-
- @Resource
- private ThreeSaleMapper threeSaleMapper;
-
- @Resource
- private PidOrderMapper pidOrderMapper;
-
- @Resource
- private HongBaoService hongBaoService;
+ private ThreeSaleSerivce threeSaleSerivce;
@Resource
private AccountMessageMapper accountMessageMapper;
- @Resource
- private MoneyRecordMapper moneyRecordMapper;
@Resource
private SpreadUserImgService spreadUserImgService;
@Resource
private UserAccountMsgNotificationService userAccountMsgNotificationService;
-
+
@Resource
private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+ @Resource
+ private ForbiddenUserIdentifyCodeService forbiddenUserIdentifyCodeService;
+
+ @Resource
+ private UserInfoExtraService userInfoExtraService;
+
+ @Resource
+ private UserAccountBindingHistoryService userAccountBindingHistoryService;
+
+ @Resource
+ private UserInfoDeleteRecordService userInfoDeleteRecordService;
+
+ @Resource
+ private JedisPool jedisPool;
@Transactional
@Override
@@ -132,7 +133,20 @@
WeiXinUser weiXinUser = null;
switch (loginType) {
case 1:// 娣樺疂
+ // 鍒ゆ柇娣樺疂鏄惁琚皝绂�
+ if (!StringUtil.isNullOrEmpty(tbUserInfo.getTaoBaoUid())) {
+ ForbiddenUserIdentifyCode identifyCode = forbiddenUserIdentifyCodeService.listByTypeAndIdentifyCode(
+ ForbiddenUserIdentifyCodeTypeEnum.taobaoUid, tbUserInfo.getTaoBaoUid());
+ if (identifyCode != null && identifyCode.getEffective() != null && identifyCode.getEffective())
+ throw new UserAccountException(Constant.CODE_FORBIDDEN_USER,
+ Constant.FORBIDDEN_USER_REASON_DESC);
+ }
userInfo = getUserInfoByTaoBaoOpenId(appId, tbUserInfo.getOpenid());
+ // 鍒ゆ柇鐢ㄦ埛鏄惁琚垹闄�
+ if (userInfo != null && userInfo.getState() != null
+ && (userInfo.getState() == UserInfo.STATE_DELETE_OUT_OF_DATE
+ || userInfo.getState() == UserInfo.STATE_DELETE))
+ userInfo = null;
if (userInfo == null) {// 鍘熷厛鐨勮处鍙蜂笉瀛樺湪
userInfo = new UserInfo();
userInfo.setAppId(appId);
@@ -164,12 +178,23 @@
if (weiXinUser == null)
throw new UserAccountException(1001, "鏃犳硶鑾峰彇鍒板井淇′釜浜轰俊鎭�");
LogHelper.test("寰俊鎺堟潈鐢ㄦ埛淇℃伅锛�" + new Gson().toJson(weiXinUser));
+ // 鍒ゆ柇寰俊unionid鏄惁琚皝绂�
+ ForbiddenUserIdentifyCode identifyCode = forbiddenUserIdentifyCodeService.listByTypeAndIdentifyCode(
+ ForbiddenUserIdentifyCodeTypeEnum.wxUnionId, weiXinUser.getUnionid());
+ if (identifyCode != null && identifyCode.getEffective() != null && identifyCode.getEffective())
+ throw new UserAccountException(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC);
+
userInfo = getUserInfoByWXUnionId(appId, weiXinUser.getUnionid());
+ // 鍒ゆ柇鐢ㄦ埛鏄惁琚垹闄�
+ if (userInfo != null && userInfo.getState() != null
+ && (userInfo.getState() == UserInfo.STATE_DELETE_OUT_OF_DATE
+ || userInfo.getState() == UserInfo.STATE_DELETE))
+ userInfo = null;
// 鐩存帴鐢ㄧ殑寰俊鐧诲綍
if (lastUser == null) {
if (userInfo != null) {
// 浣垮垎閿�鍏崇郴鐢熸晥
- threeSaleMapper.effectThreeSale(userInfo.getId());
+ threeSaleSerivce.effective(userInfo);
// 鏇存柊澶村儚涓庢樀绉�
UserInfo updateUserInfo = new UserInfo(userInfo.getId());
updateUserInfo.setNickName(weiXinUser.getNickname());
@@ -245,7 +270,7 @@
session.removeAttribute("LAST_LOGIN_USER");
// 浣垮垎閿�鍏崇郴鐢熸晥
- threeSaleMapper.effectThreeSale(userInfo.getId());
+ threeSaleSerivce.effective(userInfo);
return new LoginResult(LoginResult.TYPE_NORMAL, userInfo);
} else {// 涓や釜璐﹀彿鎷ユ湁涓嶅悓鐨刄ID
@@ -259,7 +284,7 @@
result.setLessUser(lastUser);
// 浣垮垎閿�鍏崇郴鐢熸晥
- threeSaleMapper.effectThreeSale(userInfo.getId());
+ threeSaleSerivce.effective(userInfo);
return result;
}
@@ -290,7 +315,19 @@
}
}
case 3:// 鎵嬫満鍙风爜
+ // 鍒ゆ柇鎵嬫満鍙风爜鏄惁琚皝绂�
+ ForbiddenUserIdentifyCode identifyCode1 = forbiddenUserIdentifyCodeService
+ .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.phone, phone);
+ if (identifyCode1 != null && identifyCode1.getEffective() != null && identifyCode1.getEffective())
+ throw new UserAccountException(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC);
+
userInfo = getUserInfoByPhone(appId, phone);
+ // 鍒ゆ柇鐢ㄦ埛鏄惁琚垹闄�
+ if (userInfo != null && userInfo.getState() != null
+ && (userInfo.getState() == UserInfo.STATE_DELETE_OUT_OF_DATE
+ || userInfo.getState() == UserInfo.STATE_DELETE))
+ userInfo = null;
+
if (userInfo == null) {// 鍘熷厛鐨勮处鍙蜂笉瀛樺湪
userInfo = new UserInfo();
userInfo.setAppId(appId);
@@ -342,6 +379,12 @@
WeiXinUser weiXinUser = null;
switch (loginType) {
case 1:// 娣樺疂
+ if (!StringUtil.isNullOrEmpty(tbUserInfo.getTaoBaoUid())) {
+ ForbiddenUserIdentifyCode identifyCode = forbiddenUserIdentifyCodeService.listByTypeAndIdentifyCode(
+ ForbiddenUserIdentifyCodeTypeEnum.taobaoUid, tbUserInfo.getTaoBaoUid());
+ if (identifyCode != null && identifyCode.getEffective() != null && identifyCode.getEffective())
+ throw new UserAccountException(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC);
+ }
userInfo = getUserInfoByTaoBaoOpenId(appId, tbUserInfo.getOpenid());
break;
case 2:// 寰俊
@@ -349,12 +392,29 @@
weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code);
if (weiXinUser == null)
throw new UserAccountException(1001, "鏃犳硶鑾峰彇鍒板井淇′釜浜轰俊鎭�");
+
+ // 鍒ゆ柇鏄惁琚皝绂�
+ ForbiddenUserIdentifyCode identifyCode = forbiddenUserIdentifyCodeService
+ .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.phone, phone);
+ if (identifyCode != null && identifyCode.getEffective() != null && identifyCode.getEffective())
+ throw new UserAccountException(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC);
+
userInfo = getUserInfoByWXUnionId(appId, weiXinUser.getUnionid());
break;
case 3:// 鎵嬫満鍙风爜
+ // 鍒ゆ柇鏄惁琚皝绂�
+ ForbiddenUserIdentifyCode identifyCode1 = forbiddenUserIdentifyCodeService
+ .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.phone, phone);
+ if (identifyCode1 != null && identifyCode1.getEffective() != null && identifyCode1.getEffective())
+ throw new UserAccountException(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC);
userInfo = getUserInfoByPhone(appId, phone);
break;
}
+
+ // 鍒ゆ柇鐢ㄦ埛鏄惁琚垹闄�
+ if (userInfo != null && userInfo.getState() != null && (userInfo.getState() == UserInfo.STATE_DELETE_OUT_OF_DATE
+ || userInfo.getState() == UserInfo.STATE_DELETE))
+ userInfo = null;
if (userInfo != null) {
UserInfo updateUserInfo = new UserInfo(userInfo.getId());
@@ -435,32 +495,21 @@
if (!StringUtil.isNullOrEmpty(mainUser.getPhone()) && !StringUtil.isNullOrEmpty(lessUser.getPhone()))
throw new UserAccountException(9, "涓や釜璐﹀彿閮界粦瀹氫簡鎵嬫満鍙风爜锛岃瑙g粦鍏朵腑涓�涓�");
- if (lessUser.getMyHongBao().compareTo(new BigDecimal("20")) >= 0
- && mainUser.getMyHongBao().compareTo(new BigDecimal("20")) > 0)
- throw new UserAccountException(10, String.format("璐︽埛ID:%s 鐨勮祫閲戣秴杩�20鍏冿紝涓轰繚璇佽祫閲戝畨鍏ㄨ鑱旂郴瀹㈡湇鎵撻��", lessUser.getId() + ""));
+ if (lessUser.getMyHongBao().compareTo(new BigDecimal("10")) >= 0
+ && mainUser.getMyHongBao().compareTo(new BigDecimal("10")) > 0)
+ throw new UserAccountException(10, String.format("璐︽埛ID:%s 鐨勮祫閲戣秴杩�10鍏冿紝涓轰繚璇佽祫閲戝畨鍏ㄨ鑱旂郴瀹㈡湇鎵撻��", lessUser.getId() + ""));
// 鍒ゅ畾鏄惁缁戝畾浜嗗悓涓�鏀粯瀹�
- List<BindingAccount> mainUserAccountList = bindingAccountMapper.selectByUid(mainUser.getId());
- if (mainUserAccountList != null)
- for (int i = 0; i < mainUserAccountList.size(); i++) {
- if (mainUserAccountList.get(i).getType() == BindingAccount.TYPE_WXPAY) {
- mainUserAccountList.remove(i);
- i--;
- }
- }
- List<BindingAccount> lessUserAccountList = bindingAccountMapper.selectByUid(lessUser.getId());
- if (lessUserAccountList != null)
- for (int i = 0; i < lessUserAccountList.size(); i++) {
- if (lessUserAccountList.get(i).getType() == BindingAccount.TYPE_WXPAY) {
- lessUserAccountList.remove(i);
- i--;
- }
- }
+ BindingAccount mainUserAccount = bindingAccountService.getBindingAccountByUidAndType(mainUser.getId(),
+ BindingAccount.TYPE_ALIPAY);
+
+ BindingAccount lessUserAccount = bindingAccountService.getBindingAccountByUidAndType(lessUser.getId(),
+ BindingAccount.TYPE_ALIPAY);
+
// 鏈変笉鍚岀殑鏀粯瀹濊处鍙�
boolean hasDiffrentAlipayAccount = false;
- if (mainUserAccountList != null && mainUserAccountList.size() > 0 && lessUserAccountList != null
- && lessUserAccountList.size() > 0) {
- if (!mainUserAccountList.get(0).getAccount().equalsIgnoreCase(lessUserAccountList.get(0).getAccount()))
+ if (mainUserAccount != null && lessUserAccount != null) {
+ if (!mainUserAccount.getAccount().equalsIgnoreCase(lessUserAccount.getAccount()))
hasDiffrentAlipayAccount = true;
}
@@ -500,52 +549,12 @@
userInfoMapper.connectUser(mainUser.getId(), lessUser.getId());
// 鏌ヨ鏄惁鏈夊浣欑殑鏂颁汉绾㈠寘
- List<HongBao> list = hongBaoMapper.selectByUidAndType(mainUser.getId(), HongBao.TYPE_XINREN);
int subCount = 0;
int addCount = 0;
- for (HongBao hb : list) {
- if (hb.getMoney().compareTo(new BigDecimal(0)) > 0)
- addCount++;
- if (hb.getMoney().compareTo(new BigDecimal(0)) < 0)
- subCount++;
- }
-
- // 鏈�2涓垨鑰�2涓互涓婄殑鏂颁汉绾㈠寘
- if (addCount - subCount > 1) {
- // 鎵i櫎涓�涓柊浜虹孩鍖�
- AccountDetails accountDetails = new AccountDetails();
- accountDetails.setCreateTime(TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
- accountDetails.setExtract(null);
- accountDetails.setMoney("-" + list.get(1).getMoney().toString());
- accountDetails.setOrderItem(null);
- accountDetails.setTitle(" 璐﹀彿鍚堝苟鎵i櫎閲嶅鏂颁汉绾㈠寘");
- accountDetails.setType(AccountDetailsFactory.TUIKUAN);
- accountDetails.setUserInfo(mainUser);
- accountDetailsMapper.insertSelective(accountDetails);
-
- AccountMessage accountMessage = new AccountMessage();
- accountMessage.setContent(" 璐﹀彿鍚堝苟鎵i櫎閲嶅鏂颁汉绾㈠寘" + list.get(1).getMoney().toString() + "鍏�");
- accountMessage.setCreateTime(System.currentTimeMillis());
- accountMessage.setIsOpen(false);
- accountMessage.setSystemMsgId(0);
- accountMessage.setTitle(" 璐﹀彿鍚堝苟鎵i櫎閲嶅鏂颁汉绾㈠寘");
- accountMessage.setUserInfo(mainUser);
- accountMessageMapper.insertSelective(accountMessage);
-
- userInfoMapper.subHongBaoByUid(mainUser.getId(), list.get(1).getMoney());
-
- HongBao hongBao = new HongBao(mainUser, new BigDecimal(0).subtract(list.get(1).getMoney()), null,
- HongBao.TYPE_XINREN, HongBao.STATE_YILINGQU, System.currentTimeMillis(), System.currentTimeMillis(),
- System.currentTimeMillis(), null, "璐﹀彿鍚堝苟鎵i櫎");
-
- hongBaoMapper.insertSelective(hongBao);
-
- MoneyRecord moneyRecord = new MoneyRecord(mainUser, hongBao, list.get(1).getMoney(), "璐﹀彿鍚堝苟鎵i櫎閲嶅鏂颁汉绾㈠寘", "璐﹀彿鍚堝苟",
- System.currentTimeMillis(), 2);
- moneyRecordMapper.insertSelective(moneyRecord);
- }
userAccountMsgNotificationService.connectSuccess(mainUser.getId(), lessUser.getId());
+
+ userInfoDeleteRecordService.addDeleteRecord(lessUser.getId(), UserInfo.STATE_DELETE, "鍒犻櫎锛氳处鍙疯鎵撻�氬垹闄�");
}
/**
@@ -555,13 +564,26 @@
* @param unionId
* @return
*/
+ @Override
public UserInfo getUserInfoByWXUnionId(String appId, String unionId) throws UserAccountException {
if (StringUtil.isNullOrEmpty(appId))
throw new UserAccountException(1, "appId涓虹┖");
if (StringUtil.isNullOrEmpty(unionId))
throw new UserAccountException(2, "unionId涓虹┖");
- return userInfoMapper.getUserInfoByAppIdAndWXUnionId(appId, unionId);
+ List<UserInfo> list = userInfoMapper.listByAppIdAndWXUnionId(appId, unionId);
+ // 鍓旈櫎琚垹闄ゆ帀鐨勭敤鎴�
+ for (int i = 0; i < list.size(); i++) {
+ if (list.get(i).getState() == UserInfo.STATE_DELETE
+ || list.get(i).getState() == UserInfo.STATE_DELETE_OUT_OF_DATE) {
+ list.remove(i);
+ i--;
+ }
+ }
+ if (list.size() > 0)
+ return list.get(list.size() - 1);
+ else
+ return null;
}
/**
@@ -576,7 +598,21 @@
throw new UserAccountException(1, "appId涓虹┖");
if (StringUtil.isNullOrEmpty(openId))
throw new UserAccountException(2, "openId涓虹┖");
- return userInfoMapper.getUserInfoByAppIdAndTaoBaoOpenId(appId, openId);
+ List<UserInfo> list = userInfoMapper.listByAppIdAndTaoBaoOpenId(appId, openId);
+
+ // 鍓旈櫎琚垹闄ゆ帀鐨勭敤鎴�
+ for (int i = 0; i < list.size(); i++) {
+ if (list.get(i).getState() == UserInfo.STATE_DELETE
+ || list.get(i).getState() == UserInfo.STATE_DELETE_OUT_OF_DATE) {
+ list.remove(i);
+ i--;
+ }
+ }
+ if (list.size() > 0)
+ return list.get(list.size() - 1);
+ else
+ return null;
+
}
/**
@@ -591,7 +627,21 @@
throw new UserAccountException(1, "appId涓虹┖");
if (StringUtil.isNullOrEmpty(phone))
throw new UserAccountException(2, "phone涓虹┖");
- return userInfoMapper.getUserInfoByAppIdAndPhone(appId, phone);
+ List<UserInfo> list = userInfoMapper.listByAppIdAndPhone(appId, phone);
+
+ // 鍓旈櫎琚垹闄ゆ帀鐨勭敤鎴�
+ for (int i = 0; i < list.size(); i++) {
+ if (list.get(i).getState() == UserInfo.STATE_DELETE
+ || list.get(i).getState() == UserInfo.STATE_DELETE_OUT_OF_DATE) {
+ list.remove(i);
+ i--;
+ }
+ }
+ if (list.size() > 0)
+ return list.get(list.size() - 1);
+ else
+ return null;
+
}
private void updateLatestLoginTime(Long uid) {
@@ -625,6 +675,7 @@
@Override
public void addUser(UserInfo user) {
+
Long maxUid = userInfoMapper.getMaxUid();
if (maxUid == null)
maxUid = 100000L;
@@ -646,8 +697,12 @@
userInfoMapper.updateByPrimaryKeySelective(updateUserInfo);
}
- // 娣诲姞鏂颁汉绾㈠寘
- hongBaoService.setNewUserHongBaoMyBatis(user, 1);
+ try {
+ // 绗竴娆$櫥褰曟椂鍒涘缓鐢ㄦ埛棰濆淇℃伅
+ userInfoExtraService.createUserInfoExtra(user.getId());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -705,7 +760,7 @@
if (!StringUtil.isNullOrEmpty(user.getOpenid()) && !user.getOpenid().equalsIgnoreCase(tbOpenId))
throw new UserAccountException(5, "褰撳墠璐﹀彿宸茬粡缁戝畾浜嗘窐瀹濓紝璇峰厛瑙g粦");
- //缁戝畾鍚屼竴涓窐瀹濆彿
+ // 缁戝畾鍚屼竴涓窐瀹濆彿
if (!StringUtil.isNullOrEmpty(user.getOpenid()) && user.getOpenid().equalsIgnoreCase(tbOpenId))
return;
@@ -748,7 +803,7 @@
}
userInfoMapper.updateByPrimaryKeySelective(update);
-
+
userExtraTaoBaoInfoService.unBindUid(uid);
userAccountMsgNotificationService.unBindingSuccess(uid, MsgAccountDetailFactory.TYPE_TB);
@@ -797,19 +852,10 @@
// 澶囦唤鐢ㄦ埛淇℃伅
UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
- // 澶囦唤璧勯噾鏄庣粏
- List<AccountDetails> accountDetailsList = accountDetailsMapper.selectByUid(uid);
- // 澶囦唤绾㈠寘淇℃伅
- List<HongBao> hongBaoList = hongBaoMapper.selectByUid(uid);
- // 澶囦唤璁㈠崟锛屽瓙璁㈠崟淇℃伅
- List<Order> orderList = orderMapper.selectByUid(uid);
- List<OrderItem> orderItemList = orderItemMapper.selectByUid(uid);
+ // TODO 澶囦唤璧勯噾鏄庣粏
// 澶囦唤閭�璇峰叧绯�
- List<ThreeSale> threeSaleList = threeSaleMapper.selectByUid(uid);
-
- // 澶囦唤鍒嗕韩璧�
- List<PidOrder> pidOrderList = pidOrderMapper.selectByUid(uid);
+ List<ThreeSale> threeSaleList = new ArrayList<>();
FileWriter fw = null;
try {
@@ -819,23 +865,8 @@
fw.write("#UserInfo" + "\r\n");
fw.write(JsonUtil.getSimpleGsonWithDate().toJson(user) + "\r\n");
- fw.write("#AccountDetails" + "\r\n");
- fw.write(JsonUtil.getSimpleGsonWithDate().toJson(accountDetailsList) + "\r\n");
-
- fw.write("#HongBao" + "\r\n");
- fw.write(JsonUtil.getSimpleGsonWithDate().toJson(hongBaoList) + "\r\n");
-
- fw.write("#Order" + "\r\n");
- fw.write(JsonUtil.getSimpleGsonWithDate().toJson(orderList) + "\r\n");
-
- fw.write("#OrderItem" + "\r\n");
- fw.write(JsonUtil.getSimpleGsonWithDate().toJson(orderItemList) + "\r\n");
-
fw.write("#ThreeSale" + "\r\n");
fw.write(JsonUtil.getSimpleGsonWithDate().toJson(threeSaleList) + "\r\n");
-
- fw.write("#PidOrder" + "\r\n");
- fw.write(JsonUtil.getSimpleGsonWithDate().toJson(pidOrderList) + "\r\n");
fw.close();
@@ -900,4 +931,429 @@
return user.getPortrait();
}
+ @Transactional
+ @Override
+ 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) && "2581".equalsIgnoreCase(vcode)) {
+ ;
+ } else {
+
+ if (StringUtil.isNullOrEmpty(vcode)) {
+ throw new UserAccountException(1, "璇疯緭鍏ラ獙璇佺爜");
+ }
+
+ String oldVcode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_LOGIN);
+ LogHelper.test("----------------------鐧诲綍楠岃瘉鐮侊細 " + oldVcode);
+ if (!Constant.IS_TEST)
+ if (StringUtil.isNullOrEmpty(oldVcode) || !oldVcode.equalsIgnoreCase(vcode)) {
+ throw new UserAccountException(1, "楠岃瘉鐮侀敊璇紝閲嶆柊杈撳叆");
+ } else {// 楠岃瘉鐮佽緭鍏ユ纭�
+ redisManager.clearSMSVCode(phone, SMSHistory.TYPE_LOGIN);
+ }
+ }
+
+ JSONObject logInfo = new JSONObject();
+ logInfo.put("appId", appId);
+ logInfo.put("phone", phone);
+ logInfo.put("loginType", loginType);
+ LogHelper.lgoinInfo(logInfo.toString());
+
+ // 鍒ゆ柇鎵嬫満鍙风爜鏄惁琚皝绂�
+ ForbiddenUserIdentifyCode identifyCode1 = forbiddenUserIdentifyCodeService
+ .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.phone, phone);
+ 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);
+
+ // 閲囩敤redis浜嬪姟闃叉涓�涓墜鏈哄彿澶氭娉ㄥ唽闂
+ String watchKey = StringUtil.Md5("REGISTER:" + phone);
+ Jedis jedis = jedisPool.getResource();
+ try {
+ jedis.watch(watchKey);
+ if (jedis.get(watchKey) != null && Integer.parseInt(jedis.get(watchKey)) > 1)
+ throw new UserAccountException(10, "璇风◢鍚庡啀璇�");
+ Transaction tran = jedis.multi();
+ tran.incr(watchKey);
+ List<Object> exec = tran.exec();
+ if (exec == null || exec.size() == 0) {
+ throw new UserAccountException(10, "璇风◢鍚庡啀璇�");
+ } else {
+
+ // 鏌ヨ鏄惁瀛樺湪璇ョ數璇濆巻鍙茬敤鎴�
+ UserInfo userInfo = userInfoMapper.getEffectiveUserInfoByPhone(phone);
+ if (userInfo != null) {
+ // 鏇存柊璐︽埛鐧诲綍淇℃伅
+ updateLonginInfo(userInfo, loginType, request);
+ } else {
+ userInfo = new UserInfo();
+ userInfo.setAppId(appId);
+ userInfo.setNickName(Constant.systemCommonConfig.getDefaultNickName());
+ userInfo.setPortrait(Constant.systemCommonConfig.getDefaultPortrait());
+ userInfo.setPhone(phone);
+ userInfo.setLoginType(loginType);
+ userInfo.setState(UserInfo.STATE_NORMAL);
+ // 鍒涘缓鐢ㄦ埛
+ addUser(userInfo);
+
+ try {
+ // 绗竴娆$櫥褰曟椂鍒涘缓鐢ㄦ埛棰濆淇℃伅
+ userInfoExtraService.createUserInfoExtra(userInfo.getId());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ return userInfo;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ jedis.del(watchKey);
+ jedis.unwatch();
+ jedisPool.returnResource(jedis);
+ }
+ throw new UserAccountException(10, "璇风◢鍚庡啀璇�");
+ }
+
+ @Transactional
+ @Override
+ public UserInfo loginWinXin(HttpServletRequest request, int loginType, String code, String appId)
+ throws UserAccountException {
+ // 鏃ュ織淇℃伅
+ JSONObject logInfo = new JSONObject();
+ logInfo.put("appId", appId);
+ logInfo.put("code", code);
+ logInfo.put("loginType", loginType);
+ LogHelper.lgoinInfo(logInfo.toString());
+
+ // 閫氳繃Code鎹㈠彇淇℃伅
+ WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code);
+ if (weiXinUser == null) {
+ throw new UserAccountException(1, "寰俊甯愬彿鎺堟潈澶辫触");
+ }
+ LogHelper.test("寰俊鎺堟潈鐢ㄦ埛淇℃伅锛�" + new Gson().toJson(weiXinUser));
+
+ // 鍒ゆ柇寰俊unionid鏄惁琚皝绂�
+ ForbiddenUserIdentifyCode identifyCode = forbiddenUserIdentifyCodeService
+ .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.wxUnionId, weiXinUser.getUnionid());
+ if (identifyCode != null && identifyCode.getEffective() != null && identifyCode.getEffective()) {
+ throw new UserAccountException(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC);
+ }
+
+ // 閲囩敤redis浜嬪姟闃叉涓�涓井淇″彿澶氭娉ㄥ唽闂
+ String watchKey = StringUtil.Md5("REGISTER:" + weiXinUser.getUnionid());
+ Jedis jedis = jedisPool.getResource();
+ try {
+ jedis.watch(watchKey);
+ if (jedis.get(watchKey) != null && Integer.parseInt(jedis.get(watchKey)) > 1)
+ throw new UserAccountException(10, "璇风◢鍚庡啀璇�");
+ Transaction tran = jedis.multi();
+ tran.incr(watchKey);
+ List<Object> exec = tran.exec();
+ if (exec == null || exec.size() == 0) {
+ throw new UserAccountException(10, "璇风◢鍚庡啀璇�");
+ } else {
+
+ 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());
+ userInfo.setAppId(appId);
+ userInfo.setNickName(weiXinUser.getNickname());
+ userInfo.setWxName(weiXinUser.getNickname());
+ userInfo.setWxOpenId(weiXinUser.getOpenid());
+ userInfo.setWxUnionId(weiXinUser.getUnionid());
+ userInfo.setWxPic(weiXinUser.getHeadimgurl());
+ userInfo.setLastLoginTime(System.currentTimeMillis());
+ userInfo.setLoginType(loginType);
+ userInfo.setLastLoginIp(request.getRemoteHost());
+ userInfo.setState(UserInfo.STATE_NORMAL);
+ addUser(userInfo);
+
+ try {
+ // 绗竴娆$櫥褰曟椂鍒涘缓鐢ㄦ埛棰濆淇℃伅
+ userInfoExtraService.createUserInfoExtra(userInfo.getId());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return userInfo;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ jedis.del(watchKey);
+ jedis.unwatch();
+ jedisPool.returnResource(jedis);
+ }
+ throw new UserAccountException(10, "璇风◢鍚庡啀璇�");
+ }
+
+ /**
+ * 鏇存柊璐︽埛鐧诲綍淇℃伅
+ *
+ * @param userInfo
+ * @param loginType
+ * @param request
+ */
+ public void updateLonginInfo(UserInfo userInfo, int loginType, HttpServletRequest request) {
+ // 璁剧疆鐧诲綍鏃堕棿涓庣櫥褰曠被鍨�
+ UserInfo updateUserInfo = new UserInfo(userInfo.getId());
+ updateUserInfo.setLastLoginTime(System.currentTimeMillis());
+ updateUserInfo.setLoginType(loginType);
+ 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, "鎮ㄥ凡缁忕粦瀹氫簡璇ョ數璇濆彿鐮�");
+ }
+
+ UserInfo phoneUser = userInfoMapper.getEffectiveUserInfoByPhone(phone);
+ 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, "寰俊甯愬彿鎺堟潈澶辫触");
+ }
+
+ 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, "寰俊甯愬彿涓�鑷存棤闇�鏇存崲");
+ }
+
+ if (StringUtil.isNullOrEmpty(user.getPhone())) {
+ throw new UserAccountException(5, "璇ュ笎鍙锋病鏈夌粦瀹氭墜鏈哄彿鐮侊紝闇�缁戝畾鎵嬫満鍙风爜鎵嶈兘瀹屾垚寰俊鏇存崲");
+ }
+
+ UserInfo updateUserInfo = new UserInfo(uid);
+ updateUserInfo.setWxName(weiXinUser.getNickname());
+ updateUserInfo.setWxOpenId(weiXinUser.getOpenid());
+ updateUserInfo.setWxPic(weiXinUser.getHeadimgurl());
+ updateUserInfo.setWxUnionId(weiXinUser.getUnionid());
+
+ // 灏嗛粯璁ゆ樀绉版浛鎹㈡垚寰俊鏄电О
+ String defaultNickName = Constant.systemCommonConfig.getDefaultNickName();
+ if (!StringUtil.isNullOrEmpty(weiXinUser.getNickname()) && !StringUtil.isNullOrEmpty(defaultNickName)
+ && defaultNickName.equals(user.getNickName())) {
+ updateUserInfo.setNickName(weiXinUser.getNickname());
+ }
+
+ // 灏嗛粯璁ゅご鍍忔浛鎹㈡垚寰俊澶村儚
+ String defaultPortrait = Constant.systemCommonConfig.getDefaultPortrait();
+ if (!StringUtil.isNullOrEmpty(weiXinUser.getHeadimgurl()) && !StringUtil.isNullOrEmpty(defaultPortrait)
+ && defaultPortrait.equals(user.getPortrait())) {
+ updateUserInfo.setPortrait(weiXinUser.getHeadimgurl());
+ }
+ 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);
+ }
+
+ @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