| @@ -103,8 +103,8 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||||
| // 5. 扣减计算 | // 5. 扣减计算 | ||||
| Integer payment = cardInfo.getSaleAmount() * record.getDeductionAmount() / cardInfo.getAmount(); | 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 remain_real_pament = cardInfo.getRemainingShareFeeAmount()-real_payment; | ||||
| Integer remaingAmount = cardInfo.getRemainingAmount()-record.getDeductionAmount(); | Integer remaingAmount = cardInfo.getRemainingAmount()-record.getDeductionAmount(); | ||||
| @@ -146,8 +146,8 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||||
| Integer subsidyFee = (record.getDeductionAmount() - payment)* subsidyRate / 10000; | Integer subsidyFee = (record.getDeductionAmount() - payment)* subsidyRate / 10000; | ||||
| if(subsidyFee > 0) { | 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(); | WxMerchantSubsidy merchantSubsidy = new WxMerchantSubsidy(); | ||||
| merchantSubsidy.setId(idWorker.nextId()); | merchantSubsidy.setId(idWorker.nextId()); | ||||
| merchantSubsidy.setTenantId(record.getTenantId()); | merchantSubsidy.setTenantId(record.getTenantId()); | ||||
| @@ -168,8 +168,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| record.setShare(isShare.getCode()); | record.setShare(isShare.getCode()); | ||||
| if (isShare == EnumPayShare.YES) { | 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); | record.setShareAmount(share_amount); | ||||
| } | } | ||||
| @@ -429,8 +429,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| record.setShare(isShare.getCode()); | record.setShare(isShare.getCode()); | ||||
| if (isShare == EnumPayShare.YES) { | 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); | record.setShareAmount(share_amount); | ||||
| if (share_amount <= 0) { | if (share_amount <= 0) { | ||||
| isShare = EnumPayShare.NO; | isShare = EnumPayShare.NO; | ||||
| @@ -1501,8 +1501,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| public static void main(String[] args) { | public static void main(String[] args) { | ||||
| Integer v = 50; | Integer v = 50; | ||||
| Integer rate = 6; | 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); | System.out.println("share value " + share_amount); | ||||
| } | } | ||||
| } | } | ||||
| @@ -208,7 +208,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||||
| int baseScore = busRule.getInteger(WxScoreRules.SCORE); // 消费增长积分 | int baseScore = busRule.getInteger(WxScoreRules.SCORE); // 消费增长积分 | ||||
| // 4. 计算成长值 | // 4. 计算成长值 | ||||
| Double dScoreT = Math.ceil(order.getPayment() * 1.0d / priceCondition * baseScore); | |||||
| Double dScoreT = Math.ceil(order.getPayment() * 1.0D / priceCondition * baseScore); | |||||
| addScoreNumber = dScoreT.intValue(); | addScoreNumber = dScoreT.intValue(); | ||||
| // 5. 增长的成长值 | // 5. 增长的成长值 | ||||