选装售后
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ZtHttpUtil.java 3.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package com.qtzl.alterSales.zt.utils;
  2. import cn.com.taiji.common.manager.AbstractManager;
  3. import cn.com.taiji.common.manager.ManagerException;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.google.common.collect.Maps;
  6. import com.qtzl.alterSales.manager.model.protocol.UcServiceError;
  7. import com.qtzl.alterSales.zt.enums.ZttxInterfaceCode;
  8. import org.apache.commons.lang3.StringUtils;
  9. import org.apache.http.HttpResponse;
  10. import org.apache.http.util.EntityUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.beans.factory.annotation.Value;
  13. import org.springframework.stereotype.Service;
  14. import java.io.IOException;
  15. import java.util.Map;
  16. @Service
  17. public class ZtHttpUtil extends AbstractManager {
  18. @Value("${zt.appId}")
  19. private String appId;
  20. @Value("${zt.token}")
  21. private String token;
  22. @Value("${zt.zip}")
  23. private String zip;
  24. @Value("${zt.keyType}")
  25. private String keyType;
  26. @Value("${zt.key}")
  27. private String key;
  28. @Value("${zt.stamp}")
  29. private String stamp;
  30. @Value("${zt.sign}")
  31. private String sign;
  32. @Autowired
  33. private QtstHttpCommHelper qtztHttpCommHelper;
  34. public ZtHttpResponse doPost(ZttxInterfaceCode code, Map<String, String> requestParam) throws ManagerException {
  35. Map<String, String> commonParamMap = getCommonParamMap();
  36. commonParamMap.put("code", code.getCode());
  37. String resInfo = null;
  38. HttpResponse httpResponse;
  39. try {
  40. httpResponse = qtztHttpCommHelper.execute(requestParam, commonParamMap);
  41. resInfo = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
  42. } catch (IOException e) {
  43. logger.error("http请求中台转发失败=",e);
  44. throw new ManagerException("很抱歉,由于某些原因,我们无法正确识别您提供的图片中的文本,请确保您提供的图片清晰、分辨率高");
  45. } catch (Exception e) {
  46. logger.error("http请求中台转发失败=",e);
  47. throw new ManagerException(e.getMessage());
  48. }
  49. // 中台接口 rcode="0"时表示成功 否则失败
  50. String rcode = null;
  51. try {
  52. rcode = FastJsonTools.getPropertyValueFromJsonData("rcode", resInfo);
  53. } catch (Exception e) {
  54. String xmlDate = FastJsonTools.getXmlDate(resInfo);
  55. if (StringUtils.isEmpty(xmlDate)){
  56. throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("获取属性resInfo异常,"+resInfo);
  57. }
  58. throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("获取属性resInfo异常,"+xmlDate);
  59. }
  60. if (!"0".equals(rcode)) {
  61. logger.info("http请求中台转发失败:" + resInfo);
  62. String rmsg = FastJsonTools.getPropertyValueFromJsonData("rmsg", resInfo);
  63. logger.info("http请求中台转发失败:{}",rmsg);
  64. throw new ManagerException(rmsg);
  65. }
  66. // 判断短信业务是否完成 success="true" 时表示成功 否则失败
  67. ZtHttpResponse response = JSONObject.parseObject(resInfo, ZtHttpResponse.class);
  68. return response;
  69. }
  70. private Map<String, String> getCommonParamMap() {
  71. Map<String, String> commonParam = Maps.newHashMap();
  72. commonParam.put("appId", appId);
  73. commonParam.put("token", token);
  74. commonParam.put("zip", zip);
  75. commonParam.put("keyType", keyType);
  76. commonParam.put("key", key);
  77. commonParam.put("stamp", stamp);
  78. commonParam.put("sign", sign);
  79. commonParam.put("agentId", "52010106004");
  80. commonParam.put("channelId", "5201010200601130001");
  81. commonParam.put("channelType", "1");
  82. commonParam.put("staffId", "无");
  83. return commonParam;
  84. }
  85. }