From 34a738a18e5c1ef209bc8dbc569a7f66447fdcdc Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 18 Dec 2018 17:34:35 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=BE=AE=E4=BF=A1=E5=88=86=E8=B4=A6][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9]:=E5=88=86=E8=B4=A6=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E6=89=8B=E7=BB=AD=E8=B4=B9=E5=A4=A9=E8=8A=B1=E6=9D=BF=E7=AE=97?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxCardSpendServiceImpl.java | 8 ++++---- .../iformall/service/impl/WxPayOrderServiceImpl.java | 12 ++++++------ .../service/impl/WxScoreRulesServiceImpl.java | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) 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 192e04c91..e9020a5b5 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(); - Integer dChargeFee = Math.round(payment * 1.0F * payAccount.getRate() / 10000); - Integer real_payment = payment - dChargeFee; + Double dChargeFee = Math.ceil(payment * 1.0D * payAccount.getRate() / 10000); + Integer real_payment = payment - dChargeFee.intValue(); Integer remain_real_pament = cardInfo.getRemainingShareFeeAmount()-real_payment; Integer remaingAmount = cardInfo.getRemainingAmount()-record.getDeductionAmount(); @@ -146,8 +146,8 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { Integer subsidyFee = (record.getDeductionAmount() - payment)* subsidyRate / 10000; if(subsidyFee > 0) { // 有补贴时入库 - Integer dSubChargeFee = Math.round(subsidyFee * 1.0F * payAccount.getRate() / 10000); - Integer realSubsidyFee = subsidyFee - dSubChargeFee; + Double dSubChargeFee = Math.ceil(subsidyFee * 1.0D * payAccount.getRate() / 10000); + Integer realSubsidyFee = subsidyFee - dSubChargeFee.intValue(); 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 1314d50a1..b9968df10 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -168,8 +168,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { record.setShare(isShare.getCode()); if (isShare == EnumPayShare.YES) { // 分账金额 - Integer dChargeFee = Math.round(record.getPayAmount() * 1.0F * payAccount.getRate() / 10000); - Integer share_amount = record.getPayAmount() - dChargeFee; + Double dChargeFee = Math.ceil(record.getPayAmount() * 1.0D * payAccount.getRate() / 10000); + Integer share_amount = record.getPayAmount() - dChargeFee.intValue(); record.setShareAmount(share_amount); } @@ -429,8 +429,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { record.setShare(isShare.getCode()); if (isShare == EnumPayShare.YES) { // 分账金额 - Integer dChargeFee = Math.round(record.getPayAmount() * 1.0F * payAccount.getRate() / 10000); - Integer share_amount = record.getPayAmount() - dChargeFee; + Double dChargeFee = Math.ceil(record.getPayAmount() * 1.0D * payAccount.getRate() / 10000); + Integer share_amount = record.getPayAmount() - dChargeFee.intValue(); record.setShareAmount(share_amount); if (share_amount <= 0) { isShare = EnumPayShare.NO; @@ -1501,8 +1501,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { public static void main(String[] args) { Integer v = 50; Integer rate = 6; - Integer dChargeFee = Math.round(v * 1.0F * 60 / 10000); - Integer share_amount = v - dChargeFee; + Double dChargeFee = Math.ceil(v * 1.0D * 60 / 10000); + Integer share_amount = v - dChargeFee.intValue(); 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 92a9e8725..138fc1c85 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. 计算成长值 - Double dScoreT = Math.ceil(order.getPayment() * 1.0d / priceCondition * baseScore); + Double dScoreT = Math.ceil(order.getPayment() * 1.0D / priceCondition * baseScore); addScoreNumber = dScoreT.intValue(); // 5. 增长的成长值