需求
抽奖介绍
看上图算法逻辑是:
随机生成一个0到1之间的数,如果数字落在0到0.1之间,则中一等奖,如果数字落在0.1到0.3之间,则中二等奖,以此类推。
具体代码实现如下:
实体类:
package com.yg.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 奖品类
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Prize {
/**
* 奖品序号
*/
private Integer prizeIndex;
/**
* 奖品id
*/
private Long prizeId;
/**
* 奖品名称
*/
private String prizeName;
/**
* 库存
*/
private Integer stock;
/**
* 概率
*/
private double probability;
}
工具类:
package com.yg.entity;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.ThreadLocalRandom;
/**
* 抽奖算法工具类
*
* @author yg
* @date 2021/1/7 17:02
*/
public class