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 SyncLogUpdateCmd extends Command {
    @ApiModelProperty(value = "主键", name = "id")
    private Long id;

    @ApiModelProperty(value = "链路追踪id", name = "traceId")
    private String traceId;

    @ApiModelProperty(value = "同步任务id", name = "taskId")
    private Long taskId;

    @ApiModelProperty(value = "业务类型", name = "bizType")
    private String bizType;

    @ApiModelProperty(value = "业务id", name = "bizId")
    private String bizId;

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

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

    @ApiModelProperty(value = "接口名称", name = "apiName")
    private String apiName;

    @ApiModelProperty(value = "接口路径", name = "apiPath")
    private String apiPath;

    @ApiModelProperty(value = "请求报文", name = "requestJson")
    private String requestJson;

    @ApiModelProperty(value = "响应报文", name = "responseJson")
    private String responseJson;

    @ApiModelProperty(value = "HTTP状态", name = "httpStatus")
    private Integer httpStatus;

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

    @ApiModelProperty(value = "错误信息", name = "errorMsg")
    private String errorMsg;

    @ApiModelProperty(value = "执行时间", name = "executeTime")
    private LocalDateTime executeTime;

    @ApiModelProperty(value = "耗时毫秒", name = "costMs")
    private Long costMs;

    @ApiModelProperty(value = "重试次数", name = "retryTimes")
    private Integer retryTimes;

    @ApiModelProperty(value = "操作人id", name = "operatorId")
    private Long operatorId;

    @ApiModelProperty(value = "操作人姓名", name = "operatorName")
    private String operatorName;
}
