package com.qtzl.alterSales.zt.utils; import cn.com.taiji.common.manager.AbstractManager; import cn.com.taiji.common.manager.ManagerException; import com.alibaba.fastjson.JSONObject; import com.google.common.collect.Maps; import com.qtzl.alterSales.manager.model.protocol.UcServiceError; import com.qtzl.alterSales.zt.enums.ZttxInterfaceCode; import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpResponse; import org.apache.http.util.EntityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.io.IOException; import java.util.Map; @Service public class ZtHttpUtil extends AbstractManager { @Value("${zt.appId}") private String appId; @Value("${zt.token}") private String token; @Value("${zt.zip}") private String zip; @Value("${zt.keyType}") private String keyType; @Value("${zt.key}") private String key; @Value("${zt.stamp}") private String stamp; @Value("${zt.sign}") private String sign; @Autowired private QtstHttpCommHelper qtztHttpCommHelper; public ZtHttpResponse doPost(ZttxInterfaceCode code, Map requestParam) throws ManagerException { Map commonParamMap = getCommonParamMap(); commonParamMap.put("code", code.getCode()); String resInfo = null; HttpResponse httpResponse; try { httpResponse = qtztHttpCommHelper.execute(requestParam, commonParamMap); resInfo = EntityUtils.toString(httpResponse.getEntity(), "UTF-8"); } catch (IOException e) { logger.error("http请求中台转发失败=",e); throw new ManagerException("很抱歉,由于某些原因,我们无法正确识别您提供的图片中的文本,请确保您提供的图片清晰、分辨率高"); } catch (Exception e) { logger.error("http请求中台转发失败=",e); throw new ManagerException(e.getMessage()); } // 中台接口 rcode="0"时表示成功 否则失败 String rcode = null; try { rcode = FastJsonTools.getPropertyValueFromJsonData("rcode", resInfo); } catch (Exception e) { String xmlDate = FastJsonTools.getXmlDate(resInfo); if (StringUtils.isEmpty(xmlDate)){ throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("获取属性resInfo异常,"+resInfo); } throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("获取属性resInfo异常,"+xmlDate); } if (!"0".equals(rcode)) { logger.info("http请求中台转发失败:" + resInfo); String rmsg = FastJsonTools.getPropertyValueFromJsonData("rmsg", resInfo); logger.info("http请求中台转发失败:{}",rmsg); throw new ManagerException(rmsg); } // 判断短信业务是否完成 success="true" 时表示成功 否则失败 ZtHttpResponse response = JSONObject.parseObject(resInfo, ZtHttpResponse.class); return response; } private Map getCommonParamMap() { Map commonParam = Maps.newHashMap(); commonParam.put("appId", appId); commonParam.put("token", token); commonParam.put("zip", zip); commonParam.put("keyType", keyType); commonParam.put("key", key); commonParam.put("stamp", stamp); commonParam.put("sign", sign); commonParam.put("agentId", "52010106004"); commonParam.put("channelId", "5201010200601130001"); commonParam.put("channelType", "1"); commonParam.put("staffId", "无"); return commonParam; } }