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

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.poi.ss.usermodel.HorizontalAlignment;

import java.util.Date;

/**
 * @Author 蔡文强
 * @Date 2023/5/25 15:56
 * @Description 优惠卡导出excel
 */
@Data
@HeadStyle(horizontalAlignment = HorizontalAlignment.CENTER)
@HeadRowHeight(25)
@ContentStyle(horizontalAlignment = HorizontalAlignment.CENTER)
@ColumnWidth(12)
@ContentRowHeight(15)
@HeadFontStyle(fontHeightInPoints =9)
@ExcelIgnoreUnannotated
public class PmgBatCouponCardExcelVO {

    @ExcelProperty("优惠卡编号")
    @ApiModelProperty(name = "couponCardNo", value = "优惠卡编号")
    private String couponCardNo;

    @ApiModelProperty(name = "cardType", value = "优惠卡类型(1:停车优惠)")
    private Integer cardType;
    @ExcelProperty("优惠卡类型")
    @ApiModelProperty(name = "cardTypeName", value = "优惠卡类型(1:停车优惠)")
    private String cardTypeName;

    @ApiModelProperty(name = "discountItems", value = "优惠适用费项(1:临停费用 2:月卡充值 3:错时充值 4:管理费),多选,逗号隔开")
    private String discountItems;
    @ExcelProperty("费用类型")
    @ApiModelProperty(name = "discountItems", value = "优惠适用费项(1:临停费用 2:月卡充值 3:错时充值 4:管理费),多选,逗号隔开")
    private String discountItemsName;

    @ApiModelProperty(name = "fundType", value = "优惠资金类型(1:虚拟额度 2:充值资金)")
    private Integer fundType;
    @ExcelProperty("资金类型")
    @ApiModelProperty(name = "fundTypeName", value = "优惠资金类型(1:虚拟额度 2:充值资金)")
    private String fundTypeName;

    @ExcelProperty("发放对象")
    @ApiModelProperty(name = "grantName", value = "发放对象名称")
    private String grantName;

    @ExcelProperty("归属对象")
    @ApiModelProperty(name = "belongName", value = "归属对象")
    private String belongName;

    @ExcelProperty("联系人")
    @ApiModelProperty(name = "contactName", value = "联系人")
    private String contactName;

    @ExcelProperty("联系人手机号")
    @ApiModelProperty(name = "contactPhone", value = "联系电话")
    private String contactPhone;

    @ExcelProperty("适用范围")
    @ApiModelProperty(name = "parkingNames", value = "适用范围(停车场Id,多个逗号隔开)")
    private String parkingNames;

    @ApiModelProperty(name = "cardAmount", value = "优惠卡总额(单位分)")
    private Integer cardAmount;

    @ExcelProperty("优惠卡总额(元)")
    @ApiModelProperty(name = "cardAmountDouble", value = "优惠卡总额(元)")
    private Double cardAmountDouble;

    @ApiModelProperty(name = "discountMode", value = "优惠方式(1:限免优惠 2:全免优惠)")
    private Integer discountMode;

    @ExcelProperty("优惠方式")
    @ApiModelProperty(name = "discountModeName", value = "优惠方式(1:限免优惠 2:全免优惠)")
    private String discountModeName;

    @ApiModelProperty(name = "couponAmount", value = "优惠券金额(单位分)")
    private Integer couponAmount;

    @ExcelProperty("优惠券金额(元)")
    @ApiModelProperty(name = "couponAmountDouble", value = "优惠券金额(元)")
    private Double couponAmountDouble;

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

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

    @ExcelProperty("卡有效期")
    @ApiModelProperty(name = "cardValidityTypeName", value = "卡有效期")
    private String cardValidityTypeName;
    @ApiModelProperty(name = "cardValidityType", value = "卡有效期类型(1:指定时间 2:无时间限制)")
    private Integer cardValidityType;
    @ApiModelProperty(name = "startDate", value = "开始日期")
    private Date startDate;
    @ApiModelProperty(name = "endDate", value = "结束日期")
    private Date endDate;

    @ApiModelProperty("创建人")
    private Long createUser;
    @ExcelProperty("创建人")
    @ApiModelProperty("创建人")
    private String createUserStr;

    @ExcelProperty("创建时间")
    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty(name = "cardStatus", value = "卡状态(1:未生效 2:生效中 3:已过期)")
    private Integer cardStatus;
    @ExcelProperty("卡状态")
    @ApiModelProperty(name = "cardStatusName", value = "卡状态(1:未生效 2:生效中 3:已过期)")
    private String cardStatusName;

}
