🆕 #3083 【小程序】增加发货信息管理相关接口,【开放平台】增加第三方平台的购物订单管理等接口

This commit is contained in:
Molzx
2023-07-17 11:07:59 +08:00
committed by GitHub
parent 4423b3d638
commit b6b80a2dda
41 changed files with 2161 additions and 12 deletions

View File

@@ -0,0 +1,30 @@
package cn.binarywang.wx.miniapp.bean.shop.request;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author xzh
* created on 2023/5/17 17:01
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaOrderShippingIsTradeManagedRequest implements Serializable {
private static final long serialVersionUID = -5735132900385013330L;
/**
* 必填
* 待查询小程序的 appid非服务商调用时仅能查询本账号
*/
@SerializedName("appid")
private String appId;
}

View File

@@ -0,0 +1,33 @@
package cn.binarywang.wx.miniapp.bean.shop.request.shipping;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author xzh
* @Description
* @createTime 2023/07/10 10:38
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ContactBean implements Serializable {
private static final long serialVersionUID = 3388264169113920140L;
/**
* 寄件人联系方式寄件人联系方式采用掩码传输最后4位数字不能打掩码 示例值: `189****1234, 021-****1234, ****1234, 0**2-***1234, 0**2-******23-10, ****123-8008` 值限制: 0 ≤ value ≤ 1024
*/
@SerializedName("consignor_contact")
private String consignorContact;
/**
* 收件人联系方式收件人联系方式为采用掩码传输最后4位数字不能打掩码 示例值: `189****1234, 021-****1234, ****1234, 0**2-***1234, 0**2-******23-10, ****123-8008` 值限制: 0 ≤ value ≤ 1024
*/
@SerializedName("receiver_contact")
private String receiverContact;
}

View File

@@ -0,0 +1,44 @@
package cn.binarywang.wx.miniapp.bean.shop.request.shipping;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author xzh
* @Description
* @createTime 2023/07/10 10:37
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderKeyBean implements Serializable {
private static final long serialVersionUID = -6322907878214196106L;
/**
* 必填
* 订单单号类型用于确认需要上传详情的订单。枚举值1使用下单商户号和商户侧单号枚举值2使用微信支付单号。
*/
@SerializedName("order_number_type")
private int orderNumberType;
/**
* 原支付交易对应的微信订单号
*/
@SerializedName("transaction_id")
private String transactionId;
/**
* 支付下单商户的商户号,由微信支付生成并下发。
*/
@SerializedName("mchid")
private String mchId;
/**
* 商户系统内部订单号,只能是数字、大小写字母`_-*`且在同一个商户号下唯一
*/
@SerializedName("out_trade_no")
private String outTradeNo;
}

View File

@@ -0,0 +1,29 @@
package cn.binarywang.wx.miniapp.bean.shop.request.shipping;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author xzh
* @Description
* @createTime 2023/07/10 10:38
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PayerBean implements Serializable {
private static final long serialVersionUID = 6628077253606871512L;
/**
* 必填
* 用户标识用户在小程序appid下的唯一标识。 下单前需获取到用户的Openid 示例值: oUpF8uMuAJO_M2pxb1Q9zNjWeS6o 字符字节限制: [1, 128]
*/
@SerializedName("openid")
private String openid;
}

View File

@@ -0,0 +1,44 @@
package cn.binarywang.wx.miniapp.bean.shop.request.shipping;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author xzh
* @Description
* @createTime 2023/07/10 10:39
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ShippingListBean implements Serializable {
private static final long serialVersionUID = -6554762808990702774L;
/**
* 物流单号,物流快递发货时必填,示例值: 323244567777 字符字节限制: [1, 128]
*/
@SerializedName("tracking_no")
private String trackingNo;
/**
* 物流公司编码快递公司ID参见「查询物流公司编码列表」物流快递发货时必填 示例值: DHL 字符字节限制: [1, 128]
*/
@SerializedName("express_company")
private String expressCompany;
/**
* 必填
* 商品信息,例如:微信红包抱枕*1个限120个字以内
*/
@SerializedName("item_desc")
private String itemDesc;
/**
* 联系方式,当发货的物流公司为顺丰时,联系方式为必填,收件人或寄件人联系方式二选一
*/
@SerializedName("contact")
private ContactBean contact;
}

View File

