高德订单详情接口

This commit is contained in:
dengwc 2024-04-17 12:48:52 +08:00
parent 5827c98851
commit f731c0ff17
7 changed files with 184 additions and 6 deletions

View File

@ -8,4 +8,9 @@ public class AmapConstant {
//token地址
public static final String TOKEN_URL = "/ws/car/open/enterprise/auth/get_token";
//订单详情地址
public static final String ORDER_DETAIL_URL = "/ws/car/open/enterprise/order/detail";
}

View File

@ -0,0 +1,132 @@
package com.chint.interfaces.rest.amap.dto.detail;
import com.chint.interfaces.rest.amap.BaseResponse;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class OrderDetailResponse extends BaseResponse {
private Data data;
@lombok.Data
public static class Data {
private String amapOrderId;//高德订单号
private String userId;//企业用户ID
private String mobile;//企业用户手机号
private String departmentId;//企业用户部门ID
private String departmentName;//企业用户部门名称
private String requestTime;//约车时间约单2018-12-12 20:00:00
private String departTime;//用车出行时间2018-12-12 20:00:00
private String updateTime;//订单更新时间2018-12-12 20:00:00
private String getOnTime;//实际的上车时间司机开始行程时间
private String getOffTime;//实际的下车时间司机结束行程时间
private String startName;//出发地
private String startCity;//出发城市
private String startAdcode;//出发城市编码地级市
private String endName;//到达地
private String endCity;//到达地城市
private String endAdcode;//到达地城市编码地级市
private String driverName;//司机姓名
private String driverPhone;//司机电话
private String licensePlate;//车牌号
private String carType;//车辆型号
private String carColor;//车辆颜色
private Integer rideType;//运力类型1经济2品质专车3六座商务4豪华5出租车6优享11优惠推荐13企业同行14企业拼车15代驾
private String rideTypeName;//运力显示文案
private Boolean isFixedPrice;//是否为特价车车型
private String cpName;//CP名称例如滴滴首汽约车等
private String estimatePrice;//预估价)
private String estimateMileage;//预估里程
private String estimateTime;//预估时间
private String duration;//总时长
private String mileage;//总里程
private String totalFee;//总费用
private String originalFeeDetail;//费用明细取消费起步费里程费时长费停车费过桥费附加费加价红包信息费其他费用等等
private String feeDetail;//费用明细时长费里程费附加费附加费用明细其他费用其他费用明细
private int showStatus;//0-派单中1-完成待支付2-取消待支付3-关闭4-订单完成5-待出发6-待上车7-行程中订单当前状态
private String enterpriseCpStatus;//详见订单子状态映射表
private int orderServiceType;//业务类型 1-实时单2-预约单3-接机 4-送机6-市内拼车8-代驾
private int orderEnterance;//发单入口0实时 1预约 2接机 3送机 4接站 5送站 8代驾 10代叫实时 11代叫预约 12代叫接机 13代叫送机 14代叫接站 15代叫送站
private String flightNo;//航班号
private Date flightDate;//接送机-航班出发日期接机必填
private Date actualDepartTime;//接机场景行程的真实出发时间航班延误提前到达情况下更新
private String depAirCode;//出发机场三字码
private String arrAirCode;//到达机场三字码
private Integer pickUpDelayTime;//航班到达后延迟N毫秒后用车
private String remark;//1.企业获取token时传递的备注信息remark数据2.使用制度用车时内容是员工填写的用车备注3.如果为多备注制度默认返回为JSON结构 如果不需要JSON结构可以在ES后台企业功能配置设置为精简模式
private List<RiskTag> riskTags;//风险标记数据
private List<RefundItem> refundItems;//所有退款数据
private Integer totalEnterpriseRefundAmount;//企业退款总金额
private Integer totalPersonRefundAmount;//个人退款总金额
private Integer enterpriseAmount;//企业支付金额
private Integer personAmount;//个人支付金额
private Short subGdServiceId;//服务子类型默认nullnull或0为普通单1代叫单
private String privacyNumber;//叫车人隐私号叫车人与司机绑定的隐私号
private String passengerPrivacyNumber;//代叫单乘车人隐私号乘车人与司机绑定的隐私号
private String passengerPhone;//代叫单 乘车人手机号
private String passengerName;//代叫单 乘车人姓名
private String privateTag;//1 因私订单 0非因私订单
private String applyRecord;//申请单详情
private String extInfo;//员工扩展属性 JSON长度:1000字符,该信息为创建员工时提交的extInfo值
private String tokenExtInfo;//该信息为提交token时userInfo里的extInfo值
private String showPayChannel;//支付方式个人支付(3)企业支付(1)混合支付(2)
private String sceneType;//用车场景(只有使用了ES制度的才有) (0-个人用车; 1-加班; 2-定点通勤; 3-外勤用车; 4-出差; 5-接送机
private String startBillLocationName;//实际上车地点
private String startBillTime;//实际上车时间
private String endBillLocationName;//实际下车地点
private String endBillTime;//实际下车时间
private String driverAcceptTime;//司机接单时间
private String payTime;//订单支付时间
private String initOrderServiceType;//传入的orderServiceType
private String regulationContent;//下单时刻的制度内容 JSON字符串(Regulation类型)
private String regulationId;//打车时使用的制度id
private String regulationName;//打车时使用的制度名称
private Integer isUpgradeSuccess;//是否升舱成功 0- 1-下单选择升舱车型且实际接单车型为升舱车型该字段才为1
private String realStartLat;//实际上车点纬度
private String realStartLng;//实际上车点经度
private String realEndLat;//实际下车点纬度
private String realEndLng;//实际下车点经度
private String orderRelyType;//下单凭证类型car_permission使用申请单下单 car_permission_process使用端内差旅审批单下单 car_meeting使用会议用车下单
private String orderRelyId;//下单凭证ID orderRelyType=car_permission时为申请单ID orderRelyType=car_permission_process时为端内差旅审批单ID orderRelyType=car_meeting时为外部会议ID
private Integer personalPayStatus;//审批驳回后的个付状态(1-待支付2-支付成功3-超期未支付)
private String reasonForPersonPay;//需要个人支付的原因
private String financeCostcenterCode;//成本中心编码
}
@lombok.Data
public static class RiskTag {
private int riskCode;//风险场景码
private String riskDesp;//风险场景描述
}
@lombok.Data
public static class RefundItem {
private Integer enterpriseRefundAmount;//企业退款金额()
private Integer personRefundAmount;//个人退款金额()
private String refundTime;//"2020-02-02 23:33:33" 形式的时间戳 退款时间
}
//申请单详情
@lombok.Data
public static class applyRecord {
private String outApplyRecordId;//外部公司申请 ID
private String enterpriseCustomFields;//企业自定义申请单扩展字段
}
//下单时刻的制度内容
@lombok.Data
public static class Regulation {
private String regulationName;//制度名称
}
@lombok.Data
public static class feeDetail {
private String title;//名称
private String value;//费用
}
}

