package com.zcloud.personnel.positioning.persistence.dataobject;

import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;

/**
 * web-infrastructure
 *
 * @Author fangjiakai
 * @Date 2026-07-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("terminal_bind")
public class TerminalBindDO extends BaseDO {
    /**
     * 人员身份证号，关联资质库人员视图
     */
    private String idCardNo;

    /**
     * Staff no snapshot from local basic-info or FindS.
     */
    private String staffNoSnapshot;

    /**
     * Staff name snapshot from local basic-info or FindS.
     */
    private String staffNameSnapshot;

    /**
     * 终端id
     */
    private Long terminalId;

    /**
     * 终端号
     */
    private String terminalNo;

    /**
     * 设备类型 CARD定位卡 APP手机APP TERMINAL终端 OTHER其他
     */
    private String deviceType;

    /**
     * 企业id/公司id（公司及子公司数据隔离）
     */
    private String corpinfoId;

    /**
     * 企业名称/公司名称
     */
    private String corpinfoName;

    /**
     * 追踪对象类型 STAFF人员 CAR车辆
     */
    private String trackType;

    /**
     * 校验码
     */
    private String checkCode;

    /**
     * 绑定状态 BOUND已绑定 UNBOUND已解绑
     */
    private String bindStatus;

    /**
     * 绑定时间
     */
    private LocalDateTime bindTime;

    /**
     * 解绑时间
     */
    private LocalDateTime unbindTime;

    /**
     * FindS追踪对象id
     */
    private Long findsTrackId;

    /**
     * FindS终端id
     */
    private Long findsTerminalId;

    /**
     * 同步状态 SUCCESS/FAIL/WAIT
     */
    private String syncStatus;

    /**
     * Local desired-state revision used for guarded FindS writeback.
     */
    private String syncToken;

    /**
     * 最后同步时间
     */
    private LocalDateTime lastSyncTime;
}
