785834757 2 år sedan
förälder
incheckning
21484915d6

+ 0 - 1
src/main/java/com/ydtech/modules/ins/model/vo/CarInfoVo.java

@@ -182,5 +182,4 @@ public class CarInfoVo implements Serializable {
         return EnergyType.isNewEnergy(energyType);
     }
 
-
 }

+ 36 - 40
src/main/java/com/ydtech/modules/order/entity/InsOrders.java

@@ -15,8 +15,10 @@ import com.ydtech.constants.enums.dict.agreement.ProductsType;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.model.SysDept;
 import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.ins.model.OwnerInfo;
 import com.ydtech.modules.ins.model.vo.KindInfoVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
+import com.ydtech.modules.order.entity.po.*;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import lombok.*;
 
@@ -66,12 +68,6 @@ public class InsOrders implements Serializable {
     @TableField(value = "orderstatus")
     private String orderstatus;
 
-    /**
-     * 车辆信息
-     */
-    @TableField(value = "carinfo", typeHandler = FastjsonTypeHandler.class)
-    private JSONObject carinfo;
-
     /**
      * 用户id
      */
@@ -104,23 +100,6 @@ public class InsOrders implements Serializable {
     @TableField(value = "deptname")
     private String deptname;
 
-    /**
-     * 车主信息
-     */
-    @TableField(value = "ownerinfo", typeHandler = FastjsonTypeHandler.class)
-    private JSONObject ownerinfo;
-
-    /**
-     * 投保人信息
-     */
-    @TableField(value = "applyinfo", typeHandler = FastjsonTypeHandler.class)
-    private JSONObject applyinfo;
-
-    /**
-     * 被保人信息
-     */
-    @TableField(value = "insureinfo", typeHandler = FastjsonTypeHandler.class)
-    private JSONObject insureinfo;
 
     /**
      * 协议id
@@ -189,26 +168,42 @@ public class InsOrders implements Serializable {
     @TableField(value = "syenddate")
     private String syenddate;
 
+
+    @TableField(exist = false)
+    private List<InsAreaCompany> insAreaCompanyList; //子级集合
+
     /**
-     * 商业 交强
+     * 车辆信息
      */
-    @TableField(value = "risk", typeHandler = FastjsonTypeHandler.class)
-    private JSONArray risk;
+    @TableField(exist = false)
+    private InsOrdersCarInfo carinfo;
 
     /**
-     * 商业险信息
+     * 投保人信息
      */
-    @TableField(value = "king", typeHandler = FastjsonTypeHandler.class)
-    private JSONArray king;
+    @TableField(exist = false)
+    private InsOrdersCarUserInfo applyinfo;
 
     /**
-     * 车船税信息
+     * 车信息
      */
-    @TableField(value = "vehicle_and_vessel_tax", typeHandler = FastjsonTypeHandler.class)
-    private JSONObject vehicleAndVesselTax;
+    @TableField(exist = false)
+    private InsOrdersCarUserInfo ownerinfo;
 
+    /**
+     * 被保人信息
+     */
     @TableField(exist = false)
-    private List<InsAreaCompany> insAreaCompanyList; //子级集合
+    private InsOrdersCarUserInfo insureinfo;
+
+//    @TableField(exist = false)
+//    private List<InsOrdersRisk> risk;
+
+//    @TableField(exist = false)
+//    private List<InsOrdersKind> kind;
+
+    @TableField(exist = false)
+    private InsOrdersTax vehicleAndVesselTax;
 
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
@@ -225,16 +220,17 @@ public class InsOrders implements Serializable {
         this.setLicenseno(quoteInfoVo.getCarInfo().getLicenseNo());
 
         // 2.1 车辆信息
-        this.setCarinfo(JSON.parseObject(JSON.toJSONString(quoteInfoVo.getCarInfo())));
+
+//        this.setCarinfo(JSON.parseObject(JSON.toJSONString(quoteInfoVo.getCarInfo())));
         this.setUserid(user.getId());
         this.setUsername(user.getName());
         this.setDeptid(user.getDeptId());
         this.setDeptname(dept == null ? "" : dept.getName());
 
         // 2.2 人员信息
-        this.setOwnerinfo(JSON.parseObject(JSON.toJSONString(quoteInfoVo.getOwnerInfo())));
-        this.setApplyinfo(JSON.parseObject(JSON.toJSONString(quoteInfoVo.getPolicyHolderInfo())));
-        this.setInsureinfo(JSON.parseObject(JSON.toJSONString(quoteInfoVo.getInsuredPersonInfo())));
+//        this.setOwnerinfo(JSON.parseObject(JSON.toJSONString(quoteInfoVo.getOwnerInfo())));
+//        this.setApplyinfo(JSON.parseObject(JSON.toJSONString(quoteInfoVo.getPolicyHolderInfo())));
+//        this.setInsureinfo(JSON.parseObject(JSON.toJSONString(quoteInfoVo.getInsuredPersonInfo())));
         this.setInsuredname(quoteInfoVo.getPolicyHolderInfo().getName());
 
         List<RiskInfoVo> risks = quoteInfoVo.getRiskList();
@@ -244,15 +240,15 @@ public class InsOrders implements Serializable {
         this.insuranceInformation(risks, kinds);
 
         // 2.3.1 险种信息
-        this.setRisk(JSON.parseArray(JSON.toJSONString(quoteInfoVo.getRiskList())));
-        this.setKing(JSON.parseArray(JSON.toJSONString(quoteInfoVo.getKindList())));
+//        this.setRisk(JSON.parseArray(JSON.toJSONString(quoteInfoVo.getRiskList())));
+//        this.setKing(JSON.parseArray(JSON.toJSONString(quoteInfoVo.getKindList())));
 
         // 2.4 产品信息
         this.productInformation(risks, kinds);
         this.setCreatetime(LocalDateTime.now());
 
         // 2.5 车船税信息
-        this.setVehicleAndVesselTax(JSON.parseObject(JSON.toJSONString(quoteInfoVo.getVehicleAndVesselTax())));
+//        this.setVehicleAndVesselTax(JSON.parseObject(JSON.toJSONString(quoteInfoVo.getVehicleAndVesselTax())));
     }
 
     /**

+ 8 - 0
src/main/java/com/ydtech/modules/order/service/InsOrdersService.java

@@ -7,6 +7,7 @@ import com.ydtech.modules.ins.model.ya.CarModelDTO;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
+import com.ydtech.modules.order.entity.bo.InsOrdersBo;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
 import com.ydtech.modules.order.entity.vo.*;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
@@ -151,4 +152,11 @@ public interface InsOrdersService extends IService<InsOrders> {
      *  @Description: 查询子订单的数据列表
      */
     BasePageResult<InsOrders> queryPageSubOrders(OrderTaskPoolsVo orderTaskPoolsVo);
+
+    /**
+     * 拆表之后的订单查询 2024-04-19
+     * @param orderNo
+     * @return
+     */
+    InsOrdersBo queryInsOrders(String orderNo);
 }

+ 33 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -48,6 +48,7 @@ import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.InsOrdersTrack;
+import com.ydtech.modules.order.entity.bo.InsOrdersBo;
 import com.ydtech.modules.order.entity.bo.UnderwritingRulesBo;
 import com.ydtech.modules.order.entity.crawler.response.CrawlerVerifyPaymentResponse;
 import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
@@ -841,4 +842,36 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                 orderVoPage.getPages()
                 , orderVoPage.getRecords());
     }
