Ver código fonte

华泰对接新建实体

cuixinpeng 2 anos atrás
pai
commit
5b70cfdb09

+ 2 - 2
src/main/java/com/ydtech/modules/order/controller/HuaTaiOrderApiController.java

@@ -61,11 +61,11 @@ public class HuaTaiOrderApiController {
         return this.huaTaiOrderApiService.audit(companyId);
     }
 
-/*    @PostMapping(value = "/submitImage")
+    @PostMapping(value = "/submitImage")
     @ApiOperation(value = "提交影像信息")
     public HttpResult<Object> submitImage(@RequestSingleParam(value = "companyId") String companyId) {
         return this.huaTaiOrderApiService.submitImage(companyId);
-    }*/
+    }
 
     @PostMapping("/getPolicyPrint")
     @ApiOperation(value = "电子保单")

+ 28 - 17
src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiSubmitRequest.java

@@ -6,7 +6,9 @@ import com.ydtech.modules.ins.model.vo.CarInfoVo;
 import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
 import com.ydtech.modules.ins.model.vo.KindInfoVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
+import com.ydtech.modules.ins.model.ya.YaQuoteInfoVo;
 import com.ydtech.modules.order.constants.InsuranceTypeCorrespondence;
+import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseRequest;
 import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseRequestHead;
 import com.ydtech.modules.order.entity.api.huatai.constants.HuaTaiTransCode;
