From d46dea27b6ec3e0fb32ec7d137699e9fc7d609b0 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 12 十二月 2019 14:18:11 +0800
Subject: [PATCH] 订单补贴消息修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java |  204 +++++++++++++++++++++++++-------------------------
 1 files changed, 103 insertions(+), 101 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java
index 3b115bf..442453f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java
@@ -40,6 +40,7 @@
 import com.yeshi.fanli.service.inter.user.UserRankService;
 import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.InviteCodeFilterUtil;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.account.UserUtil;
 import com.yeshi.fanli.util.wx.WXLoginUtil;
@@ -159,6 +160,7 @@
 		}
 
 		boolean isupdateRank = true;
+		UserInfoExtra extra = new UserInfoExtra();
 
 		UserInfoExtra userInfoExtra = userInfoExtraMapper.getInfoExtraByUid(uid);
 		if (userInfoExtra != null && userInfoExtra.getId() != null) {
@@ -170,14 +172,91 @@
 					isupdateRank = false;
 				}
 			}
+			extra.setId(userInfoExtra.getId());
 		} else {
-			userInfoExtra = new UserInfoExtra();
-			userInfoExtra.setUserInfo(new UserInfo(uid));
+			extra.setUserInfo(new UserInfo(uid));
 		}
-
+		
 		// 鏇存柊绛夌骇
 		if (isupdateRank) {
-			updateRank(userInfoExtra);
+			List<UserRank> listRank = userRankService.getAllRank();
+			if (listRank == null || listRank.size() == 0) {
+				throw new UserInfoExtraException(1, "绯荤粺绛夌骇涓嶅瓨鍦�");
+			}
+
+			int selfOrderNum = 0;
+			int sharedOrderNum = 0;
+			int inviteOrderNum = 0;
+			Map<String, Object> map = commonOrderCountService.lastMonthSettleOrderNumber(uid);
+			if (map != null) {
+				// 杩斿埄璁㈠崟
+				if (map.get("totalSelf") != null) {
+					selfOrderNum = Integer.parseInt(map.get("totalSelf").toString());
+				}
+
+				// 鍒嗕韩璁㈠崟
+				if (map.get("totalShared") != null) {
+					sharedOrderNum = Integer.parseInt(map.get("totalShared").toString());
+				}
+
+				// 閭�璇疯鍗�
+				if (map.get("totalInvite") != null) {
+					inviteOrderNum = Integer.parseInt(map.get("totalInvite").toString());
+				}
+			}
+
+			UserRank rank = null;
+			for (UserRank userRank : listRank) {
+				// 閭�璇锋弧瓒�
+				Integer inviteNum = userRank.getInviteNum();
+				if (inviteOrderNum >= inviteNum) {
+					rank = userRank;
+					extra.setRankOrderNum(inviteOrderNum);
+					extra.setRankSource(Constant.TYPE_INVITE);
+				}
+
+				// 鍒嗕韩婊¤冻
+				int shareNum = userRank.getShareNum();
+				if (sharedOrderNum >= shareNum) {
+					rank = userRank;
+					extra.setRankOrderNum(sharedOrderNum);
+					extra.setRankSource(Constant.TYPE_SHAER);
+				}
+
+				// 杩斿埄婊¤冻
+				int directNum = userRank.getRebateNum();
+				if (selfOrderNum >= directNum) {
+					rank = userRank;
+					extra.setRankOrderNum(selfOrderNum);
+					extra.setRankSource(Constant.TYPE_REBATE);
+				}
+
+				if (rank != null) {
+					extra.setUserRank(rank);
+				} else {
+					rank = userRank;
+					// 榛樿鏈�浣庣瓑绾�:闈掗摐
+					extra.setUserRank(rank);
+					extra.setRankOrderNum(selfOrderNum);
+					extra.setRankSource(Constant.TYPE_REBATE);
+					break;
+				}
+			}
+
+			// 绛夌骇鏇存柊鏃堕棿 褰撴湀1鍙�
+			Calendar calendar1 = Calendar.getInstance();
+			calendar1.set(Calendar.DAY_OF_MONTH, 1);
+			extra.setRankUpdateTime(calendar1.getTime());
+
+			// 淇濆瓨绛夌骇淇℃伅
+			saveUserInfoExtra(extra);
+
+			// 淇濆瓨绛夌骇鍙樺寲璁板綍
+			UserRankRecord userRankRecord = new UserRankRecord();
+			userRankRecord.setUid(uid);
+			userRankRecord.setRankId(rank.getId());
+			userRankRecord.setCreateTime(new Date());
+			userRankRecordMapper.insertSelective(userRankRecord);
 		}
 	}
 
@@ -197,98 +276,6 @@
 		userInfoExtraMapper.insertSelective(userInfoExtra);
 	}
 
