修复更新汇率问题V2
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user