From cdcbed9af813b2a02cdc01eefa24db8bec6b51a9 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期三, 27 三月 2019 12:17:33 +0800
Subject: [PATCH] 主分类 + 子分类 DAO改造

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java |   43 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 35 insertions(+), 8 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 245cad1..4cedf0c 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
@@ -1,6 +1,8 @@
 package com.yeshi.fanli.service.impl.user;
 
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -9,7 +11,6 @@
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Service;
-import org.yeshi.utils.DateUtil;
 
 import com.yeshi.fanli.dao.mybatis.user.UserInfoExtraMapper;
 import com.yeshi.fanli.dao.mybatis.user.UserRankRecordMapper;
@@ -64,7 +65,7 @@
 			throw new UserInfoExtraException(1, "鐢ㄦ埛闄勫姞淇℃伅涓嶅瓨鍦�");
 		}
 
-		// 绛夌骇瀵圭収琛�
+		// 绛夌骇瀵圭収琛� 
 		String contrast = configService.get("user_rank_contrast");
 		extraVO.setRankContrast(contrast);
 		// 鐗瑰埆鎻愰啋
@@ -72,7 +73,11 @@
 		extraVO.setRankTip(rankTip);
 
 		Integer rankOrderNum = extraVO.getRankOrderNum();
-		if (rankOrderNum != null && rankOrderNum > 0) {
+		
+		UserRank userRank = extraVO.getUserRank();
+		// 闈掗摐绛夌骇涓嶈繑鍥炴伃鍠滆鍙� 娉細闈掗摐绛夌骇id 蹇呴』涓�1
+		if (userRank != null && userRank.getId() != null && userRank.getId() > 1) {
+			
 			String rankMsg = null;
 			Integer rankSource = extraVO.getRankSource();
 			switch (rankSource) {
@@ -135,8 +140,11 @@
 		if (userInfoExtra != null && userInfoExtra.getId() != null) {
 			// 鍒ゆ柇褰撴湀鏄惁宸叉洿鏂�
 			Date rankUpdateTime = userInfoExtra.getRankUpdateTime();
-			if (rankUpdateTime != null && DateUtil.isSameMonth(rankUpdateTime, new Date())) {
-				isupdateRank = false;
+			if (rankUpdateTime != null) {
+				SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
+				if (sdf.format(rankUpdateTime).equals(sdf.format(new Date()))) {
+					isupdateRank = false;
+				}
 			} 
 		} else {
 			userInfoExtra = new UserInfoExtra();
@@ -223,13 +231,17 @@
 				rank = userRank;
 				// 榛樿鏈�浣庣瓑绾�:闈掗摐
 				userInfoExtra.setUserRank(rank);
-				userInfoExtra.setRankOrderNum(0);
+				userInfoExtra.setRankOrderNum(selfOrderNum);
 				userInfoExtra.setRankSource(Constant.TYPE_REBATE);
 				break;
 			}
 		}
-		// 绛夌骇鏇存柊鏃堕棿
-		userInfoExtra.setRankUpdateTime(new Date());
+		
+		// 绛夌骇鏇存柊鏃堕棿 褰撴湀1鍙�
+		Calendar calendar1=Calendar.getInstance();
+        calendar1.set(Calendar.DAY_OF_MONTH, 1);
+		userInfoExtra.setRankUpdateTime(calendar1.getTime());
+		
 		// 淇濆瓨淇℃伅骞惰繑鍥�
 		saveUserInfoExtra(userInfoExtra);
 		
@@ -279,6 +291,14 @@
 	public String activateInviteCode(Long uid, String inviteCode) throws UserInfoExtraException{
 		if (uid == null || inviteCode == null) {
 			throw new UserInfoExtraException(1, "鐢ㄦ埛id銆侀個璇风爜涓嶈兘涓虹┖");
+		}
+		
+		UserInfoExtra extra = userInfoExtraMapper.getInfoExtraByUid(uid);
+		if (extra != null) {
+			String inviteCodeHas = extra.getInviteCode();
+			if (inviteCodeHas != null && inviteCodeHas.trim().length() > 0) {
+				throw new UserInfoExtraException(1, "宸插瓨鍦ㄩ個璇风爜,璇峰埛鏂伴〉闈�");
+			}
 		}
 		
 		// 琚個璇蜂汉淇℃伅
@@ -372,4 +392,11 @@
 		return inviteCode;
 	}
 	
+	@Override
+	public long countByRankId(Long rankId) {
+		return userInfoExtraMapper.countByRankId(rankId);
+	}
+	
+	
+	
 }

--
Gitblit v1.8.0