package com.huimv.employment.service.registration.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;

import java.util.ArrayList;
import java.util.List;

@Schema(description = "添加第三方平台工人响应")
public class ThirdPartyWorkersAddResponse {

    @JsonProperty("batch_id")
    private Long batchId;

    @JsonProperty("batch_no")
    private String batchNo;

    @JsonProperty("order_id")
    private Long orderId;

    @JsonProperty("order_no")
    private String orderNo;

    @JsonProperty("added_count")
    @Schema(description = "本次新写入登记记录数")
    private Integer addedCount;

    @JsonProperty("skipped_count")
    @Schema(description = "已存在而跳过的人数")
    private Integer skippedCount;

    @JsonProperty("registration_ids")
    @Schema(description = "本次新写入的登记记录 ID 列表")
    private List<Long> registrationIds = new ArrayList<>();

    @JsonProperty("current_step_code")
    @Schema(description = "更新后的订单步骤码（人员登记完成后为 task_publish）")
    private String currentStepCode;

    @JsonProperty("registration_completed")
    @Schema(description = "人员登记/招聘是否已标记完成")
    private Boolean registrationCompleted;

    private String message;

    public Long getBatchId() {
        return batchId;
    }

    public void setBatchId(Long batchId) {
        this.batchId = batchId;
    }

    public String getBatchNo() {
        return batchNo;
    }

    public void setBatchNo(String batchNo) {
        this.batchNo = batchNo;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Integer getAddedCount() {
        return addedCount;
    }

    public void setAddedCount(Integer addedCount) {
        this.addedCount = addedCount;
    }

    public Integer getSkippedCount() {
        return skippedCount;
    }

    public void setSkippedCount(Integer skippedCount) {
        this.skippedCount = skippedCount;
    }

    public List<Long> getRegistrationIds() {
        return registrationIds;
    }

    public void setRegistrationIds(List<Long> registrationIds) {
        this.registrationIds = registrationIds != null ? registrationIds : new ArrayList<>();
    }

    public String getCurrentStepCode() {
        return currentStepCode;
    }

    public void setCurrentStepCode(String currentStepCode) {
        this.currentStepCode = currentStepCode;
    }

    public Boolean getRegistrationCompleted() {
        return registrationCompleted;
    }

    public void setRegistrationCompleted(Boolean registrationCompleted) {
        this.registrationCompleted = registrationCompleted;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}
