yujian
2020-01-18 f4a0f2acc63d7785eab108419a4e16f5f688cb95
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserLotteryRecordServiceImpl.java
@@ -14,16 +14,19 @@
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.bus.user.UserLotteryRecord;
import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.system.SystemCoupon;
import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
import com.yeshi.fanli.exception.user.UserInfoExtraException;
import com.yeshi.fanli.exception.user.UserLotteryRecordException;
import com.yeshi.fanli.exception.user.UserSystemCouponException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.SystemCouponService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserLotteryRecordService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
import com.yeshi.fanli.util.StringUtil;
import net.sf.json.JSONObject;
@@ -92,6 +95,8 @@
         record.setUid(uid);
         record.setType(type);
         record.setCount(num);
      } else {
         record.setCount(num);
      }
      return record;
   }
@@ -124,7 +129,7 @@
      }
      
      // 抽奖规则
      String lotteryRule = configService.get("lottery_rule_newbies");
      String lotteryRule = configService.get(ConfigKeyEnum.lotteryRuleNewbies.getKey());
               
      JSONObject data = new JSONObject();
      data.put("count", count);
@@ -192,7 +197,7 @@
         prize = "NoPrize";
      } else {
         try {
            userSystemCouponService.insertUserCoupon(uid, prize, UserSystemCoupon.SOURCE_NEWBIES);
            userSystemCouponService.insertUserCoupon(uid, prize, UserSystemCoupon.SOURCE_NEWBIES, null,true);
         } catch (UserSystemCouponException e) {
            e.printStackTrace();
         } catch (Exception e) {
@@ -285,7 +290,7 @@
      }
      
      // 抽奖规则
      String lotteryRule = configService.get("lottery_rule_daily_rebate");
      String lotteryRule = configService.get(ConfigKeyEnum.lotteryRuleDailyRebate.getKey());
               
      JSONObject data = new JSONObject();
      data.put("count", count);
@@ -311,13 +316,14 @@
         throw new UserLotteryRecordException(2,  "抽奖次数不足");
      } 
      
      String prize = "";
      String prize = null;
      // 今日天天抽奖-已抽中拥有券数量
      int todayHas = userSystemCouponService.countTodatyUserCouponBySource(uid, UserSystemCoupon.SOURCE_DAILY_REBATE);
      
      if (todayHas == 0) {
         // 抽奖
         prize = getLotteryPrizeDaily(count);
         LogHelper.test(uid + "中奖结果:" + prize);
         try {
            int num = 0;
            if ("rebateCoupon".equals(prize)) {
@@ -325,8 +331,11 @@
            } else if ("doubleCoupon".equals(prize)) {
               num = 2;
            } 
            // 插入奖励券
            userSystemCouponService.randomRewardCoupon(num, uid, UserSystemCoupon.SOURCE_DAILY_REBATE);
            if (num > 0) {
               userSystemCouponService.randomRewardCoupon(num, uid, UserSystemCoupon.SOURCE_DAILY_REBATE);
            }
            
         } catch (UserSystemCouponException e) {
            throw new UserLotteryRecordException(1, "抽奖失败");
@@ -343,9 +352,11 @@
      updateRecord.setUpdateTime(new Date());
      userLotteryRecordMapper.updateByPrimaryKeySelective(updateRecord);
      
      if (prize == null || prize.trim().length() == 0) {
      LogHelper.test(uid + "返回H5中奖结果:" + prize);
      if (StringUtil.isNullOrEmpty(prize)) {
         prize = "NoPrize";
      }
      LogHelper.test(uid + "返回H5中奖结果处理空值:" + prize);
      
      Map<String,Object> map = new HashMap<String, Object>();
      map.put("count", count);
@@ -377,7 +388,7 @@
         }
      } else {
         long result = (1 + Math.round(Math.random() * (9)));
         if (result <= 2) {
         if (result <= 3) {
            prize = rebateCoupon;
         } else if (result <= 5) {
            prize = doubleCoupon;