Commit db52ebdb by zhangxingmin

Merge branch 'dev_zxm_260430' into test

# Conflicts:
#	yd-csf-service/src/main/java/com/yd/csf/service/vo/FortuneVO.java
parents 5a43d18c 91ac4423
...@@ -365,6 +365,7 @@ public class FortuneVO implements Serializable { ...@@ -365,6 +365,7 @@ public class FortuneVO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 对象转封装类 * 对象转封装类
* *
...@@ -377,16 +378,27 @@ public class FortuneVO implements Serializable { ...@@ -377,16 +378,27 @@ public class FortuneVO implements Serializable {
} }
FortuneVO fortuneVO = new FortuneVO(); FortuneVO fortuneVO = new FortuneVO();
BeanUtils.copyProperties(fortune, fortuneVO); BeanUtils.copyProperties(fortune, fortuneVO);
// 计算已出账金额和待出账金额
BigDecimal currentPaymentHkdAmount = "2".equals(fortune.getStatus()) ? fortune.getCurrentPaymentHkdAmount() : BigDecimal.ZERO; // 安全获取港币金额,避免 null
BigDecimal hkdAmount = ObjectUtil.defaultIfNull(fortune.getHkdAmount(), BigDecimal.ZERO);
// 已出账金额(status=2 时取 currentPaymentHkdAmount,否则为 0)
BigDecimal currentPaymentHkdAmount = "2".equals(fortune.getStatus())
? ObjectUtil.defaultIfNull(fortune.getCurrentPaymentHkdAmount(), BigDecimal.ZERO)
: BigDecimal.ZERO;
fortuneVO.setFortunePaidAmount(currentPaymentHkdAmount); fortuneVO.setFortunePaidAmount(currentPaymentHkdAmount);
fortuneVO.setFortuneUnpaidAmount(NumberUtil.sub(fortune.getHkdAmount(), currentPaymentHkdAmount)); fortuneVO.setFortuneUnpaidAmount(NumberUtil.sub(hkdAmount, currentPaymentHkdAmount));
// 计算已出账比例
BigDecimal currentPaymentRatio = NumberUtil // 计算已出账比例,分母为 0 时直接设为 0%
.div(currentPaymentHkdAmount, fortune.getHkdAmount(), 4) BigDecimal currentPaymentRatio;
.multiply(BigDecimal.valueOf(100)); if (hkdAmount.compareTo(BigDecimal.ZERO) == 0) {
currentPaymentRatio = BigDecimal.ZERO;
} else {
currentPaymentRatio = NumberUtil.div(currentPaymentHkdAmount, hkdAmount, 4)
.multiply(BigDecimal.valueOf(100));
}
fortuneVO.setCurrentPaymentRatio(currentPaymentRatio); fortuneVO.setCurrentPaymentRatio(currentPaymentRatio);
// 计算剩余出账比例
fortuneVO.setFortuneUnpaidRatio(BigDecimal.valueOf(100).subtract(currentPaymentRatio)); fortuneVO.setFortuneUnpaidRatio(BigDecimal.valueOf(100).subtract(currentPaymentRatio));
// fortuneVO.setCurrency(CurrencyEnum.toLabel(fortune.getCurrency())); // fortuneVO.setCurrency(CurrencyEnum.toLabel(fortune.getCurrency()));
...@@ -394,4 +406,5 @@ public class FortuneVO implements Serializable { ...@@ -394,4 +406,5 @@ public class FortuneVO implements Serializable {
return fortuneVO; return fortuneVO;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment