修复更新汇率问题V2

This commit is contained in:
liaozetao
2023-08-24 18:19:51 +08:00
parent 0dfeeec4a9
commit 39d25697ed

View File

@@ -186,7 +186,7 @@ public class ChargeChannelAdminServiceImpl implements ChargeChannelAdminService
*/
private BigDecimal calc(Long money, BigDecimal handlingRate, BigDecimal rate) {
if (money != null && handlingRate != null && rate != null) {
return BigDecimal.valueOf(money).divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP).divide(rate, 2, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(1000)).multiply(BigDecimal.valueOf(100).subtract(handlingRate).divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP));
return BigDecimal.valueOf(money).divide(BigDecimal.valueOf(100), 4, BigDecimal.ROUND_HALF_UP).divide(rate, 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(1000)).multiply(BigDecimal.valueOf(100).subtract(handlingRate).divide(BigDecimal.valueOf(100), 4, BigDecimal.ROUND_HALF_UP)).setScale(0, BigDecimal.ROUND_HALF_UP);
} else {
return BigDecimal.ZERO;
}
@@ -211,7 +211,7 @@ public class ChargeChannelAdminServiceImpl implements ChargeChannelAdminService
Long chargeGoldNum = chargeProd.getChargeGoldNum();
BigDecimal handlingRate = chargeProd.getHandlingRate();
log.info("origin money : {}, usdRate : {}, chargeGoldNum : {}, handlingRate : {}", money, usdRate, chargeGoldNum, handlingRate);
BigDecimal newChargeGoldNum = calc(money, handlingRate, usdRate);
BigDecimal newChargeGoldNum = calc(money, handlingRate, newRate);
log.info("update money : {}, usdRate : {}, chargeGoldNum : {}, handlingRate : {}", money, newRate, newChargeGoldNum, handlingRate);
chargeProd.setUsdRate(newRate);
chargeProd.setChargeGoldNum(newChargeGoldNum.longValue());
@@ -219,4 +219,8 @@ public class ChargeChannelAdminServiceImpl implements ChargeChannelAdminService
}
jedisService.del(RedisKey.charge_prod.getKey());
}
public static void main(String[] args) {
System.out.println();
}
}