package com.zksy.info.domain;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 用电信息表（在用）
 * @TableName a_electricity_customer
 */
@TableName(value ="a_electricity_customer")
@Data
public class EElectricityCustomer implements Serializable {
    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "主键")
    @ExcelIgnore
    private String id;

    /**
     * 合同容量
     */
    @ApiModelProperty(value = "合同容量")
    @ExcelProperty(value = "合同容量")
    private Integer contractCapacity;

    /**
     * 首次供电时间
     */
    @ApiModelProperty(value = "首次供电时间")
    @ExcelProperty(value = "首次供电时间")
    private LocalDate firstPowerTime;

    /**
     * 用电账户状态
     */
    @ApiModelProperty(value = "用电账户状态")
    @ExcelProperty(value = "用电账户状态")
    private String electricityAccountStatus;

    /**
     * 欠费金额
     */
    @ApiModelProperty(value = "欠费金额")
    @ExcelProperty(value = "欠费金额")
    private BigDecimal arrearsAmount;

    /**
     * 近两年违约次数
     */
    @ApiModelProperty(value = "近两年违约次数")
    @ExcelProperty(value = "近两年违约次数")
    private Integer defaultTimesInTwoYears;

    /**
     * 用电类型
     */
    @ApiModelProperty(value = "用电类型")
    @ExcelProperty(value = "用电类型")
    private String electricityType;

    /**
     * 地区地方名（省级）
     */
    @ApiModelProperty(value = "地区地方名（省级）")
    @ExcelProperty(value = "地区地方名（省级）")
    private String province;

    /**
     * 地区地方名（市级）
     */
    @ApiModelProperty(value = "地区地方名（市级）")
    @ExcelProperty(value = "地区地方名（市级）")
    private String city;

    /**
     * 价值等级
     */
    @ApiModelProperty(value = "价值等级")
    @ExcelProperty(value = "价值等级")
    private String valueLevel;

    /**
     * 风险等级
     */
    @ApiModelProperty(value = "风险等级")
    @ExcelProperty(value = "风险等级")
    private String riskLevel;

    /**
     * 近3月均用电金额
     */
    @ApiModelProperty(value = "近3月均用电金额")
    @ExcelProperty(value = "近3月均用电金额")
    private BigDecimal avgElectricityAmountLast3Months;

    /**
     * 近6月均用电金额
     */
    @ApiModelProperty(value = "近6月均用电金额")
    @ExcelProperty(value = "近6月均用电金额")
    private BigDecimal avgElectricityAmountLast6Months;

    /**
     * 近一年均用电金额
     */
    @ApiModelProperty(value = "近一年均用电金额")
    @ExcelProperty(value = "近一年均用电金额")
    private BigDecimal avgElectricityAmountLastYear;

    /**
     * 当前是否欠费
     */
    @ApiModelProperty(value = "当前是否欠费")
    @ExcelProperty(value = "当前是否欠费")
    private String isArrearsNow;

    /**
     * 统计时间
     */
    @ApiModelProperty(value = "统计时间")
    @ExcelProperty(value = "统计时间")
    private LocalDate statisticsTime;

    /**
     * 统计基准日期
     */
    @ApiModelProperty(value = "统计基准日期")
    @ExcelProperty(value = "统计基准日期")
    private LocalDate statisticsBaselineDate;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @ExcelProperty(value = "备注")
    private String remarks;

    /**
     * 行政区域编码
     */
    @ApiModelProperty(value = "行政区域编码")
    @ExcelProperty(value = "行政区域编码")
    private String administrativeRegionCode;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @ExcelIgnore
    private LocalDateTime createTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}