求一个java后台的抽奖算法,抽奖活动周期15天,活动有4个奖项,具体限制条件如下:

抽奖活动周期15天,活动有4个奖项

特等奖,前五天能中奖,概率为0.01%,如果第五天 仍未中奖,第六天概率提高到50%且必中奖

一等奖和二等奖,中奖概率为0.1%;前5天,一等奖5个, 二等奖10个, 5~10天,一等奖3个,二等奖6个;10~15天,一等奖2个,二等奖4个;如果当前时间段中奖名额没达到上限,累计到下一个时间段,且在第15天送出全部奖品

三等奖,中奖概率为50%;前5天,三等奖2万个;5~10天, 三等奖2万个;10~15天,三等奖1万个;如果当前时间段中奖名额没达到上限,累计到下一个时间段,且在第15天送出全部奖品

中奖概率,这个可以用 Random.nextDouble() 得到一个 [0.0, 1.0)之间的随机小数,如果这个小数小于 0.0001,那么就算中奖,则中奖概率为0.01%
小于0.5就是50%,小于1就是100%必中奖。
至于时间判断的别的逻辑,你自己梳理下