package com.zcloud.personnel.positioning.dto;

import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;

/**
 * web-client
 *
 * @Author fangjiakai
 * @Date 2026-07-07
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TerminalBindAddCmd extends Command {
    @ApiModelProperty(value = "人员身份证号，关联资质库人员视图", name = "idCardNo")
    private String idCardNo;

    @ApiModelProperty(value = "终端id", name = "terminalId")
    private Long terminalId;

    @ApiModelProperty(value = "终端号", name = "terminalNo")
    private String terminalNo;

    @ApiModelProperty(value = "设备类型 CARD定位卡 APP手机APP TERMINAL终端 OTHER其他", name = "deviceType")
    private String deviceType;

    @ApiModelProperty(value = "企业id/公司id（公司及子公司数据隔离）", name = "corpinfoId")
    private String corpinfoId;

    @ApiModelProperty(value = "企业名称/公司名称", name = "corpinfoName")
    private String corpinfoName;

    @ApiModelProperty(value = "追踪对象类型 STAFF人员 CAR车辆", name = "trackType")
    private String trackType;

    @ApiModelProperty(value = "校验码", name = "checkCode")
    private String checkCode;

    @ApiModelProperty(value = "绑定状态 BOUND已绑定 UNBOUND已解绑", name = "bindStatus")
    private String bindStatus;

    @ApiModelProperty(value = "绑定时间", name = "bindTime")
    private LocalDateTime bindTime;

    @ApiModelProperty(value = "解绑时间", name = "unbindTime")
    private LocalDateTime unbindTime;

    @ApiModelProperty(value = "FindS追踪对象id", name = "findsTrackId")
    private Long findsTrackId;

    @ApiModelProperty(value = "FindS终端id", name = "findsTerminalId")
    private Long findsTerminalId;

    @ApiModelProperty(value = "同步状态 SUCCESS/FAIL/WAIT", name = "syncStatus")
    private String syncStatus;

    @ApiModelProperty(value = "最后同步时间", name = "lastSyncTime")
    private LocalDateTime lastSyncTime;
}
