OrderUtils.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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.ins.model.vo.AccidentResponseVo;
  6. import com.ydtech.modules.order.entity.api.dajia.response.NVHLODR1001Response;
  7. import com.ydtech.modules.order.entity.api.zhongmei.response.SubmitResponse;
  8. import com.ydtech.modules.order.entity.crawler.response.CrawlerVerifyPaymentResponse;
  9. import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
  10. import com.ydtech.modules.protocol.entity.constants.PtlApiType;
  11. import org.apache.commons.lang3.ObjectUtils;
  12. import java.util.List;
  13. import java.util.Objects;
  14. /**
  15. * 订单相关工具类
  16. */
  17. public class OrderUtils {
  18. /**
  19. * 获取驾意险保单号
  20. * @param companyId 保险公司id
  21. * @param apiType api类型
  22. * @param crossInsurance 驾意险json字符串
  23. * @return
  24. */
  25. public static String getJyPolicyNo(String companyId, String apiType, String crossInsurance, String isExternal){
  26. //校验驾意险json字符串
  27. if(crossInsurance == null || crossInsurance.equals("")){
  28. return "";
  29. }
  30. JSONArray crossInsuranceJson = JSONArray.parseArray(crossInsurance);
  31. if(crossInsuranceJson.size() > 0) {
  32. //如果是外部订单全部都是一种格式
  33. if(isExternal.equals("1")){
  34. JSONObject jsonObject = crossInsuranceJson.getJSONObject(0);
  35. String policyNo = jsonObject.getString("application");
  36. return Objects.isNull(policyNo)? "" : policyNo;
  37. }
  38. //爬虫
  39. if (!ObjectUtils.isEmpty(apiType)) {
  40. if (PtlApiType.PTL_API_2.getCode() == Integer.parseInt(apiType)) {
  41. List<CrawlerVerifyPaymentResponse.DrivingInsurancesDTO> drivingInsurancesDTOS = crossInsuranceJson.toJavaList(CrawlerVerifyPaymentResponse.DrivingInsurancesDTO.class);
  42. return drivingInsurancesDTOS.get(0).getApplication();
  43. }
  44. }
  45. // 永诚
  46. if (companyId.contains(InsuranceEnum.AICS.getCode())) {
  47. List<DrivingInsuranceDto> javaList = crossInsuranceJson.toJavaList(DrivingInsuranceDto.class);
  48. return javaList.get(0).getPolicyNumber();
  49. }
  50. // 大家
  51. if (companyId.contains(InsuranceEnum.DJPC.getCode())) {
  52. List<NVHLODR1001Response.policyInfosDTO> javaList = crossInsuranceJson.toJavaList(NVHLODR1001Response.policyInfosDTO.class);
  53. return javaList.get(0).getPlyNo();
  54. }
  55. // 国任
  56. if (companyId.contains(InsuranceEnum.XDCX.getCode())) {
  57. List<DrivingInsuranceDto> javaList = crossInsuranceJson.toJavaList(DrivingInsuranceDto.class);
  58. return javaList.get(0).getPolicyNumber();
  59. }
  60. // 中煤
  61. if (companyId.contains(InsuranceEnum.ZMBX.getCode())) {
  62. List<SubmitResponse.AccidentNo> javaList = crossInsuranceJson.toJavaList(SubmitResponse.AccidentNo.class);
  63. if(javaList.get(0).getRideProposalNo()==null){
  64. return javaList.get(0).getRidePolicyNo();
  65. }
  66. return javaList.get(0).getRideProposalNo();
  67. }
  68. // 紫金
  69. if (companyId.contains(InsuranceEnum.ZKIC.getCode())) {
  70. List<DrivingInsuranceDto> javaList = crossInsuranceJson.toJavaList(DrivingInsuranceDto.class);
  71. return javaList.get(0).getPolicyNumber();
  72. }
  73. // 平安
  74. if (companyId.contains(InsuranceEnum.PAIC.getCode())) {
  75. return crossInsuranceJson.getJSONObject(0).getString("policy");
  76. }
  77. // 诚泰
  78. if (companyId.contains(InsuranceEnum.CHAC.getCode())) {
  79. List<AccidentResponseVo> javaList = crossInsuranceJson.toJavaList(AccidentResponseVo.class);
  80. return javaList.get(0).getPolicyNumber();
  81. }
  82. //阳光
  83. if (companyId.contains(InsuranceEnum.YGBX.getCode())) {
  84. List<AccidentResponseVo> javaList = crossInsuranceJson.toJavaList(AccidentResponseVo.class);
  85. return javaList.get(0).getPolicyNumber();
  86. }
  87. }
  88. return "";
  89. }
  90. }