🆕 #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,74 @@
package me.chanjar.weixin.open.bean.ma;
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
* @Description 申请设置订单页path信息 接口的相关信息
* @createTime 2023/05/23 15:19
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxOpenMaApplyOrderPathInfo implements Serializable {
private static final long serialVersionUID = -1812688861780119219L;
/**
* 批量申请的信息
*/
@SerializedName("batch_req")
private BatchReqBean batchReq;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class BatchReqBean implements Serializable {
private static final long serialVersionUID = 1816976472441827961L;
/**
* 申请提交的订单页path
*/
@SerializedName("path")
private String path;
/**
* 申请提交的图片url审核版会显示
*/
@SerializedName("img_list")
private List<String> imgList;
/**
* 申请提交的视频url审核版会显示
*/
@SerializedName("video")
private String video;
/**
* 申请提交的测试账号,审核版会显示
*/
@SerializedName("test_account")
private String testAccount;
/**
* 申请提交的测试密码,审核版会显示
*/
@SerializedName("test_pwd")
private String testPwd;
/**
* 申请提交的测试备注,审核版会显示
*/
@SerializedName("test_remark")
private String testRemark;
/**
* 申请提交的批量的appid
* NOTE: 一次提交不超过100个appid
*/
@SerializedName("appid_list")
private List<String> appIdList;
}
}

View File

@@ -0,0 +1,75 @@
package me.chanjar.weixin.open.bean.result;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.List;
/**
* @author xzh
* @Description 获取订单页path信息接口返回结果
* @createTime 2023/05/23 15:07
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WxOpenMaGetOrderPathResult extends WxOpenResult {
private static final long serialVersionUID = 1988636135032104851L;
/**
* 订单页path信息
*/
@SerializedName("msg")
private MsgBean msg;
@Data
public static class MsgBean implements Serializable {
private static final long serialVersionUID = 2153432209800394925L;
/**
* 订单页path
*/
@SerializedName("path")
private String path;
/**
* 申请提交的图片url审核版会显示
*/
@SerializedName("img_list")
private List<String> imgList;
/**
* 申请提交的视频url审核版会显示
*/
@SerializedName("video")
private String video;
/**
* 申请提交的测试账号,审核版会显示
*/
@SerializedName("test_account")
private String testAccount;
/**
* 申请提交的测试密码,审核版会显示
*/
@SerializedName("test_pwd")
private String testPwd;
/**
* 申请提交的测试备注,审核版会显示
*/
@SerializedName("test_remark")
private String testRemark;
/**
* 申请状态说明
* 2 审核中
* 3 审核失败
* 4 审核通过
*/
@SerializedName("status")
private int status;
/**
* 申请时间
*/
@SerializedName("apply_time")
private long applyTime;
}
}

View File

@@ -0,0 +1,77 @@
package me.chanjar.weixin.open.bean.shoppingOrders;
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;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CombinedShippingInfo implements Serializable {
private static final long serialVersionUID = -2338140924295957062L;
/**
* 必填
* 合单订单,需要上传物流详情的合单订单,根据订单类型二选一
*/
@SerializedName("order_key")
private OrderKeyBean orderKey;
/**
* 子单物流详情
*/
@SerializedName("sub_orders")
private List<SubOrderListBean> subOrders;
/**
* 必填
* 支付者,支付者信息
*/
@SerializedName("payer")
private PayerBean payer;
/**
* 必填
* 上传时间,用于标识请求的先后顺序 示例值: `2022-12-15T13:29:35.120+08:00
*/
@SerializedName("upload_time")
private String uploadTime;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class SubOrderListBean implements Serializable {
private static final long serialVersionUID = -8792281478692710237L;
/**
* 必填
* 订单,需要上传购物详情的订单,根据订单类型二选一
*/
@SerializedName("order_key")
private OrderKeyBean orderKey;
/**
* 必填
* 发货模式发货模式枚举值1、UNIFIED_DELIVERY统一发货2、SPLIT_DELIVERY分拆发货
* 示例值: UNIFIED_DELIVERY
*/
@SerializedName("delivery_mode")
private int deliveryMode;
/**
* 必填
* 物流信息列表,发货物流单列表,支持统一发货(单个物流单)和分拆发货(多个物流单)两种模式,多重性: [1, 10]
*/
@SerializedName("shipping_list")
private List<ShippingListBean> shippingList;
}
}