View File

@ -1,4 +1,4 @@
package com.chint.interfaces.rest.amap.token;
package com.chint.interfaces.rest.amap.dto.token;
import com.chint.interfaces.rest.amap.BaseRequestParam;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.chint.interfaces.rest.amap.token;
package com.chint.interfaces.rest.amap.dto.token;
import com.chint.interfaces.rest.amap.BaseResponse;

View File

@ -0,0 +1,31 @@
package com.chint.interfaces.rest.amap.request;
import com.chint.interfaces.rest.amap.dto.detail.OrderDetailResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
import static com.chint.infrastructure.constant.AmapConstant.ORDER_DETAIL_URL;
@Component
public class OrderDetailRequest {
@Value("${amap.baseUrl}")
private String baseUrl;
@Autowired
private AmapRequest amapRequest;
/**
* @param amapOrderId 高德订单号
* @return
*/
public OrderDetailResponse queryOrderDetail(String amapOrderId) {
Map<String, String> map = new HashMap<>();
map.put("amapOrderId", amapOrderId);
return amapRequest.get(baseUrl + ORDER_DETAIL_URL, map, OrderDetailResponse.class);
}
}

View File

@ -1,8 +1,8 @@
package com.chint.interfaces.rest.amap.request;
import com.chint.interfaces.rest.amap.token.TokenDto;
import com.chint.interfaces.rest.amap.token.TokenResponse;
import com.chint.interfaces.rest.amap.dto.token.TokenDto;
import com.chint.interfaces.rest.amap.dto.token.TokenResponse;
import com.google.gson.Gson;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;

View File

@ -3,8 +3,10 @@ package com.chint;
import com.chint.domain.aggregates.user.User;
import com.chint.interfaces.rest.amap.AmapUserRequest;
import com.chint.interfaces.rest.amap.BaseResponse;
import com.chint.interfaces.rest.amap.token.TokenDto;
import com.chint.interfaces.rest.amap.token.TokenResponse;
import com.chint.interfaces.rest.amap.dto.detail.OrderDetailResponse;
import com.chint.interfaces.rest.amap.dto.token.TokenDto;
import com.chint.interfaces.rest.amap.dto.token.TokenResponse;
import com.chint.interfaces.rest.amap.request.OrderDetailRequest;
import com.chint.interfaces.rest.amap.request.TokenRequest;
import com.google.gson.Gson;
import org.junit.jupiter.api.Test;
@ -31,6 +33,8 @@ public class AmapTest {
@Autowired
private TokenRequest tokenRequest;
@Autowired
private OrderDetailRequest orderDetailRequest;
// @Test
public void gaoDe() {
TokenDto.UserInfo userInfo = new TokenDto.UserInfo();
@ -41,4 +45,10 @@ public class AmapTest {
String token = response.getData().getToken();
System.out.println("token = " + token);
}
// @Test
public void queryorderDetail() {
OrderDetailResponse orderDetailResponse = orderDetailRequest.queryOrderDetail("123456");
System.out.println("orderDetailResponse = " + orderDetailResponse);
}
}