package com.pig4cloud.pig.marketing.api.dto.app;


import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * @author: lwh
 * @date: 2025-07-22
 * @description: 批量修改应用列表入参
 */
@Data
@Schema(description = "批量修改应用列表入参")
public class BatchUpdateMarketingAppsDTO implements Serializable {

	@Serial
	private static final long serialVersionUID = 1L;

	@Schema(description = "id")
	@NotNull(message = "id不能为空")
	private Long id;

	/**
	 * 域名限制
	 */
	@Schema(description = "域名限制")
	private Boolean domainLimit;

	/**
	 * 营销投放
	 */
	@Schema(description = "营销投放")
	private Boolean launch;

	/**
	 * 触发规则
	 */
	@Schema(description = "触发规则")
	private Integer triggerRule;

	/**
	 * 触发频率
	 */
	@Schema(description = "触发频率")
	private String triggerNum;

	/**
	 * 备注
	 */
	@Schema(description = "备注")
	@Size(max = 255, message = "备注长度不能超过255")
	private String remark;

	/**
	 * 删除的分组IP id列表
	 */
	@Schema(description = "删除的分组IP id列表")
	List<Long> delIps;

	/**
	 * 删除的分组域名id
	 */
	@Schema(description = "删除的分组域名id")
	List<Long> delDomains;

	@Valid
	@Schema(description = "ip列表")
	private List<MarketingAppsIpDTO> ips;

	@Valid
	@Schema(description = "域名列表")
	private List<MarketingAppsDomainDTO> domains;
}
