puzhibing
2026-09-30 e03f9a706ba46df72c1914870a0a707d6e5e676b
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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;
 
    /** 账户模式(列表远程回填,不落库):1=共享模式,2=分配模式 */
    @TableField(exist = false)
    @ApiModelProperty(value = "账户模式:1共享模式,2分配模式")
    private Integer accountMode;
 
    /** 可用余额(列表远程回填,不落库):分配模式=卡余额,共享模式=公司可用余额 */
    @TableField(exist = false)
    @ApiModelProperty(value = "可用余额:分配模式取卡余额,共享模式取公司可用余额")
    private BigDecimal availableBalance;
 
    /** 超额(列表远程回填,不落库):可用余额为负时取其绝对值 */
    @TableField(exist = false)
    @ApiModelProperty(value = "超额:可用余额为负时的绝对值")
    private BigDecimal overrun;
 
    /** 账户状态(列表远程回填,不落库):1=正常,2=欠款 */
    @TableField(exist = false)
    @ApiModelProperty(value = "账户状态:1正常,2欠款")
    private Integer accountStatus;
 
    @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;
}