|
@@ -61,7 +61,7 @@ public class TicketBoxTask {
|
|
|
* 检查票组中奖分布任务
|
|
|
*/
|
|
|
public void checkPrize(String boxId) {
|
|
|
- LogUtil.info(logger, "...票组奖品分布检测任务开始...");
|
|
|
+ LogUtil.info(logger, "...票组奖品分布检测任务开始..." + boxId);
|
|
|
|
|
|
TicketBox ticketBox = ticketBoxService.getById(boxId);
|
|
|
List<TicketAwards> ticketAwardsList = ticketAwardsService.list(new LambdaQueryWrapper<TicketAwards>().eq(TicketAwards::getBoxId, boxId));
|
|
@@ -142,7 +142,7 @@ public class TicketBoxTask {
|
|
|
BigDecimal hitRate = new BigDecimal(awardsMap.get(subKey) * 100).divide(new BigDecimal(sumAwardsNum), 4, RoundingMode.DOWN);
|
|
|
// 误差率
|
|
|
BigDecimal misRate = ticketAwardsMap.get(subKey).getHitRate().subtract(hitRate).divide(hitRate, 2, RoundingMode.HALF_UP);
|
|
|
- if (misRate.abs().compareTo(new BigDecimal(0.01)) > 0) {
|
|
|
+ if (misRate.abs().compareTo(new BigDecimal(1)) > 0) {
|
|
|
LogUtil.error(logger, "中奖率与整个票组的中奖率误差大于0.01,pkgId:{0},票包奖项:{1},数量:{2},票包中奖率:{3},票组中奖率:{4}",
|
|
|
new Object[]{key, subKey, awardsMap.get(subKey), hitRate, ticketAwardsMap.get(subKey).getHitRate()});
|
|
|
}
|