VehicleDataSyncTask.java 2.13 KB
package com.bsth.entity.schedule.datasync;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

/**
 * 车辆数据同步任务。
 */
@Data
@Builder
@AllArgsConstructor
@Entity
@Table(name = "bsth_c_data_sync_cars")
public class VehicleDataSyncTask implements Serializable {
    private static final long serialVersionUID = -3042098095111282402L;
    /** 主键Id */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    //------------- 同步用参数(以下) --------------//
    /** 车辆自编号(针对同步来源数据,如:车辆库中,自编号为S01-001的车辆信息) */
    private String paramClzbh;

    /** 开始时间(针对同步来源数据,如:车辆库中,某段时间内的新增和报废车辆) */
    private Date paramFrom;
    /** 结束时间(针对数据源) */
    private Date paramTo;

    // TODO:对象放在队列中,自定义属性暂时不需要,以后需要再加

    //------------- 同步用参数(以上) --------------//

    /** 待同步的记录数 */
    private Integer syncRowCounts;
    /** 同步-插入记录数 */
    private Integer syncInsertCounts;
    /** 同步-更新记录数 */
    private Integer syncUpdateCounts;
    /** 同步-错误记录数 */
    private Integer syncErrorCounts;

    /** 开始时间 */
    @Column(nullable = false)
    @Temporal(TemporalType.TIMESTAMP)
    private Date startDate;
    /** 结束时间 */
    @Temporal(TemporalType.TIMESTAMP)
    private Date endDate;

    /** 同步状态 */
    @Column(nullable = false)
    @Convert(converter = VehicleDataSyncTaskStatusEnumConverter.class)
    private VehicleDataSyncTaskStatusEnum status;

    /** 同步类型 */
    @Column(nullable = false)
    @Convert(converter = VehicleDataSyncTaskTypeEnumConverter.class)
    private VehicleDataSyncTaskTypeEnum type;

    /** 执行结果信息 */
    @Column(length = 2000)
    private String processMsg;

    /** 执行耗时(秒) */
    private Integer processSeconds;

    public VehicleDataSyncTask() {}
}