Quellcode durchsuchen

影像上传修改

Qchen vor 1 Jahr
Ursprung
Commit
3f4fbef5ce

+ 5 - 3
src/main/java/com/ydtech/modules/order/components/yangguang/YangGuangRequestApiComponents.java

@@ -133,12 +133,14 @@ public class YangGuangRequestApiComponents {
     /**
      *  影像上传
      */
-    public String upload(YangGuangUpLoadRequest yangGuangUpLoadRequest) throws Exception {
+    public String upload(String json) throws Exception {
+        String responesStr = "";
         String url = yangGuangApiConfigurationProperties.getUploadUrl();
         String secret = yangGuangApiConfigurationProperties.getSecret();
         String referer = yangGuangApiConfigurationProperties.getReferer();
-        String encode = EncodeAccessParam.getEncodeParam(String.valueOf(yangGuangUpLoadRequest), 1000L,secret);
-        return httpPost(url,"req",encode, referer);
+        String encode = EncodeAccessParam.getEncodeParam(String.valueOf(json), 1000L,secret);
+        responesStr = httpPost(url,"req", encode, referer);
+        return responesStr;
     }
 
 

+ 12 - 3
src/main/java/com/ydtech/modules/order/controller/QuoteController.java

@@ -235,10 +235,19 @@ public class QuoteController extends BaseController {
         }
         if ("YGBX1000000".equals(ptlAgreementAttribution.getInsCompanyId()) && Objects.isNull(respVo)) {
             BaseQuoteVo<List<YgQuoteAccidentVo>> quoteVo1 = new BaseQuoteVo<>();
-            JSONArray jsonObject = JSONArray.parseArray(JSONArray.toJSONString(quoteVo.getAccidentalDrivingVo()));
-            List<YgQuoteAccidentVo> javaObject = jsonObject.toJavaList(YgQuoteAccidentVo.class);
+            JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(quoteVo.getAccidentalDrivingVo()));
             BeanUtils.copyProperties(quoteVo, quoteVo1);
-            quoteVo1.setAccidentalDrivingVo(javaObject);
+            if(jsonObject.size() > 0) {
+                YgQuoteAccidentVo ygQuoteAccidentVo = new YgQuoteAccidentVo();
+                ygQuoteAccidentVo.setProductCode(jsonObject.getString("projectCode"));
+                ygQuoteAccidentVo.setQuantityCasualty(jsonObject.getString("quantity"));
+                List<YgQuoteAccidentVo> javaObjectList = new ArrayList<>();
+                javaObjectList.add(ygQuoteAccidentVo);
+
+                quoteVo1.setAccidentalDrivingVo(javaObjectList);
+            } else {
+                quoteVo1.setAccidentalDrivingVo(new ArrayList<>());
+            }
             respVo = yangGuangOrderApiService.quote(quoteInfo, quoteVo1);
         }
         if("PAIC1000000".equals(ptlAgreementAttribution.getInsCompanyId()) && Objects.isNull(respVo)){

+ 1 - 1
src/main/java/com/ydtech/modules/order/entity/api/yangguang/request/YangGuangAccuracyCalculateRequest.java

@@ -273,7 +273,7 @@ public class YangGuangAccuracyCalculateRequest extends YangGuangBaseRequest{
     this.itemcar = new ItemCarInfoDTO(quoteInfoVo.getCarInfo());
     this.kindList = ItemKindListDTO.toItemKindListDTOList(actualValue, quoteInfoVo.getKindList(),
                 Integer.parseInt(quoteInfoVo.getCarInfo().getSeatCount()) - 1, quoteInfoVo.getCarInfo().isNewEnergy());
-    if (ArrayUtil.isNotEmpty(accidentVo)) {
+    if (ArrayUtil.isNotEmpty(accidentVo) && accidentVo.size() > 0) {
         this.NonVehicleProductInformationList = accidentVo.stream().map(NonVehicleProductInformationListDTO::new).collect(Collectors.toList());
         this.CasualtyFlag = "1";
     }

+ 11 - 0
src/main/java/com/ydtech/modules/order/entity/api/yangguang/request/YangGuangSubmitRequest.java

@@ -80,6 +80,10 @@ public class YangGuangSubmitRequest extends YangGuangBaseRequest{
      */
     @JSONField(name = "ElecinvoiceFlag")
     private String ElecinvoiceFlag;
+
+    @JSONField(name = "CasualtyFlag")
+    private String CasualtyFlag;
+
     /**
      * 录单设备Ip
      */
@@ -130,6 +134,13 @@ public class YangGuangSubmitRequest extends YangGuangBaseRequest{
         } else {
             this.PolicyType = "3";
         }
+        if (insAreaCompany.getAccidentInfo() != null) {
+            this.CasualtyFlag = "1";
+        } else {
+            this.CasualtyFlag = "0";
+        }
+
+
 
     }
 

+ 9 - 8
src/main/java/com/ydtech/modules/order/entity/api/yangguang/request/YangGuangUpLoadRequest.java

@@ -5,6 +5,7 @@ import com.ydtech.constants.InsuranceImageEnum;
 import com.ydtech.modules.order.entity.api.yangguang.constants.ImageTypeEnum;
 import com.ydtech.modules.order.entity.config.YangGuangConfigureParameters;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
+import com.ydtech.modules.order.entity.po.InsUploadFiles;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
@@ -22,9 +23,9 @@ public class YangGuangUpLoadRequest extends YangGuangBaseRequest{
     @JSONField(name = "Body")
     private Body Body;
 
-    public YangGuangUpLoadRequest (String InfotransNo,InsTaskImagesBase64 insTaskImagesBase64, YangGuangConfigureParameters parameters) {
+    public YangGuangUpLoadRequest(String InfotransNo, InsTaskImagesBase64 insTaskImagesBase64, YangGuangConfigureParameters parameters, InsUploadFiles insUploadFiles) {
         this.Head = new Head();
-        this.Body = new Body(InfotransNo,insTaskImagesBase64, parameters);
+        this.Body = new Body(InfotransNo,insTaskImagesBase64, parameters,insUploadFiles);
     }
 
     @Data
@@ -50,8 +51,8 @@ public class YangGuangUpLoadRequest extends YangGuangBaseRequest{
         @JSONField(name = "imageInfo")
         private imageInfo imageInfo;
 
-        public Body(String InfotransNo,InsTaskImagesBase64 insTaskImagesBase64, YangGuangConfigureParameters parameters) {
-           this.imageInfo = new imageInfo(InfotransNo, insTaskImagesBase64, parameters);
+        public Body(String InfotransNo,InsTaskImagesBase64 insTaskImagesBase64, YangGuangConfigureParameters parameters,InsUploadFiles insUploadFiles) {
+           this.imageInfo = new imageInfo(InfotransNo, insTaskImagesBase64, parameters,insUploadFiles);
         }
         @Data
         public static class imageInfo implements Serializable {
@@ -82,13 +83,13 @@ public class YangGuangUpLoadRequest extends YangGuangBaseRequest{
             @JSONField(name = "insuranceImageList")
             private List<insuranceImageList> insuranceImageList;
 
-            public imageInfo(String InfotransNo,InsTaskImagesBase64 insTaskImagesBase64, YangGuangConfigureParameters parameters) {
+            public imageInfo(String InfotransNo,InsTaskImagesBase64 insTaskImagesBase64, YangGuangConfigureParameters parameters, InsUploadFiles insUploadFiles) {
                 this.caseNo = InfotransNo;
                 this.appCode = "CARAPPLY";
                 this.caseSource = "0";
                 this.fileServer = "0";
                 this.ifNationwideQuick = "0";
-                this.insuranceImageList = Arrays.asList(new insuranceImageList(insTaskImagesBase64,parameters));
+                this.insuranceImageList = Arrays.asList(new insuranceImageList(insTaskImagesBase64,parameters,insUploadFiles));
             }
 
             @NoArgsConstructor
@@ -133,9 +134,9 @@ public class YangGuangUpLoadRequest extends YangGuangBaseRequest{
                 @JSONField(name = "exifInfo")
                 private String exifInfo;
 
-                public insuranceImageList(InsTaskImagesBase64 insTaskImagesBase64, YangGuangConfigureParameters parameters) {
+                public insuranceImageList(InsTaskImagesBase64 insTaskImagesBase64, YangGuangConfigureParameters parameters, InsUploadFiles insUploadFiles) {
                     String suffix = insTaskImagesBase64.getFileName().substring(insTaskImagesBase64.getFileName().lastIndexOf("."));
-                    this.imageUrl = insTaskImagesBase64.getBase64String();
+                    this.imageUrl = "https://test.baoxianzhanggui.com/web-api" + insUploadFiles.getUrl();
                     this.imageType = "01";
                     this.referer = "SXJZG";
                     this.userNo = parameters.getHandlerCode();

+ 13 - 0
src/main/java/com/ydtech/modules/order/entity/api/yangguang/response/YangGuangSubmitResponse.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.order.entity.api.yangguang.response;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.annotation.JSONField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -92,6 +93,10 @@ public class YangGuangSubmitResponse extends YangGuangBaseResponse {
     @JSONField(name = "Clause")
     private List<Clause> Clause;
 
+    @JSONField(name = "PtptNonVehicleProductInformationList")
+    private JSONArray PtptNonVehicleProductInformationList;
+
+    @Data
     public static class Clause implements Serializable {
         /**
          * 特约编码
@@ -117,4 +122,12 @@ public class YangGuangSubmitResponse extends YangGuangBaseResponse {
         @JSONField(name = "riskCode")
         private String riskCode;
     }
+    @Data
+    public static class PtptNonVehicleProductInformationList implements Serializable {
+        private String FcProduct;
+
+        private String FcSumPremium;
+
+        private String FcProposalNo;
+    }
 }

+ 40 - 10
src/main/java/com/ydtech/modules/order/service/impl/YangGuangOrderApiServiceImpl.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ydtech.config.properties.YangGuangApiConfigurationProperties;
 import com.ydtech.constants.enums.InsuranceOrderPdf;
 import com.ydtech.constants.enums.InsuranceRisk;
@@ -22,9 +23,11 @@ import com.ydtech.modules.order.entity.api.yangguang.request.*;
 import com.ydtech.modules.order.entity.api.yangguang.response.*;
 import com.ydtech.modules.order.entity.api.zijin.constants.enums.BusType;
 import com.ydtech.modules.order.entity.config.YangGuangConfigureParameters;
+import com.ydtech.modules.order.entity.crawler.vo.CrawlerPolicyPrintVo;
 import com.ydtech.modules.order.entity.dto.ReadPdfUrlListDto;
 import com.ydtech.modules.order.entity.filter.CarModelsFilterUtils;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
+import com.ydtech.modules.order.entity.po.InsUploadFiles;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
 import com.ydtech.modules.order.entity.vo.PolicyPrintVo;
@@ -70,7 +73,9 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
 
     private final InsTaskImagesService insTaskImagesService;
 
-    private InsImagesUploadCacheComponents insImagesUploadCacheComponents;
+    private final InsUploadFilesService insUploadFilesService;
+
+    private final InsImagesUploadCacheComponents insImagesUploadCacheComponents;
 
 
     @Value("${upload.file.path}")
@@ -121,7 +126,7 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
         YangGuangAccuracyCalculateRequest yangGuangAccuracyCalculateRequest = new YangGuangAccuracyCalculateRequest(quoteInfoVo, purchasePrice, carModelList1, riskList.get(0),startDate,ygConfigureParameters,quoteVo.getAccidentalDrivingVo());
         yangGuangAccuracyCalculateRequest.setInfotransNo(yangGuangQueryVehicleModelResponse.getInfotransNo());
         YangGuangAccuracyCalculateResponse yangGuangAccuracyCalculateResponse = yangGuangRequestApiComponents.accuracyCalculaye(yangGuangAccuracyCalculateRequest);
-        if (insOrders.getProductid().equals("034001") || insOrders.getProductid().equals("0330034001")) {
+        if (insOrders.getProductid().equals("034001") || insOrders.getProductid().equals("0330034001") || insOrders.getProductid().equals("0330034002")) {
             if (yangGuangAccuracyCalculateResponse.getErrorCode().equals("0")) {
                 YangGuangAccuracyCalculateResponse.itemcar itemcar = yangGuangAccuracyCalculateResponse.getItemcar();
                 String actualValue = itemcar.getActualValue();
@@ -195,9 +200,12 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
             if (insTaskImagesBase64s.isEmpty()) {
                 return HttpResult.ok();
             }
-            for (InsTaskImagesBase64 insTaskImagesBase64 :insTaskImagesBase64s) {
-                YangGuangUpLoadRequest yangGuangUpLoadRequest = new YangGuangUpLoadRequest(InfotransNo, insTaskImagesBase64, parameters);
-                String yangGuangUpLoadResponse = yangGuangRequestApiComponents.upload(yangGuangUpLoadRequest);
+            for (InsTaskImagesBase64 insTaskImagesBase64 : insTaskImagesBase64s) {
+                ObjectMapper objectMapper = new ObjectMapper();
+                InsUploadFiles insUploadFiles = insUploadFilesService.queryById(insTaskImagesBase64.getImageId());
+                YangGuangUpLoadRequest yangGuangUpLoadRequest = new YangGuangUpLoadRequest(InfotransNo, insTaskImagesBase64, parameters, insUploadFiles);
+                String json = objectMapper.writeValueAsString(yangGuangUpLoadRequest);
+                String yangGuangUpLoadResponse = yangGuangRequestApiComponents.upload(json);
                 log.info("上传影像:{}", yangGuangUpLoadResponse);
             }
         insImagesUploadCacheComponents.setUploadImageCache(companyId, insTaskImagesBase64s);
@@ -225,6 +233,18 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
         if (!yangGuangSubmitResponse.getErrorCode().equals("0")) {
             return HttpResult.error(yangGuangSubmitResponse.getErrorMessage());
         }
+        if (yangGuangSubmitResponse.getCiProposalNo() != null) {
+            insAreaCompany.setJqapplyno(yangGuangSubmitResponse.getCiProposalNo());
+            insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
+        }
+        if (yangGuangSubmitResponse.getBiProposalNo() != null) {
+            insAreaCompany.setSyapplyno(yangGuangSubmitResponse.getBiProposalNo());
+            insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
+        }
+        if (yangGuangSubmitResponse.getPtptNonVehicleProductInformationList() != null) {
+            insAreaCompany.setCrossInsurance(yangGuangSubmitResponse.getPtptNonVehicleProductInformationList());
+            insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
+        }
         // 核保转人工
         if (yangGuangSubmitResponse.getCiUnderWriteFlag() != null && !yangGuangSubmitResponse.getCiUnderWriteFlag().equals("1")) {
             if (yangGuangSubmitResponse.getCiUnderWriteFlag().equals("3")) {
@@ -232,11 +252,11 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
                 insSubOrderUpdateDetailService.insertData(insAreaCompany,insAreaCompany.getOrderstatus(),InsOrderStatusEnum.WAIT_AUDIT.getCode(),"1");
                 insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
                 String message = yangGuangSubmitResponse.getCiUnderWriteMsg();
-                insAreaCompany.setJqpolicyno(yangGuangSubmitResponse.getCiProposalNo() != null ? yangGuangSubmitResponse.getCiProposalNo() :"");
+                insAreaCompany.setJqapplyno(yangGuangSubmitResponse.getCiProposalNo() != null ? yangGuangSubmitResponse.getCiProposalNo() :"");
                 insAreaCompanyService.updateCompanyAndOrdersMessage(insAreaCompany, message);
                 return HttpResult.error("自核转人工,原因:" + message);
             }
-            return HttpResult.error("商业险自核失败,原因:" + yangGuangSubmitResponse.getBiUnderWriteMsg());
+            return HttpResult.error("交强险自核失败,原因:" + yangGuangSubmitResponse.getCiUnderWriteMsg());
         }
         if (yangGuangSubmitResponse.getBiUnderWriteFlag() != null && !yangGuangSubmitResponse.getBiUnderWriteFlag().equals("1")) {
             if (yangGuangSubmitResponse.getBiUnderWriteFlag().equals("3")) {
@@ -244,15 +264,18 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
                 insSubOrderUpdateDetailService.insertData(insAreaCompany,insAreaCompany.getOrderstatus(),InsOrderStatusEnum.WAIT_AUDIT.getCode(),"1");
                 insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
                 String message = yangGuangSubmitResponse.getBiUnderWriteMsg();
-                insAreaCompany.setSypolicyno(yangGuangSubmitResponse.getBiProposalNo() != null ? yangGuangSubmitResponse.getBiProposalNo() :"");
+                insAreaCompany.setSyapplyno(yangGuangSubmitResponse.getBiProposalNo() != null ? yangGuangSubmitResponse.getBiProposalNo() :"");
                 insAreaCompanyService.updateCompanyAndOrdersMessage(insAreaCompany, message);
                 return HttpResult.error("自核转人工,原因:" + message);
             }
             return HttpResult.error("商业险自核失败,原因:" + yangGuangSubmitResponse.getBiUnderWriteMsg());
         }
         // 投保单号
-        insAreaCompany.setJqpolicyno(yangGuangSubmitResponse.getCiProposalNo() != null ? yangGuangSubmitResponse.getCiProposalNo() :"");
-        insAreaCompany.setSypolicyno(yangGuangSubmitResponse.getBiProposalNo() != null ? yangGuangSubmitResponse.getBiProposalNo() :"");
+        insAreaCompany.setJqapplyno(yangGuangSubmitResponse.getCiProposalNo() != null ? yangGuangSubmitResponse.getCiProposalNo() :"");
+        insAreaCompany.setSyapplyno(yangGuangSubmitResponse.getBiProposalNo() != null ? yangGuangSubmitResponse.getBiProposalNo() :"");
+        if (yangGuangSubmitResponse.getPtptNonVehicleProductInformationList() != null) {
+            insAreaCompany.setCrossInsurance(yangGuangSubmitResponse.getPtptNonVehicleProductInformationList());
+        }
         insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
 
 
@@ -386,10 +409,17 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
             insSubOrderUpdateDetailService.insertData(insAreaCompany, insAreaCompany.getOrderstatus(), InsOrderStatusEnum.WAIT_PAY.getCode(), "1");
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
             //更新投保单号和保单号
+            if (insAreaCompany.getJqapplyno() != null && !insAreaCompany.getJqapplyno().equals("") && yangGuangProposalStatusQueryResponse.getCiPolicyNo().equals("")) {
+                return HttpResult.error("该订单未缴费");
+            }
+            if (insAreaCompany.getSyapplyno() != null && !insAreaCompany.getSyapplyno().equals("") && yangGuangProposalStatusQueryResponse.getBiPolicyNo().equals("")) {
+                return HttpResult.error("该订单未缴费");
+            }
             insAreaCompany.setJqpolicyno(yangGuangProposalStatusQueryResponse.getCiPolicyNo());
             insAreaCompany.setSypolicyno(yangGuangProposalStatusQueryResponse.getBiPolicyNo());
             insAreaCompany.setJqapplyno(yangGuangProposalStatusQueryResponse.getCiProposalNo());
             insAreaCompany.setSyapplyno(yangGuangProposalStatusQueryResponse.getBiProposalNo());
+            insAreaCompany.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
             //支付链接
             YangGuangPaymentRequest yangGuangPaymentRequest = new YangGuangPaymentRequest(insAreaCompany, insOrders,yangGuangApiConfigurationProperties.getPayCallBack(),null,yangGuangConfigureParameters);
             YangGuangPaymentResponse yangGuangPaymentResponse = yangGuangRequestApiComponents.payment(yangGuangPaymentRequest);