+
+    /**
+     * 拆表后查询订单信息
+     * @param orderNo
+     * @return
+     */
+    @Override
+    public InsOrdersBo queryInsOrders(String orderNo) {
+        InsOrdersBo insOrdersBo = new InsOrdersBo();
+        InsOrders insOrders = baseMapper.selectById(orderNo);
+        if(insOrders == null){
+            return null;
+        }
+        BeanUtils.copyProperties(insOrders,insOrdersBo);
+        List<String> originalList = new ArrayList<>();
+        originalList.add(insOrders.getOwnerId());
+        originalList.add(insOrders.getApplyId());
+        originalList.add(insOrders.getInsureId());
+        //车主id去重
+        List<String> uniqueList = originalList.stream()
+                .distinct()
+                .collect(Collectors.toList());
+
+        List<InsOrdersCarUserInfo> insOrdersCarUserInfos = insOrdersCarUserInfoService.listByIds(uniqueList);
+        //设置车主信息
+        insOrdersBo.setCarUserInfo(insOrders, insOrdersCarUserInfos);
+        //获取车辆信息
+        InsOrdersCarInfo insOrdersCarInfo = insOrdersCarInfoService.getById(insOrders.getCarInfoId());
+        insOrdersBo.setCarAllInfo(insOrdersCarInfo);
+        return insOrdersBo;
+
+    }
 }