@@ -0,0 +1,96 @@
package cn.binarywang.wx.miniapp.bean.shop.request.shipping;
import cn.binarywang.wx.miniapp.bean.shop.request.shipping.ContactBean;
import cn.binarywang.wx.miniapp.bean.shop.request.shipping.OrderKeyBean;
import cn.binarywang.wx.miniapp.bean.shop.request.shipping.PayerBean;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author xzh
* created on 2023/5/17 17:01
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaOrderCombinedShippingInfoUploadRequest implements Serializable {
private static final long serialVersionUID = -334322216049787167L;
/**
* 必填
* 订单,需要上传物流信息的订单
*/
@SerializedName("order_key")
private OrderKeyBean orderKey;
@SerializedName("sub_orders")
private List<SubOrderBean> subOrders;
/**
* 必填
* 上传时间,用于标识请求的先后顺序 示例值: `2022-12-15T13:29:35.120+08:00
*/
@SerializedName("upload_time")
private String uploadTime;
/**
* 必填
* 支付者,支付者信息
*/
@SerializedName("payer")
private PayerBean payer;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class SubOrderBean implements Serializable {
private static final long serialVersionUID = -8999547192454376968L;
/**
* 必填
* 需要上传物流详情的子单订单,订单类型与合单订单保持一致
*/
@SerializedName("order_key")
private OrderKeyBean orderKey;
/**
* 必填
* 物流模式发货方式枚举值1、实体物流配送采用快递公司进行实体物流配送形式 2、同城配送 3、虚拟商品虚拟商品例如话费充值点卡等无实体配送形式 4、用户自提
*/
@SerializedName("logistics_type")
private int logisticsType;
/**
* 必填
* 发货模式发货模式枚举值1、UNIFIED_DELIVERY统一发货2、SPLIT_DELIVERY分拆发货
* 示例值: UNIFIED_DELIVERY
*/
@SerializedName("delivery_mode")
private int deliveryMode;
/**
* 分拆发货模式时必填,用于标识分拆发货模式下是否已全部发货完成,只有全部发货完成的情况下才会向用户推送发货完成通知。
* 示例值: true/false
*/
@SerializedName("is_all_delivered")
private Boolean isAllDelivered;
/**
* 子单物流信息列表 多重性: [1, 10]
*/
@SerializedName("shipping_list")
private List<ShippingListBean> shippingList;
}
}

View File

@@ -0,0 +1,67 @@
package cn.binarywang.wx.miniapp.bean.shop.request.shipping;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author xzh
* created on 2023/5/17 17:01
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaOrderShippingInfoGetListRequest implements Serializable {
private static final long serialVersionUID = -3682480001426075609L;
/**
* 支付时间所属范围
*/
@SerializedName("pay_time_range")
private PayTimeRange payTimeRange;
/**
* 订单状态枚举:(1) 待发货;(2) 已发货;(3) 确认收货;(4) 交易完成;(5) 已退款。
*/
@SerializedName("order_state")
private Integer orderState;
/**
* 支付者openid
*/
@SerializedName("openid")
private String openId;
/**
* 翻页时使用,获取第一页时不用传入,如果查询结果中 has_more 字段为 true则传入该次查询结果中返回的 last_index 字段可获取下一页。
*/
@SerializedName("last_index")
private String lastIndex;
/**
* 翻页时使用返回列表的长度默认为100。
*/
@SerializedName("page_size")
private Long pageSize;
@Data
public static class PayTimeRange implements Serializable {
private static final long serialVersionUID = -1477231289550635468L;
/**
* 起始时间时间戳形式不填则视为从0开始
*/
@SerializedName("begin_time")
private Long beginTime;
/**
* 结束时间时间戳形式不填则视为32位无符号整型的最大值
*/
@SerializedName("end_time")
private Long endTime;
}
}

View File

@@ -0,0 +1,43 @@
package cn.binarywang.wx.miniapp.bean.shop.request.shipping;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author xzh
* created on 2023/5/17 17:01
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaOrderShippingInfoGetRequest implements Serializable {
private static final long serialVersionUID = -6868378515860675152L;
/**
* 原支付交易对应的微信订单号
*/
@SerializedName("transaction_id")
private String transactionId;
/**
* 支付下单商户的商户号,由微信支付生成并下发
*/
@SerializedName("merchant_id")
private String merchantId;
/**
* 二级商户号
*/
@SerializedName("sub_merchant_id")
private String subMerchantId;
/**
* 商户系统内部订单号,只能是数字、大小写字母`_-*`且在同一个商户号下唯一。
*/
@SerializedName("merchant_trade_no")
private String merchantTradeNo;
}

View File

