yujian
2019-11-13 a2ae9b3d890bc7fcaa34ab65e5cdaf8ccfa07c2b
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);