package com.doumee.dao.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.Valid; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.util.List; /** * 创建订单请求DTO * * @Author : Rk * @create 2026/4/14 */ @Data @ApiModel("创建订单请求") public class CreateOrderDTO { @ApiModelProperty(value = "寄存类型: 0=就地寄存 1=异地寄存", required = true) @NotNull(message = "寄存类型不能为空") private Integer type; @ApiModelProperty(value = "城市主键", required = true) @NotNull(message = "城市不能为空") private Integer cityId; @ApiModelProperty(value = "寄件店铺主键", required = true) @NotNull(message = "寄件店铺不能为空") private Integer depositShopId; @ApiModelProperty(value = "取件店铺主键(异地,店铺取件时)") private Integer takeShopId; @ApiModelProperty(value = "取件纬度(异地,自选点时)") private BigDecimal takeLat; @ApiModelProperty(value = "取件经度(异地,自选点时)") private BigDecimal takeLgt; @ApiModelProperty(value = "取件详细地址(异地,自选点时)") private String takeLocation; @ApiModelProperty(value = "取件人姓名", required = true) @NotEmpty(message = "取件人姓名不能为空") private String takeUser; @ApiModelProperty(value = "取件人电话", required = true) @NotEmpty(message = "取件人电话不能为空") private String takePhone; @ApiModelProperty(value = "预计到店存件时间(yyyy-MM-dd HH:mm)", required = true) @NotEmpty(message = "预计到店存件时间不能为空") private String expectedDepositTime; @ApiModelProperty(value = "预计到店取件时间(yyyy-MM-dd HH:mm)", required = true) @NotEmpty(message = "预计到店取件时间不能为空") private String expectedTakeTime; @ApiModelProperty(value = "物品类型(category主键)", required = true) @NotNull(message = "物品类型不能为空") private Integer goodType; @ApiModelProperty(value = "物品尺寸与数量列表", required = true) @NotEmpty(message = "物品尺寸与数量不能为空") @Valid private List items; @ApiModelProperty(value = "物品图片URL列表(最多3张)", required = true) @NotEmpty(message = "物品图片不能为空") private List goodsImages; @ApiModelProperty(value = "服务时效: 0=标速达 1=极速达(异地必填)") private Integer isUrgent; @ApiModelProperty(value = "保价金额(元,非必填)") private BigDecimal declaredAmount; @ApiModelProperty(value = "订单备注(非必填)") private String remark; }