package org.ta.pddserver.model.api.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Data
public class ReceiveRequest {

    @Schema(
            description = "接口",
            example = "warehouse_sign",
            defaultValue = "",
            requiredMode = Schema.RequiredMode.REQUIRED // 必填
    )
    private String action;

    @Schema(
            description = "运单号",
            example = "P12345678",
            defaultValue = "",
            requiredMode = Schema.RequiredMode.REQUIRED // 必填
    )
    private String mailNo;

//    private int status;

    @Schema(
            description = "实操结果code",
            example = "0",
            defaultValue = "bizAction=（warehouse_sign、destroy）时填0；bizAction=warehouse_reject_sign时填非零错误码，具体编码见结果编码规范",
            requiredMode = Schema.RequiredMode.REQUIRED // 必填
    )
    private Integer code;

//    private String desc;
//
//    private String remark;

    @Schema(
            description = "计费重量，单位默认为克",
            example = "0",
            defaultValue = "",
            requiredMode = Schema.RequiredMode.NOT_REQUIRED // 必填
    )
    private Long weight;

    @Schema(
            description = "包裹长度，单位默认为厘米",
            example = "0",
            defaultValue = "",
            requiredMode = Schema.RequiredMode.NOT_REQUIRED // 必填
    )
    private Long length;

    @Schema(
            description = "包裹宽度，单位默认为厘米",
            example = "0",
            defaultValue = "",
            requiredMode = Schema.RequiredMode.NOT_REQUIRED // 必填
    )
    private Long width;

    @Schema(
            description = "包裹高度，单位默认为厘米",
            example = "0",
            defaultValue = "",
            requiredMode = Schema.RequiredMode.NOT_REQUIRED // 必填
    )
    private Long height;

    @Schema(
            description = "实际重量，单位默认为克",
            example = "0",
            defaultValue = "",
            requiredMode = Schema.RequiredMode.NOT_REQUIRED // 必填
    )
    private Long actualWeight;
}