View File

@@ -0,0 +1,88 @@
package me.chanjar.weixin.open.bean.shoppingOrders;
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;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CombinedShoppingInfo implements Serializable {
private static final long serialVersionUID = 8325009858985444023L;
/**
* 必填
* 合单订单,需要上传购物详情的合单订单,根据订单类型二选一
*/
@SerializedName("order_key")
private OrderKeyBean orderKey;
/**
* 子单购物详情
*/
@SerializedName("sub_orders")
private List<SubOrderListBean> subOrders;
/**
* 必填
* 支付者,支付者信息
*/
@SerializedName("payer")
private PayerBean payer;
/**
* 必填
* 上传时间,用于标识请求的先后顺序 示例值: `2022-12-15T13:29:35.120+08:00
*/
@SerializedName("upload_time")
private String uploadTime;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class SubOrderListBean implements Serializable {
private static final long serialVersionUID = -8792281478692710237L;
/**
* 必填
* 订单,需要上传购物详情的订单,根据订单类型二选一
*/
@SerializedName("order_key")
private OrderKeyBean orderKey;
/**
* 必填
* 商户交易订单编号,商户侧的交易订单详情页向用户展示的订单编号
* 示例值: 232457563423 字符字节限制: [1, 64]
*/
@SerializedName("merchant_order_no")
private String merchantOrderNo;
/**
* 必填
* 商户交易订单详情页链接用户查看“商城订单”时跳转至商户侧查看交易订单详情页的链接。详情页类别可以为H5或小程序
*/
@SerializedName("order_detail_jump_link")
private ShoppingInfo.OrderDetailBean orderDetailJumpLink;
/**
* 订单购买的商品列表用户在订单中购买的全部商品明细的列表最多可以上传50个商品
* 多重性: [1, 50]
*/
@SerializedName("item_list")
private List<ShoppingInfo.OrderItemListBean> itemList;
/**
* 物流形式,订单商品配送的物流形式,默认为实体物流
* 物流模式发货方式枚举值1、实体物流配送采用快递公司进行实体物流配送形式 2、同城配送 3、虚拟商品虚拟商品例如话费充值点卡等无实体配送形式 4、用户自提
*/
@SerializedName("logistics_type")
private int logisticsType;
}
}

View File

@@ -0,0 +1,27 @@
package me.chanjar.weixin.open.bean.shoppingOrders;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ContactBean implements Serializable {
private static final long serialVersionUID = 2256209964320569284L;
/**
* 寄件人联系方式寄件人联系方式采用掩码传输最后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,39 @@
package me.chanjar.weixin.open.bean.shoppingOrders;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderKeyBean implements Serializable {
private static final long serialVersionUID = 1486092394664728388L;
/**
* 必填
* 订单单号类型用于确认需要上传详情的订单。枚举值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,23 @@
package me.chanjar.weixin.open.bean.shoppingOrders;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PayerBean implements Serializable {
private static final long serialVersionUID = -7943088204264205895L;
/**
* 必填
* 用户标识用户在小程序appid下的唯一标识。 下单前需获取到用户的Openid 示例值: oUpF8uMuAJO_M2pxb1Q9zNjWeS6o 字符字节限制: [1, 128]
*/
@SerializedName("openid")
private String openid;
}

View File

