package com.xiaopeng.itinerary.utils; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpUtil; import com.alibaba.fastjson2.JSON; import com.xiaopeng.api.feignClient.operation.XpOfficialPartnerClient; import com.xiaopeng.api.model.operation.XpOfficialPartner; import com.xiaopeng.api.model.order.XpOrder; import com.xiaopeng.api.vo.operation.OfficialPartnerResult; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.exception.ServiceException; import com.xiaopeng.itinerary.vo.UpdateEndAddressVo; import org.springframework.stereotype.Component; import javax.annotation.Resource; /** * 合作商工具类 */ @Component public class OfficialPartnerUtil { @Resource private XpOfficialPartnerClient xpOfficialPartnerClient; /** * 推送修改订单数据 * * @param officialPartnerId * @return */ public R pushUpdateEndAddress(Integer officialPartnerId, XpOrder xpOrder) { XpOfficialPartner xpOfficialPartner = xpOfficialPartnerClient.getOfficialPartner(officialPartnerId).getData(); String changeDestinationUrl = xpOfficialPartner.getChangeDestinationUrl(); HttpRequest post = HttpUtil.createPost(changeDestinationUrl); UpdateEndAddressVo updateEndAddressVo = new UpdateEndAddressVo(); updateEndAddressVo.setOrderId(xpOrder.getId()); updateEndAddressVo.setEndAddress(xpOrder.getEndAddress()); updateEndAddressVo.setEndLat(xpOrder.getEndLat()); updateEndAddressVo.setEndLon(xpOrder.getEndLon()); post.body(JSON.toJSONString(updateEndAddressVo)); HttpResponse execute = post.execute(); if (!execute.isOk()) { throw new ServiceException("[" + xpOfficialPartner.getName() + "]调用合作商接口失败-修改目的地接口"); } OfficialPartnerResult officialPartnerResult = JSON.parseObject(execute.body(), OfficialPartnerResult.class); if (0 == officialPartnerResult.getCode()) { return R.ok(); } throw new ServiceException("[" + xpOfficialPartner.getName() + "]" + officialPartnerResult.getMsg()); } }