Forráskód Böngészése

报价时生成驾意险数据
撤销付款二维码时 更新订单状态

Qchen 9 hónapja
szülő
commit
3963a9c77a

+ 1 - 1
commons/src/main/java/com/jzg/commons/entity/dto/AgreementEditParam.java

@@ -42,7 +42,7 @@ public class AgreementEditParam {
 
     @Schema(description = "api类型")
     @NotNull(message = "请选择api类型")
-    private Integer apiType;
+    private String apiType;
 
     @Schema(description = "结算周期")
     @NotNull(message = "请输入结算周期")

+ 4 - 1
commons/src/main/java/com/jzg/commons/entity/orders/po/InsOrdersAccidentalDriving.java

@@ -24,5 +24,8 @@ public class InsOrdersAccidentalDriving {
     private String riskName;
 
     @Schema(description = "驾意险份数")
-    private String quantity;
+    private int quantity;
+
+    @Schema(description = "驾意险保费")
+    private String amount;
 }

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/quote/vo/AccidentalDrivingVo.java

@@ -67,4 +67,7 @@ public class AccidentalDrivingVo implements Serializable {
     @Schema(description = "总保费")
     private String sumPremium;
 
+    @Schema(description = "保费")
+    private String premium;
+
 }

+ 3 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/InsOrdersAccidentalDrivingService.java

@@ -1,7 +1,10 @@
 package com.jzg.quotation.summary.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.jzg.commons.entity.orders.po.InsOrders;
 import com.jzg.commons.entity.orders.po.InsOrdersAccidentalDriving;
+import com.jzg.commons.entity.quote.vo.QuoteVo;
 
 public interface InsOrdersAccidentalDrivingService extends IService<InsOrdersAccidentalDriving> {
+    void createAccidentalDriving(InsOrders insOrders, QuoteVo quoteVo);
 }

+ 21 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersAccidentalDrivingServiceImpl.java

@@ -1,11 +1,17 @@
 package com.jzg.quotation.summary.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jzg.commons.entity.orders.po.InsOrders;
 import com.jzg.commons.entity.orders.po.InsOrdersAccidentalDriving;
+import com.jzg.commons.entity.quote.vo.AccidentalDrivingVo;
+import com.jzg.commons.entity.quote.vo.QuoteVo;
 import com.jzg.quotation.summary.mapper.InsOrdersAccidentalDrivingMapper;
 import com.jzg.quotation.summary.service.InsOrdersAccidentalDrivingService;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @author quchen
  * @date 2025/7/3 8:46
@@ -13,4 +19,19 @@ import org.springframework.stereotype.Service;
 
 @Service
 public class InsOrdersAccidentalDrivingServiceImpl extends ServiceImpl<InsOrdersAccidentalDrivingMapper, InsOrdersAccidentalDriving> implements InsOrdersAccidentalDrivingService {
+    @Override
+    public void createAccidentalDriving(InsOrders insOrders, QuoteVo quoteVo) {
+        List<AccidentalDrivingVo> insOrdersAccidentalDrivings = quoteVo.getAccidentalDrivings();
+        List<InsOrdersAccidentalDriving> insOrdersAccidentalDrivingList = new ArrayList<>();
+        for (AccidentalDrivingVo insOrdersAccidental : insOrdersAccidentalDrivings) {
+            InsOrdersAccidentalDriving insOrdersAccidentalDriving = new InsOrdersAccidentalDriving();
+            insOrdersAccidentalDriving.setOrderNo(insOrders.getId());
+            insOrdersAccidentalDriving.setRiskCode(insOrdersAccidental.getRiskCode());
+            insOrdersAccidentalDriving.setRiskName(insOrdersAccidental.getRiskName());
+            insOrdersAccidentalDriving.setQuantity(insOrdersAccidental.getQuantity());
+            insOrdersAccidentalDriving.setAmount(insOrdersAccidental.getPremium());
+            insOrdersAccidentalDrivingList.add(insOrdersAccidentalDriving);
+        }
+        this.saveBatch(insOrdersAccidentalDrivingList);
+    }
 }

+ 2 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersQrcodeServiceImpl.java

@@ -78,6 +78,8 @@ public class InsOrdersQrcodeServiceImpl extends ServiceImpl<InsOrdersQrcodeMappe
     @Override
     public void destroyQrCode(String orderNo) {
         InsOrders orders = insOrdersService.getById(orderNo);
+        orders.setOrderStatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
+        insOrdersService.updateById(orders); // 撤销付款二维码 更新订单状态
         InsOrdersQrcode insOrdersQrcode = getIsExit(orderNo);
         insOrdersQrcode.setQrcodeStatus(0);
         insOrdersQrcode.setDestructionCodeTime(LocalDateTime.now());

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

@@ -100,6 +100,8 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
     private final InsOrderAdjustInfoService orderAdjustInfoService;
 
+    private final InsOrdersAccidentalDrivingService insOrdersAccidentalDrivingService;
+
     @Autowired
     @Lazy
     private InsFeeAuditService insFeeAuditService;
@@ -419,6 +421,21 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         if (insOrdersVo.getInsOrdersPdfUrl() ==  null) {
             insOrdersVo.setInsOrdersPdfUrl(new InsOrdersPdfUrl());
         }
+        // 驾意险信息
+        List<InsOrdersAccidentalDriving> insOrdersAccidentalDrivings = insOrdersAccidentalDrivingService
+                .list(new LambdaQueryWrapper<InsOrdersAccidentalDriving>().eq(InsOrdersAccidentalDriving::getOrderNo, id));
+        if (insOrdersAccidentalDrivings != null) {
+            List<AccidentalDrivingVo> accidentalDrivingVos = new ArrayList<>();
+            for (InsOrdersAccidentalDriving insOrdersAccidentalDriving : insOrdersAccidentalDrivings) {
+                AccidentalDrivingVo accidentalDrivingVo = new AccidentalDrivingVo();
+                accidentalDrivingVo.setProductCode(insOrdersAccidentalDriving.getRiskCode());
+                accidentalDrivingVo.setProductName(insOrdersAccidentalDriving.getRiskName());
+                accidentalDrivingVo.setQuantity(insOrdersAccidentalDriving.getQuantity());
+                accidentalDrivingVo.setSumAmount(insOrdersAccidentalDriving.getAmount());
+                accidentalDrivingVos.add(accidentalDrivingVo);
+            }
+            insOrdersVo.setAccidentalDrivings(accidentalDrivingVos);
+        }
         // 特约查询
         List<InsOrdersClause> insOrdersClauseList = insOrdersClauseService
                 .list(new LambdaQueryWrapper<InsOrdersClause>().eq(InsOrdersClause::getOrderNo, id));
@@ -884,6 +901,10 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         if (quoteVo.getSpecialInfoVo() != null) {
             insOrdersClauseService.createClause(insOrders,quoteVo);
         }
+        // 保存订单驾意险
+        if (quoteVo.getAccidentalDrivings() != null) {
+            insOrdersAccidentalDrivingService.createAccidentalDriving(insOrders,quoteVo);
+        }
         return insOrders.getId();
     }