-	@Override
-	public UserInfoExtra updateRank(UserInfoExtra userInfoExtra) throws UserInfoExtraException {
-		UserInfo userInfo = userInfoExtra.getUserInfo();
-		if (userInfo == null) {
-			throw new UserInfoExtraException(1, "鐢ㄦ埛涓嶅瓨鍦�");
-		}
-
-		Long uid = userInfo.getId();
-		if (uid == null) {
-			throw new UserInfoExtraException(1, "鐢ㄦ埛ID涓嶅瓨鍦�");
-		}
-
-		List<UserRank> listRank = userRankService.getAllRank();
-		if (listRank == null || listRank.size() == 0) {
-			throw new UserInfoExtraException(1, "绯荤粺绛夌骇涓嶅瓨鍦�");
-		}
-
-		int selfOrderNum = 0;
-		int sharedOrderNum = 0;
-		int inviteOrderNum = 0;
-		Map<String, Object> map = commonOrderCountService.lastMonthSettleOrderNumber(uid);
-		if (map != null) {
-			// 杩斿埄璁㈠崟
-			if (map.get("totalSelf") != null) {
-				selfOrderNum = Integer.parseInt(map.get("totalSelf").toString());
-			}
-
-			// 鍒嗕韩璁㈠崟
-			if (map.get("totalShared") != null) {
-				sharedOrderNum = Integer.parseInt(map.get("totalShared").toString());
-			}
-
-			// 閭�璇疯鍗�
-			if (map.get("totalInvite") != null) {
-				inviteOrderNum = Integer.parseInt(map.get("totalInvite").toString());
-			}
-		}
-
-		UserRank rank = null;
-		for (UserRank userRank : listRank) {
-			// 閭�璇锋弧瓒�
-			Integer inviteNum = userRank.getInviteNum();
-			if (inviteOrderNum >= inviteNum) {
-				rank = userRank;
-				userInfoExtra.setRankOrderNum(inviteOrderNum);
-				userInfoExtra.setRankSource(Constant.TYPE_INVITE);
-			}
-
-			// 鍒嗕韩婊¤冻
-			int shareNum = userRank.getShareNum();
-			if (sharedOrderNum >= shareNum) {
-				rank = userRank;
-				userInfoExtra.setRankOrderNum(sharedOrderNum);
-				userInfoExtra.setRankSource(Constant.TYPE_SHAER);
-			}
-
-			// 杩斿埄婊¤冻
-			int directNum = userRank.getRebateNum();
-			if (selfOrderNum >= directNum) {
-				rank = userRank;
-				userInfoExtra.setRankOrderNum(selfOrderNum);
-				userInfoExtra.setRankSource(Constant.TYPE_REBATE);
-			}
-
-			if (rank != null) {
-				userInfoExtra.setUserRank(rank);
-			} else {
-				rank = userRank;
-				// 榛樿鏈�浣庣瓑绾�:闈掗摐
-				userInfoExtra.setUserRank(rank);
-				userInfoExtra.setRankOrderNum(selfOrderNum);
-				userInfoExtra.setRankSource(Constant.TYPE_REBATE);
-				break;
-			}
-		}
-
-		// 绛夌骇鏇存柊鏃堕棿 褰撴湀1鍙�
-		Calendar calendar1 = Calendar.getInstance();
-		calendar1.set(Calendar.DAY_OF_MONTH, 1);
-		userInfoExtra.setRankUpdateTime(calendar1.getTime());
-
-		// 淇濆瓨淇℃伅骞惰繑鍥�
-		saveUserInfoExtra(userInfoExtra);
-
-		UserRankRecord userRankRecord = new UserRankRecord();
-		userRankRecord.setUid(uid);
-		userRankRecord.setRankId(rank.getId());
-		userRankRecord.setCreateTime(new Date());
-		userRankRecordMapper.insertSelective(userRankRecord);
-
-		return userInfoExtra;
-	}
 
 	@Override
 	public UserInfoExtra saveUserInfoExtra(UserInfoExtra userInfoExtra) throws UserInfoExtraException {
@@ -620,13 +607,25 @@
 	}
 
 	@Override
+	@Transactional
 	public UserInfoExtra getByUidForUpdate(Long uid) {
 		return userInfoExtraMapper.getByUidForUpdate(uid);
 	}
 
 	@Override
+	@Transactional
 	public void updateGoldCoin(Long id, Integer goldCoin) {
 		userInfoExtraMapper.updateGoldCoin(id, goldCoin);
+	}
+	
+	@Override
+	public void addGoldCoinByUid(Long uid, Integer goldCoin) {
+		userInfoExtraMapper.addGoldCoinByUid(uid, goldCoin);
+	}
+	
+	@Override
+	public void updateByPrimaryKeySelective(UserInfoExtra record) {
+		userInfoExtraMapper.updateByPrimaryKeySelective(record);
 	}
 
 	@Override
@@ -651,11 +650,10 @@
 				try {
 					String inviteCode = createInviteCode(uid);
 					if (!StringUtil.isNullOrEmpty(inviteCode)) {
-						userInfoExtra.setUserInfo(new UserInfo(uid));
-						userInfoExtra.setInviteCode(inviteCode);
-						
-						saveUserInfoExtra(userInfoExtra);
-						
+						UserInfoExtra extra= new UserInfoExtra();
+						extra.setId(userInfoExtra.getId());
+						extra.setInviteCode(inviteCode);
+						userInfoExtraMapper.updateByPrimaryKeySelective(extra);
 						return inviteCode;
 					}
 				} catch (Exception e) {
@@ -803,6 +801,10 @@
 		// 杞崲鎴愬ぇ鍐�
 		inviteCodeVip = inviteCodeVip.toUpperCase();
 		
+		// 楠岃瘉鐗规畩鐮�
+		if(InviteCodeFilterUtil.isSpecialCode(inviteCodeVip))
+			throw new UserInfoExtraException(5, "閭�璇风爜宸插瓨鍦�");
+		
 		if (inviteCodeVip.equalsIgnoreCase(extra.getInviteCode()))
 			throw new UserInfoExtraException(5, "涓嶈兘涓哄師閭�璇风爜");
 		

--
Gitblit v1.8.0