|
|
@@ -195,6 +195,7 @@ import java.beans.PropertyDescriptor;
|
|
|
import java.io.ByteArrayInputStream;
|
|
|
import java.io.ByteArrayOutputStream;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.nio.channels.Pipe;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDate;
|
|
|
@@ -431,7 +432,11 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
|
|
|
PipeTaskOrderDO taskOrderDO = pipeTaskOrderMapper.selectById(id);
|
|
|
PipeTaskOrderRespVO TaskOrderRespVO = BeanUtils.toBean(taskOrderDO, PipeTaskOrderRespVO.class);
|
|
|
- TaskOrderRespVO.setPayAmount(taskOrderDO.getActualAmount());
|
|
|
+ // 计算支付金额,增加判空条件
|
|
|
+ BigDecimal serviceAmount = Optional.ofNullable(taskOrderDO.getServiceAmount()).orElse(BigDecimal.ZERO);
|
|
|
+ BigDecimal shouldAmount = Optional.ofNullable(taskOrderDO.getShouldAmount()).orElse(BigDecimal.ZERO);
|
|
|
+ BigDecimal reduceFee = Optional.ofNullable(taskOrderDO.getReduceFee()).orElse(BigDecimal.ZERO);
|
|
|
+ TaskOrderRespVO.setPayAmount(serviceAmount.add(shouldAmount).add(reduceFee));
|
|
|
// 邮箱
|
|
|
TaskOrderRespVO.setUnitEmail(taskOrderDO.getEmail());
|
|
|
|
|
|
@@ -2024,13 +2029,19 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
reduceFee = reduceFee.add(reportDO.getFee());
|
|
|
continue;
|
|
|
}
|
|
|
- orderFee = orderFee.add(reportDO.getFee());
|
|
|
if ("2".equals(reportDO.getFeeType())) {
|
|
|
serviceAmount = serviceAmount.add(reportDO.getFee());
|
|
|
+ orderFee = orderFee.add(reportDO.getFee());
|
|
|
continue;
|
|
|
}
|
|
|
- if (!isExempt && "1".equals(reportDO.getFeeType())) {
|
|
|
+ if ("1".equals(reportDO.getFeeType())) {
|
|
|
shouldAmount = shouldAmount.add(reportDO.getFee());
|
|
|
+ BigDecimal reduceRadioFee = reportDO.getFee();
|
|
|
+ if (pipeTaskOrderDO.getReductionRadio() != null){
|
|
|
+ double v = 1 - pipeTaskOrderDO.getReductionRadio().doubleValue();
|
|
|
+ reduceRadioFee = reduceRadioFee.multiply(new BigDecimal(v)).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ }
|
|
|
+ orderFee = orderFee.add(reduceRadioFee);
|
|
|
}
|
|
|
}
|
|
|
}
|