OrderUtils.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package com.ydtech.utils;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.ydtech.constants.InsuranceEnum;
  5. import com.ydtech.modules.order.entity.api.dajia.response.NVHLODR1001Response;
  6. import com.ydtech.modules.order.entity.api.zhongmei.response.SubmitResponse;
  7. import com.ydtech.modules.order.entity.crawler.response.CrawlerVerifyPaymentResponse;
  8. import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
  9. import com.ydtech.modules.protocol.entity.constants.PtlApiType;
  10. import org.apache.commons.lang3.ObjectUtils;
  11. import java.util.List;
  12. /**
  13. * 订单相关工具类
  14. */
  15. public class OrderUtils {
  16. /**
  17. * 获取驾意险保单号
  18. * @param companyId 保险公司id
  19. * @param apiType api类型
  20. * @param crossInsurance 驾意险json字符串
  21. * @return
  22. */
  23. public static String getJyPolicyNo(String companyId, String apiType, String crossInsurance){
  24. //校验驾意险json字符串
  25. if(crossInsurance == null || crossInsurance.equals("")){
  26. return "";
  27. }
  28. JSONArray crossInsuranceJson = JSONArray.parseArray(crossInsurance);
  29. if(crossInsuranceJson.size() > 0) {
  30. //爬虫
  31. if (!ObjectUtils.isEmpty(apiType)) {
  32. if (PtlApiType.PTL_API_2.getCode() == Integer.parseInt(apiType)) {
  33. List<CrawlerVerifyPaymentResponse.DrivingInsurancesDTO> drivingInsurancesDTOS = crossInsuranceJson.toJavaList(CrawlerVerifyPaymentResponse.DrivingInsurancesDTO.class);
  34. return drivingInsurancesDTOS.get(0).getApplication();
  35. }
  36. }
  37. // 永诚
  38. if (companyId.contains(InsuranceEnum.AICS.getCode())) {
  39. List<DrivingInsuranceDto> javaList = crossInsuranceJson.toJavaList(DrivingInsuranceDto.class);
  40. return javaList.get(0).getPolicyNumber();
  41. }
  42. // 大家
  43. if (companyId.contains(InsuranceEnum.DJPC.getCode())) {
  44. List<NVHLODR1001Response.policyInfosDTO> javaList = crossInsuranceJson.toJavaList(NVHLODR1001Response.policyInfosDTO.class);
  45. return javaList.get(0).getPlyNo();
  46. }
  47. // 国任
  48. if (companyId.contains(InsuranceEnum.XDCX.getCode())) {
  49. List<DrivingInsuranceDto> javaList = crossInsuranceJson.toJavaList(DrivingInsuranceDto.class);
  50. return javaList.get(0).getPolicyNumber();
  51. }
  52. // 中煤
  53. if (companyId.contains(InsuranceEnum.ZMBX.getCode())) {
  54. List<SubmitResponse.AccidentNo> javaList = crossInsuranceJson.toJavaList(SubmitResponse.AccidentNo.class);
  55. return javaList.get(0).getRideProposalNo();
  56. }
  57. // 紫金
  58. if (companyId.contains(InsuranceEnum.ZKIC.getCode())) {
  59. List<DrivingInsuranceDto> javaList = crossInsuranceJson.toJavaList(DrivingInsuranceDto.class);
  60. return javaList.get(0).getPolicyNumber();
  61. }
  62. }
  63. return "";
  64. }
  65. }