Просмотр исходного кода

[微信分账][修改]:微信分账支持四舍五入

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
9a88b19512
3 измененных файлов: 7 добавлений и 7 удалений
  1. +4
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java
  2. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java
  3. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java

+ 4
- 4
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());


+ 2
- 2
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);
}
}

+ 1
- 1
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. 增长的成长值


Загрузка…
Отмена
Сохранить