@@ -0,0 +1,49 @@
package cn.binarywang.wx.miniapp.bean.shop.request.shipping;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author xzh
* created on 2023/5/17 17:01
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaOrderShippingInfoNotifyConfirmRequest implements Serializable {
private static final long serialVersionUID = -6868378515860675152L;
/**
* 原支付交易对应的微信订单号
*/
@SerializedName("transaction_id")
private String transactionId;
/**
* 支付下单商户的商户号,由微信支付生成并下发
*/
@SerializedName("merchant_id")
private String merchantId;
/**
* 二级商户号
*/
@SerializedName("sub_merchant_id")
private String subMerchantId;
/**
* 商户系统内部订单号,只能是数字、大小写字母`_-*`且在同一个商户号下唯一。
*/
@SerializedName("merchant_trade_no")
private String merchantTradeNo;
/**
* 快递签收时间,时间戳形式。
*/
@SerializedName("received_time")
private Long receivedTime;
}

View File

@@ -0,0 +1,74 @@
package cn.binarywang.wx.miniapp.bean.shop.request.shipping;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author xzh
* created on 2023/5/17 17:01
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxMaOrderShippingInfoUploadRequest implements Serializable {
private static final long serialVersionUID = -334322216049787167L;
/**
* 必填
* 订单,需要上传物流信息的订单
*/
@SerializedName("order_key")
private OrderKeyBean orderKey;
/**
* 必填
* 物流模式发货方式枚举值1、实体物流配送采用快递公司进行实体物流配送形式 2、同城配送 3、虚拟商品虚拟商品例如话费充值点卡等无实体配送形式 4、用户自提
*/
@SerializedName("logistics_type")
private int logisticsType;
/**
* 必填
* 发货模式发货模式枚举值1、UNIFIED_DELIVERY统一发货2、SPLIT_DELIVERY分拆发货
* 示例值: UNIFIED_DELIVERY
*/
@SerializedName("delivery_mode")
private int deliveryMode;
/**
* 分拆发货模式时必填,用于标识分拆发货模式下是否已全部发货完成,只有全部发货完成的情况下才会向用户推送发货完成通知。
* 示例值: true/false
*/
@SerializedName("is_all_delivered")
private Boolean isAllDelivered;
/**
* 必填
* 物流信息列表,发货物流单列表,支持统一发货(单个物流单)和分拆发货(多个物流单)两种模式,多重性: [1, 10]
*/
@SerializedName("shipping_list")
private List<ShippingListBean> shippingList;
/**
* 必填
* 上传时间,用于标识请求的先后顺序 示例值: `2022-12-15T13:29:35.120+08:00
*/
@SerializedName("upload_time")
private String uploadTime;
/**
* 必填
* 支付者,支付者信息
*/
@SerializedName("payer")
private PayerBean payer;
}

View File

