puzhibing
2026-09-28 0f7f9ebdf8c7eb42c74a994b602f33c0d38aafb7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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;
 
    /** 所属公司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("init_quota")
    @ApiModelProperty(value = "初始分配额度(元)")
    private BigDecimal initQuota;
 
    /** 所属公司名称(列表远程回填,不落库) */
    @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;
}