根据设置的概率,取随机到的数据元素
jar工具包地址:https://download.csdn.net/download/qqtbqq/24891302https://download.csdn.net/download/qqtbqq/24891302
1、包结构
2、测试用例代码
package com.coolsn.modules.tb.probability.test;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.coolsn.modules.tb.probability.ProbabilityReward;
import com.google.common.collect.Lists;
import net.sf.json.JSONArray;
public class TestMain {
public static void main(String[] args) {
testMapData();
}
public static void testBeanAnn() {
List
3、自定义注解代码
package com.coolsn.modules.tb.probability.entity;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface ProbabilityUtilsAnnotation {
boolean probability() default false;
}
4、测试用例实体bean
package com.coolsn.modules.tb.probability.test;
import com.coolsn.modules.tb.probability.entity.ProbabilityUtilsAnnotation;
public class TestBean {
//奖励的商品id
private String goodsId;
//该商品的概率
@ProbabilityUtilsAnnotation(probability = true)
private Double goodsProbability;
//奖励的商品名称
private String goodsName;
public TestBean() {}
public TestBean(String goodsId,Double goodsProbability,String goodsName) {
this.goodsId = goodsId;
this.goodsProbability = goodsProbability;
this.goodsName = goodsName;
}
public String getGoodsId() {
return goodsId;
}
public void setGoodsId(String goodsId) {
this.goodsId = goodsId;
}
public Double getGoodsProbability() {
return goodsProbability;
}
public void setGoodsProbability(Double goodsProbability) {
this.goodsProbability = goodsProbability;
}
public String getGoodsName() {
return goodsName;
}
public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
}
5、概率处理工具类
package com.coolsn.modules.tb.probability;
import java.lang.reflect.Field;
import java.util.List;
import java.util.Map;
import com.coolsn.modules.tb.probability.entity.ProbabilityUtilsAnnotation;
import com.google.common.collect.Lists;
public class ProbabilityReward {
private List probabilityList;
public Object getProbabilityItem(List