diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java index 78e6857d3..4894aa730 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java @@ -103,8 +103,8 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { // 5. 扣减计算 Integer payment = cardInfo.getSaleAmount() * record.getDeductionAmount() / cardInfo.getAmount(); - Double dChargeFee = Math.ceil(payment * 1.0D * payAccount.getRate() / 10000); - Integer real_payment = payment - dChargeFee.intValue(); + Integer dChargeFee = Math.round(payment * 1.0F * payAccount.getRate() / 10000); + Integer real_payment = payment - dChargeFee; // 6 insert card_spend record.setId(idWorker.nextId()); @@ -138,8 +138,8 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { Integer subsidyFee = (record.getDeductionAmount() - payment)* subsidyRate / 10000; if(subsidyFee > 0) { // 有补贴时入库 - Double dSubChargeFee = Math.ceil(subsidyFee * 1.0D * payAccount.getRate() / 10000); - Integer realSubsidyFee = subsidyFee - dSubChargeFee.intValue(); + Integer dSubChargeFee = Math.round(subsidyFee * 1.0F * payAccount.getRate() / 10000); + Integer realSubsidyFee = subsidyFee - dSubChargeFee; WxMerchantSubsidy merchantSubsidy = new WxMerchantSubsidy(); merchantSubsidy.setId(idWorker.nextId()); merchantSubsidy.setTenantId(record.getTenantId()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java index c5e05bf04..1314d50a1 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -1501,8 +1501,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { public static void main(String[] args) { Integer v = 50; Integer rate = 6; - Double dChargeFee = Math.ceil(v * 1.0D * 6 / 10000); - Integer share_amount = v - dChargeFee.intValue(); + Integer dChargeFee = Math.round(v * 1.0F * 60 / 10000); + Integer share_amount = v - dChargeFee; System.out.println("share value " + share_amount); } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java index c0fed3862..92a9e8725 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java @@ -208,7 +208,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { int baseScore = busRule.getInteger(WxScoreRules.SCORE); // 消费增长积分 // 4. 计算成长值 - Long dScoreT = Math.round(order.getPayment() * 1.0d / priceCondition * baseScore); + Double dScoreT = Math.ceil(order.getPayment() * 1.0d / priceCondition * baseScore); addScoreNumber = dScoreT.intValue(); // 5. 增长的成长值