package com.nova.sankuai.domain.api.rongyitui; import com.alibaba.fastjson.JSON; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.nova.sankuai.domain.api.yixin.callback.YxAuditCallbackRequest; import com.nova.sankuai.security.HttpClientUtil; import lombok.Data; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.io.IOException; import java.util.HashMap; import java.util.Map; /** * @Author Lilinhong * @Date 2022/6/2 14:08 */ @Component @Data public class RongYiTuiUtil { @Value("${ryt.url}") private String url; private static final Logger logger = LoggerFactory.getLogger("capitalLogger"); private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); public RongYiTuiResponse entryNotify(String mobile, String orderNo, String entryDate) { // 原始参数 String status = "1"; Map param = new HashMap<>(16); param.put("mobile", mobile); param.put("orderNo", orderNo); param.put("status", status); if (!StringUtils.isEmpty(entryDate)) { param.put("entryDate", entryDate); } logger.info("融易推进件通知原始参数->{}", param); String paramString = null; try { paramString = OBJECT_MAPPER.writeValueAsString(param); logger.info("融易推进件通知原始参数序列化:{}",paramString); } catch (JsonProcessingException e) { logger.info("融易推进件通知原始参数序列化失败"); e.printStackTrace(); return null; } String resultString = null; try { resultString = HttpClientUtil.getInstance().postJsonData(url + "/callback/whkj/entryNotify", paramString); logger.info("融易推进件通知原始返回数据->{}", resultString); if (StringUtils.isEmpty(resultString)){ logger.info("融易推进件通知原始返回数据->{}", "11111111111111111111111"); } } catch (IOException e) { logger.info("融易推进件通知原始返回数据失败"); e.printStackTrace(); return null; } RongYiTuiResponse rongYiTuiResponse = null; try { rongYiTuiResponse = JSON.parseObject(resultString, RongYiTuiResponse.class); logger.info("融易推进件通知原始转换后返回数据:{}",rongYiTuiResponse.toString()); } catch (Exception e) { logger.info("融易推进件通知原始返回数据转换失败"); e.printStackTrace(); return null; } return rongYiTuiResponse; } public RongYiTuiResponse creditResult(String mobile, String orderNo, YxAuditCallbackRequest yxAuditCallbackRequest, Integer approvalAmount, String creditDate) { // 原始参数 String status = null; if ("01".equals(yxAuditCallbackRequest.getApprovalResult())){ status = "1"; }else { status = "2"; } Map param = new HashMap<>(16); param.put("mobile", mobile); param.put("orderNo", orderNo); param.put("status", status); if (approvalAmount != null) { param.put("approvalAmount", approvalAmount); } if (!StringUtils.isEmpty(creditDate)) { param.put("creditDate", creditDate); } logger.info("融易推结果通知原始参数->{}", param); String paramString = null; try { paramString = OBJECT_MAPPER.writeValueAsString(param); } catch (JsonProcessingException e) { logger.info("融易推结果通知原始参数序列化失败"); e.printStackTrace(); return null; } String resultString = null; try { resultString = HttpClientUtil.getInstance().postJsonData(url + "/callback/whkj/creditResult", paramString); logger.info("融易推结果通知原始返回数据->{}", resultString); } catch (IOException e) { logger.info("融易推结果通知原始返回数据失败"); e.printStackTrace(); return null; } RongYiTuiResponse rongYiTuiResponse = null; try { rongYiTuiResponse = JSON.parseObject(resultString, RongYiTuiResponse.class); logger.info("融易推结果通知原始转换后返回数据:{}",rongYiTuiResponse.toString()); } catch (Exception e) { logger.info("融易推结果通知原始返回数据转换失败"); e.printStackTrace(); return null; } return rongYiTuiResponse; } }