@@ -23,6 +25,7 @@ import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
@@ -38,13 +41,19 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest  {
     @JSONField(name="businessData")
     //投保单信息
     private BusinessDataDto businessData;
-
+    //Y	机构代码
+    @JSONField(name="loginCom")
+    private String loginCom;
     @Override
     public void setHead(HuaTaiBaseRequestHead head) {
         super.setHead(head);
         super.getHead().setTransCode(HuaTaiTransCode.SUBMIT);
     }
 
+    public HuaTaiSubmitRequest (YaQuoteInfoVo yaQuoteInfoVo, InsAreaCompany insAreaCompany, HuaTaiConfigureParameters huaTaiConfigureParameters){
+        this.businessData = new BusinessDataDto(yaQuoteInfoVo,insAreaCompany,huaTaiConfigureParameters);
+        this.loginCom = huaTaiConfigureParameters.getComCode();
+    }
     @AllArgsConstructor
     @NoArgsConstructor
     @Data
@@ -64,19 +73,15 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest  {
         @JSONField(name="saleInfo")
         private SaleInfoDto saleInfo;
 
-        public BusinessDataDto(BaseQuoteInfoVo baseQuoteInfoVo, HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto, HuaTaiActualValueResponse actualValueResponse,  HuaTaiConfigureParameters huaTaiConfigureParameters) {
-            CarInfoVo carInfo = baseQuoteInfoVo.getCarInfo();
-            List<RiskInfoVo> riskList = baseQuoteInfoVo.getRiskList();
-            List<KindInfoVo> kindList = baseQuoteInfoVo.getKindList();
-            VehicleAndVesselTax vesselTax = baseQuoteInfoVo.getVehicleAndVesselTax();
-            CustomerInfoVo ownerInfo = baseQuoteInfoVo.getOwnerInfo();
-            CustomerInfoVo policyHolderInfo = baseQuoteInfoVo.getPolicyHolderInfo();
-            CustomerInfoVo insuredPersonInfo = baseQuoteInfoVo.getInsuredPersonInfo();
-            int i = Integer.parseInt(carInfo.getSeatCount());
+        public BusinessDataDto(YaQuoteInfoVo yaQuoteInfoVo,InsAreaCompany insAreaCompany, HuaTaiConfigureParameters huaTaiConfigureParameters) {
+            List<RiskInfoVo> riskList = yaQuoteInfoVo.getRiskList();
+            CustomerInfoVo ownerInfo = yaQuoteInfoVo.getOwnerInfo();
+            CustomerInfoVo policyHolderInfo = yaQuoteInfoVo.getPolicyHolderInfo();
+            CustomerInfoVo insuredPersonInfo = yaQuoteInfoVo.getInsuredPersonInfo();
             // 保单归属地
             this.businessMain = new BusinessMainDto(huaTaiConfigureParameters);
             // 保险信息
-            this.contract = new ContractDto().getContract(riskList,huaTaiConfigureParameters);
+            this.contract = new ContractDto().getContract(riskList,insAreaCompany,huaTaiConfigureParameters);
             // 客户信息
             this.customer = new CustomerDto().getCustomers(ownerInfo, policyHolderInfo, insuredPersonInfo);
             //销售信息
@@ -120,11 +125,11 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest  {
         @JSONField(name="engage")
         private List engage;
 
-        public List<ContractDto> getContract(List<RiskInfoVo> riskInfoVos, HuaTaiConfigureParameters huaTaiConfigureParameters) {
+        public List<ContractDto> getContract(List<RiskInfoVo> riskInfoVos,InsAreaCompany insAreaCompany, HuaTaiConfigureParameters huaTaiConfigureParameters) {
             List<ContractDto> contractDTOS = new ArrayList<>();
             for (RiskInfoVo riskInfoVo : riskInfoVos) {
                 ContractDto contractDto = new ContractDto();
-                this.contractMain = new ContractMainDto(riskInfoVo,huaTaiConfigureParameters);
+                this.contractMain = new ContractMainDto(riskInfoVo,insAreaCompany,huaTaiConfigureParameters);
                 contractDto.setContractMain(contractMain);
                 contractDTOS.add(contractDto);
             }
@@ -152,13 +157,19 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest  {
         private String expiryDate;
         //总签单保费
         @JSONField(name="totalPremium")
-        private String totalPremium;
+        private double totalPremium;
         //备注
         @JSONField(name="remark")
         private String remark;
 
-        public ContractMainDto(RiskInfoVo riskInfoVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
-            this.contractNo = "";
+        public ContractMainDto(RiskInfoVo riskInfoVo,InsAreaCompany insAreaCompany, HuaTaiConfigureParameters huaTaiConfigureParameters) {
+            if("0507".equals(riskInfoVo.getRiskCode())){
+                this.contractNo = insAreaCompany.getJqapplyno();
+                this.totalPremium = insAreaCompany.getJqpremium().doubleValue();
+            }else{
+                this.contractNo = insAreaCompany.getSyapplyno();
+                this.totalPremium = insAreaCompany.getSypremium().doubleValue();
+            }
             this.riskCode = InsuranceTypeCorrespondence.getHuaTaiRisk().get(riskInfoVo.getRiskCode());
             String startDate = riskInfoVo.getStartDate();
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@@ -175,7 +186,7 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest  {
                 this.validDate = startDate;
                 this.expiryDate = expiryDateTime.format(formatter);
             }
-            this.totalPremium = "";
+
 
         }
     }

+ 7 - 6
src/main/java/com/ydtech/modules/order/service/impl/HuaTaiOrderApiServiceImpl.java

@@ -2,6 +2,7 @@ package com.ydtech.modules.order.service.impl;
 
 import cn.hutool.core.util.ArrayUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.ydtech.constants.enums.InsuranceRisk;
 import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
@@ -10,6 +11,7 @@ import com.ydtech.exception.SystemException;
 import com.ydtech.modules.fee.service.FeeRuleSchemeService;
 import com.ydtech.modules.ins.model.request.Response;
 import com.ydtech.modules.ins.model.vo.*;
+import com.ydtech.modules.ins.model.ya.YaQuoteInfoVo;
 import com.ydtech.modules.ins.model.zm.ZmCarModel;
 import com.ydtech.modules.order.components.ConfigureParametersComponents;
 import com.ydtech.modules.order.components.huatai.HuaTaiRequestApiComponents;
@@ -152,12 +154,11 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
         // 1. 协议id获取配置实体
         HuaTaiConfigureParameters huaTaiConfigureParameters = configureParametersComponents.toEntity(HuaTaiConfigureParameters.class, insAreaCompany.getAgreementId());
-
         InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
-        JSONObject ownerinfo = insOrders.getApplyinfo();
-        CustomerInfoVo customerInfoVo = ownerinfo.toJavaObject(CustomerInfoVo.class);
+        YaQuoteInfoVo yaQuoteInfoVo = new YaQuoteInfoVo(insOrders);
+
         // 2. 提交核保
-        HuaTaiSubmitResponse response = submitForUnderwriting(insAreaCompany.getId(), insOrders.getFrameno(), customerInfoVo, huaTaiConfigureParameters);
+        HuaTaiSubmitResponse response = submitForUnderwriting(yaQuoteInfoVo,insAreaCompany, huaTaiConfigureParameters);
 //        // 3. 人工核保
 //        if (SubmitStatus.S_3.getCode().equals(response.getSubmitStatus())) {
 //            insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
@@ -333,8 +334,8 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
      * @param huaTaiConfigureParameters 华泰配置参数
      * @return 核保请求参数
      */
-    public HuaTaiSubmitResponse submitForUnderwriting(String orderNo, String frameNo, CustomerInfoVo customerInfoVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
-        HuaTaiSubmitRequest submitRequest = new HuaTaiSubmitRequest();
+    public HuaTaiSubmitResponse submitForUnderwriting(YaQuoteInfoVo yaQuoteInfoVo, InsAreaCompany insAreaCompany,HuaTaiConfigureParameters huaTaiConfigureParameters) {
+        HuaTaiSubmitRequest submitRequest = new HuaTaiSubmitRequest(yaQuoteInfoVo,insAreaCompany,huaTaiConfigureParameters);
 
         submitRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
         return huaTaiRequestApiComponents.submit(submitRequest, HuaTaiSubmitResponse.class);