package com.yuchen.saas.payment.api.dto.order;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;

/**
 * @author zhouhanwei
 * @create 2023/6/28 9:21
 */
@Data
public class CreateOrderManageReqDTO {


    /**
     * 平台用户id
     */
    @ApiModelProperty(name = "userDetailId", value = "平台用户id")
    private Long userDetailId;

    /**
     * 微信openId
     */
    @NotBlank(message = "微信openId不能为空")
    @ApiModelProperty(name = "openId", value = "微信openId")
    private String openId;
    /**
     * 支付金额
     */
    @ApiModelProperty(name = "payCost", value = "支付金额")
    private Long payCost;

    /**
     * 优惠金额
     */
    @ApiModelProperty(name = "couponCost", value = "优惠金额")
    private Long couponCost;

    /**
     * 用户优惠券id
     */
    @ApiModelProperty(value = "用户优惠券id")
    private String couponRecordId;


    /**
     * 账单id
     */
    @NotBlank(message = "账单id不能为空")
    @ApiModelProperty(name = "billId", value = "账单id")
    private String billId;

    /**
     * 账单类型
     */
    @ApiModelProperty(name = "billType", value = "账单类型")
    private Integer billType;

    /**
     * 数据来源号
     */
    @ApiModelProperty(name = "dataSourceNo", value = "数据来源号")
    private String dataSourceNo;

    @ApiModelProperty(value = "支付类型")
    private String payType;

    @ApiModelProperty(value = "用户手机号")
    private String phone;

    /**
     * 运营商id
     */
    @ApiModelProperty(name = "operator", value = "运营商id")
    private Long operator;

    /**
     * 项目id
     */
    @ApiModelProperty(name = "parkId", value = "项目id")
    private String parkId;

    /**
     * 场站id
     */
    @ApiModelProperty(name = "siteId", value = "场站id")
    private Long siteId;

    @ApiModelProperty(name = "orderType", value = "订单中心类型")
    private Integer orderType;

    @ApiModelProperty(name = "walletId", value = "钱包id")
    private Long walletId;

    @ApiModelProperty(name = "walletType", value = "钱包类型（1：平台钱包，2：渠道钱包）")
    private String walletType;

    @ApiModelProperty(name = "privacyProtectionFlag", value = "订单隐私保护")
    private Integer privacyProtectionFlag;

}
