|
|
@@ -20,19 +20,19 @@ import com.ydtech.modules.order.entity.TaxArrears;
|
|
|
import com.ydtech.modules.order.entity.api.zm.constants.InsuranceTypeCorrespondence;
|
|
|
import com.ydtech.modules.order.entity.api.zm.constants.enums.AuditStatusEnum;
|
|
|
import com.ydtech.modules.order.entity.api.zm.constants.enums.DocumentTypeEnum;
|
|
|
+import com.ydtech.modules.order.entity.api.zm.constants.enums.PaymentStatusEnum;
|
|
|
import com.ydtech.modules.order.entity.api.zm.request.*;
|
|
|
|
|
|
import com.ydtech.modules.order.entity.api.zm.response.*;
|
|
|
import com.ydtech.modules.order.entity.vo.AccidentalDrivingVo;
|
|
|
import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
|
|
|
import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
|
|
|
+import com.ydtech.modules.order.entity.vo.PolicyPrintVo;
|
|
|
import com.ydtech.modules.order.service.InsAreaCompanyService;
|
|
|
import com.ydtech.modules.order.service.InsOrdersService;
|
|
|
import com.ydtech.modules.order.service.ZhongMeiOrderApiService;
|
|
|
import com.ydtech.utils.CalculateUtils;
|
|
|
-import com.ydtech.utils.StringUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
@@ -44,15 +44,6 @@ import java.util.stream.Collectors;
|
|
|
@Slf4j
|
|
|
public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
|
|
|
|
|
|
- @Value("${ZMUrl}")
|
|
|
- private String ZMUrl;
|
|
|
-
|
|
|
- @Value("${ZMToken}")
|
|
|
- private String ZMToken;
|
|
|
-
|
|
|
- @Value("${ZMIMGUrl}")
|
|
|
- private String ZMIMGUrl;
|
|
|
-
|
|
|
private final InsOrdersService insOrdersService;
|
|
|
|
|
|
private final InsAreaCompanyService insAreaCompanyService;
|
|
|
@@ -146,7 +137,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
|
|
|
// 投保单号(总)
|
|
|
String insOrderNo = insAreaCompany.getInsOrderNo();
|
|
|
List<InsTaskImage> insTaskImages = insTaskImageService.selectByTaskId(insOrders.getQuoteno());
|
|
|
- if(insTaskImages.size() == 0){
|
|
|
+ if (insTaskImages.size() == 0) {
|
|
|
throw new SystemException("请检查影像是否上传了");
|
|
|
}
|
|
|
UploadImageRequest request = new UploadImageRequest(insTaskImages, insOrderNo);
|
|
|
@@ -159,7 +150,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
|
|
|
String s = JSONObject.toJSONString(coverageRequest);
|
|
|
log.info("中煤承保回调参数------>{}", s);
|
|
|
|
|
|
- if (coverageRequest.getStatus() == 1) {
|
|
|
+ if (coverageRequest.getStatus() == PaymentStatusEnum.P_3.getCode()) {
|
|
|
// 主投保单号
|
|
|
String proposalNo = coverageRequest.getProposalNo();
|
|
|
InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(proposalNo);
|
|
|
@@ -196,11 +187,35 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpResult getPolicyPrint(String companyId, String riskCode, String type) {
|
|
|
- InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
|
|
|
- String policyNo;
|
|
|
- String code = DocumentTypeEnum.code(type);
|
|
|
+ public HttpResult paymentEnquiry(String companyId) {
|
|
|
+ InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
|
|
|
+ if(insAreaCompany.getOrderstatus().equals(InsOrderStatus.S_3.getCode())){
|
|
|
+ return HttpResult.ok("此订单已承保");
|
|
|
+ }
|
|
|
+ OrderStatusRequest orderStatusRequest = new OrderStatusRequest();
|
|
|
+ orderStatusRequest.setOrderNo(insAreaCompany.getId());
|
|
|
+ orderStatusRequest.setSubProposalNo(insAreaCompany.getInsOrderNo());
|
|
|
+ OrderStatusResponse orderStatusResponse = zhongmeiRequestApiComponents.orderStatus(orderStatusRequest, OrderStatusResponse.class);
|
|
|
+ String status = orderStatusResponse.getStatus();
|
|
|
+ if(status.equals(PaymentStatusEnum.P_3.getCode())){
|
|
|
+ insAreaCompany.setJqpolicyno(orderStatusResponse.getSubContractNoJ());
|
|
|
+ insAreaCompany.setSypolicyno(orderStatusResponse.getSubContractNoS());
|
|
|
+ insAreaCompany.setJypolicyno(orderStatusResponse.getAccidentNo());
|
|
|
+ insAreaCompany.setOrderstatus(InsOrderStatus.S_3.getCode());
|
|
|
+ insOrdersService.updateByOrderStatus(insAreaCompany.getOrderno(), insAreaCompany.getOrderstatus());
|
|
|
+ insAreaCompanyService.updateById(insAreaCompany);
|
|
|
+ return HttpResult.ok("");
|
|
|
+ }
|
|
|
+
|
|
|
+ return HttpResult.error(Enum.valueOf(PaymentStatusEnum.class, "P_" + status));
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ public HttpResult getPolicyPrint(PolicyPrintVo policyPrintVo) {
|
|
|
+ InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(policyPrintVo.getCompanyId());
|
|
|
+ String policyNo;
|
|
|
+ String code = DocumentTypeEnum.code(policyPrintVo.getType());
|
|
|
+ String riskCode = policyPrintVo.getRiskCode();
|
|
|
if (InsuranceTypeCorrespondence.TRAFFIC.equals(riskCode)) {
|
|
|
policyNo = insAreaCompany.getJqpolicyno();
|
|
|
} else if (InsuranceTypeCorrespondence.BUSINESS.equals(riskCode)) {
|
|
|
@@ -209,6 +224,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
|
|
|
throw new SystemException("险种代码不存在");
|
|
|
}
|
|
|
InsurancePolicyPrintRequest request = new InsurancePolicyPrintRequest();
|
|
|
+ request.setRiskCode(InsuranceTypeCorrespondence.RISK.get(riskCode));
|
|
|
request.setPolicyNo(policyNo);
|
|
|
request.setDocumentType(code);
|
|
|
InsurancePolicyPrintResponse response = zhongmeiRequestApiComponents.insurancePolicyPrint(request, InsurancePolicyPrintResponse.class);
|
|
|
@@ -274,9 +290,12 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
|
|
|
kind.setKindCode(kindInfoVo.getKindCode());
|
|
|
kind.setKindName(kindInfoVo.getKindName());
|
|
|
kind.setAmount(kindInfoVo.getAmount());
|
|
|
+ int i = ArrayUtil.indexOf(InsuranceTypeCorrespondence.JINZHANGGUI_TYPE, kindInfoVo.getKindCode());
|
|
|
+
|
|
|
QuotedPriceResponse.BizPremiumDTO.CoverageListDTO coverageListDTOS = coverageList.stream().filter(
|
|
|
- a -> ArrayUtil.indexOf(InsuranceTypeCorrespondence.CONNECT_INSURANCE_TYPE, a.getKindCode()) > 0)
|
|
|
+ a -> a.getKindCode().equals(InsuranceTypeCorrespondence.CONNECT_INSURANCE_TYPE[i]))
|
|
|
.collect(Collectors.toList()).get(0);
|
|
|
+
|
|
|
kind.setCoveragePremium(coverageListDTOS.getPremium());
|
|
|
kind.setUnitAmount(kindInfoVo.getUnitAmount());
|
|
|
if (!ObjectUtils.isEmpty(kindInfoVo.getDeductibleRate())) {
|