package com.gxwebsoft.apps.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.gxwebsoft.common.system.entity.User;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 设备管理
 *
 * @author 科技小王子
 * @since 2022-11-30 02:11:16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Equipment对象", description = "设备管理")
@TableName("apps_equipment")
public class Equipment implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "设备ID")
    @TableId(value = "equipment_id", type = IdType.AUTO)
    private Integer equipmentId;

    @ApiModelProperty(value = "设备名称")
    private String equipmentName;

    @ApiModelProperty(value = "设备编码")
    private String equipmentCode;

    @ApiModelProperty("设备分类")
    private String equipmentCategory;

    @ApiModelProperty(value = "分类ID")
    private Integer categoryId;

    @ApiModelProperty(value = "头像")
    private String equipmentAvatar;

    @ApiModelProperty(value = "电池型号")
    private String batteryModel;

    @ApiModelProperty(value = "BMS")
    private String bms;

    @ApiModelProperty(value = "商品详情")
    private String content;

    @ApiModelProperty(value = "是否激活")
    private String isCtive;

    @ApiModelProperty(value = "工作状态")
    private String workingStatus;

    @ApiModelProperty(value = "租赁状态")
    private String leaseStatus;

    @ApiModelProperty(value = "电池状态")
    private String batteryStatus;

    @ApiModelProperty(value = "电池电量")
    private String batteryPower;

    @ApiModelProperty(value = "是否在线")
    private String isOnline;

    @ApiModelProperty(value = "总电压")
    private String totalVoltage;

    @ApiModelProperty(value = "BMS板供应商")
    private String bmsBrand;

    @ApiModelProperty(value = "剩余容量")
    private String surplusCapacity;

    @ApiModelProperty(value = "ICCID")
    private String iccid;

    @ApiModelProperty(value = "设备激活时间")
    private Date ctiveTime;

    @ApiModelProperty(value = "电池出厂时间")
    private Date batteryDeliveryTime;

    @ApiModelProperty(value = "用户ID")
    private Integer userId;
    @ApiModelProperty(value = "投资人ID")
    private Integer touziUserId;

    @ApiModelProperty(value = "排序(数字越小越靠前)")
    private Integer sortNumber;

    @ApiModelProperty(value = "备注")
    private String comments;

    @ApiModelProperty(value = "状态, 0正常, 1冻结")
    private Integer status;

    @ApiModelProperty(value = "是否删除, 0否, 1是")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty(value = "商户编号")
    private String merchantCode;

    @ApiModelProperty(value = "租户id")
    private Integer tenantId;

    @ApiModelProperty(value = "注册时间")
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    @ApiModelProperty(value = "所属商户ID")
    @TableField(exist = false)
    private Integer merchantId;

    @ApiModelProperty(value = "所属商户名称")
    @TableField(exist = false)
    private String merchantName;

    @ApiModelProperty(value = "订单ID")
    private Integer orderId;

    @ApiModelProperty(value = "电池租金")
    private BigDecimal batteryRent;

    @ApiModelProperty(value = "电池押金")
    private BigDecimal batteryDeposit;

    @ApiModelProperty(value = "电池保险")
    private BigDecimal batteryInsurance;

    @ApiModelProperty(value = "设备价格")
    private BigDecimal batteryPrice;

    @ApiModelProperty(value = "二维码")
    private String qrcode;

    @ApiModelProperty(value = "绑定的用户")
    @TableField(exist = false)
    private User user;

    @ApiModelProperty(value = "绑定的用户")
    @TableField(exist = false)
    private User touziUser;
}
