|
@@ -1,5 +1,6 @@
|
|
|
package com.ydtech.modules.order.service.impl;
|
|
package com.ydtech.modules.order.service.impl;
|
|
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
@@ -39,7 +40,6 @@ import org.springframework.util.StringUtils;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
@Service
|
|
@Service
|
|
@@ -49,13 +49,13 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
|
|
|
String url = "";
|
|
String url = "";
|
|
|
|
|
|
|
|
@Value("${ya.url.sign}")
|
|
@Value("${ya.url.sign}")
|
|
|
- String url_sign = "";
|
|
|
|
|
|
|
+ String urlSign = "";
|
|
|
|
|
|
|
|
@Value("${ya.consumerID}")
|
|
@Value("${ya.consumerID}")
|
|
|
String consumerID = "";
|
|
String consumerID = "";
|
|
|
|
|
|
|
|
@Value("${ya.consumerAccessKey}")
|
|
@Value("${ya.consumerAccessKey}")
|
|
|
- String consumerAccessKey_init = "";
|
|
|
|
|
|
|
+ String consumerAccessKeyInit = "";
|
|
|
|
|
|
|
|
@Value("${ya.matchCode}")
|
|
@Value("${ya.matchCode}")
|
|
|
String matchCode = "";
|
|
String matchCode = "";
|
|
@@ -93,7 +93,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
|
|
|
try {
|
|
try {
|
|
|
ResponseDataC1 responseDataC1 = getResponseDataC1(carModelReq);
|
|
ResponseDataC1 responseDataC1 = getResponseDataC1(carModelReq);
|
|
|
List<CarModelDTO> carModel = responseDataC1.getResponseBody().getCarModel();
|
|
List<CarModelDTO> carModel = responseDataC1.getResponseBody().getCarModel();
|
|
|
- if (carModel.size() > 0) {
|
|
|
|
|
|
|
+ if (!carModel.isEmpty()) {
|
|
|
return carModel;
|
|
return carModel;
|
|
|
}
|
|
}
|
|
|
} catch (Exception ignored) {
|
|
} catch (Exception ignored) {
|
|
@@ -140,20 +140,6 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
|
|
|
carModelReq.setEngineNo(carInfo.getEngineNo()); //发动机号
|
|
carModelReq.setEngineNo(carInfo.getEngineNo()); //发动机号
|
|
|
ResponseDataC1 responseDataC1 = getResponseDataC1(carModelReq);
|
|
ResponseDataC1 responseDataC1 = getResponseDataC1(carModelReq);
|
|
|
|
|
|
|
|
- // 校验车型 车型年份大于初等日期
|
|
|
|
|
- if (responseDataC1.getResponseBody().getCarModel().size() == 1) {
|
|
|
|
|
- CarModelDTO carModelDTO2 = responseDataC1.getResponseBody().getCarModel().get(0);
|
|
|
|
|
- String year = carModelDTO2.getMarketYear().substring(0, 6);
|
|
|
|
|
- String registerDate = carInfo.getRegisterDate();
|
|
|
|
|
- String registerYear = registerDate.replace("-", "").substring(0, 6);
|
|
|
|
|
- if (Integer.parseInt(year) > Integer.parseInt(registerYear)) {
|
|
|
|
|
- carModelReq = new CarModel_Req();
|
|
|
|
|
- carModelReq.setEnrollDate(carInfo.getRegisterDate()); // 初登日期
|
|
|
|
|
- carModelReq.setModelName(carInfo.getModelcname());
|
|
|
|
|
- responseDataC1 = getResponseDataC1(carModelReq);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
// 无法通过车架号查出车型 通过车型查询
|
|
// 无法通过车架号查出车型 通过车型查询
|
|
|
if ("100001".equals(responseDataC1.getResponseHead().getAppCode())) {
|
|
if ("100001".equals(responseDataC1.getResponseHead().getAppCode())) {
|
|
|
carModelReq.setModelName(carInfo.getModelcname());
|
|
carModelReq.setModelName(carInfo.getModelcname());
|
|
@@ -738,7 +724,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
|
|
|
RequestHead requestHead = new RequestHead();
|
|
RequestHead requestHead = new RequestHead();
|
|
|
requestHead.setSeqNo(geneReqNo());
|
|
requestHead.setSeqNo(geneReqNo());
|
|
|
requestHead.setConsumerID(consumerID);
|
|
requestHead.setConsumerID(consumerID);
|
|
|
- requestHead.setConsumerAccessKey(consumerAccessKey_init);
|
|
|
|
|
|
|
+ requestHead.setConsumerAccessKey(consumerAccessKeyInit);
|
|
|
requestHead.setTransCode(type);
|
|
requestHead.setTransCode(type);
|
|
|
requestHead.setRegionCode("D");
|
|
requestHead.setRegionCode("D");
|
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
@@ -795,7 +781,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
|
|
|
public String getConsumerAccessKey(String xmlString) throws Exception {
|
|
public String getConsumerAccessKey(String xmlString) throws Exception {
|
|
|
String consumerAccessKey = "";
|
|
String consumerAccessKey = "";
|
|
|
xmlString = xmlString.substring(xmlString.lastIndexOf("<requestBody>") + 13, xmlString.lastIndexOf("</requestBody>"));
|
|
xmlString = xmlString.substring(xmlString.lastIndexOf("<requestBody>") + 13, xmlString.lastIndexOf("</requestBody>"));
|
|
|
- consumerAccessKey = HMAC256Uitil.hmac256(xmlString, consumerAccessKey_init);
|
|
|
|
|
|
|
+ consumerAccessKey = HMAC256Uitil.hmac256(xmlString, consumerAccessKeyInit);
|
|
|
return consumerAccessKey;
|
|
return consumerAccessKey;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -813,7 +799,6 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
|
|
|
KindInfoVo kindInfoVo = kindList.get(j);
|
|
KindInfoVo kindInfoVo = kindList.get(j);
|
|
|
String deductibleRate = kindInfoVo.getDeductibleRate();
|
|
String deductibleRate = kindInfoVo.getDeductibleRate();
|
|
|
|
|
|
|
|
-
|
|
|
|
|
//第三者责任险
|
|
//第三者责任险
|
|
|
if (kindList.get(j).getKindCode().equals("B")) {
|
|
if (kindList.get(j).getKindCode().equals("B")) {
|
|
|
KindDTO kindInfo = new KindDTO();
|
|
KindDTO kindInfo = new KindDTO();
|
|
@@ -1126,20 +1111,20 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
|
|
|
insAreaCompany.setOrderno(orderNo);
|
|
insAreaCompany.setOrderno(orderNo);
|
|
|
//报价成功更新险种信息
|
|
//报价成功更新险种信息
|
|
|
ResponseBodyC2 responseBody = responseDataC2.getResponseBody();
|
|
ResponseBodyC2 responseBody = responseDataC2.getResponseBody();
|
|
|
- insAreaCompany.setKindinfo(JSONObject.parseArray(JSONObject.toJSONString(quoteRespVo.getKindList())));
|
|
|
|
|
- insAreaCompany.setRiskinfo(JSONObject.parseArray(JSONObject.toJSONString(quoteRespVo.getRiskList())));
|
|
|
|
|
|
|
+ insAreaCompany.setKindinfo(JSON.parseArray(JSON.toJSONString(quoteRespVo.getKindList())));
|
|
|
|
|
+ insAreaCompany.setRiskinfo(JSON.parseArray(JSON.toJSONString(quoteRespVo.getRiskList())));
|
|
|
insAreaCompany.setJqpremium(BigDecimal.valueOf(jq_falg ? responseBody.getCiPremium() : 0));
|
|
insAreaCompany.setJqpremium(BigDecimal.valueOf(jq_falg ? responseBody.getCiPremium() : 0));
|
|
|
insAreaCompany.setSypremium(BigDecimal.valueOf(responseBody.getBiPremium()));
|
|
insAreaCompany.setSypremium(BigDecimal.valueOf(responseBody.getBiPremium()));
|
|
|
insAreaCompany.setTaxamount(BigDecimal.valueOf(jq_falg ? responseBody.getCarTax().getSumPayment() : 0));
|
|
insAreaCompany.setTaxamount(BigDecimal.valueOf(jq_falg ? responseBody.getCarTax().getSumPayment() : 0));
|
|
|
// insOrder.setSumpremium(responseBody.getSumPremium()+insOrder.getTaxamount());
|
|
// insOrder.setSumpremium(responseBody.getSumPremium()+insOrder.getTaxamount());
|
|
|
insAreaCompany.setSumpremium(BigDecimal.valueOf(quoteRespVo.getSumPermium()));
|
|
insAreaCompany.setSumpremium(BigDecimal.valueOf(quoteRespVo.getSumPermium()));
|
|
|
insAreaCompany.setOrderstatus(InsOrderStatus.S_0.getCode()); // 1
|
|
insAreaCompany.setOrderstatus(InsOrderStatus.S_0.getCode()); // 1
|
|
|
- insAreaCompany.setReqtxt(JSONObject.parseObject(JSONObject.toJSONString(requestData)));
|
|
|
|
|
- insAreaCompany.setReptxt(JSONObject.parseObject(JSONObject.toJSONString(responseDataC2)));
|
|
|
|
|
|
|
+ insAreaCompany.setReqtxt(JSON.parseObject(JSON.toJSONString(requestData)));
|
|
|
|
|
+ insAreaCompany.setReptxt(JSON.parseObject(JSON.toJSONString(responseDataC2)));
|
|
|
// insAreaCompany.setPolicytype(quoteRespVo.getIszdj());
|
|
// insAreaCompany.setPolicytype(quoteRespVo.getIszdj());
|
|
|
insAreaCompany.setInscompany(esmInsCompany.getId());
|
|
insAreaCompany.setInscompany(esmInsCompany.getId());
|
|
|
insAreaCompany.setInscompany(esmInsCompany.getNamesimple());
|
|
insAreaCompany.setInscompany(esmInsCompany.getNamesimple());
|
|
|
- insAreaCompany.setTaxArrears(JSONObject.parseArray(JSONObject.toJSONString(quoteRespVo.getTaxArrears())));
|
|
|
|
|
|
|
+ insAreaCompany.setTaxArrears(JSON.parseArray(JSON.toJSONString(quoteRespVo.getTaxArrears())));
|
|
|
insAreaCompanyService.save(insAreaCompany);
|
|
insAreaCompanyService.save(insAreaCompany);
|
|
|
insOrdersService.updateByOrderStatus(orderNo, InsOrderStatus.S_0.getCode());
|
|
insOrdersService.updateByOrderStatus(orderNo, InsOrderStatus.S_0.getCode());
|
|
|
quoteRespVo.setCompanyId(insAreaCompany.getId());
|
|
quoteRespVo.setCompanyId(insAreaCompany.getId());
|