diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java index 27892435d..6a77fa336 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java @@ -103,4 +103,8 @@ public class WxCreditHistory extends BaseTenantEntity { } return spendStr; } + + @TableField(exist = false) + @io.swagger.annotations.ApiModelProperty(value="是否积分按照支付比例",name="isCreditByPamentRate") + private boolean isCreditByPamentRate = true; } 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 ce83ee51a..febe30820 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java @@ -341,6 +341,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { creditHistory.setSpend(payment); }else if(coupon.getCardScoreRule().intValue() == EnumCardScoreRule.BY_PRICE.getCode().intValue()){ creditHistory.setSpend(record.getDeductionAmount()); + creditHistory.setCreditByPamentRate(false); } //如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户 creditHistory.setMerchantId(record.getMerchantId()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java index 76e988bb4..671758d84 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java @@ -1038,8 +1038,12 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { // 4. 计算积分 if (record.getSpend() >= priceCondition.intValue()) { - Double dScoreT = Math.floor(record.getSpend() * 1.0D / priceCondition * baseScore); - addCreditNumber = dScoreT.intValue(); + if (record.isCreditByPamentRate()) { + Double dScoreT = Math.floor(record.getSpend() * 1.0D / priceCondition * baseScore); + addCreditNumber = dScoreT.intValue(); + }else { + addCreditNumber = record.getSpend(); + } log.info("CREDIT:" + busRule.toJSONString() + "\nAddCredit: " + addCreditNumber); } else { log.info("CREDIT:" + busRule.toJSONString() + "\nAddCredit: 0, not touch credit limit");