package com.yuchen.saas.payment.api.vo.wallet;

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;

/**
 * @author zhouhanwei
 * @create 2023/11/29 14:18
 */
@Data
@HeadStyle(horizontalAlignment = HorizontalAlignment.CENTER)
@HeadRowHeight(25)
@ContentStyle(horizontalAlignment = HorizontalAlignment.CENTER)
@ColumnWidth(12)
@ContentRowHeight(15)
@HeadFontStyle(fontHeightInPoints =9)
@ExcelIgnoreUnannotated
public class WalletInfoExcelVO {

    @ExcelProperty({"钱包编号"})
    private String walletCode;

    /**
     * 钱包账户类型（1：个人钱包，2：渠道个人钱包，3：平台机构钱包，4：渠道机构钱包
     */
    @ApiModelProperty(name = "walletAccountType", value = "钱包账户类型（1：个人钱包，2： 机构钱包")
    private String walletAccountType;

    @ExcelProperty({"钱包账户类型"})
    @ApiModelProperty("钱包账户类型名称")
    private String walletAccountTypeName;

    /**
     * 钱包状态（1：正常，2：冻结）
     */
    @ApiModelProperty(name = "walletAccountState", value = "钱包状态（1：正常，2：冻结）")
    private String walletAccountState;


    @ExcelProperty({"账户状态"})
    private String walletAccountStateName;

    /**
     * 主体类型（1：个人，2：企业）
     */
    @ApiModelProperty(name = "subjectType", value = "主体类型（1：个人，2：企业）")
    private String subjectType;

    @ExcelProperty({"主体类型"})
    private String subjectTypeName;

    /**
     * 主体手机号
     */
    @ExcelProperty({"主体账户"})
    @ApiModelProperty(name = "subjectPhone", value = "主体手机号")
    private String subjectPhone;

    /**
     * 钱包总余额（单位：分）
     */
    @ExcelProperty({"钱包余额（元）"})
    private Long walletTotalCost;
    /**
     * 钱包可用总余额（单位：分）
     */
    @ExcelProperty({"可用余额（元）"})
    private Long walletAvailableCost;

    /**
     * 钱包业务冻结余额（单位：分）
     */
    @ExcelProperty({"预付款冻结（元）"})
    private Long walletFreezeCost;
    /**
     * 钱包退款冻结余额（单位：分）
     */
    @ExcelProperty({"退款冻结（元）"})
    private Long walletRefundFreezeCost;

    /**
     * 所属运营商名称
     */
    @ExcelProperty({"所属运营商名称"})
    private String ownershipOperatorName;

    /**
     * 所属机构名称
     */
    @ExcelProperty({"所属机构名称"})
    private String orgName;

    /**
     * 所属运营商id
     */
    @ApiModelProperty(name = "ownershipOperatorId", value = "运营商id")
    private Long ownershipOperatorId;
}
