`
weilJava
  • 浏览: 68986 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

随机概率

阅读更多
public Map getRandomPrizeResult(String activityNo) {
  Map resultMap = null;
  StringBuffer sqlBuf = new StringBuffer(
    "SELECT * FROM PRIZE_INFO PI WHERE PI.ACTIVITY_NO = ? ORDER BY PI.PRIZE_LEVEL ASC ");
  List list = null;
  try {
   list = Database.getToList(sqlBuf.toString(), new Object[] { activityNo });

   if (list != null && list.size() > 0) {
    double randomDoubleValue = getRandomDoubleValue();
    double prizeRateValue = 0;
    double prizeRateAdd = 0;
    String prizeName = "";
    for (int i = 0; i < list.size(); i++) {
     prizeRateValue = Double.parseDouble((String) ((Map) list.get(i)).get("prize_rate"));
     prizeRateAdd += prizeRateValue;
     prizeName = (String) ((Map) list.get(i)).get("prize_name");
     logger.info("奖品名称: " + prizeName + " 的中奖概率Top值为: " + prizeRateAdd);
     if (randomDoubleValue < prizeRateAdd) {
      resultMap = (Map) list.get(i);
      logger.info("用户中奖,奖品名称为: " + prizeName);
      break;
     }
    }
   }
  } catch (Exception e) {
   logger.error("获取用户在理论情况下,应该获取到的奖品信息异常", e.fillInStackTrace());
  }

  return resultMap;
 }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics