Bläddra i källkod

Merge branch 'test-qc' into test-dj

# Conflicts:
#	src/main/java/com/ydtech/modules/order/service/impl/DaJiaOrderServiceImpl.java
dongxin 1 år sedan
förälder
incheckning
aa08247d90

+ 3 - 3
src/main/java/com/ydtech/modules/admin/service/SysAreaService.java

@@ -39,7 +39,7 @@ public interface SysAreaService extends IService<SysArea> {
      * @param address 地址
      * @return
      */
-    PersonAreaVo queryByAddress(String address, String idcard);
+    PersonAreaVo queryByAddress(String address, String idcard,String leaderIdcard);
 
     /**
      * 使用永诚提供地省市区 地址身份证号 获取省市区
@@ -50,7 +50,7 @@ public interface SysAreaService extends IService<SysArea> {
      */
     @DynamicName(tableName = "ins_yongcheng_area")
     default PersonAreaVo queryByAddressYc(String address, String idcard) {
-        return queryByAddress(address, idcard);
+        return queryByAddress(address, idcard,"");
     }
 
     /**
@@ -62,7 +62,7 @@ public interface SysAreaService extends IService<SysArea> {
      */
     @DynamicName(tableName = "ins_bohai_area")
     default PersonAreaVo queryByAddressBoHai(String address, String idcard) {
-        return queryByAddress(address, idcard);
+        return queryByAddress(address, idcard,"");
     }
 
 

+ 16 - 5
src/main/java/com/ydtech/modules/admin/service/impl/SysAreaServiceImpl.java

@@ -53,14 +53,19 @@ public class SysAreaServiceImpl extends ServiceImpl<SysAreaMapper, SysArea>
 
     //查询所有的上级
     @Override
-    public PersonAreaVo queryByAddress(String address, String idcard) {
+    public PersonAreaVo queryByAddress(String address, String idcard, String leaderIdcard) {
         PersonAreaVo personAreaVo = new PersonAreaVo();
         //获取县级全部区划数据
         List<SysArea> sysAreaVos = this.queryByLevel(3);
         //被保人 赛选出的地址条件
         List<SysArea> collect = sysAreaVos.stream().filter(item -> address.contains(item.getAreaCname())).collect(Collectors.toList());
         //截取身份证的省级代码
-        String provincesCode = idcard.substring(0, 3);
+        String provincesCode;
+        if (idcard != null) {
+            provincesCode = idcard.substring(0, 3);
+        } else {
+            provincesCode = leaderIdcard.substring(0, 3);
+        }
         //获取省级的区划
         if (!collect.isEmpty()) {
             List<SysArea> provincesArea = collect.stream()
@@ -92,10 +97,16 @@ public class SysAreaServiceImpl extends ServiceImpl<SysAreaMapper, SysArea>
                 return personAreaVo;
             }
         }
+        if (idcard != null) {
+            personAreaVo.setProvinceCode(idcard.substring(0, 2) + "0000");
+            personAreaVo.setCityCode(idcard.substring(0, 4) + "00");
+            personAreaVo.setCountyCode(idcard.substring(0, 6));
+        } else {
+            personAreaVo.setProvinceCode(leaderIdcard.substring(0, 2) + "0000");
+            personAreaVo.setCityCode(leaderIdcard.substring(0, 4) + "00");
+            personAreaVo.setCountyCode(leaderIdcard.substring(0, 6));
+        }
 
-        personAreaVo.setProvinceCode(idcard.substring(0, 2) + "0000");
-        personAreaVo.setCityCode(idcard.substring(0, 4) + "00");
-        personAreaVo.setCountyCode(idcard.substring(0, 6));
 
         return personAreaVo;
     }

+ 82 - 29
src/main/java/com/ydtech/modules/order/components/huatai/HuiTaiUploadImageComponents.java

@@ -10,16 +10,19 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.core.io.ByteArrayResource;
 import org.springframework.http.*;
 import org.springframework.stereotype.Component;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestTemplate;
 
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
+import java.io.*;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.security.MessageDigest;
 import java.util.*;
 
 
@@ -35,9 +38,9 @@ import java.util.*;
 public class HuiTaiUploadImageComponents {
 
     private final RestTemplate restTemplate;
-    private static final String INIT_PARAM = "/h5img/app/ImgManager/initParam.cmd?t=";
-    private static final String FILE_UPLOAD = "/h5img/fileupload";
-    private static final String SAVE_FILE_IDX = "/h5img/app/ImgManager/saveFileIdx.cmd";
+    private static final String INIT_PARAM = "/h5img/app/ImgManager/initParam.cdo?t=";
+    private static final String FILE_UPLOAD = "/h5img/app/ImgFileUpload/upload.do";
+    private static final String SAVE_FILE_IDX = "/h5img/app/ImgManager/saveFileIdx.cdo";
 
     private final InsImagesUploadCacheComponents insImagesUploadCacheComponents;
 
@@ -66,7 +69,7 @@ public class HuiTaiUploadImageComponents {
         }
 
         HuaTaiImageInitParamResponse initParamResponse = initParam(domain, token);
-        List<HuaTaiImageInitParamResponse.TypeSelectVosDTO.ChildrenDTO> childrenDTO = initParamResponse.getChildrenDTO();
+        List<HuaTaiImageInitParamResponse.TypeTreeNodeVoDTO.ChildrenDTO> childrenDTO = initParamResponse.getChildrenDTO();
         // 使用map 存储上传类型和图片
         Map<String, String> map = new HashMap<>();
         for (InsUploadImagesDto insUploadImagesDto : insUploadImagesDtos) {
@@ -79,10 +82,11 @@ public class HuiTaiUploadImageComponents {
                 boolean contains = Arrays.asList(fileTypeEnum.getImagesType()).contains(imageType);
                 if (contains) {
                     try {
-                        HuaTaiImageInitParamResponse.TypeSelectVosDTO.ChildrenDTO childrenDTO1 =
+                        HuaTaiImageInitParamResponse.TypeTreeNodeVoDTO.ChildrenDTO childrenDTO1 =
                                 HuaTaiImageInitParamResponse.filteringTypeCode(childrenDTO, fileTypeEnum.getCode());
-                        FileuploadResult fileupload = fileupload(domain, token, initParamResponse, insUploadImagesDto.getFilePath(), file);
-                        saveFileIdx(domain, token, initParamResponse, fileupload, fileName, childrenDTO1);
+                        FileuploadResult fileupload = fileupload(domain, token, childrenDTO1, insUploadImagesDto.getFilePath(), file, initParamResponse.getStorageType());
+                        String imgId = insUploadImagesDto.getId();
+                        saveFileIdx(domain, token, initParamResponse, fileupload, fileName, childrenDTO1, imgId);
                         map.put(insUploadImagesDto.getImageType(), insUploadImagesDto.getImageId());
                     } catch (Exception e) {
                         insImagesUploadCacheComponents.setUploadImageCache(companyId, map);
@@ -106,11 +110,12 @@ public class HuiTaiUploadImageComponents {
      * @return
      */
     private HuaTaiImageInitParamResponse initParam(String domain, String token) {
-        HttpHeaders httpHeaders = new HttpHeaders();
         // token
-        httpHeaders.set("Cookie", "token=" + token);
-        String initParamUrl = domain + INIT_PARAM + System.currentTimeMillis();
-        HttpEntity<Object> httpEntity = new HttpEntity<>(null, httpHeaders);
+        HttpHeaders httpHeaders = new HttpHeaders();
+        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
+        httpHeaders.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
+        String initParamUrl = domain + INIT_PARAM + System.currentTimeMillis() + "&token=" + token;
+        HttpEntity<Map<String, Object>> httpEntity = new HttpEntity<>(new HashMap<>(), httpHeaders);
         ResponseEntity<HuaTaiImageInitParamResponse> response = restTemplate.exchange(initParamUrl, HttpMethod.GET, httpEntity,
                 HuaTaiImageInitParamResponse.class);
         return response.getBody();
@@ -121,27 +126,48 @@ public class HuiTaiUploadImageComponents {
      *
      * @return 文件路劲
      */
-    private FileuploadResult fileupload(String domain, String token, HuaTaiImageInitParamResponse initParamResponse, String path,
-                                        String fileName) {
+    private FileuploadResult fileupload(String domain, String token, HuaTaiImageInitParamResponse.TypeTreeNodeVoDTO.ChildrenDTO childrenDTO, String path,
+                                        String fileName, String storageType) throws Exception {
         File file = new File(path);
+        String md5Hash = getMD5Hash(path);
         byte[] bytes = file2byte(file);
         double v = (double) bytes.length / 1024;
+        String uuidImagesName = UUID.nameUUIDFromBytes(bytes).toString();
+        // 请求参数
+        MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
+        ByteArrayResource byteArrayResource = new ByteArrayResource(bytes) {
+            @Override
+            public String getFilename() {
+                return fileName;
+            }
+        };
+        HttpHeaders httpHeadersFile = new HttpHeaders();
+        httpHeadersFile.setContentType(MediaType.IMAGE_JPEG);
+        body.set("file", new HttpEntity<>(byteArrayResource, httpHeadersFile));
+        body.set("token", token);
+        body.set("bussModule", childrenDTO.getBussType());
+        body.set("bussNo", childrenDTO.getBussNo());
+        body.set("fileName", fileName);
+        body.set("saveFileName", null);
+        body.set("bucket", childrenDTO.getBucket());
+        body.set("storageType", storageType);
+
+        // 请求头
         HttpHeaders httpHeaders = new HttpHeaders();
-        httpHeaders.setAccept(Collections.singletonList(MediaType.MULTIPART_FORM_DATA));
-        httpHeaders.set("Bucket", initParamResponse.getStorageType());
-        httpHeaders.set("Bussmodule", initParamResponse.getBussType());
-        httpHeaders.set("Bussno", initParamResponse.getBussNo());
-
+        httpHeaders.setContentType(MediaType.MULTIPART_FORM_DATA);
+        httpHeaders.set("Bucket", storageType);
+        httpHeaders.set("Bussmodule", childrenDTO.getBussType());
+        httpHeaders.set("Bussno", childrenDTO.getBussNo());
         // token
         httpHeaders.set("Token", token);
         // 文件名称
         httpHeaders.set("Filename", fileName);
-        httpHeaders.setContentType(MediaType.IMAGE_JPEG);
-        HttpEntity<byte[]> httpEntity = new HttpEntity<>(bytes, httpHeaders);
-
+        // 文件名称
+        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(body, httpHeaders);
         String fileuploadUrl = domain + FILE_UPLOAD;
         ResponseEntity<String> response = restTemplate.postForEntity(fileuploadUrl, httpEntity, String.class);
-        return new FileuploadResult(response.getBody(), v);
+        String imageUrl = response.getBody().replace("\"", "");
+        return new FileuploadResult(imageUrl, v, uuidImagesName, md5Hash);
     }
 
 
@@ -155,13 +181,14 @@ public class HuiTaiUploadImageComponents {
      */
     private void saveFileIdx(String domain, String token, HuaTaiImageInitParamResponse response, FileuploadResult fileupload,
                              String fileName,
-                             HuaTaiImageInitParamResponse.TypeSelectVosDTO.ChildrenDTO childrenDTO) {
+                             HuaTaiImageInitParamResponse.TypeTreeNodeVoDTO.ChildrenDTO childrenDTO,
+                             String imgId) {
+
         HuaTaiSaveFileIdxRequest huaTaiSaveFileIdxRequest = new HuaTaiSaveFileIdxRequest(token, response, fileupload, fileName,
-                childrenDTO);
+                childrenDTO, imgId);
         huaTaiSaveFileIdxRequest.getFileIdxVo().setImgId(System.currentTimeMillis());
         HttpHeaders httpHeaders = new HttpHeaders();
         httpHeaders.setContentType(MediaType.APPLICATION_JSON);
-        httpHeaders.set("Cookie", "token=" + token);
         HttpEntity<HuaTaiSaveFileIdxRequest> httpEntity = new HttpEntity<>(huaTaiSaveFileIdxRequest, httpHeaders);
         String saveFileIdxUrl = domain + SAVE_FILE_IDX;
         restTemplate.postForEntity(saveFileIdxUrl, httpEntity, String.class);
@@ -176,6 +203,9 @@ public class HuiTaiUploadImageComponents {
 
         private double fileSize;
 
+        private String uuidImagesName;
+
+        private String md5Hash;
     }
 
 
@@ -218,6 +248,29 @@ public class HuiTaiUploadImageComponents {
         }
     }
 
+    public static String getMD5Hash(String imageFilePath) throws Exception {
+        InputStream fis = Files.newInputStream(Paths.get(imageFilePath));
+        byte[] buffer = new byte[1024];
+        MessageDigest complete = MessageDigest.getInstance("MD5");
+        int numRead;
+
+        do {
+            numRead = fis.read(buffer);
+            if (numRead > 0) {
+                complete.update(buffer, 0, numRead);
+            }
+        } while (numRead != -1);
+
+        fis.close();
+        byte[] b = complete.digest();
+
+        StringBuilder result = new StringBuilder();
+        for (int i = 0; i < b.length; i++) {
+            result.append(Integer.toString((b[i] & 0xff) + 0x100, 16).substring(1));
+        }
+        return result.toString();
+    }
+
 }
 
 

+ 5 - 1
src/main/java/com/ydtech/modules/order/entity/api/huatai/constants/ImageTypeCode.java

@@ -39,7 +39,11 @@ public enum ImageTypeCode {
             InsuranceImageEnum.C02.getCode(),
             InsuranceImageEnum.D02.getCode(),
     }),
-    I_1001("1001", "组织机构代码证", new String[]{}),
+    I_1001("1001", "组织机构代码证", new String[]{
+            InsuranceImageEnum.Y02.getCode(),
+            InsuranceImageEnum.Y03.getCode(),
+            InsuranceImageEnum.Y04.getCode(),
+    }),
     I_1999("1999", "其他", new String[]{}),
     I_3001("3001", "行驶证", new String[]{
             InsuranceImageEnum.C01.getCode(),

+ 41 - 13
src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiQuotedPriceRequest.java

@@ -352,7 +352,17 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
                     this.motorTypeCode = motorTypeCode1.getCode();
 
                     this.plateType = "02";
-                    this.property = "04";
+                    switch (carInfoVo.getProperty()) {
+                        case "1":  //个人
+                            this.property = "04";
+                            break;
+                        case "2":  // 一般企业
+                            this.property = "03";
+                            break;
+                        case "3":  //机关
+                            this.property = "01";
+                            break;
+                    }
                     this.colorCode = null;
                     this.carCheckStatus = "2";
                     this.vehicleCondition = "0";
@@ -774,19 +784,37 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
         private String carInsuredRelation;
 
         public CustomerDto(CustomerInfoVo customerInfoVo, String role) {
-            this.name = customerInfoVo.getName();
-            this.identifyType = "01";
-            this.identifyNumber = customerInfoVo.getIdentifyNumber();
-            this.mobile = customerInfoVo.getMobile();
-            this.type = "1";
-            this.role = role;
-            int randomNum = new Random().nextInt(HuaTaiBaseCode.getOccupation().size());
-            this.occupationCode = HuaTaiBaseCode.getOccupation().get(randomNum);//后续需要根据接口维护返参到表里
-            this.identifyValidDate = customerInfoVo.getIdentifyValidDate() + " " + TimeConstants.START_TIME;
-            this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.END_TIME;
-            if ("2".equals(role)) {
-                this.carInsuredRelation = "1";
+            if (customerInfoVo.getProperty() != null && customerInfoVo.getProperty().equals("1")) {
+                this.name = customerInfoVo.getName();
+                this.identifyType = "01";
+                this.identifyNumber = customerInfoVo.getIdentifyNumber();
+                this.mobile = customerInfoVo.getMobile();
+                this.type = "1";
+                this.role = role;
+                int randomNum = new Random().nextInt(HuaTaiBaseCode.getOccupation().size());
+                this.occupationCode = HuaTaiBaseCode.getOccupation().get(randomNum);//后续需要根据接口维护返参到表里
+                this.identifyValidDate = customerInfoVo.getIdentifyValidDate() + " " + TimeConstants.START_TIME;
+                this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.END_TIME;
+                if ("2".equals(role)) {
+                    this.carInsuredRelation = "1";
+                }
+            } else if (customerInfoVo.getProperty() != null && customerInfoVo.getProperty().equals("0")){
+                this.name = customerInfoVo.getName();
+                this.identifyType = "99";
+                this.organizeCode = customerInfoVo.getOrganizationCode();
+                this.mobile = customerInfoVo.getMobile();
+                this.type = "2";
+                this.role = role;
+                int randomNum = new Random().nextInt(HuaTaiBaseCode.getOccupation().size());
+                this.occupationCode = HuaTaiBaseCode.getOccupation().get(randomNum);//后续需要根据接口维护返参到表里
+                this.identifyValidDate = customerInfoVo.getIdentifyValidDate() + " " + TimeConstants.START_TIME;
+                this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.END_TIME;
+                this.transactorName = customerInfoVo.getLegalPerson();
+                if ("2".equals(role)) {
+                    this.carInsuredRelation = "1";
+                }
             }
+
         }
 
         public List<CustomerDto> getCustomers(CustomerInfoVo ownerInfo, CustomerInfoVo policyHolderInfo, CustomerInfoVo insuredPersonInfo) {

+ 33 - 70
src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiSaveFileIdxRequest.java

@@ -3,151 +3,116 @@ package com.ydtech.modules.order.entity.api.huatai.request;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.modules.order.components.huatai.HuiTaiUploadImageComponents;
 import com.ydtech.modules.order.entity.api.huatai.response.HuaTaiImageInitParamResponse;
+import com.ydtech.utils.SnowFlakeUtil;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
+@NoArgsConstructor
 @Data
 public class HuaTaiSaveFileIdxRequest {
 
     @JsonProperty("token")
     private String token;
-
     @JsonProperty("fileIdxVo")
     private FileIdxVoDTO fileIdxVo;
+    @JsonProperty("validFlag")
+    private Integer validFlag;
 
     public HuaTaiSaveFileIdxRequest(String token, HuaTaiImageInitParamResponse response, HuiTaiUploadImageComponents.FileuploadResult fileupload, String fileName,
-                                    HuaTaiImageInitParamResponse.TypeSelectVosDTO.ChildrenDTO childrenDTO) {
+                                    HuaTaiImageInitParamResponse.TypeTreeNodeVoDTO.ChildrenDTO childrenDTO, String imgId) {
         this.token = token;
-        this.fileIdxVo = new FileIdxVoDTO(response, fileupload, fileName, childrenDTO);
+        this.fileIdxVo = new FileIdxVoDTO(response, fileupload, fileName, childrenDTO, imgId);
+        this.validFlag = 1;
     }
 
+    @NoArgsConstructor
     @Data
     public static class FileIdxVoDTO {
-
         @JsonProperty("rotate")
         private Integer rotate;
-
         @JsonProperty("rotateStart")
         private Integer rotateStart;
-
         @JsonProperty("optionFlag")
         private Integer optionFlag;
-
         @JsonProperty("imgId")
         private Long imgId;
-
         @JsonProperty("createTime")
         private Long createTime;
-
         @JsonProperty("createUser")
         private String createUser;
-
         @JsonProperty("createUserName")
         private String createUserName;
-
-        @JsonProperty("appSource")
-        private String appSource;
-
         @JsonProperty("docId")
-        private Integer docId;
-
+        private Long docId;
         @JsonProperty("bussNo")
         private String bussNo;
-
         @JsonProperty("bussType")
         private String bussType;
-
         @JsonProperty("bussTypeName")
         private String bussTypeName;
-
         @JsonProperty("riskCode")
         private String riskCode;
-
         @JsonProperty("riskCodeName")
         private String riskCodeName;
-
         @JsonProperty("comCode")
         private String comCode;
-
-        @JsonProperty("comName")
-        private String comName;
-
-        @JsonProperty("bussDate")
-        private String bussDate;
-
         @JsonProperty("validFlag")
         private Integer validFlag;
-
         @JsonProperty("uploadNode")
         private String uploadNode;
-
         @JsonProperty("appendPath")
         private String appendPath;
-
         @JsonProperty("editable")
         private Boolean editable;
-
         @JsonProperty("deletable")
         private Boolean deletable;
-
         @JsonProperty("voType")
         private String voType;
-
         @JsonProperty("archType")
         private String archType;
-
+        @JsonProperty("region")
+        private String region;
         @JsonProperty("picFileFlag")
         private Integer picFileFlag;
-
         @JsonProperty("fileSize")
         private Double fileSize;
-
         @JsonProperty("fileSizeFormat")
         private String fileSizeFormat;
-
         @JsonProperty("fileOrgName")
         private String fileOrgName;
-
         @JsonProperty("fileTitle")
         private String fileTitle;
-
         @JsonProperty("fileName")
         private String fileName;
-
+        @JsonProperty("saveType")
+        private String saveType;
+        @JsonProperty("fileHashCode")
+        private String fileHashCode;
         @JsonProperty("typePath")
         private String typePath;
-
         @JsonProperty("typePathName")
         private String typePathName;
-
         @JsonProperty("typeName")
         private String typeName;
-
+        @JsonProperty("dstKey")
+        private String dstKey;
         @JsonProperty("picMaxSize")
         private Integer picMaxSize;
-
         @JsonProperty("picQuality")
         private Integer picQuality;
-
         @JsonProperty("error")
         private Integer error;
-
-        @JsonProperty("checked")
-        private Boolean checked;
-
         @JsonProperty("uploadStatus")
         private Integer uploadStatus;
-
         @JsonProperty("showIdx")
         private Integer showIdx;
-
         @JsonProperty("uploadTime")
         private Integer uploadTime;
-
         @JsonProperty("storageType")
         private String storageType;
 
         public FileIdxVoDTO(HuaTaiImageInitParamResponse response, HuiTaiUploadImageComponents.FileuploadResult fileupload, String fileName,
-                            HuaTaiImageInitParamResponse.TypeSelectVosDTO.ChildrenDTO childrenDTO) {
+                            HuaTaiImageInitParamResponse.TypeTreeNodeVoDTO.ChildrenDTO childrenDTO, String imgId) {
             this.rotate = 0;
             this.rotateStart = 0;
             this.optionFlag = 2;
@@ -156,47 +121,45 @@ public class HuaTaiSaveFileIdxRequest {
             // 初始化的时候获取参数
             this.createUser = response.getOptUserId();
             this.createUserName = response.getOptUserName();
-            this.appSource = response.getAppSource();
-            this.docId = response.getDocId();
-            this.bussNo = response.getBussNo();
-            this.bussType = response.getBussType();
-            this.bussTypeName = response.getBussTypeName();
-            this.riskCode = response.getRiskCode();
-            this.riskCodeName = response.getRiskCodeName();
+            this.docId = childrenDTO.getDocId();
+            this.bussNo = childrenDTO.getBussNo();
+            this.bussType = childrenDTO.getBussType();
+            this.bussTypeName = childrenDTO.getBussTypeName();
+            this.riskCode = childrenDTO.getRiskCode();
+            this.riskCodeName = childrenDTO.getRiskCodeName();
             this.comCode = response.getComCode();
-            this.comName = response.getComName();
-            this.bussDate = response.getBussDate();
             this.validFlag = 1;
             this.uploadNode = response.getUploadNode();
             this.appendPath = fileupload.getFilePath().substring(0,fileupload.getFilePath().lastIndexOf("/")+1);
             this.editable = true;
             this.deletable = true;
             this.voType = "C";
-            this.archType = response.getArchType();
+            this.archType = childrenDTO.getArchType();
 
             this.picFileFlag = 1;
             this.fileSize = fileupload.getFileSize();
             this.fileSizeFormat = String.format("%.2f", fileupload.getFileSize()) + "KB";
 
-            String uuidLower = HuiTaiUploadImageComponents.getUUIDLower();
+            String uuidLower = fileupload.getUuidImagesName();
             String substring = fileName.substring(fileName.lastIndexOf("."));
-
-            this.fileTitle = uuidLower;
+            this.fileTitle = fileupload.getUuidImagesName();
             this.fileOrgName = uuidLower + substring;
-
+            this.imgId = SnowFlakeUtil.getSnowFlakeId();
+            this.fileHashCode = fileupload.getMd5Hash();
             this.fileName = fileupload.getFilePath().substring(fileupload.getFilePath().lastIndexOf("/")+1);;
-
             this.typePath = childrenDTO.getTypePath();
             this.typePathName = childrenDTO.getTypePathName();
             this.typeName = childrenDTO.getLabel();
             this.picMaxSize = childrenDTO.getPicMaxSize();
             this.picQuality = childrenDTO.getPicQuality();
-
             this.error = 0;
             this.uploadStatus = 3;
             this.showIdx = 30;
             this.uploadTime = 154;
             this.storageType = response.getStorageType();
+            this.region = response.getRegion();
+            this.saveType = "U";
+            this.dstKey = "UW_CAR";
         }
 
     }

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

@@ -2,6 +2,7 @@ package com.ydtech.modules.order.entity.api.huatai.request;
 
 import com.alibaba.fastjson.annotation.JSONField;
 import com.ydtech.constants.enums.InsuranceRisk;
+import com.ydtech.modules.ins.model.vo.CarInfoVo;
 import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
 import com.ydtech.modules.ins.model.ya.YaQuoteInfoVo;
@@ -18,10 +19,12 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
+import org.joda.time.DateTime;
 
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -69,6 +72,10 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
         @JSONField(name = "saleInfo")
         private SaleInfoDto saleInfo;
 
+        //  投保车辆信息
+        @JSONField(name = "insuredObject")
+        private InsuredObjectDto insuredObject;
+
         public BusinessDataDto(YaQuoteInfoVo yaQuoteInfoVo, InsAreaCompany insAreaCompany,
                                HuaTaiConfigureParameters huaTaiConfigureParameters, List<InsHuataiContributingVo> engageList) {
             List<RiskInfoVo> riskList = yaQuoteInfoVo.getRiskList();
@@ -85,7 +92,8 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
             this.customer = new CustomerDto().getCustomers(ownerInfo, policyHolderInfo, insuredPersonInfo, huaTaiConfigureParameters);
             //销售信息
             this.saleInfo = new SaleInfoDto(huaTaiConfigureParameters);
-
+            // 投保车辆信息
+            this.insuredObject = new InsuredObjectDto(yaQuoteInfoVo.getCarInfo());
         }
     }
 
@@ -192,6 +200,7 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
                 this.expiryDate = insAreaCompany.getSyEndDate();
             }
             this.riskCode = InsuranceTypeCorrespondence.getHuaTaiRisk().get(riskInfoVo.getRiskCode());
+            this.remark = "自核通过";
         }
     }
 
@@ -261,6 +270,9 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
         //Y	手机号码
         @JSONField(name = "mobile")
         private String mobile;
+        // CY 单位电话(机构客户出单必传)
+        @JSONField(name = "unitPhoneNumber")
+        private String unitPhoneNumber;
         //Y	证件有效起期(格式:YYYY-MM-DD HH24:MI:SS)
         @JSONField(name = "identifyValidDate")
         private String identifyValidDate;
@@ -402,12 +414,43 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
 
 
         public CustomerDto(CustomerInfoVo customerInfoVo, String role, HuaTaiConfigureParameters huaTaiConfigureParameters) {
-            this.identifyNumber = customerInfoVo.getIdentifyNumber();
-            this.identifyType = "01";
+            if (customerInfoVo.getProperty() != null && "0".equals(customerInfoVo.getProperty())) {
+                this.organizeCode = customerInfoVo.getOrganizationCode();
+                this.identifyType = "99";
+                this.type = "2";
+                this.businessSource = "L749";
+                this.equityStructure = "3";
+                this.businessDetail = customerInfoVo.getScope();
+                this.leaderName = customerInfoVo.getLegalPerson();
+                this.leaderOtherIdentifyType = "01";
+                this.leaderOtherEffectiveDate = customerInfoVo.getLeaderOtherEffectiveDate();
+                this.leaderOtherIdentifyNumber = customerInfoVo.getLeaderIdentifyNumber();
+                this.leaderIdentifyNumber = customerInfoVo.getLeaderIdentifyNumber();
+                this.nationalityCode = customerInfoVo.getProvince().substring(0, 4);
+                this.registCurrency = "CNY";
+                this.registFund = customerInfoVo.getRegisteredCapital();
+                this.revenueCode = customerInfoVo.getOrganizationCode();
+                this.supportDocuName = customerInfoVo.getName();
+                this.supportDocuNumber = customerInfoVo.getOrganizationCode();
+                this.supportDocuValidDate = customerInfoVo.getIdentifyValidEndDate();
+                this.transactorName = customerInfoVo.getLegalPerson();
+                this.transactorIdentifyType = "01";
+                this.transactorIdentifyCode = customerInfoVo.getLeaderIdentifyNumber();
+                this.transactorMobile = customerInfoVo.getMobile();
+                this.transactorExpiryDate = customerInfoVo.getLeaderOtherEffectiveDate();
+                this.unitPhoneNumber = customerInfoVo.getMobile();
+            }
+            if (customerInfoVo.getProperty() != null && "1".equals(customerInfoVo.getProperty())) {
+                this.identifyNumber = customerInfoVo.getIdentifyNumber();
+                this.identifyType = "01";
+                this.type = "1";
+            }
+            this.province = huaTaiConfigureParameters.getProvince();
+            this.city = huaTaiConfigureParameters.getCity();
+            this.district = huaTaiConfigureParameters.getDistrict();
             this.name = customerInfoVo.getName();
             this.mobile = customerInfoVo.getMobile();
             this.role = role;
-            this.type = "1";
             this.occupationCode = "20114";//后续需要根据接口维护返参到表里
             this.identifyValidDate = customerInfoVo.getIdentifyValidDate() + " " + TimeConstants.START_TIME;
             this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.END_TIME;
@@ -438,6 +481,47 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
 
     }
 
+    @NoArgsConstructor
+    @Data
+    public static class InsuredObjectDto implements Serializable {
+        @JSONField(name = "policyCar")
+        private PolicyCarDto policyCar;
+
+        public InsuredObjectDto(CarInfoVo carInfoVo) {
+            this.policyCar = new PolicyCarDto(carInfoVo);
+        }
+
+        @NoArgsConstructor
+        @Data
+        public static class PolicyCarDto implements Serializable {
+
+            // Y 验车状态(1-未验车;2-免验车;4-已验车)
+            @JSONField(name = "CarCheckStatus")
+            private String carCheckStatus;
+
+            // CY  验车人(已验车必传)
+            @JSONField(name = "CarChecker")
+            private String carChecker;
+
+            // CY  验车时间(已验车必传)(格式:YYYY-MM-DD HH24:MI:SS)
+            @JSONField(name = "CarCheckTime")
+            private DateTime carCheckTime;
+
+            // CY 验车记录(已验车必传)
+            @JSONField(name = "CarCheckRecord")
+            private String carCheckRecord;
+
+            // N 车况(0-好;1-中;2-差)
+            @JSONField(name = "VehicleCondition")
+            private String vehicleCondition;
+
+            public PolicyCarDto(CarInfoVo carInfoVo) {
+                this.carCheckStatus = "2";
+                this.vehicleCondition = "0";
+            }
+        }
+    }
+
 
     @AllArgsConstructor
     @NoArgsConstructor

+ 85 - 194
src/main/java/com/ydtech/modules/order/entity/api/huatai/response/HuaTaiImageInitParamResponse.java

@@ -14,126 +14,95 @@ public class HuaTaiImageInitParamResponse {
 
     @JsonProperty("accessKeyVo")
     private AccessKeyVoDTO accessKeyVo;
-
+    @JsonProperty("addTagPower")
+    private Integer addTagPower;
     @JsonProperty("appSource")
     private String appSource;
-
-    @JsonProperty("archType")
-    private String archType;
-
-    @JsonProperty("arriveNotify")
-    private Integer arriveNotify;
-
-    @JsonProperty("bucket")
-    private String bucket;
-
-    @JsonProperty("bussDate")
-    private String bussDate;
-
-    @JsonProperty("bussNo")
-    private String bussNo;
-
-    @JsonProperty("bussType")
-    private String bussType;
-
-    @JsonProperty("bussTypeName")
-    private String bussTypeName;
-
     @JsonProperty("comCode")
     private String comCode;
-
-    @JsonProperty("comName")
-    private String comName;
-
-    @JsonProperty("docId")
-    private Integer docId;
-
     @JsonProperty("documentFile")
     private String documentFile;
-
-    @JsonProperty("dstKey")
-    private String dstKey;
-
-    @JsonProperty("extendInfo")
-    private Object extendInfo;
-
+    @JsonProperty("downloadPower")
+    private Integer downloadPower;
+    @JsonProperty("fileServerUrl")
+    private String fileServerUrl;
+    @JsonProperty("firstBussNo")
+    private String firstBussNo;
+    @JsonProperty("firstBussType")
+    private String firstBussType;
+    @JsonProperty("firstRiskCode")
+    private String firstRiskCode;
+    @JsonProperty("imgRoot")
+    private String imgRoot;
     @JsonProperty("imgVersion")
     private String imgVersion;
-
     @JsonProperty("initTime")
     private Long initTime;
-
+    @JsonProperty("itemCodeMap")
+    private ItemCodeMapDTO itemCodeMap;
     @JsonProperty("maxFileSize")
     private Integer maxFileSize;
-
     @JsonProperty("maxShowIdx")
     private Double maxShowIdx;
-
     @JsonProperty("maxUnUploadNum")
     private Integer maxUnUploadNum;
-
     @JsonProperty("mediaFile")
     private String mediaFile;
-
     @JsonProperty("netType")
     private String netType;
-
     @JsonProperty("optUserId")
     private String optUserId;
-
     @JsonProperty("optUserName")
     private String optUserName;
-
+    @JsonProperty("othMainVos")
+    private List<?> othMainVos;
     @JsonProperty("pictureFile")
     private String pictureFile;
-
-    @JsonProperty("riskCode")
-    private String riskCode;
-
-    @JsonProperty("riskCodeName")
-    private String riskCodeName;
-
+    @JsonProperty("region")
+    private String region;
     @JsonProperty("showDelete")
     private Integer showDelete;
-
-    @JsonProperty("showImgType")
-    private Object showImgType;
-
+    @JsonProperty("showImgTag")
+    private Integer showImgTag;
+    @JsonProperty("showSusTag")
+    private Integer showSusTag;
+    @JsonProperty("showUpload")
+    private Integer showUpload;
+    @JsonProperty("showUserImg")
+    private Integer showUserImg;
     @JsonProperty("storageType")
     private String storageType;
-
     @JsonProperty("supportFileTypes")
     private String supportFileTypes;
-
+    @JsonProperty("tagVos")
+    private List<?> tagVos;
     @JsonProperty("token")
     private String token;
-
-    @JsonProperty("typeSelectVos")
-    private List<TypeSelectVosDTO> typeSelectVos;
-
     @JsonProperty("typeTreeNodeVo")
     private TypeTreeNodeVoDTO typeTreeNodeVo;
-
     @JsonProperty("typeTreeNodeVos")
-    private Object typeTreeNodeVos;
-
+    private List<?> typeTreeNodeVos;
     @JsonProperty("uploadNode")
     private String uploadNode;
 
     @JsonProperty("uploadedFileList")
-    private List<String> uploadedFileList;
-
-    @JsonProperty("viewShowType")
-    private String viewShowType;
-
+    private List<?> uploadedFileList;
     @JsonProperty("viewType")
     private String viewType;
 
-    public List<TypeSelectVosDTO.ChildrenDTO> getChildrenDTO() {
-        return this.getTypeSelectVos().stream().map(TypeSelectVosDTO::getChildren).flatMap(List::stream).collect(Collectors.toList());
+    @JsonProperty("uploadNodeMap")
+    private UploadNodeMapDTO uploadNodeMapDTO;
+
+    public List<TypeTreeNodeVoDTO.ChildrenDTO> getChildrenDTO() {
+        return this.getTypeTreeNodeVo().getChildren()
+                .stream()
+                .map(TypeTreeNodeVoDTO.ChildrenDTO::getChildren)
+                .filter(children -> children != null && !children.isEmpty())
+                .flatMap(List::stream)
+                .collect(Collectors.toList());
     }
 
-    public static TypeSelectVosDTO.ChildrenDTO filteringTypeCode(List<TypeSelectVosDTO.ChildrenDTO> list, String typeCode){
+    public static TypeTreeNodeVoDTO.ChildrenDTO filteringTypeCode(List<TypeTreeNodeVoDTO.ChildrenDTO> list, String typeCode) {
         return list.stream().filter(x -> x.getTypeCode().equals(typeCode)).collect(Collectors.toList()).get(0);
     }
 
@@ -144,127 +113,22 @@ public class HuaTaiImageInitParamResponse {
         private String accessKeyId;
         @JsonProperty("accessKeySecret")
         private String accessKeySecret;
-        @JsonProperty("endpoint")
-        private Object endpoint;
-        @JsonProperty("ossRegion")
-        private String ossRegion;
-        @JsonProperty("token")
-        private String token;
     }
 
     @NoArgsConstructor
     @Data
-    public static class TypeTreeNodeVoDTO {
-        @JsonProperty("acceptDragDrop")
-        private Integer acceptDragDrop;
-        @JsonProperty("archType")
-        private String archType;
-        @JsonProperty("bussNo")
-        private String bussNo;
-        @JsonProperty("bussType")
-        private String bussType;
-        @JsonProperty("bussTypeName")
-        private String bussTypeName;
-        @JsonProperty("children")
-        private List<ChildrenDTO> children;
-        @JsonProperty("count")
-        private Integer count;
-        @JsonProperty("docId")
-        private Integer docId;
-        @JsonProperty("docMaxSize")
-        private Integer docMaxSize;
-        @JsonProperty("label")
-        private String label;
-        @JsonProperty("limitSumCount")
-        private Integer limitSumCount;
-        @JsonProperty("lockFlag")
-        private Integer lockFlag;
-        @JsonProperty("medMaxSize")
-        private Integer medMaxSize;
-        @JsonProperty("nodeType")
-        private String nodeType;
-        @JsonProperty("parentTypeCode")
-        private Object parentTypeCode;
-        @JsonProperty("picMaxSize")
-        private Integer picMaxSize;
-        @JsonProperty("picQuality")
-        private Integer picQuality;
-        @JsonProperty("readable")
-        private Integer readable;
-        @JsonProperty("riskCode")
-        private String riskCode;
-        @JsonProperty("riskCodeName")
-        private String riskCodeName;
-        @JsonProperty("typeCode")
-        private String typeCode;
-        @JsonProperty("typePath")
-        private Object typePath;
-        @JsonProperty("typePathName")
-        private Object typePathName;
-        @JsonProperty("writable")
-        private Integer writable;
-
-        @NoArgsConstructor
-        @Data
-        public static class ChildrenDTO {
-            @JsonProperty("acceptDragDrop")
-            private Integer acceptDragDrop;
-            @JsonProperty("archType")
-            private Object archType;
-            @JsonProperty("bussNo")
-            private Object bussNo;
-            @JsonProperty("bussType")
-            private Object bussType;
-            @JsonProperty("bussTypeName")
-            private Object bussTypeName;
-            @JsonProperty("children")
-            private Object children;
-            @JsonProperty("count")
-            private Integer count;
-            @JsonProperty("docId")
-            private Object docId;
-            @JsonProperty("docMaxSize")
-            private Integer docMaxSize;
-            @JsonProperty("label")
-            private String label;
-            @JsonProperty("limitSumCount")
-            private Integer limitSumCount;
-            @JsonProperty("lockFlag")
-            private Integer lockFlag;
-            @JsonProperty("medMaxSize")
-            private Integer medMaxSize;
-            @JsonProperty("nodeType")
-            private String nodeType;
-            @JsonProperty("parentTypeCode")
-            private String parentTypeCode;
-            @JsonProperty("picMaxSize")
-            private Integer picMaxSize;
-            @JsonProperty("picQuality")
-            private Integer picQuality;
-            @JsonProperty("readable")
-            private Integer readable;
-            @JsonProperty("riskCode")
-            private Object riskCode;
-            @JsonProperty("riskCodeName")
-            private Object riskCodeName;
-            @JsonProperty("typeCode")
-            private String typeCode;
-            @JsonProperty("typePath")
-            private Object typePath;
-            @JsonProperty("typePathName")
-            private Object typePathName;
-            @JsonProperty("writable")
-            private Integer writable;
-        }
+    public static class ItemCodeMapDTO {
     }
 
     @NoArgsConstructor
     @Data
-    public static class TypeSelectVosDTO {
+    public static class TypeTreeNodeVoDTO {
         @JsonProperty("acceptDragDrop")
         private Integer acceptDragDrop;
         @JsonProperty("archType")
         private String archType;
+        @JsonProperty("bucket")
+        private String bucket;
         @JsonProperty("bussNo")
         private String bussNo;
         @JsonProperty("bussType")
@@ -276,11 +140,17 @@ public class HuaTaiImageInitParamResponse {
         @JsonProperty("count")
         private Integer count;
         @JsonProperty("docId")
-        private Integer docId;
+        private Long docId;
         @JsonProperty("docMaxSize")
         private Integer docMaxSize;
+        @JsonProperty("dstKey")
+        private String dstKey;
         @JsonProperty("label")
         private String label;
+        @JsonProperty("labelEn")
+        private String labelEn;
+        @JsonProperty("limitMinCount")
+        private Integer limitMinCount;
         @JsonProperty("limitSumCount")
         private Integer limitSumCount;
         @JsonProperty("lockFlag")
@@ -289,24 +159,20 @@ public class HuaTaiImageInitParamResponse {
         private Integer medMaxSize;
         @JsonProperty("nodeType")
         private String nodeType;
-        @JsonProperty("parentTypeCode")
-        private String parentTypeCode;
         @JsonProperty("picMaxSize")
         private Integer picMaxSize;
         @JsonProperty("picQuality")
         private Integer picQuality;
         @JsonProperty("readable")
         private Integer readable;
+        @JsonProperty("renameByTypeName")
+        private String renameByTypeName;
         @JsonProperty("riskCode")
         private String riskCode;
         @JsonProperty("riskCodeName")
         private String riskCodeName;
         @JsonProperty("typeCode")
         private String typeCode;
-        @JsonProperty("typePath")
-        private String typePath;
-        @JsonProperty("typePathName")
-        private String typePathName;
         @JsonProperty("writable")
         private Integer writable;
 
@@ -317,22 +183,28 @@ public class HuaTaiImageInitParamResponse {
             private Integer acceptDragDrop;
             @JsonProperty("archType")
             private String archType;
+            @JsonProperty("bucket")
+            private String bucket;
             @JsonProperty("bussNo")
             private String bussNo;
             @JsonProperty("bussType")
             private String bussType;
             @JsonProperty("bussTypeName")
             private String bussTypeName;
-            @JsonProperty("children")
-            private Object children;
             @JsonProperty("count")
             private Integer count;
             @JsonProperty("docId")
-            private Integer docId;
+            private Long docId;
             @JsonProperty("docMaxSize")
             private Integer docMaxSize;
+            @JsonProperty("dstKey")
+            private String dstKey;
             @JsonProperty("label")
             private String label;
+            @JsonProperty("labelEn")
+            private String labelEn;
+            @JsonProperty("limitMinCount")
+            private Integer limitMinCount;
             @JsonProperty("limitSumCount")
             private Integer limitSumCount;
             @JsonProperty("lockFlag")
@@ -341,6 +213,8 @@ public class HuaTaiImageInitParamResponse {
             private Integer medMaxSize;
             @JsonProperty("nodeType")
             private String nodeType;
+            @JsonProperty("parenTypeVo")
+            private ParenTypeVoDTO parenTypeVo;
             @JsonProperty("parentTypeCode")
             private String parentTypeCode;
             @JsonProperty("picMaxSize")
@@ -349,6 +223,8 @@ public class HuaTaiImageInitParamResponse {
             private Integer picQuality;
             @JsonProperty("readable")
             private Integer readable;
+            @JsonProperty("renameByTypeName")
+            private String renameByTypeName;
             @JsonProperty("riskCode")
             private String riskCode;
             @JsonProperty("riskCodeName")
@@ -361,6 +237,21 @@ public class HuaTaiImageInitParamResponse {
             private String typePathName;
             @JsonProperty("writable")
             private Integer writable;
+            @JsonProperty("children")
+            private List<ChildrenDTO> children;
+
+            @NoArgsConstructor
+            @Data
+            public static class ParenTypeVoDTO {
+            }
+
+
         }
+
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class UploadNodeMapDTO {
     }
-}
+}

+ 45 - 13
src/main/java/com/ydtech/modules/order/entity/api/zhongmei/request/QuotedPriceRequest.java

@@ -167,7 +167,9 @@ public class QuotedPriceRequest extends BaseRequest {
                 this.province = zmConfigureParameters.getProvince();
                 this.city = zmConfigureParameters.getCity();
                 this.district = zmConfigureParameters.getDistrict();
-                this.accountUser = zmConfigureParameters.getAccountUser();
+                if (zmConfigureParameters.getAccountUser() != null) {
+                    this.accountUser = zmConfigureParameters.getAccountUser();
+                }
             }
 
         }
@@ -530,19 +532,49 @@ public class QuotedPriceRequest extends BaseRequest {
         @JsonProperty("identifyValidEndDate")
         private String identifyValidEndDate;
 
+        // 注册日期(法人必传)
+        @JsonProperty("regisDate")
+        private String regisDate;
+
+        // 营业执照单位全称
+        @JsonProperty("businessLicense")
+        private String businessLicense;
+
+        // 纳税人识别号或社会信用代码
+        @JsonProperty("taxperNumber")
+        private String taxperNumber;
+
         public CustomerDTO(CustomerInfoVo customerInfoVo, String role) {
-            this.name = customerInfoVo.getName();
-            this.identifyType = "01";
-            this.identifyNumber = customerInfoVo.getIdentifyNumber();
-            this.addr = customerInfoVo.getAddr();
-            this.mobile = customerInfoVo.getMobile();
-            this.emailPolicy = customerInfoVo.getEmail();
-            this.type = "1";
-            this.role = role;
-            this.invocieType = "026";
-            this.jobRisk = "1";
-            this.identifyValidDate = customerInfoVo.getIdentifyValidDate() + " " + TimeConstants.START_TIME;
-            this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.END_TIME;
+            if (customerInfoVo.getProperty() != null && customerInfoVo.getProperty().equals("1")) {
+                this.name = customerInfoVo.getName();
+                this.type = "1";
+                this.identifyType = "01";
+                this.identifyNumber = customerInfoVo.getIdentifyNumber();
+                this.role = role;
+                this.mobile = customerInfoVo.getMobile();
+                this.addr = customerInfoVo.getAddr();
+                this.emailPolicy = customerInfoVo.getEmail();
+                this.identifyValidDate = customerInfoVo.getIdentifyValidDate() + " " + TimeConstants.START_TIME;
+                this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.END_TIME;
+                this.invocieType = "026";
+                this.jobRisk = "1";
+            }else if (customerInfoVo.getProperty() != null && customerInfoVo.getProperty().equals("0")) {
+                this.name = customerInfoVo.getName();
+                this.type = "2";
+                this.identifyType = "4";
+                this.role = role;
+                this.identifyNumber = customerInfoVo.getOrganizationCode();
+                this.mobile = customerInfoVo.getMobile();
+                this.addr = customerInfoVo.getAddr();
+                this.emailPolicy = customerInfoVo.getEmail();
+                this.identifyValidDate = customerInfoVo.getIdentifyValidDate() + " " + TimeConstants.START_TIME;
+                this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.END_TIME;
+                this.invocieType = "026";
+                this.regisDate = customerInfoVo.getIdentifyValidDate() + " " + TimeConstants.START_TIME;
+                this.businessLicense = customerInfoVo.getName();
+                this.taxperNumber = customerInfoVo.getOrganizationCode();
+            }
+
         }
 
         public List<CustomerDTO> getCustomers(CustomerInfoVo ownerInfo, CustomerInfoVo policyHolderInfo, CustomerInfoVo insuredPersonInfo) {

+ 6 - 17
src/main/java/com/ydtech/modules/order/service/impl/DaJiaOrderServiceImpl.java

@@ -401,27 +401,16 @@ public class DaJiaOrderServiceImpl implements DaJiaOrderService {
                 for (RiskInfoVo riskInfoVo : riskInfoVos) {
                     if (riskInfoVo.getRiskCode().equals(InsuranceRisk.TRAFFIC.getCode()) && !jqAppStatusMessage.isEmpty()) {
                         String jqEndDate = getTheExpiryDate(jqAppStatusMessage, THE_FIRST_REGEX);
-                        if(StringUtils.isBlank(jqEndDate)){
-                            throw new SystemException(jqAppStatusMessage);
-                        }else{
-                            List<String> duplicateDate = getDuplicateDate(jqEndDate);
-                            riskInfoVo.setStartDate(duplicateDate.get(0));
-                            riskInfoVo.setEndDate(duplicateDate.get(1));
-                        }
-
+                        List<String> duplicateDate = getDuplicateDate(jqEndDate);
+                        riskInfoVo.setStartDate(duplicateDate.get(0));
+                        riskInfoVo.setEndDate(duplicateDate.get(1));
                     }
                     //商业重复投保
                     if (riskInfoVo.getRiskCode().equals(InsuranceRisk.BUSINESS.getCode()) && !syAppStatusMessage.isEmpty()) {
                         String syEndDate = getTheExpiryDate(syAppStatusMessage, THE_SECOND_REGEX);
-                        if(StringUtils.isBlank(syEndDate)){
-                            throw new SystemException(syAppStatusMessage);
-                        }else{
-                            List<String> duplicateDate = getDuplicateDate(syEndDate);
-                            riskInfoVo.setStartDate(duplicateDate.get(0));
-                            riskInfoVo.setEndDate(duplicateDate.get(1));
-                        }
-
-
+                        List<String> duplicateDate = getDuplicateDate(syEndDate);
+                        riskInfoVo.setStartDate(duplicateDate.get(0));
+                        riskInfoVo.setEndDate(duplicateDate.get(1));
                     }
                 }
 

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

@@ -214,7 +214,7 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
 
         //查找车主的区划信息
         PersonAreaVo ownerPersonArea = sysAreaService.queryByAddress(yaQuoteInfoVo.getOwnerInfo().getAddr(),
-                yaQuoteInfoVo.getOwnerInfo().getIdentifyNumber());
+                yaQuoteInfoVo.getOwnerInfo().getIdentifyNumber(),yaQuoteInfoVo.getOwnerInfo().getLeaderIdentifyNumber());
         huaTaiConfigureParameters.setCity(ownerPersonArea.getCityCode());
         huaTaiConfigureParameters.setProvince(ownerPersonArea.getProvinceCode());
         huaTaiConfigureParameters.setDistrict(ownerPersonArea.getCountyCode());

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

@@ -273,7 +273,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
 
     @Override
     public HttpResult<Object> audit(String companyId) {
-        InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
+        InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
         // 1. 协议id获取配置实体
         ZmConfigureParameters zmConfigureParameters = configureParametersComponents.toEntity(ZmConfigureParameters.class,
                 insAreaCompany.getAgreementId());
@@ -282,7 +282,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
         JSONObject ownerinfo = insOrders.getApplyinfo();
         CustomerInfoVo customerInfoVo = ownerinfo.toJavaObject(CustomerInfoVo.class);
         // 2. 提交核保
-        SubmitResponse response = submitForUnderwriting(insAreaCompany.getId(), insOrders.getFrameno(), customerInfoVo,
+        SubmitResponse response = submitForUnderwriting(insAreaCompany.getInsOrderNo(), insOrders.getFrameno(), customerInfoVo,
                 zmConfigureParameters);
         // 3. 人工核保
         if (SubmitStatus.S_3.getCode().equals(response.getSubmitStatus())) {
@@ -313,14 +313,14 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
 
     @Override
     public HttpResult<Object> submitImage(String companyId) {
-        InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
+        InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
         // 1. 协议id获取配置实体
         ZmConfigureParameters zmConfigureParameters = configureParametersComponents.toEntity(ZmConfigureParameters.class,
                 insAreaCompany.getAgreementId());
 
         InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
         // 2. 投保单号(总)
-        String insOrderNo = insAreaCompany.getId();
+        String insOrderNo = insAreaCompany.getInsOrderNo();
 
         List<InsTaskImagesBase64> insTaskImagesBase64s = insTaskImagesService.findByOrderNo(insOrders.getOrderno(), insAreaCompany.getId());
 
@@ -393,7 +393,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
 
     @Override
     public HttpResult<Object> paymentEnquiry(String companyId) {
-        InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
+        InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
 
         // 1. 协议id获取配置实体
         ZmConfigureParameters zmConfigureParameters = configureParametersComponents.toEntity(ZmConfigureParameters.class,
@@ -661,7 +661,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
 
     @Override
     public HttpResult<Object> auditStatusQuery(String companyId) {
-        InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
+        InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
         // 1. 协议id获取配置实体
         ZmConfigureParameters zmConfigureParameters = configureParametersComponents.toEntity(ZmConfigureParameters.class,
                 insAreaCompany.getAgreementId());