From a2ae9b3d890bc7fcaa34ab65e5cdaf8ccfa07c2b Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 13 十一月 2019 15:35:12 +0800
Subject: [PATCH] 红包弹框加入设备验证

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinNewUserServiceImpl.java |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinNewUserServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinNewUserServiceImpl.java
index 541fb4c..165b86b 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinNewUserServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinNewUserServiceImpl.java
@@ -11,16 +11,19 @@
 
 import com.yeshi.fanli.dao.mongodb.redpack.RedPackWinNewUserDao;
 import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
+import com.yeshi.fanli.entity.push.DeviceActive;
 import com.yeshi.fanli.entity.redpack.RedPackBalance;
 import com.yeshi.fanli.entity.redpack.RedPackWinNewUser;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService;
+import com.yeshi.fanli.service.inter.push.DeviceActiveService;
 import com.yeshi.fanli.service.inter.redpack.RedPackBalanceService;
 import com.yeshi.fanli.service.inter.redpack.RedPackConfigService;
 import com.yeshi.fanli.service.inter.redpack.RedPackWinNewUserService;
 import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
+import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.annotation.RequestSerializableByKeyService;
 import com.yeshi.fanli.util.factory.RedPackDetailFactory;
 import com.yeshi.fanli.vo.redpack.RedPackWinDetailVO;
@@ -43,12 +46,29 @@
 	@Resource
 	private UserMoneyMsgNotificationService userMoneyMsgNotificationService;
 	
+	@Resource
+	private DeviceActiveService deviceActiveService;
+	
 	
 	@Override
-	public boolean verifyHasReward(Long uid) {
+	public boolean verifyHasReward(Long uid, String device) {
 		try {
-			if (uid == null || uid <= 0) 
-				return true; // 鏈櫥褰曞脊鍑�
+			if (StringUtil.isNullOrEmpty(device) && (uid == null || uid <= 0)) 
+				return false;
+			
+			if (uid == null || uid <= 0) {
+				DeviceActive deviceActive = deviceActiveService.getFirstActiveInfo(device);
+				if (deviceActive == null) 
+					return true; // 鏂拌澶囧脊鍑�
+				
+				Date nowTime = new Date();
+				Date createTime = deviceActive.getCreateTime();
+				int days = DateUtil.daysBetween2(createTime, nowTime);
+				if (days >= Constant.RED_PACK_NEW_USER_DAYS) {
+					return false; // 宸茬粡瓒呭嚭璁剧疆澶╂暟
+				}
+				return true; // 鏈秴杩囨椂闂�
+			}
 			
 			RedPackBalance redPackBalance = redPackBalanceService.selectByPrimaryKey(uid);
 			if (redPackBalance != null && redPackBalance.getState() != null 
@@ -62,7 +82,7 @@
 			Date nowTime = new Date();
 			Date firstLoginTime = userInfoExtra.getFirstLoginTime();
 			int days = DateUtil.daysBetween2(firstLoginTime, nowTime);
-			if (days > Constant.RED_PACK_NEW_USER_DAYS)
+			if (days >= Constant.RED_PACK_NEW_USER_DAYS)
 				return false; // 宸茬粡瓒呭嚭璁剧疆澶╂暟
 			
 			RedPackWinNewUser redPackWin = redPackWinNewUserDao.getByUid(uid);

--
Gitblit v1.8.0