|
|
@@ -1,6 +1,7 @@
|
|
|
package com.jzg.quotation.summary.controller;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.date.DateTime;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.jzg.commons.constants.CompanyConstants;
|
|
|
@@ -26,6 +27,7 @@ import com.jzg.quotation.commons.utils.SnowFlakeUtil;
|
|
|
import com.jzg.quotation.summary.converter.QuoteInfoConverter;
|
|
|
import com.jzg.quotation.summary.entity.po.QuoteRuleMapping;
|
|
|
import com.jzg.quotation.summary.factory.CompanyFactory;
|
|
|
+import com.jzg.quotation.summary.mapper.SysUploadFilesMapper;
|
|
|
import com.jzg.quotation.summary.service.*;
|
|
|
import com.jzg.quotation.summary.state.listener.OrderStateListener;
|
|
|
import io.minio.MinioClient;
|
|
|
@@ -38,6 +40,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.apache.commons.io.IOUtils;
|
|
|
+import org.simpleframework.xml.ElementArray;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
@@ -104,6 +107,15 @@ public class UnifyOrderManager {
|
|
|
@Autowired
|
|
|
MinioClient minioClient;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ MinioUtils minioUtils;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ SysUploadFilesMapper sysUploadFilesMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ InsOrdersPdfUrlService insOrdersPdfUrlService;
|
|
|
+
|
|
|
@Value("${minio.bucket-name}")
|
|
|
private String bucketName;
|
|
|
|
|
|
@@ -211,7 +223,7 @@ public class UnifyOrderManager {
|
|
|
|
|
|
@Operation(summary = "统一核保")
|
|
|
@PostMapping("/underwriting")
|
|
|
- public HttpResult underwriting(@RequestBody UnderwritingVo underwritingVo) throws JsonProcessingException {
|
|
|
+ public HttpResult underwriting(@RequestBody UnderwritingVo underwritingVo) throws Exception {
|
|
|
//获取保司实体
|
|
|
InsOrders insOrders = insOrdersService.getById(underwritingVo.getOrder().getOrdersNo());
|
|
|
AssertionUtils.isFail(Objects.isNull(insOrders),"订单不存在");
|
|
|
@@ -327,18 +339,59 @@ public class UnifyOrderManager {
|
|
|
public HttpResult downloadPolicy(@RequestBody DownloadPolicyVo downloadPolicyVo) throws IOException {
|
|
|
//获取保司实体
|
|
|
InsOrders insOrders = insOrdersService.getById(downloadPolicyVo.getOrder().getOrdersNo());
|
|
|
-// InsOrdersPdfUrl insOrdersPdfUrl = insOrdersService.getById(insOrders.getId());
|
|
|
+ InsOrdersCarInfo carInfo = insOrdersCarInfoService.getByOrderId(insOrders.getId());
|
|
|
+ InsOrdersPdfUrl insOrdersPdfUrl = insOrdersPdfUrlService.getPdfUrlByOrderNo(insOrders.getId());
|
|
|
AssertionUtils.isFail(Objects.isNull(insOrders),"订单不存在");
|
|
|
QuotationApiBaseService downloadPolicyService = companyFactory.getDownloadPolicyService(
|
|
|
downloadPolicyVo,insOrders);
|
|
|
- DownloadPolicyResultVo downloadPolicyResultVo = downloadPolicyService.downloadPolicy(downloadPolicyVo);
|
|
|
- String jqUrl = downloadPolicyResultVo.getJqUrl();
|
|
|
- HttpResult<SysUploadFiles> uploadResult = platformClient.uploadUrl(jqUrl, jqUrl);
|
|
|
- if (uploadResult.getCode() == 200) {
|
|
|
-// uploadResult.getData().getId()
|
|
|
- }
|
|
|
|
|
|
+ //如果pdf 查不到数据 就去下载
|
|
|
+ if(Objects.isNull(insOrdersPdfUrl)){
|
|
|
+ DownloadPolicyResultVo downloadPolicyResultVo = downloadPolicyService.downloadPolicy(downloadPolicyVo);
|
|
|
+ if(Objects.nonNull(downloadPolicyResultVo.getJqUrl()) || Objects.nonNull(downloadPolicyResultVo.getJqFlagUrl()) ||
|
|
|
+ Objects.nonNull(downloadPolicyResultVo.getSyUrl()) || Objects.nonNull(downloadPolicyResultVo.getJyUrl())){
|
|
|
+ insOrdersPdfUrl = new InsOrdersPdfUrl();
|
|
|
+ insOrdersPdfUrl.setOrderNo(insOrders.getId());
|
|
|
+ insOrdersPdfUrl.setRiskCode(insOrders.getProductId());
|
|
|
+ String jqUrl = downloadPolicyResultVo.getJqUrl();
|
|
|
+ if(Objects.nonNull(jqUrl)) {
|
|
|
+ String fileName = carInfo.getLicenseNo() + DateTime.now() + "交强保单.pdf";
|
|
|
+ HttpResult<SysUploadFiles> uploadResult = platformClient.uploadUrl(jqUrl, fileName);
|
|
|
+ if(uploadResult.getCode() == 200){
|
|
|
+ insOrdersPdfUrl.setJqNo(downloadPolicyVo.getPolicie().getJqPolicyNo());
|
|
|
+ insOrdersPdfUrl.setJqUrl(uploadResult.getData().getDownloadUrl());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String jqFlagUrl = downloadPolicyResultVo.getJqFlagUrl();
|
|
|
+ if(Objects.nonNull(jqFlagUrl)){
|
|
|
+ String fileName = carInfo.getLicenseNo() + DateTime.now() + "交强标志.pdf";
|
|
|
+ HttpResult<SysUploadFiles> uploadResult = platformClient.uploadUrl(jqFlagUrl, fileName);
|
|
|
+ if(uploadResult.getCode() == 200){
|
|
|
+ insOrdersPdfUrl.setJqSignUrl(uploadResult.getData().getDownloadUrl());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String syUrl = downloadPolicyResultVo.getSyUrl();
|
|
|
+ if(Objects.nonNull(syUrl)){
|
|
|
+ String fileName = carInfo.getLicenseNo() + DateTime.now() + "商业保单.pdf";
|
|
|
+ HttpResult<SysUploadFiles> uploadResult = platformClient.uploadUrl(syUrl, fileName);
|
|
|
+ if(uploadResult.getCode() == 200){
|
|
|
+ insOrdersPdfUrl.setSyNo(downloadPolicyVo.getPolicie().getSyPolicyNo());
|
|
|
+ insOrdersPdfUrl.setSyUrl(uploadResult.getData().getDownloadUrl());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String jyUrl = downloadPolicyResultVo.getJyUrl();
|
|
|
+ if(Objects.nonNull(jyUrl)){
|
|
|
+ String fileName = carInfo.getLicenseNo() + DateTime.now() + "驾意保单.pdf";
|
|
|
+ HttpResult<SysUploadFiles> uploadResult = platformClient.uploadUrl(jyUrl, fileName);
|
|
|
+ if(uploadResult.getCode() == 200){
|
|
|
+ insOrdersPdfUrl.setJyNo(downloadPolicyVo.getPolicie().getJyPolicyNo());
|
|
|
+ insOrdersPdfUrl.setJyUrl(uploadResult.getData().getDownloadUrl());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ insOrdersPdfUrlService.save(insOrdersPdfUrl);
|
|
|
+ }
|
|
|
|
|
|
- return HttpResult.ok();
|
|
|
+ return HttpResult.ok(insOrdersPdfUrl);
|
|
|
}
|
|
|
}
|