All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.binarywang.wx.miniapp.bean.delivery.AddOrderRequest Maven / Gradle / Ivy

The newest version!
package cn.binarywang.wx.miniapp.bean.delivery;

import cn.binarywang.wx.miniapp.bean.delivery.base.WxMaDeliveryBaseRequest;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 微信小程序即时配送 下配送单接口 请求参数.
 *
 * @author Luo
 * @version 1.0
 * created on  2021-10-14 10:49
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class AddOrderRequest extends WxMaDeliveryBaseRequest implements Serializable {

    private static final long serialVersionUID = 3773007367000633663L;

    /**
     * 子商户id,区分小程序内部多个子商户.
     * 
     * 是否必填:否
     * 
*/ @SerializedName("sub_biz_id") private String subBizId; /** * 发件人信息,顺丰同城急送必须填写,美团配送、达达、闪送,若传了shop_no的值可不填该字段. *
     * 是否必填:是
     * 
*/ @SerializedName("sender") private Sender sender; /** * 收件人信息. *
     * 是否必填:是
     * 
*/ @SerializedName("receiver") private Receiver receiver; /** * 货物信息. *
     * 是否必填:是
     * 
*/ @SerializedName("cargo") private Cargo cargo; /** * 订单信息. *
     * 是否必填:是
     * 
*/ @SerializedName("order_info") private OrderInfo orderInfo; /** * 商品信息,会展示到物流通知消息中. *
     * 是否必填:是
     * 
*/ @SerializedName("shop") private Shop shop; /** * 发件人信息. */ @Data @Accessors(chain = true) public static class Sender implements Serializable { private static final long serialVersionUID = -8101805250220380047L; /** * 姓名,最长不超过256个字符. *
         * 是否必填:是
         * 
*/ @SerializedName("name") private String name; /** * 城市名称,如广州市. *
         * 是否必填:是
         * 
*/ @SerializedName("city") private String city; /** * 地址(街道、小区、大厦等,用于定位). *
         * 是否必填:是
         * 
*/ @SerializedName("address") private String address; /** * 地址(街道、小区、大厦等,用于定位). *
         * 是否必填:是
         * 
*/ @SerializedName("address_detail") private String addressDetail; /** * 坐标类型,默认 0:火星坐标(高德,腾讯地图均采用火星坐标) 1:百度坐标. *
         * 是否必填:否
         * 
*/ @SerializedName("coordinate_type") private int coordinateType; /** * 经度(火星坐标或百度坐标,和 coordinate_type 字段配合使用,确到小数点后6位. *
         * 是否必填:是
         * 
*/ @SerializedName("lng") private BigDecimal lng; /** * 纬度(火星坐标或百度坐标,和 coordinate_type 字段配合使用,精确到小数点后6位). *
         * 是否必填:是
         * 
*/ @SerializedName("lat") private BigDecimal lat; /** * 电话/手机号,最长不超过64个字符. *
         * 是否必填:是
         * 
*/ @SerializedName("phone") private String phone; } /** * 收件人信息. */ @Data @Accessors(chain = true) public static class Receiver implements Serializable { private static final long serialVersionUID = -8101805250220380047L; /** * 姓名,最长不超过256个字符. *
         * 是否必填:是
         * 
*/ @SerializedName("name") private String name; /** * 城市名称,如广州市. *
         * 是否必填:是
         * 
*/ @SerializedName("city") private String city; /** * 地址(街道、小区、大厦等,用于定位). *
         * 是否必填:是
         * 
*/ @SerializedName("address") private String address; /** * 地址(街道、小区、大厦等,用于定位). *
         * 是否必填:是
         * 
*/ @SerializedName("address_detail") private String addressDetail; /** * 坐标类型,默认 0:火星坐标(高德,腾讯地图均采用火星坐标) 1:百度坐标. *
         * 是否必填:否
         * 
*/ @SerializedName("coordinate_type") private int coordinateType; /** * 经度(火星坐标或百度坐标,和 coordinate_type 字段配合使用,确到小数点后6位. *
         * 是否必填:是
         * 
*/ @SerializedName("lng") private BigDecimal lng; /** * 纬度(火星坐标或百度坐标,和 coordinate_type 字段配合使用,精确到小数点后6位). *
         * 是否必填:是
         * 
*/ @SerializedName("lat") private BigDecimal lat; /** * 电话/手机号,最长不超过64个字符. *
         * 是否必填:是
         * 
*/ @SerializedName("phone") private String phone; } /** * 商品信息. */ @Data @Accessors(chain = true) public static class Shop implements Serializable { private static final long serialVersionUID = -8958461649711388689L; /** * 商品数量. *
         * 是否必填:是
         * 
*/ @SerializedName("goods_count") private Integer goodsCount; /** * 商品名称. *
         * 是否必填:是
         * 
*/ @SerializedName("goods_name") private String goodsName; /** * 商品缩略图 url. *
         * 是否必填:是
         * 
*/ @SerializedName("img_url") private String imgUrl; /** * 商家小程序的路径,建议为订单页面. *
         * 是否必填:是
         * 
*/ @SerializedName("wxa_path") private String wxaPath; /** * 若结算方式为:第三方向配送公司统一结算,商户后续和第三方结算,则该参数必填. * 在该结算模式下,第三方用自己的开发小程序替授权商户发起下单,并将授权小程序的appid给平台,后续配送通知中可回流授权商户小程序. *
         * 是否必填:否
         * 
*/ @SerializedName("wxa_appid") private String wxaAppid; } /** * 订单信息. */ @Data @Accessors(chain = true) public static class OrderInfo implements Serializable { private static final long serialVersionUID = 5277759430030747900L; /** * 配送服务代码 不同配送公司自定义, 顺丰和达达不填. *
         * 是否必填:否
         * 
*/ @SerializedName("delivery_service_code") private String deliveryServiceCode; /** * 订单类型, 0: 即时单 1 预约单,如预约单,需要设置expected_delivery_time或expected_finish_time或expected_pick_time. *
         * 是否必填:否
         * 
*/ @SerializedName("order_type") private Integer orderType; /** * 期望派单时间(达达支持,表示达达系统调度时间, 到那个时间才会有状态更新的回调通知),unix-timestamp, 比如1586342180. *
         * 是否必填:否
         * 
*/ @SerializedName("expected_delivery_time") private Long expectedDeliveryTime; /** * 期望送达时间(美团、顺丰同城急送支持),unix-timestamp, 比如1586342180. *
         * 是否必填:否
         * 
*/ @SerializedName("expected_finish_time") private Long expectedFinishTime; /** * 期望取件时间(闪送、顺丰同城急送支持,闪送需要设置两个小时后的时间,顺丰同城急送只需传expected_finish_time或expected_pick_time其中之一即可,同时都传则以expected_finish_time为准),unix-timestamp, 比如1586342180. *
         * 是否必填:否
         * 
*/ @SerializedName("expected_pick_time") private Long expectedPickTime; /** * 备注,最长不超过200个字符. *
         * 是否必填:否
         * 
*/ @SerializedName("note") private String note; /** * 门店订单流水号,建议提供,方便骑手门店取货,最长不超过32个字符. *
         * 是否必填:否
         * 
*/ @SerializedName("poi_seq") private String poiSeq; /** * 用户下单付款时间, 顺丰必填, 比如1555220757. *
         * 是否必填:否
         * 
*/ @SerializedName("order_time") private Long orderTime; /** * 是否保价,0:非保价,1:保价. *
         * 是否必填:否
         * 
*/ @SerializedName("is_insured") private Integer isInsured; /** * 保价金额,单位为元,精确到分. *
         * 是否必填:否
         * 
*/ @SerializedName("declared_value") private BigDecimal declaredValue; /** * 小费,单位为元, 下单一般不加小费. *
         * 是否必填:否
         * 
*/ @SerializedName("tips") private Integer tips; /** * 是否选择直拿直送(0:不需要;1:需要。选择直拿直送后,同一时间骑手只能配送此订单至完成,配送费用也相应高一些,闪送必须选1,达达可选0或1,其余配送公司不支持直拿直送). *
         * 是否必填:否
         * 
*/ @SerializedName("is_direct_delivery") private Integer isDirectDelivery; /** * 骑手应付金额,单位为元,精确到分. *
         * 是否必填:否
         * 
*/ @SerializedName("cash_on_delivery") private BigDecimal cashOnDelivery; /** * 骑手应收金额,单位为元,精确到分. *
         * 是否必填:否
         * 
*/ @SerializedName("cash_on_pickup") private BigDecimal cashOnPickup; /** * 物流流向,1:从门店取件送至用户;2:从用户取件送至门店. *
         * 是否必填:否
         * 
*/ @SerializedName("rider_pick_method") private Integer riderPickMethod; /** * 收货码(0:不需要;1:需要。收货码的作用是:骑手必须输入收货码才能完成订单妥投). *
         * 是否必填:否
         * 
*/ @SerializedName("is_finish_code_needed") private Integer isFinishCodeNeeded; /** * 取货码(0:不需要;1:需要。取货码的作用是:骑手必须输入取货码才能从商家取货). *
         * 是否必填:否
         * 
*/ @SerializedName("is_pickup_code_needed") private Integer isPickupCodeNeeded; } /** * 货物信息. */ @NoArgsConstructor @Data @Accessors(chain = true) public static class Cargo implements Serializable { private static final long serialVersionUID = -8339389045820636620L; /** * 货物价格,单位为元,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-5000]. *
         * 是否必填:是
         * 
*/ @SerializedName("goods_value") private BigDecimal goodsValue; /** * 货物高度,单位为cm,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-45]. *
         * 是否必填:否
         * 
*/ @SerializedName("goods_height") private BigDecimal goodsHeight; /** * 货物长度,单位为cm,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-65]. *
         * 是否必填:否
         * 
*/ @SerializedName("goods_length") private BigDecimal goodsLength; /** * 货物宽度,单位为cm,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-50]. *
         * 是否必填:否
         * 
*/ @SerializedName("goods_width") private BigDecimal goodsWidth; /** * 货物重量,单位为kg,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数),范围为(0-50]. *
         * 是否必填:是
         * 
*/ @SerializedName("goods_weight") private BigDecimal goodsWeight; /** * 货物详情,最长不超过10240个字符. *
         * 是否必填:否
         * 
*/ @SerializedName("goods_detail") private GoodsDetail goodsDetail; /** * 货物取货信息,用于骑手到店取货,最长不超过100个字符. *
         * 是否必填:否
         * 
*/ @SerializedName("goods_pickup_info") private String goodsPickupInfo; /** * 货物交付信息,最长不超过100个字符. *
         * 是否必填:否
         * 
*/ @SerializedName("goods_delivery_info") private String goodsDeliveryInfo; /** * 品类一级类目, 详见品类表 https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/union/access-guidelines/promoter/api/product/category.html. *
         * 是否必填:是
         * 
*/ @SerializedName("cargo_first_class") private String cargoFirstClass; /** * 品类二级类目. *
         * 是否必填:是
         * 
*/ @SerializedName("cargo_second_class") private String cargoSecondClass; /** * 货物详情. */ @Data @Accessors(chain = true) public static class GoodsDetail implements Serializable { private static final long serialVersionUID = -8339389045820636620L; /** * 货物列表. *
             * 是否必填:是
             * 
*/ @SerializedName("goods") private List goods; /** * 货物详情. */ @NoArgsConstructor @Data @Accessors(chain = true) public static class Goods implements Serializable { private static final long serialVersionUID = -8339389045820636620L; /** * 货物数量. *
                 * 是否必填:是
                 * 
*/ @SerializedName("good_count") private Integer goodCount; /** * 货品名称. *
                 * 是否必填:是
                 * 
*/ @SerializedName("good_name") private String goodName; /** * 货品单价,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数). *
                 * 是否必填:否
                 * 
*/ @SerializedName("good_price") private BigDecimal goodPrice; /** * 货品单位,最长不超过20个字符. *
                 * 是否必填:否
                 * 
*/ @SerializedName("good_unit") private String goodUnit; } } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy