package com.ruoyi.account.api.model; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.ruoyi.common.core.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; @Data @TableName("t_charging_card") @ApiModel(value = "充电卡") public class TChargingCard implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value = "主键ID") private Long id; @Excel(name = "卡号", width = 22) @ApiModelProperty(value = "卡号") private String cardNo; /** 卡密码(BCrypt 密文);为空表示未配置密码,刷卡启动时不校验密码(V0.2 定稿) */ @JsonIgnore @ApiModelProperty(value = "卡密码(BCrypt 密文,仅内部存储与校验,不对外返回;空表示未配置,刷卡时不校验密码)") private String password; @Excel(name = "卡余额", width = 16, scale = 2) @ApiModelProperty(value = "卡余额") private BigDecimal balance; /** 锁定金额:刷卡充电申请时按账户模式冻结(分配模式锁卡余额;共享模式锁企业账户不落卡),结算后释放 */ @Excel(name = "锁定额度", width = 16, scale = 2) @TableField("locked_amount") @ApiModelProperty(value = "锁定金额(充电申请时冻结,结算后释放)") private BigDecimal lockedAmount; /** 所属公司ID(关联 t_group_company.id,跨库仅存ID) */ @TableField("company_id") @ApiModelProperty(value = "所属公司ID") private Integer companyId; /** 所属车队ID(关联 t_fleet.id,跨库仅存ID) */ @TableField("fleet_id") @ApiModelProperty(value = "所属车队ID") private Integer fleetId; /** 所属公司名称(列表远程回填,不落库) */ @TableField(exist = false) @ApiModelProperty(value = "所属公司名称") private String companyName; /** 所属车队名称(列表远程回填,不落库) */ @TableField(exist = false) @ApiModelProperty(value = "所属车队名称") private String fleetName; @Excel(name = "启用状态", width = 14, readConverterExp = "1=启用,2=禁用") @ApiModelProperty(value = "状态:1启用,2禁用") private Integer status; /** 充电锁定标记:0 未在充电,1 充电中(进行中刷卡订单占用,管理操作互斥,V0.2 定稿) */ @ApiModelProperty(value = "充电锁定:0未充电,1充电中锁定") private Integer chargingFlag; /** 充电锁定订单号:解锁时必须与订单号比对,防止误释放其他订单 */ @ApiModelProperty(value = "充电锁定订单号") private String chargingOrderCode; @TableLogic(value = "0", delval = "2") @ApiModelProperty(value = "删除状态:0正常,2删除") private Integer delFlag; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "添加时间") private LocalDateTime createTime; @ApiModelProperty(value = "添加人ID") private Long createBy; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "修改时间") private LocalDateTime updateTime; @ApiModelProperty(value = "修改人ID") private Long updateBy; }