@@ -0,0 +1,48 @@
package me.chanjar.weixin.open.bean.shoppingOrders;
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;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ShippingInfo implements Serializable {
private static final long serialVersionUID = 2105037984591600658L;
/**
* 必填
* 订单,需要上传物流信息的订单
*/
@SerializedName("order_key")
private OrderKeyBean orderKey;
/**
* 必填
* 发货模式发货模式枚举值1、UNIFIED_DELIVERY统一发货2、SPLIT_DELIVERY分拆发货
* 示例值: UNIFIED_DELIVERY
*/
@SerializedName("delivery_mode")
private int deliveryMode;
/**
* 必填
* 物流信息列表,发货物流单列表,支持统一发货(单个物流单)和分拆发货(多个物流单)两种模式,多重性: [1, 10]
*/
@SerializedName("shipping_list")
private List<ShippingListBean> shippingList;
/**
* 必填
* 上传时间,用于标识请求的先后顺序 示例值: `2022-12-15T13:29:35.120+08:00
*/
@SerializedName("upload_time")
private String uploadTime;
}

View File

@@ -0,0 +1,54 @@
package me.chanjar.weixin.open.bean.shoppingOrders;
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;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ShippingListBean implements Serializable {
private static final long serialVersionUID = -6884739637300493109L;
/**
* 物流单号,物流快递发货时必填,示例值: 323244567777 字符字节限制: [1, 128]
*/
@SerializedName("tracking_no")
private String trackingNo;
/**
* 物流公司编码快递公司ID参见「查询物流公司编码列表」物流快递发货时必填 示例值: DHL 字符字节限制: [1, 128]
*/
@SerializedName("express_company")
private String expressCompany;
/**
* 物流关联的商品列表,当统一发货(单个物流单)时,该项不填;当分拆发货(多个物流单)时,需填入各物流单关联的商品列表 多重性: [0, 50]
*/
@SerializedName("item_list")
private List<ShippingItemListBean> itemList;
/**
* 联系方式,当发货的物流公司为顺丰时,联系方式为必填,收件人或寄件人联系方式二选一
*/
@SerializedName("contact")
private ContactBean contact;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class ShippingItemListBean implements Serializable {
private static final long serialVersionUID = -1433227869321841858L;
/**
* 商户侧商品ID商户系统内部商品编码分拆发货模式下为必填用于标识每笔物流单号内包含的商品需与「上传购物详情」中传入的商品ID匹配
* 示例值: 1246464644 字符字节限制: [1, 64]
*/
@SerializedName("merchant_item_id")
private String merchantItemId;
}
}

View File

