From 45f03c70d73149d454b2e110b171e37defec8e32 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期五, 12 四月 2019 14:06:21 +0800
Subject: [PATCH] 用户活动监听 + 轮播图修改
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java | 354 ++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 218 insertions(+), 136 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java
index f9c6fbf..ebad0b6 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java
@@ -34,19 +34,23 @@
import com.yeshi.fanli.dao.mybatis.UserShareGoodsHistoryMapper;
import com.yeshi.fanli.dao.mybatis.share.ShareMapper;
import com.yeshi.fanli.dao.user.UserInfoDao;
-import com.yeshi.fanli.entity.admin.UserInfoAdmin;
import com.yeshi.fanli.entity.bus.user.BindingAccount;
import com.yeshi.fanli.entity.bus.user.InviteUser;
+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.system.System;
+import com.yeshi.fanli.entity.system.BusinessSystem;
import com.yeshi.fanli.exception.ThreeSaleException;
+import com.yeshi.fanli.exception.user.UserInfoException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionAuthRecordService;
+import com.yeshi.fanli.service.inter.user.UserActiveLogService;
+import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.inter.user.UserRankService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
@@ -54,6 +58,7 @@
import com.yeshi.fanli.util.Utils;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.util.wx.WXLoginUtil;
+import com.yeshi.fanli.vo.user.UserInfoVO;
@Service
public class UserInfoServiceImpl implements UserInfoService {
@@ -63,9 +68,6 @@
@Resource
private UserInfoService userInfoService;
-
- @Resource
- private HongBaoService hongBaoService;
@Resource
private ConfigService configService;
@@ -90,9 +92,22 @@
@Resource
private ShareMapper shareMapper;
-
+
@Resource
private HongBaoV2CountService hongBaoV2CountService;
+
+ @Resource
+ private UserRankService userRankService;
+
+ @Resource
+ private UserActiveLogService userActiveLogService;
+
+ @Resource
+ private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+ @Resource
+ private TaoBaoUnionAuthRecordService taoBaoUnionAuthRecordService;
+
public UserInfo getUserByLoginTypeAndOpenId(int loginType, String openid, String appid) {
@@ -104,6 +119,16 @@
list = userInfoDao.list("from UserInfo u where u.wxUnionId=? and u.appId = ? ",
new Serializable[] { openid, appid });
}
+
+ if (list != null)
+ 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 != null && list.size() > 0) {
return list.get(0);
}
@@ -150,8 +175,6 @@
return form;
}
- if (form.getSystem().getId() != 7)
- hongBaoService.setNewUserHongBao(form, 1);
LogHelper.userInfo("娣诲姞鐢ㄦ埛:" + form);
if (form.getLoginType() == Constant.WEIXIN) {
// final UserInfo temp = form;
@@ -425,7 +448,7 @@
String wxUnionId = weiXinUser.getUnionid();
UserInfo find = getUserByLoginTypeAndOpenId(Constant.WEIXIN, wxUnionId, Constant.APPID);
- if (find == null||find.getState()==UserInfo.STATE_DELETE||find.getState()==UserInfo.STATE_DELETE_OUT_OF_DATE) {
+ if (find == null) {
find = new UserInfo();
find.setAppId(Constant.APPID);
find.setWxUnionId(weiXinUser.getUnionid());
@@ -440,7 +463,7 @@
find.setLoginType(Constant.WEIXIN);
find.setRank(0);
find.setWxOpenId(weiXinUser.getOpenid());
- System system = new System(Constant.FANLI);
+ BusinessSystem system = new BusinessSystem(Constant.FANLI);
system.setPlatform(1);
find.setSystem(system);
}
@@ -627,141 +650,142 @@
}
@Override
- public List<UserInfoAdmin> query(long start, int count, String key, Integer userType, Integer days,
- String startTime, String endTime, Integer orderField, Integer orderMode) {
+ public long queryCount( Integer userState, String key, Integer keyType, String userRank, Integer days, String startTime, String endTime) {
+ return userInfoMapper.queryCount(userState, key, keyType, userRank, days, startTime, endTime);
+ }
+
+ @Override
+ public List<UserInfoVO> query(long start, int count, Integer userState, String key, Integer keyType,
+ String userRank, Integer days, String startTime, String endTime, Integer orderField, Integer orderMode) {
- List<UserInfoAdmin> adminList = new ArrayList<UserInfoAdmin>();
-
- List<UserInfo> userList = userInfoMapper.query(start, count, key, userType, days, startTime, endTime,
+ List<UserInfoVO> userList = userInfoMapper.query(start, count,userState, key, keyType, userRank, days, startTime, endTime,
orderField, orderMode);
+
if (userList == null || userList.size() == 0) {
return null;
}
-
- for (UserInfo userInfo : userList) {
-
- UserInfoAdmin userInfoAdmin = new UserInfoAdmin();
-
- Long lastLoginTime = userInfo.getLastLoginTime();
- if (lastLoginTime == null) {
- userInfo.setLastLoginTime(0L);
- }
-
- userInfoAdmin.setUserInfo(userInfo);
-
- String wxName = userInfo.getWxName();
- if (StringUtil.isNullOrEmpty(wxName)) {
- userInfoAdmin.setWxNameState(1);
- } else {
- userInfoAdmin.setWxNameState(2);
- }
-
- String phone = userInfo.getPhone();
- if (StringUtil.isNullOrEmpty(phone)) {
- userInfoAdmin.setPhoneState(1);
- } else {
- userInfoAdmin.setPhoneState(2);
- }
-
- String tbName = userInfo.getTbName();
- if (StringUtil.isNullOrEmpty(tbName)) {
- userInfoAdmin.setTbNameState(1);
- } else {
- userInfoAdmin.setTbNameState(2);
- }
-
- Long uid = userInfo.getId();
-
- /* 缁戝畾璐﹀彿淇℃伅 */
- List<BindingAccount> account = bindingAccountMapper.selectByUid(uid);
- if (account != null && account.size() > 0) {
- BindingAccount bindingAccount = account.get(0);
- Integer type = bindingAccount.getType();
- if (type != null && type == 1) {
- // 鏀粯瀹�
- userInfoAdmin.setAccountAlipay(bindingAccount.getAccount());
- userInfoAdmin.setAccountName(bindingAccount.getName());
- userInfoAdmin.setAccountBindId(bindingAccount.getId());
-
- } else if (type != null && type == 2) {
- // 寰俊
- userInfoAdmin.setAccountWX(bindingAccount.getAccount());
- userInfoAdmin.setAccountNameWX(bindingAccount.getName());
- userInfoAdmin.setAccountBindIdWX(bindingAccount.getId());
- }
- }
-
- // 鏈�鍚庝竴娆′笅鍗曟椂闂�
- Date lastOrderTime = hongBaoV2CountService.getLastHongBaoTime(uid);
- if (lastOrderTime == null) {
- userInfoAdmin.setLastOrderTime(0);
- } else {
- userInfoAdmin.setLastOrderTime(lastOrderTime.getTime());
- }
-
- // 鍘嗗彶鎬昏鍗�
- long totalOrder = hongBaoV2CountService.countValidNumberByUid(uid, null);
-
- // 浠婃棩鎬昏鍗�
- long todayOrder = hongBaoV2CountService.countValidNumberByUid(uid, 1);
- // 鏈湀鎬昏鍗�
- long monthOrder = hongBaoV2CountService.countValidNumberByUid(uid, 2);
-
- userInfoAdmin.setTotalOrder(totalOrder);
- userInfoAdmin.setTodayOrder(todayOrder);
- userInfoAdmin.setMonthOrder(monthOrder);
-
-
- // 鏈鍙栫孩鍖� 寰呭叆璐﹂噾棰�
- BigDecimal unaccountedMoney = hongBaoV2CountService.countWillGetMoneyByUid(uid);
- if (unaccountedMoney ==null) {
- unaccountedMoney = new BigDecimal(0);
- }
- userInfoAdmin.setUnaccountedMoney(unaccountedMoney.toString());
-
- // 鍘嗗彶鎬绘敹鐩�
- BigDecimal totalMoneyHistory = hongBaoV2CountService.countMoneyByUidAndState(uid,3);
- if (totalMoneyHistory ==null) {
- totalMoneyHistory = new BigDecimal(0);
- }
- userInfoAdmin.setTotalMoneyHistory(totalMoneyHistory.toString());
-
-
-
-
- // 鏀粯瀹濊处鍙� 绱杞处鎬婚噾棰�
- double totalMoney = payInfoMapper.sumMoneyByUid(uid);
- userInfoAdmin.setTotalMoney(totalMoney);
-
- // 绱鎻愮幇 (鏆傛湭璁″叆寰俊)
- userInfoAdmin.setTotalExtract(totalMoney);
-
- // 缁熻鍒嗕韩涓暟
- long countUserShares = userShareGoodsHistoryMapper.countUserShares(uid);
- userInfoAdmin.setCountUserShares(countUserShares);
-
- // 缁熻娴忚瓒宠抗
- long countScanHistory = scanHistoryMapper.countUserScanHistory(uid);
- userInfoAdmin.setCountScanHistory(countScanHistory);
-
- // 涓�搴﹂槦鍛樻暟閲�
- int firstTeamCount = shareMapper.myFirstTeamCount(uid + "");
- userInfoAdmin.setCountLevelOne(firstTeamCount);
-
- // 浜屽害闃熷憳鏁伴噺
- int secondTeamCount = shareMapper.mySecondTeamCount(uid + "");
- userInfoAdmin.setCountLevelTwo(secondTeamCount);
- adminList.add(userInfoAdmin);
+
+ for (UserInfoVO userInfoVO : userList) {
+ // 鏁版嵁鍔犲伐澶勭悊
+ convertUserInfoVOData(userInfoVO);
}
- return adminList;
+ return userList;
+ }
+
+ public void convertUserInfoVOData(UserInfoVO userInfoVO) {
+
+ String rankName = userInfoVO.getRankName();
+ if (rankName == null || rankName.trim().length() == 0) {
+ userInfoVO.setRankName("闈掗摐");
+ userInfoVO.setRankPicture("http://img.flqapp.com/resource/rank/rank_picture_new_1.png");
+ }
+
+ String f_alipayAccount = userInfoVO.getAlipayAccountInvalid();
+ if (f_alipayAccount != null && f_alipayAccount.trim().length() > 0) {
+ userInfoVO.setAlipayAccountState(1);
+ }
+
+ String f_phone = userInfoVO.getPhoneInvalid();
+ if (f_phone != null && f_phone.trim().length() > 0) {
+ userInfoVO.setPhoneState(1);
+ }
+
+ String f_taobaoUid = userInfoVO.getTaobaoUidInvalid();
+ if (f_taobaoUid != null && f_taobaoUid.trim().length() > 0) {
+ userInfoVO.setTaobaoUidState(1);
+ }
+
+ String f_wxUnionId = userInfoVO.getWxUnionIdInvalid();
+ if (f_wxUnionId != null && f_wxUnionId.trim().length() > 0) {
+ userInfoVO.setWxUnionIdState(1);
+ }
+
+ // 鏈�杩戠櫥褰曟椂闂�
+ Long lastLoginTime = userInfoVO.getLastLoginTime();
+ if (lastLoginTime != null && lastLoginTime == 0) {
+ userInfoVO.setLastLoginTime(null);
+ }
+ /* 鏄剧ず鐢ㄦ埛寰俊 娣樺疂 鑰佺増鏈瓨鍦�
+ * String wxUnionId = userInfoVO.getWxUnionId(); if (wxUnionId == null ||
+ * wxUnionId.trim().length() == 0) { userInfoVO.setWxName(null); }
+ *
+ * String taoBaoUid = userInfoVO.getTaoBaoUid(); if (taoBaoUid == null ||
+ * taoBaoUid.trim().length() == 0) { userInfoVO.setTbName(null); }
+ */
+
+
+ Long uid = userInfoVO.getId();
+
+
+ /* 缁戝畾鏀舵璐﹀彿淇℃伅 */
+ List<BindingAccount> account = bindingAccountMapper.selectByUid(uid);
+ if (account != null && account.size() > 0) {
+ BindingAccount bindingAccount = account.get(0);
+ Integer type = bindingAccount.getType();
+ if (type != null && type == 1) {
+ // 鏀粯瀹�
+ userInfoVO.setAccountAlipay(bindingAccount.getAccount());
+ userInfoVO.setAccountName(bindingAccount.getName());
+ userInfoVO.setAccountBindId(bindingAccount.getId());
+
+ } else if (type != null && type == 2) {
+ // 寰俊
+ userInfoVO.setAccountWX(bindingAccount.getAccount());
+ userInfoVO.setAccountNameWX(bindingAccount.getName());
+ userInfoVO.setAccountBindIdWX(bindingAccount.getId());
+ }
+ }
+
+ // 鏈�杩戜竴娆′笅鍗曟椂闂�
+ Date lastOrderTime = hongBaoV2CountService.getLastHongBaoTime(uid);
+ if (lastOrderTime != null && lastOrderTime.getTime() != 0) {
+ userInfoVO.setLastOrderTime(lastOrderTime.getTime());
+ }
+
+ // 浠婃棩鎬昏鍗�
+ long todayOrder = hongBaoV2CountService.countValidNumberByUid(uid, 1);
+ userInfoVO.setTodayOrder(todayOrder);
+
+ // 鏈鍙栫孩鍖� 寰呭叆璐﹂噾棰�
+ BigDecimal unaccountedMoney = hongBaoV2CountService.countWillGetMoneyByUid(uid);
+ if (unaccountedMoney == null) {
+ unaccountedMoney = new BigDecimal(0);
+ }
+ userInfoVO.setUnaccountedMoney(unaccountedMoney.toString());
+
+ // 鍘嗗彶鎬绘敹鐩�
+ BigDecimal totalMoneyHistory = hongBaoV2CountService.countMoneyByUidAndState(uid, 3);
+ if (totalMoneyHistory == null) {
+ totalMoneyHistory = new BigDecimal(0);
+ }
+ userInfoVO.setTotalMoneyHistory(totalMoneyHistory.toString());
+
+ // 鏀粯瀹濊处鍙� 绱杞处鎬婚噾棰�
+ double totalMoney = payInfoMapper.sumMoneyByUid(uid);
+ userInfoVO.setTotalMoney(totalMoney);
+
+ // 绱鎻愮幇 (鏆傛湭璁″叆寰俊)
+ userInfoVO.setTotalExtract(totalMoney);
+
+ // 缁熻鍒嗕韩涓暟
+ long countUserShares = userShareGoodsHistoryMapper.countUserShares(uid);
+ userInfoVO.setCountUserShares(countUserShares);
+
+ // 缁熻娴忚瓒宠抗
+ long countScanHistory = scanHistoryMapper.countUserScanHistory(uid);
+ userInfoVO.setCountScanHistory(countScanHistory);
+
+ // 涓�搴﹂槦鍛樻暟閲�
+ int firstTeamCount = shareMapper.myFirstTeamCount(uid + "");
+ userInfoVO.setCountLevelOne(firstTeamCount);
+
+ // 浜屽害闃熷憳鏁伴噺
+ int secondTeamCount = shareMapper.mySecondTeamCount(uid + "");
+ userInfoVO.setCountLevelTwo(secondTeamCount);
}
- @Override
- public long queryCount(String key, Integer userType, Integer days, String startTime, String endTime) {
- return userInfoMapper.queryCount(key, userType, days, startTime, endTime);
- }
@Override
public double querySumMoney(String key, Integer userType, Integer days, String startTime, String endTime) {
@@ -814,6 +838,7 @@
/**
* 鏍规嵁鐢佃瘽鍙风爜銆侀個璇风爜鑾峰彇閭�璇风敤鎴�
+ *
* @param phone
* @param inviteCode
* @return
@@ -823,4 +848,61 @@
return userInfoMapper.getInfoByPhoneOrInviteCode(phone, inviteCode);
}
+ @Override
+ public UserInfo getEffectiveUserInfoByPhone(String phone) {
+ return userInfoMapper.getEffectiveUserInfoByPhone(phone);
+ }
+
+ @Override
+ public UserInfo getEffectiveUserInfoByWXUnionId(String unionId) {
+ return userInfoMapper.getEffectiveUserInfoByWXUnionId(unionId);
+ }
+
+ @Override
+ public UserInfo getUserInfo(Long uid) throws UserInfoException{
+ if (uid == null) {
+ throw new UserInfoException(1, "璇锋眰鍙傛暟涓虹┖");
+ }
+
+ UserInfo userInfo = userInfoMapper.selectByPKey(uid);
+ if(userInfo == null) {
+ throw new UserInfoException(1, "鐢ㄦ埛涓嶅瓨鍦�");
+ }
+
+ if (userInfo.getState() == UserInfo.STATE_FORBIDDEN) {
+ throw new UserInfoException(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC);
+ }
+
+ if (userInfo.getState()!= UserInfo.STATE_NORMAL) {
+ throw new UserInfoException(1, "鐢ㄦ埛涓嶅瓨鍦�");
+ }
+
+ // 娣樺疂鏄电О 缁勭粐
+ boolean clearTbName = true;
+ UserExtraTaoBaoInfo extraTaoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid);
+ if (extraTaoBaoInfo != null) {
+ String specialId = extraTaoBaoInfo.getSpecialId();
+ String relationId = extraTaoBaoInfo.getRelationId();
+ String taoBaoNickName = extraTaoBaoInfo.getTaoBaoNickName();
+ if(!StringUtil.isNullOrEmpty(specialId) && !StringUtil.isNullOrEmpty(relationId)) {
+ if(!StringUtil.isNullOrEmpty(taoBaoNickName)) {
+ userInfo.setTbName(taoBaoNickName);
+ clearTbName = false;
+ } else {
+ String taoBaoUserNick = taoBaoUnionAuthRecordService.getTaoBaoUserNick(uid);
+ if(!StringUtil.isNullOrEmpty(taoBaoUserNick)) {
+ userInfo.setTbName(taoBaoUserNick);
+ clearTbName = false;
+ }
+ }
+ }
+ }
+ if (clearTbName) {
+ userInfo.setTbName(null);
+ }
+
+ return userInfo;
+ }
+
+
}
--
Gitblit v1.8.0