package com.fs.course.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 会员营期转移参数
 *
 * @author fs
 * @date 2025-01-XX
 */
@Data
@ApiModel("会员营期转移参数")
public class PeriodUserTransferParam {

    @ApiModelProperty(value = "源营期ID", required = true)
    @NotNull(message = "源营期ID不能为空")
    private Long sourcePeriodId;

    @ApiModelProperty(value = "源销售ID", required = true)
    @NotNull(message = "源销售ID不能为空")
    private Long sourceCompanyUserId;

    @ApiModelProperty(value = "目标营期ID", required = true)
    @NotNull(message = "目标营期ID不能为空")
    private Long targetPeriodId;

    @ApiModelProperty(value = "目标销售ID", required = true)
    @NotNull(message = "目标销售ID不能为空")
    private Long targetCompanyUserId;

    @ApiModelProperty(value = "需要转移的会员ID列表", required = true)
    @NotEmpty(message = "会员ID列表不能为空")
    private List<Long> userIds;

    @ApiModelProperty(value = "转移原因")
    private String reason;
}
