package com.yuchen.saas.payment.api.vo.orderCenter.orderList;

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/7/31 11:01
 * @Description 月卡/错时卡订单导出数据
 */
@Data
@HeadStyle(horizontalAlignment = HorizontalAlignment.CENTER)
@HeadRowHeight(25)
@ContentStyle(horizontalAlignment = HorizontalAlignment.CENTER)
@ColumnWidth(12)
@ContentRowHeight(15)
@HeadFontStyle(fontHeightInPoints = 9)
@ExcelIgnoreUnannotated
public class CardOrderDataExcelVO {

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "订单号"}, index = 1)
    @ApiModelProperty(name = "orderNo", value = "订单号")
    private String orderNo;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "支付单号"}, index = 2)
    @ApiModelProperty(name = "payNo", value = "支付单号")
    private String payNo;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "订单类型"}, index = 3)
    @ApiModelProperty(name = "orderType", value = "订单类型 1or3 ：临停， 2月卡，20错时卡，26充电，30：占位费")
    private String orderType;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "停车场"}, index = 4)
    @ApiModelProperty(name = "parkingName", value = "停车场名称")
    private String parkingName;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "车牌号"}, index = 5)
    @ApiModelProperty(name = "plateNo", value = "车牌号")
    private String plateNo;

    @ApiModelProperty(name = "beginTime", value = "计费开始时间")
    private String beginTime;
    @ApiModelProperty(name = "endTime", value = "计费结束时间")
    private String endTime;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "计费期间"}, index = 6)
    @ApiModelProperty(name = "chargingPeriod", value = "计费期间")
    private String chargingPeriod;

    @ApiModelProperty(name = "receivableAmount", value = "应收金额(分)")
    private Long receivableAmount;
    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "订单金额(元)"}, index = 7)
    @ApiModelProperty(name = "receivableAmountStr", value = "订单金额(元)")
    private String receivableAmountStr;

    @ApiModelProperty(name = "discountsAmount", value = "优惠金额(分)")
    private Long discountsAmount;
    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "优惠金额(元)"}, index = 8)
    @ApiModelProperty(name = "discountsAmountStr", value = "优惠金额(元)")
    private String discountsAmountStr;

    @ApiModelProperty(name = "actualAmount", value = "实收金额(分)")
    private Long actualAmount;
    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "实收金额(元)"}, index = 9)
    @ApiModelProperty(name = "actualAmountStr", value = "实收金额(元)")
    private String actualAmountStr;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "付款时间"}, index = 10)
    @ApiModelProperty(name = "payTime", value = "支付时间")
    private Date payTime;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "付款账号"}, index = 11)
    @ApiModelProperty(name = "payAccount", value = "支付账号")
    private String payAccount;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "付款方式"}, index = 12)
    @ApiModelProperty(name = "payType", value = "支付方式 1:微信支付; 2:钱包支付;")
    private String payType;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "收款渠道"}, index = 13)
    @ApiModelProperty(name = "payChannelCode", value = "收款渠道")
    private String payChannelCode;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "费用结算", "银行结算费率"}, index = 14)
    @ApiModelProperty("银行结算费率")
    private String backSettlement;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "费用结算", "银行结算手续费(元)"}, index = 15)
    @ApiModelProperty("银行结算手续费(元)")
    private String backSettlementOperationCost;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "费用结算", "银行结算金额(元)"}, index = 16)
    @ApiModelProperty("银行结算金额(元)")
    private String backSettlementCost;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "费用结算", "结算费率"}, index = 17)
    @ApiModelProperty("结算费率")
    private String customerRate;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "费用结算", "结算手续费(元)"}, index = 18)
    @ApiModelProperty("结算手续费(元)")
    private String customerRateCost;

    @ExcelProperty(value = {"停车场停车收费明细表", "月卡&错时充值订单信息", "费用结算", "总结算金额(元)"}, index = 19)
    @ApiModelProperty("总结算金额(元)")
    private String totalCost;

}
