随机红包生成规则:最小0.01;最大不能超过平均值
/** * 随机红包 * 计算每人获得红包金额;最小每人0.01元 * @param mmm 红包总额 * @param number 人数 * @return */ public static List<BigDecimal> genRandList(BigDecimal mmm, int number) { if (mmm.doubleValue() < number * 0.01) { return null; } Random random = new Random(); // 金钱,按分计算 10块等于 1000分 int money = mmm.multiply(BigDecimal.valueOf(100)).intValue(); // 随机数总额 double count = 0; // 每人获得随机点数 double[] arrRandom = new double[number]; // 每人获得钱数 List<BigDecimal> arrMoney = new ArrayList<BigDecimal>(number); // 循环人数 随机点 for (int i = 0; i < arrRandom.length; i++) { int r = random.nextInt((number) * 99) + 1; count += r; arrRandom[i] = r; } //计算平均值 int average = money / number; // 计算每人拆红包获得金额 int c = 0; for (int i = 0; i < arrRandom.length; i++) { int m = 0; // 每人获得随机数相加 计算每人占百分比 Double x = new Double(arrRandom[i] / count); // 每人通过百分比获得金额 m = (int) Math.floor(x * money); // 如果获得 0 金额,则设置最小值 1分钱 if (m == 0) { m = 1; } //如果超出平均值,减1 if (m > average) { m -= 1; } // 计算获得总额 c += m; // 如果不是最后一个人则正常计算 if (i < arrRandom.length - 1) { BigDecimal divide = new BigDecimal(m).divide(new BigDecimal(100)); arrMoney.add(divide); } else { // 如果是最后一个人,则把剩余的钱数给最后一个人 arrMoney.add(new BigDecimal(money - c + m).divide(new BigDecimal(100))); } } // 随机打乱每人获得金额 Collections.shuffle(arrMoney); return arrMoney; }
相关推荐
java实现微信红包发放,根据微信用户的openid进行发放普通红包
java微信红包支付案例 包括提供所需jar包 是一个完整的测试项目 httpclient-4.3.1.jar httpclient-cache-4.3.1.jar httpcore-4.3.jar httpmime-4.3.1.jar fluent-hc-4.3.1.jar commons-logging-1.1.3.jar commons-...
使用基本的Java代码实现微信红包功能,使用Swing构建客户端界面。
Java 实现微信红包分配算法内含源码以及说明书可以自己运行复现.zip
微信公众号现金红包java版微信公众号现金红包java版微信公众号现金红包java版微信公众号现金红包java版
主要为大家详细介绍了Java实现仿微信红包分配规则,介绍一种随机红包分配策略,感兴趣的小伙伴们可以参考一下
微信发送红包证书
先前做的微信支付的demo,冗余代码太多,且无通知验签部分,最近做个一个API,封装了微信公众号支付,扫码支付,微信红包,微信验签4个接口,几行代码可以搞定微信支付相关的接口,非常方便,特分享
本篇文章介绍了Java微信支付-微信红包,可以实现微信公众号发红包功能,具有一定的参考价值,有需要的可以了解一下。
Android 微信红包插件自动抢微信红包,安卓红包插件。
微信高级接口 企业红包的 JAVA 实现 springMVC+Spring+Mybatis
微信支付和红包发放,辛苦整理很久,绝对可以运行;给对应的朋友一些帮助吧,这块的确比较坑..... 微信支付,红包发放,微支付,微商户,红包 MoneyUtils 320行 有红包发放测试类,我测试OK的.
微信红包的小demo,下载就可以复制粘贴,使用的红包类应用
微信公众号给用户发送企业红包的JAVA实现
java调用微信发放红包接口demo,完整的例子,已经测试好 java调用微信发放红包接口demo,完整的例子,已经测试好
本人最近做了个微信红包的demo,分享下,java版本的
该资源包含微信发红包类、 二维码类 、 批量下载类、代码清晰。直接引入可用
主要为大家详细介绍了java微信红包实现算法,列出红包的核心算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
java版本的,公众号给用户发送红包,封装好了发送工具类,只要传入openid就可以直接使用了。
主要为大家详细介绍了Java实现微信发红包,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下