package co.yixiang.yshop.module.order.controller.app.order.param;

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

import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * @ClassName OrderParam
 * @Author hupeng <610796224@qq.com>
 * @Date 2023/6/20
 **/
@Data
public class AppOrderParam implements Serializable {

    @Schema(description = "地址ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private String addressId;

    @Schema(description = "优惠券ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long couponId;

    @Schema(description = "来源 AppFromEnum", requiredMode = Schema.RequiredMode.REQUIRED)
    private String from;

    @Size(max = 200, message = "长度超过了限制")
    @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
    private String mark;

    @Schema(description = "配送方式 1=快递 ，2=门店自提", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer shippingType;

    @Schema(description = "使用积分 1-表示使用", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean useIntegral;

    @Schema(description = "支付渠道(0微信公众号1微信小程序)", requiredMode = Schema.RequiredMode.REQUIRED)
    private String isChannel;

    @Schema(description = "支付类型 weixin|alipay|yue|integral", requiredMode = Schema.RequiredMode.REQUIRED)
    private String payType;

    @Schema(description = "门店id")
    private Long storeId;

    @Schema(description = "活动类型", required = true)
    private Integer campaignType;

    @Schema(description = "营销活动明细id")
    private Long campaignDetailId;

    @Schema(description = "拼团id", required = true)
    private Long teamworkId;

    @Schema(description = "分销商ID", required = true)
    private Long distributorId;

}
