puzhibing
4 天以前 3650ce7f5d42d1bef58abea9693f20d1f209d3b0
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
package com.ruoyi.account.api.model;
 
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
 
/**
 * 公司额度分配记录:记录"公司可用余额 -> 充电用户(VIN码/刷卡/白名单)账户余额"的划拨流水,
 * 供公司管理-公司详情「分配记录」弹窗查询。历史分配行为不迁移,仅记录建表之后发生的分配。
 */
@Data
@TableName("t_company_allocate_record")
@ApiModel(value = "公司额度分配记录")
public class TCompanyAllocateRecord implements Serializable {
 
    private static final long serialVersionUID = 1L;
 
    /** 分配对象类型:VIN码 */
    public static final int USER_TYPE_VIN = 1;
    /** 分配对象类型:刷卡 */
    public static final int USER_TYPE_CARD = 2;
    /** 分配对象类型:白名单手机号 */
    public static final int USER_TYPE_WHITELIST = 3;
    /** 分配对象类型:企业账户(共享模式下VIN码充电消费记企业账户) */
    public static final int USER_TYPE_COMPANY = 4;
 
    /** 变更来源:新增用户(新增时设置的初始分配额度) */
    public static final int SOURCE_CREATE = 1;
    /** 变更来源:编辑用户(编辑时调整初始分配额度,含调增/调减/跨公司迁移) */
    public static final int SOURCE_EDIT = 2;
    /** 变更来源:额度分配(额度分配弹窗) */
    public static final int SOURCE_ALLOCATE = 3;
    /** 变更来源:账户模式切换(分配模式切换为共享模式,回收用户余额至公司账户) */
    public static final int SOURCE_MODE_SWITCH = 4;
 
    /** 变更类型:分配(历史数据默认值,金额由公司划拨到用户账户) */
    public static final int CHANGE_TYPE_ALLOCATE = 1;
    /** 变更类型:消费(VIN码充电结算,金额为用户账户实际消费扣减,记为负数) */
    public static final int CHANGE_TYPE_CONSUME = 2;
 
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "主键ID")
    private Long id;
 
    /** 所属公司ID(关联 t_group_company.id,跨库仅存ID) */
    @ApiModelProperty(value = "所属公司ID")
    private Integer companyId;
 
    @ApiModelProperty(value = "分配对象类型:1=VIN码,2=刷卡,3=白名单手机号")
    private Integer userType;
 
    @ApiModelProperty(value = "分配对象信息(VIN码/卡号/手机号)")
    private String userInfo;
 
    @ApiModelProperty(value = "分配对象名称(白名单姓名等,便于排查)")
    private String userName;
 
    @ApiModelProperty(value = "变更来源:1=新增用户,2=编辑用户,3=额度分配")
    private Integer changeSource;
 
    @ApiModelProperty(value = "变更类型:1=分配(历史默认),2=消费(VIN码充电结算)")
    private Integer changeType;
 
    @ApiModelProperty(value = "充电订单号(消费流水写入,用于幂等与追溯)")
    private String chargingOrderCode;
 
    @ApiModelProperty(value = "分配前金额(用户账户余额)")
    private BigDecimal beforeBalance;
 
    @ApiModelProperty(value = "本次分配金额(正数=分配,负数=回收)")
    private BigDecimal amount;
 
    @ApiModelProperty(value = "分配后可用余额(用户账户余额)")
    private BigDecimal afterBalance;
 
    @ApiModelProperty(value = "操作人ID")
    private Long operatorId;
 
    @ApiModelProperty(value = "操作人(登录账号)")
    private String operatorName;
 
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "操作时间")
    private LocalDateTime operateTime;
 
    @ApiModelProperty(value = "备注")
    private String remark;
 
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;
}