package com.yuchen.saas.parking.api.dto.coupon;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.nest.springwrap.core.mp.support.Query;

import java.util.Date;
import java.util.List;

/**
 * @Author 蔡文强
 * @Date 2023/5/25 15:56
 * @Description 查询优惠券记录列表传参
 */
@Data
public class PmgBatCouponRecordQueryDTO extends Query {

    @ApiModelProperty(name = "couponType", value = "优惠券类型(1:优惠卡 2:优惠活动)")
    private Integer couponType;

    @ApiModelProperty(name = "grantName", value = "发放对象名称")
    private String grantName;
    @ApiModelProperty(name = "belongName", value = "归属对象")
    private String belongName;
    @ApiModelProperty(name = "discountMode", value = "优惠方式(1:限免优惠 2:全免优惠)")
    private Integer discountMode;

    @ApiModelProperty(name = "useStatus", value = "使用状态(1:未使用 2:已使用 3:已过期)")
    private Integer useStatus;

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

    @ApiModelProperty(name = "receiver", value = "发放对象")
    private String receiver;


    @ApiModelProperty(name = "parkingId", value = "停车场ID")
    private Long parkingId;


    @ApiModelProperty(name = "billId", value = "使用订单")
    private Long billId;


    @ApiModelProperty(name = "couponNo", value = "优惠券编号")
    private String couponNo;

    @ApiModelProperty(name = "receiveStartTime", value = "领取开始时间")
    private Date receiveStartTime;

    @ApiModelProperty(name = "receiveEndTime", value = "领取结束时间")
    private Date receiveEndTime;


    @ApiModelProperty(name = "discountItems", value = "优惠适用费项(1:临停费用 2:月卡充值 3:错时充值 4:管理费 5:充电收费 6:停车占位收费),多选,逗号隔开")
    private String discountItems;
    @ApiModelProperty(name = "discountItemsList", value = "优惠适用费项(1:临停费用 2:月卡充值 3:错时充值 4:管理费 5:充电收费 6:停车占位收费),多选,逗号隔开")
    @JsonIgnore
    private List<String> discountItemsList;
    @ApiModelProperty(name = "discountType", value = "优惠类型(1:智慧停车 2:智慧充电 3:平台通用)")
    private Integer discountType;

    @ApiModelProperty(name = "suitCondition", value = "适用条件(1:满xx元可使用 2:无门槛使用(若优惠金额大于产品金额，则该产品价格为免费))")
    private Integer suitCondition;


    @ApiModelProperty(name = "useStartTime", value = "使用开始时间")
    private Date useStartTime;

    @ApiModelProperty(name = "useEndTime", value = "使用结束时间")
    private Date useEndTime;
}
