CallBackRequest.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package com.ydtech.modules.ins.model.yc;
  2. import com.ydtech.utils.Base64Utils;
  3. import com.ydtech.utils.StringUtils;
  4. import lombok.Data;
  5. import java.io.Serializable;
  6. import java.util.Arrays;
  7. import java.util.HashMap;
  8. import java.util.Map;
  9. /**
  10. * 回调请求参数
  11. *
  12. * @author: lig
  13. * @date: 2023年02月17日 0017
  14. */
  15. @Data
  16. public class CallBackRequest implements Serializable {
  17. /**
  18. * 交易流水号
  19. * 与支付时相同 支付使用
  20. */
  21. private String transNo;
  22. /**
  23. * 回调类型
  24. * 0 支付回调 1承保回调
  25. */
  26. private String type;
  27. /**
  28. * 回调结果
  29. * 0 成功,1 失败
  30. */
  31. private String result;
  32. /**
  33. * 商业险保单号
  34. * Type为1 且投保商业险时有值
  35. */
  36. private String bizPolicyNo;
  37. /**
  38. * 交强险保单号
  39. * Type为1 且投保交强险时有值
  40. */
  41. private String ciPolicyNo;
  42. /**
  43. * 失败原因
  44. * 回调结果失败时有值
  45. */
  46. private String message;
  47. /**
  48. * 商业险投保单号
  49. * 报价时产生
  50. */
  51. private String bizPolicyAppNo;
  52. /**
  53. * 交强险投保单号
  54. * 报价时产生
  55. */
  56. private String ciPolicyAppNo;
  57. /**
  58. * 意外险保单号
  59. * 报价时产生
  60. */
  61. private String ywPolicyNo;
  62. /**
  63. * 意外险投保单号
  64. * 报价时产生
  65. */
  66. private String ywPolicyAppNo;
  67. /**
  68. * 投保单状态
  69. * 0待核保 5上报复核 9已核保未交费 3退回修改 1已核保且交费
  70. */
  71. private String status;
  72. /**
  73. * 交强 投保单状态
  74. * 0待核保 5上报复核 9已核保未交费 3退回修改 1已核保且交费
  75. */
  76. private String jqstatus;
  77. /**
  78. * 交强 消息
  79. */
  80. private String jqmessage;
  81. /**
  82. * 商业 投保单状态
  83. * 0待核保 5上报复核 9已核保未交费 3退回修改 1已核保且交费
  84. */
  85. private String systatus;
  86. /**
  87. * 商业 消息
  88. */
  89. private String symessage;
  90. /**
  91. * 备注
  92. */
  93. private String remark;
  94. public static CallBackRequest buildCallBackParam(String str) {
  95. CallBackRequest cbr = new CallBackRequest();
  96. if (StringUtils.isNotEmpty(str)) {
  97. String str222 = Base64Utils.getBase64Decode(str);
  98. String str333 = str222.replaceAll("\n", "");
  99. String paramStr = Base64Utils.getBase64Decode(str333);
  100. String[] paramArr = paramStr.split("&");
  101. Map<String, String> reqMap = new HashMap<>();
  102. Arrays.stream(paramArr).forEach(a -> {
  103. String[] pArr = a.split("=");
  104. reqMap.put(pArr[0], pArr.length > 1 ? pArr[1] : "");
  105. });
  106. cbr.setTransNo(StringUtils.toString(reqMap.get("transNo")));
  107. cbr.setType(StringUtils.toString(reqMap.get("type")));
  108. cbr.setResult(StringUtils.toString(reqMap.get("result")));
  109. cbr.setBizPolicyNo(StringUtils.toString(reqMap.get("biz_policy_no")));
  110. cbr.setCiPolicyNo(StringUtils.toString(reqMap.get("ci_policy_no")));
  111. cbr.setMessage(StringUtils.toString(reqMap.get("message")));
  112. cbr.setBizPolicyAppNo(StringUtils.toString(reqMap.get("biz_policy_app_no")));
  113. cbr.setCiPolicyAppNo(StringUtils.toString(reqMap.get("ci_policy_app_no")));
  114. cbr.setStatus(StringUtils.toString(reqMap.get("status")));
  115. cbr.setRemark(StringUtils.toString(reqMap.get("remark")));
  116. cbr.setJqstatus(StringUtils.toString(reqMap.get("jqstatus")));
  117. cbr.setSystatus(StringUtils.toString(reqMap.get("systatus")));
  118. cbr.setJqmessage(StringUtils.toString(reqMap.get("jqmessage")));
  119. cbr.setSymessage(StringUtils.toString(reqMap.get("symessage")));
  120. cbr.setYwPolicyNo(StringUtils.toString(reqMap.get("yw_policy_no")));
  121. cbr.setYwPolicyAppNo(StringUtils.toString(reqMap.get("yw_policy_app_no")));
  122. }
  123. return cbr;
  124. }
  125. public static void main(String[] args) {
  126. String s = "ZEhKaGJuTk9iejB4TkRBd01EZ3pNVEV5TURjME9UQTRKblI1Y0dVOU5TWnlaWE4xYkhROU1DWmlhWHBmY0c5c2FXTjVYMjV2UFNaagphVjl3YjJ4cFkzbGZibTg5TVRFMFFqZ3dNekkyTWpBeU16QXdNVEF4TmpjbVltbDZYM0J2YkdsamVWOWhjSEJmYm04OUptTnBYM0J2CmJHbGplVjloY0hCZmJtODlOVEUwUWpnd016STJNakF5TXpBd01UQXhOamNtZVhkZmNHOXNhV041WDJGd2NGOXViejBtZVhkZmNHOXMKYVdONVgyNXZQU1pxY1hOMFlYUjFjejB4Sm5ONWMzUmhkSFZ6UFNacWNXMWxjM05oWjJVOVFWVlVUenJqZ0pEbW9Mamt2NTNwZ0pybwp2NGZqZ0pFajU1UzE1YTJRNVpXRzVZcWg1TGlhNVlxaExlZTlrZW1VZ0NaemVXMWxjM05oWjJVOUpuQmhlVjlrWVhSbFBUSXdNak10Ck1EZ3RNekVnTVRRNk1USTZOVGM9";
  127. CallBackRequest cbr = CallBackRequest.buildCallBackParam(s);
  128. }
  129. }