package com.yiqi.order.domain.dto;

import com.yiqi.common.annotation.Excel;
import com.yiqi.common.enums.BuyGoodsType;
import com.yiqi.common.enums.GoodsType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 充值卡余额支付
 */
@Data
public class RechargeCardPayDTO {

    @ApiModelProperty("客户ID")
    private Long appUserId;

    /**
     * 来源类型
     */
    @Excel(name = "来源类型")
    @ApiModelProperty("来源类型")
    private String sourceType;

    @ApiModelProperty("扣款门店ID")
    private Long orgId;

    @ApiModelProperty("订单编号，预约单时需要")
    @NotNull(message = "订单编号必传")
    private String orderNo;

    private Long orderId;

    @ApiModelProperty("订单金额")
    @NotNull(message = "订单金额必传")
    private BigDecimal payAmount;

    /**
     * 备注
     */
    private String remark;

    /**
     * @See com.yiqi.common.enums.BuyGoodsType
     */
    @ApiModelProperty("购买商品类型")
    @NotEmpty(message = "购买商品类型 1:洗衣 2：普通商品 3：生活服务 4：汽车美容")
    private String buyGoodsType;

    public RechargeCardPayDTO(Long appUserId, Long orderId, String sourceType, Long orgId, String orderNo, BigDecimal payAmount, String buyGoodsType) {
        this.sourceType = sourceType;
        this.orderId = orderId;
        this.orgId = orgId;
        this.appUserId = appUserId;
        this.orderNo = orderNo;
        this.payAmount = payAmount;
        this.buyGoodsType = buyGoodsType;
    }
}