@@ -0,0 +1,166 @@
package me.chanjar.weixin.open.bean.shoppingOrders;
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;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ShoppingInfo implements Serializable {
private static final long serialVersionUID = 2105037984591600658L;
/**
* 必填
* 订单,需要上传物流信息的订单
*/
@SerializedName("order_key")
private OrderKeyBean orderKey;
/**
* 购物详情列表
*/
@SerializedName("order_list")
private List<OrderListBean> orderList;
/**
* 必填
* 支付者,支付者信息
*/
@SerializedName("payer")
private PayerBean payer;
/**
* 物流形式,订单商品配送的物流形式,默认为实体物流
* 物流模式发货方式枚举值1、实体物流配送采用快递公司进行实体物流配送形式 2、同城配送 3、虚拟商品虚拟商品例如话费充值点卡等无实体配送形式 4、用户自提
*/
@SerializedName("logistics_type")
private int logisticsType;
/**
* 必填
* 上传时间,用于标识请求的先后顺序 示例值: `2022-12-15T13:29:35.120+08:00
*/
@SerializedName("upload_time")
private String uploadTime;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class OrderListBean implements Serializable {
private static final long serialVersionUID = -7690807867756471672L;
/**
* 必填
* 商户交易订单编号,商户侧的交易订单详情页向用户展示的订单编号
* 示例值: 232457563423 字符字节限制: [1, 64]
*/
@SerializedName("merchant_order_no")
private String merchantOrderNo;
/**
* 必填
* 商户交易订单详情页链接用户查看“商城订单”时跳转至商户侧查看交易订单详情页的链接。详情页类别可以为H5或小程序
*/
@SerializedName("order_detail_jump_link")
private OrderDetailBean orderDetailJumpLink;
/**
* 订单购买的商品列表用户在订单中购买的全部商品明细的列表最多可以上传50个商品
* 多重性: [1, 50]
*/
@SerializedName("item_list")
private List<OrderItemListBean> itemList;
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class OrderDetailBean implements Serializable {
private static final long serialVersionUID = -8002249022516272034L;
/**
* 链接地址链接类型为H5时必填
* 示例值: https://www.weixin.qq.com/wxpay/pay.php
* 字符字节限制: [1, 1024]
* 匹配正则表达式: ^https?😕/([^\s/?#[]@]+@)?([^\s/?#@:]+)(?::\d{2,5})?([^[]]*)$
*/
@SerializedName("url")
private String url;
/**
* 小程序appid链接类型为MINIAPP时必填
* 示例值: wxd678efh567hg6787 字符字节限制: [1, 32]
*/
@SerializedName("appid")
private String appId;
/**
* 小程序path链接类型为MINIAPP时必填
* 示例值: /path/index/index 字符字节限制: [1, 512]
*/
@SerializedName("path")
private String path;
/**
* 必填
* 链接类型枚举值1、URL2、MINI_PROGRAM
* 示例值: MINI_PROGRAM
*/
@SerializedName("type")
private int type;
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class OrderItemListBean implements Serializable {
private static final long serialVersionUID = -2989527770771246748L;
/**
* 商户侧商品ID商户系统内部商品编码用于标识不同的商品。请注意当发货模式选择“分拆发货”时需要使用商户侧商品ID来标记各物流单中包含的具体商品
* 示例值: 1246464644 字符字节限制: [1, 64]
*/
@SerializedName("merchant_item_id")
private String merchantItemId;
/**
* 必填
* 商品名称
* 示例值: iPhoneX 256G 字符长度限制: [1, 256]
*/
@SerializedName("name")
private String name;
/**
* 商品描述
* 示例值: Image形象店-深圳腾大-QQ公仔 字符长度限制: [1, 512]
*/
@SerializedName("description")
private String description;
/**
* 必填
* 商品单价(单位:分)
*/
@SerializedName("unit_price")
private long unitPrice;
/**
* 必填
* 购买数量
* 示例值: 2
*/
@SerializedName("quantity")
private long quantity;
/**
* 商品图片链接
* 示例值: https://qpic.cn/xxx
* 多重性: [1, 3]
* 字符字节限制: [1, 1024]
* 匹配正则表达式: ^https?😕/([^\s/?#[]@]+@)?([^\s/?#@:]+)(?::\d{2,5})?([^[]]*)$
*/
@SerializedName("image_url")
private List<String> imageUrl;
}
}

View File

@@ -0,0 +1,32 @@
package me.chanjar.weixin.open.bean.shoppingOrders;
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;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ShoppingInfoVerifyUpload implements Serializable {
private static final long serialVersionUID = 4295431037060277496L;
/**
* 必填
* 订单,需要上传购物详情的订单,根据订单类型二选一
*/
@SerializedName("order_key")
private OrderKeyBean orderKey;
/**
* 必填
* 支付者,支付者信息
*/
@SerializedName("payer")
private PayerBean payer;
}

View File

@@ -0,0 +1,18 @@
package me.chanjar.weixin.open.bean.shoppingOrders;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import me.chanjar.weixin.open.bean.result.WxOpenResult;
@Data
@EqualsAndHashCode(callSuper = true)
public class WxOpenShoppingInfoVerifyUploadResult extends WxOpenResult {
private static final long serialVersionUID = -3223834939130803964L;
/**
* 验证结果
*/
@SerializedName("verify_result")
private String verifyResult;
}

View File

@@ -0,0 +1,17 @@
package me.chanjar.weixin.open.bean.shoppingOrders;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import me.chanjar.weixin.open.bean.result.WxOpenResult;
@Data
@EqualsAndHashCode(callSuper = true)
public class WxOpenShoppingOrdersConfirmResult extends WxOpenResult {
private static final long serialVersionUID = 8534868743462740891L;
/**
* 最近一次审核的结果
*/
@SerializedName("last_result")
private String lastResult;
}