|
|
@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.jzg.commons.constants.dict.InsOrderStatusEnum;
|
|
|
+import com.jzg.commons.entity.orders.po.InsOrdersPolicy;
|
|
|
import com.jzg.commons.entity.quote.vo.AccidentalDrivingVo;
|
|
|
import com.jzg.commons.entity.quote.vo.AttributionInformationVo;
|
|
|
import com.jzg.commons.entity.quote.vo.CarInfoVo;
|
|
|
@@ -227,7 +228,7 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
|
|
|
if ("4".equals(totalStatus)) {
|
|
|
underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
|
|
|
//再调用缴费接口获取缴费链接
|
|
|
- //return getPayURL(insAreaCompany, huaTaiConfigureParameters);
|
|
|
+ //return getPaymentLink(insAreaCompany, huaTaiConfigureParameters);
|
|
|
} else if ("1".equals(totalStatus)) {
|
|
|
//人工核保
|
|
|
underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.STAFF_PROCESS);
|
|
|
@@ -309,17 +310,31 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
|
|
|
*/
|
|
|
@Override
|
|
|
public DownloadPolicyResultVo downloadPolicy(DownloadPolicyVo downloadPolicyVo) {
|
|
|
+ InsOrdersPolicy police = downloadPolicyVo.getPolicie();
|
|
|
+ if (ObjectUtil.isNull(police)){
|
|
|
+ throw new RuntimeException("请选择保单");
|
|
|
+ }
|
|
|
+ DownloadPolicyResultVo resultVo = new DownloadPolicyResultVo();
|
|
|
AttributionInformationVo attributionInformationVo = downloadPolicyVo.getOrder().getAttributionInformationVo();
|
|
|
//配置信息
|
|
|
HuaTaiConfigureParameters huaTaiParameters = ConfigureParametersConversion.conversionEntity(HuaTaiConfigureParameters.class, attributionInformationVo.getConfigInfo());
|
|
|
-
|
|
|
- String policyNo = "";//以后需补充如何获取
|
|
|
HuaTaiInsurancePolicyPrintRequest request = new HuaTaiInsurancePolicyPrintRequest();
|
|
|
request.setHead(new HuaTaiBaseRequestHead(huaTaiParameters));
|
|
|
- request.setBusinessNo(policyNo);
|
|
|
-
|
|
|
- HuaTaiInsurancePolicyPrintResponse response = huataiRequestApiComponent.insurancePolicyPrint(request, HuaTaiInsurancePolicyPrintResponse.class, huaTaiParameters.getInsuredCode());
|
|
|
- return null;
|
|
|
+ if (StringUtils.isNotBlank(police.getJqPolicyNo())){
|
|
|
+ request.setBusinessNo(police.getJqPolicyNo());
|
|
|
+ HuaTaiInsurancePolicyPrintResponse response = huataiRequestApiComponent.insurancePolicyPrint(request, HuaTaiInsurancePolicyPrintResponse.class, huaTaiParameters.getInsuredCode());
|
|
|
+ response.getElecDownLoadResultList().forEach(elecDownLoadResultDto -> {
|
|
|
+ resultVo.setJqUrl(elecDownLoadResultDto.getDownURL());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(police.getJyPolicyNo())){
|
|
|
+ request.setBusinessNo(police.getJyPolicyNo());
|
|
|
+ HuaTaiInsurancePolicyPrintResponse response = huataiRequestApiComponent.insurancePolicyPrint(request, HuaTaiInsurancePolicyPrintResponse.class, huaTaiParameters.getInsuredCode());
|
|
|
+ response.getElecDownLoadResultList().forEach(elecDownLoadResultDto -> {
|
|
|
+ resultVo.setJyUrl(elecDownLoadResultDto.getDownURL());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return resultVo;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -329,6 +344,7 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
|
|
|
*/
|
|
|
@Override
|
|
|
public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
|
|
|
+ OrderStatusResultVo orderStatusResultVo = new OrderStatusResultVo();
|
|
|
AttributionInformationVo attributionInformationVo = orderStatusVo.getOrder().getAttributionInformationVo();
|
|
|
//配置信息
|
|
|
HuaTaiConfigureParameters huaTaiParameters = ConfigureParametersConversion.conversionEntity(HuaTaiConfigureParameters.class, attributionInformationVo.getConfigInfo());
|
|
|
@@ -337,12 +353,64 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
|
|
|
HuaTaiApiOrder huaTaiApiOrder = huaTaiApiOrderService.findByOrdersNo(orderStatusVo.getOrder().getOrdersNo());
|
|
|
//获取核保状态
|
|
|
HuaTaiSubmitStatusQueryResponse submitStatusQueryResponse = submitStatus(huaTaiApiOrder, huaTaiParameters, "2");
|
|
|
+ /**
|
|
|
+ * 0 初始状态默认值
|
|
|
+ * 1 已通过核保已实收
|
|
|
+ * 2 待修改
|
|
|
+ * 4 主动撤回(出单员撤回)
|
|
|
+ * 6 下发修改(核保员下发)
|
|
|
+ * 8 已通过核保未实收
|
|
|
+ * 9 待核保
|
|
|
+ */
|
|
|
+ if (StringUtils.equals("-1",submitStatusQueryResponse.getHead().getReturnCode())){
|
|
|
+ throw new SystemException("查询订单状态失败");
|
|
|
+ }
|
|
|
+ List<HuaTaiSubmitStatusQueryResponse.AppliResult> appliResult = submitStatusQueryResponse.getAppliResult();
|
|
|
+ for (HuaTaiSubmitStatusQueryResponse.AppliResult result : appliResult) {
|
|
|
+ String underWriteFlag = result.getUnderWriteFlag();
|
|
|
+ switch (underWriteFlag){
|
|
|
+ case "0":
|
|
|
+ orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.QUOTE_ING);
|
|
|
+ break;
|
|
|
+ case "1":
|
|
|
+ orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.UNDERWRITED);
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.AUDIT_FAIL);
|
|
|
+ break;
|
|
|
+ case "4":
|
|
|
+ orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.ORDER_CLOSE);
|
|
|
+ break;
|
|
|
+ case "6", "8":
|
|
|
+ orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.PAY_PENDING);
|
|
|
+ break;
|
|
|
+ case "9":
|
|
|
+ orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.WAIT_AUDIT);
|
|
|
+ break;
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ log.info("核保状态:{}",JSONObject.toJSONString(submitStatusQueryResponse.getAppliResult()));
|
|
|
|
|
|
//获取见费出单结果
|
|
|
HuaTaiOrderStatusRequest orderStatusRequest = new HuaTaiOrderStatusRequest(huaTaiApiOrder, huaTaiParameters);
|
|
|
orderStatusRequest.setHead(baseRequestHead);
|
|
|
HuaTaiOrderStatusResponse orderStatusResponse = huataiRequestApiComponent.orderStatus(orderStatusRequest, HuaTaiOrderStatusResponse.class, huaTaiParameters.getInsuredCode());
|
|
|
- return null;
|
|
|
+ log.info("见费出单结果:{}",JSONObject.toJSONString(orderStatusResponse));
|
|
|
+ for (HuaTaiOrderStatusResponse.PayDetaiDto payDetaiDto : orderStatusResponse.getPayDetaiList()) {
|
|
|
+ if (StringUtils.equals("1002",payDetaiDto.getRiskCode())){
|
|
|
+ orderStatusResultVo.setJqApplyNo(payDetaiDto.getBUSINESSNO());
|
|
|
+ orderStatusResultVo.setJqPolicyno(payDetaiDto.getPOLICYNO());
|
|
|
+ }else if(StringUtils.equals("1251",payDetaiDto.getRiskCode())){
|
|
|
+ orderStatusResultVo.setSyApplyNo(payDetaiDto.getBUSINESSNO());
|
|
|
+ orderStatusResultVo.setSyPolicyno(payDetaiDto.getPOLICYNO());
|
|
|
+ }else {
|
|
|
+ //
|
|
|
+ log.info("未知的险种:{}",payDetaiDto.getRiskCode());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return orderStatusResultVo;
|
|
|
|
|
|
}
|
|
|
|