| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- 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<CrawlerVerifyPaymentResponse.DrivingInsurancesDTO> drivingInsurancesDTOS = crossInsuranceJson.toJavaList(CrawlerVerifyPaymentResponse.DrivingInsurancesDTO.class);
- return drivingInsurancesDTOS.get(0).getApplication();
- }
- }
- // 永诚
- if (companyId.contains(InsuranceEnum.AICS.getCode())) {
- List<DrivingInsuranceDto> javaList = crossInsuranceJson.toJavaList(DrivingInsuranceDto.class);
- return javaList.get(0).getPolicyNumber();
- }
- // 大家
- if (companyId.contains(InsuranceEnum.DJPC.getCode())) {
- List<NVHLODR1001Response.policyInfosDTO> javaList = crossInsuranceJson.toJavaList(NVHLODR1001Response.policyInfosDTO.class);
- return javaList.get(0).getPlyNo();
- }
- // 国任
- if (companyId.contains(InsuranceEnum.XDCX.getCode())) {
- List<DrivingInsuranceDto> javaList = crossInsuranceJson.toJavaList(DrivingInsuranceDto.class);
- return javaList.get(0).getPolicyNumber();
- }
- // 中煤
- if (companyId.contains(InsuranceEnum.ZMBX.getCode())) {
- List<SubmitResponse.AccidentNo> 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<DrivingInsuranceDto> 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<AccidentResponseVo> javaList = crossInsuranceJson.toJavaList(AccidentResponseVo.class);
- return javaList.get(0).getPolicyNumber();
- }
- //阳光
- if (companyId.contains(InsuranceEnum.YGBX.getCode())) {
- List<AccidentResponseVo> javaList = crossInsuranceJson.toJavaList(AccidentResponseVo.class);
- return javaList.get(0).getPolicyNumber();
- }
- }
- return "";
- }
- }
|