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

处理更新报价后驾意险产品的保费的问题

lixiaolong 1 месяц назад
Родитель
Сommit
ae96827bdb

+ 4 - 3
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -941,9 +941,10 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             List<InsOrdersAccidentalDriving> accidentalDrivingList = insOrdersAccidentalDrivingService
                     .list(new LambdaQueryWrapper<InsOrdersAccidentalDriving>().eq(InsOrdersAccidentalDriving::getOrderNo, ordersNo));
             if (CollectionUtil.isNotEmpty(accidentalDrivingList) && jyPremium != null) {
-                // 如果只有一个驾意险产品,直接设置其保费为 niPremium
-                if (accidentalDrivingList.size() == 1) {
-                    accidentalDrivingList.get(0).setAmount(jyPremium.toString());
+                // 按保费乘以数量计算每个驾意险的总保费
+                for (InsOrdersAccidentalDriving driving : accidentalDrivingList){
+                    BigDecimal perPremium = jyPremium.multiply(new BigDecimal(driving.getQuantity())).setScale(2, java.math.RoundingMode.HALF_UP);
+                    driving.setAmount(perPremium.toString());
                 }
                 insOrdersAccidentalDrivingService.updateBatchById(accidentalDrivingList);
             }