package com.ydtech.utils; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.ydtech.constants.InsuranceEnum; import com.ydtech.modules.ins.model.vo.AccidentResponseVo; import com.ydtech.modules.order.entity.api.dajia.response.NVHLODR1001Response; import com.ydtech.modules.order.entity.api.zhongmei.response.SubmitResponse; import com.ydtech.modules.order.entity.crawler.response.CrawlerVerifyPaymentResponse; import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto; import com.ydtech.modules.protocol.entity.constants.PtlApiType; import org.apache.commons.lang3.ObjectUtils; import java.util.List; import java.util.Objects; /** * 订单相关工具类 */ public class OrderUtils { /** * 获取驾意险保单号 * @param companyId 保险公司id * @param apiType api类型 * @param crossInsurance 驾意险json字符串 * @return */ public static String getJyPolicyNo(String companyId, String apiType, String crossInsurance, String isExternal){ //校验驾意险json字符串 if(crossInsurance == null || crossInsurance.equals("")){ return ""; } JSONArray crossInsuranceJson = JSONArray.parseArray(crossInsurance); if(crossInsuranceJson.size() > 0) { //如果是外部订单全部都是一种格式 if(isExternal.equals("1")){ JSONObject jsonObject = crossInsuranceJson.getJSONObject(0); String policyNo = jsonObject.getString("application"); return Objects.isNull(policyNo)? "" : policyNo; } //爬虫 if (!ObjectUtils.isEmpty(apiType)) { if (PtlApiType.PTL_API_2.getCode() == Integer.parseInt(apiType)) { List drivingInsurancesDTOS = crossInsuranceJson.toJavaList(CrawlerVerifyPaymentResponse.DrivingInsurancesDTO.class); return drivingInsurancesDTOS.get(0).getApplication(); } } // 永诚 if (companyId.contains(InsuranceEnum.AICS.getCode())) { List javaList = crossInsuranceJson.toJavaList(DrivingInsuranceDto.class); return javaList.get(0).getPolicyNumber(); } // 大家 if (companyId.contains(InsuranceEnum.DJPC.getCode())) { List javaList = crossInsuranceJson.toJavaList(NVHLODR1001Response.policyInfosDTO.class); return javaList.get(0).getPlyNo(); } // 国任 if (companyId.contains(InsuranceEnum.XDCX.getCode())) { List javaList = crossInsuranceJson.toJavaList(DrivingInsuranceDto.class); return javaList.get(0).getPolicyNumber(); } // 中煤 if (companyId.contains(InsuranceEnum.ZMBX.getCode())) { List javaList = crossInsuranceJson.toJavaList(SubmitResponse.AccidentNo.class); if(javaList.get(0).getRideProposalNo()==null){ return javaList.get(0).getRidePolicyNo(); } return javaList.get(0).getRideProposalNo(); } // 紫金 if (companyId.contains(InsuranceEnum.ZKIC.getCode())) { List javaList = crossInsuranceJson.toJavaList(DrivingInsuranceDto.class); return javaList.get(0).getPolicyNumber(); } // 平安 if (companyId.contains(InsuranceEnum.PAIC.getCode())) { return crossInsuranceJson.getJSONObject(0).getString("policy"); } // 诚泰 if (companyId.contains(InsuranceEnum.CHAC.getCode())) { List javaList = crossInsuranceJson.toJavaList(AccidentResponseVo.class); return javaList.get(0).getPolicyNumber(); } //阳光 if (companyId.contains(InsuranceEnum.YGBX.getCode())) { List javaList = crossInsuranceJson.toJavaList(AccidentResponseVo.class); return javaList.get(0).getPolicyNumber(); } } return ""; } }