|
@@ -985,25 +985,34 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
dayNTotalFieldMap.getT2().set(vo, RechargeTrendVO.builder()
|
|
|
.rechargeMoney(dNAmount)
|
|
|
.rechargeUserCount(Long.valueOf(temps[2]))
|
|
|
- .increase(dNAmount.divide(vo.getCost(), 4, RoundingMode.HALF_UP))
|
|
|
- .back(d1ToDNTotalAmount.divide(vo.getCost(), 4, RoundingMode.HALF_UP))
|
|
|
- .multiples(d1ToDNTotalAmount.divide(buyAmountD1, 4, RoundingMode.HALF_UP))
|
|
|
+ .increase(vo.getCost().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO :
|
|
|
+ dNAmount.divide(vo.getCost(), 4, RoundingMode.HALF_UP))
|
|
|
+ .back(vo.getCost().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO :
|
|
|
+ d1ToDNTotalAmount.divide(vo.getCost(), 4, RoundingMode.HALF_UP))
|
|
|
+ .multiples(buyAmountD1.compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO :
|
|
|
+ d1ToDNTotalAmount.divide(buyAmountD1, 4, RoundingMode.HALF_UP))
|
|
|
.build());
|
|
|
} else if (temps[3].equals("nature")) {
|
|
|
dayNTotalFieldMap.getT2().set(vo, RechargeTrendVO.builder()
|
|
|
.rechargeMoney(dNAmount)
|
|
|
.rechargeUserCount(Long.valueOf(temps[2]))
|
|
|
- .increase(dNAmount.divide(vo.getCost(), 4, RoundingMode.HALF_UP))
|
|
|
- .back(d1ToDNTotalAmount.divide(vo.getCost(), 4, RoundingMode.HALF_UP))
|
|
|
- .multiples(d1ToDNTotalAmount.divide(natureAmountD1, 4, RoundingMode.HALF_UP))
|
|
|
+ .increase(vo.getCost().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO :
|
|
|
+ dNAmount.divide(vo.getCost(), 4, RoundingMode.HALF_UP))
|
|
|
+ .back(vo.getCost().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO :
|
|
|
+ d1ToDNTotalAmount.divide(vo.getCost(), 4, RoundingMode.HALF_UP))
|
|
|
+ .multiples(natureAmountD1.compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO :
|
|
|
+ d1ToDNTotalAmount.divide(natureAmountD1, 4, RoundingMode.HALF_UP))
|
|
|
.build());
|
|
|
} else {
|
|
|
dayNTotalFieldMap.getT2().set(vo, RechargeTrendVO.builder()
|
|
|
.rechargeMoney(dNAmount)
|
|
|
.rechargeUserCount(Long.valueOf(temps[2]))
|
|
|
- .increase(dNAmount.divide(vo.getCost(), 4, RoundingMode.HALF_UP))
|
|
|
- .back(d1ToDNTotalAmount.divide(vo.getCost(), 4, RoundingMode.HALF_UP))
|
|
|
- .multiples(d1ToDNTotalAmount.divide(amountD1, 4, RoundingMode.HALF_UP))
|
|
|
+ .increase(vo.getCost().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO :
|
|
|
+ dNAmount.divide(vo.getCost(), 4, RoundingMode.HALF_UP))
|
|
|
+ .back(vo.getCost().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO :
|
|
|
+ d1ToDNTotalAmount.divide(vo.getCost(), 4, RoundingMode.HALF_UP))
|
|
|
+ .multiples(amountD1.compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO :
|
|
|
+ d1ToDNTotalAmount.divide(amountD1, 4, RoundingMode.HALF_UP))
|
|
|
.build());
|
|
|
}
|
|
|
|