@@ -0,0 +1,187 @@
package cn.binarywang.wx.miniapp.bean.shop.response;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author xzh
* created on 2023/5/17 17:01
*/
@Data
public class WxMaOrderShippingInfoBaseResponse implements Serializable {
private static final long serialVersionUID = -5414031943436195493L;
/**
* 错误码
*/
@SerializedName("errcode")
private Integer errCode;
/**
* 错误原因
*/
@SerializedName("errmsg")
private String errMsg;
//region 类型定义
@Data
public static class Order implements Serializable {
private static final long serialVersionUID = -1390355751615987663L;
/**
* 原支付交易对应的微信订单号
*/
@SerializedName("transaction_id")
private String transactionId;
/**
* 支付下单商户的商户号,由微信支付生成并下发
*/
@SerializedName("merchant_id")
private String merchantId;
/**
* 二级商户号
*/
@SerializedName("sub_merchant_id")
private String subMerchantId;
/**
* 商户系统内部订单号,只能是数字、大小写字母`_-*`且在同一个商户号下唯一。
*/
@SerializedName("merchant_trade_no")
private String merchantTradeNo;
/**
* 以分号连接的该支付单的所有商品描述当超过120字时自动截断并以 “...” 结尾。
*/
@SerializedName("description")
private String description;
/**
* 支付单实际支付金额,整型,单位:分钱。
*/
@SerializedName("paid_amount")
private Long paidAmount;
/**
* 支付者openid
*/
@SerializedName("openid")
private String openId;
/**
* 交易创建时间,时间戳形式
*/
@SerializedName("trade_create_time")
private Long tradeCreateTime;
/**
* 支付时间,时间戳形式。
*/
@SerializedName("pay_time")
private Long payTime;
/**
* 订单状态枚举:(1) 待发货;(2) 已发货;(3) 确认收货;(4) 交易完成;(5) 已退款。
*/
@SerializedName("order_state")
private Integer orderState;
/**
* 是否处在交易纠纷中
*/
@SerializedName("in_complaint")
private Boolean inComplaint;
/**
* 发货信息
*/
@SerializedName("shipping")
private Shipping shipping;
}
@Data
public static class Shipping implements Serializable {
private static final long serialVersionUID = -3527308640256070121L;
/**
* 发货模式发货模式枚举值1、UNIFIED_DELIVERY统一发货2、SPLIT_DELIVERY分拆发货 示例值: UNIFIED_DELIVERY
*/
@SerializedName("delivery_mode")
private Integer deliveryMode;
/**
* 物流模式发货方式枚举值1、实体物流配送采用快递公司进行实体物流配送形式 2、同城配送 3、虚拟商品虚拟商品例如话费充值点卡等无实体配送形式 4、用户自提
*/
@SerializedName("logistics_type")
private Integer logisticsType;
/**
* 是否已完成全部发货
*/
@SerializedName("finish_shipping")
private Boolean finishShipping;
/**
* 在小程序后台发货信息录入页录入的商品描述
*/
@SerializedName("goods_desc")
private String goodsDesc;
/**
* 已完成全部发货的次数,未完成时为 0完成时为 1重新发货并完成后为 2。
*/
@SerializedName("finish_shipping_count")
private Integer finishShippingCount;
/**
* 物流信息列表,发货物流单列表,支持统一发货(单个物流单)和分拆发货(多个物流单)两种模式。
*/
@SerializedName("shipping_list")
private List<ShippingItem> shippingList;
}
@Data
public static class ShippingItem implements Serializable {
private static final long serialVersionUID = 7064368114873624112L;
/**
* 物流单号,示例值: "323244567777"。
*/
@SerializedName("tracking_no")
private String trackingNo;
/**
* 同城配送公司名或物流公司编码快递公司ID参见「查询物流公司编码列表」 示例值: "DHL"。
*/
@SerializedName("express_company")
private String expressCompany;
/**
* 使用上传物流信息 API 录入的该物流信息的商品描述。
*/
@SerializedName("goods_desc")
private String goodsDesc;
/**
* 该物流信息的上传时间,时间戳形式。
*/
@SerializedName("upload_time")
private Long uploadTime;
/**
* 联系方式
*/
@SerializedName("contact")
private Contact contact;
}
@Data
public static class Contact implements Serializable {
private static final long serialVersionUID = -320914533207502380L;
/**
* 寄件人联系方式
*/
@SerializedName("consignor_contact")
private String consignorContact;
/**
* 收件人联系方式
*/
@SerializedName("receiver_contact")
private String receiverContact;
}
//endregion
}

View File

@@ -0,0 +1,34 @@
package cn.binarywang.wx.miniapp.bean.shop.response;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author xzh
* created on 2023/5/17 17:01
*/
@Data
public class WxMaOrderShippingInfoGetListResponse extends WxMaOrderShippingInfoBaseResponse implements Serializable {
private static final long serialVersionUID = -5414031943436195493L;
/**
* 翻页时使用
*/
@SerializedName("last_index")
private String lastIndex;
/**
* 是否还有更多支付单
*/
@SerializedName("has_more")
private Boolean hasMore;
/**
* 支付单信息列表。
*/
@SerializedName("order_list")
private List<Order> orderList;
}

View File

@@ -0,0 +1,22 @@
package cn.binarywang.wx.miniapp.bean.shop.response;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
/**
* @author xzh
* created on 2023/5/17 17:01
*/
@Data
public class WxMaOrderShippingInfoGetResponse extends WxMaOrderShippingInfoBaseResponse implements Serializable {
private static final long serialVersionUID = -5414031943436195493L;
/**
* 支付单信息
*/
@SerializedName("order")
private Order order;
}

View File

@@ -0,0 +1,33 @@
package cn.binarywang.wx.miniapp.bean.shop.response;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
/**
* @author xzh
* created on 2023/5/17 17:01
*/
@Data
public class WxMaOrderShippingIsTradeManagedResponse implements Serializable {
private static final long serialVersionUID = -5397007157487018762L;
/**
* 错误码
*/
@SerializedName("errcode")
private Integer errCode;
/**
* 错误原因
*/
@SerializedName("errmsg")
private String errMsg;
/**
* 是否已开通小程序发货信息管理服务
*/
@SerializedName("is_trade_managed")
private Boolean tradeManaged;
}