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


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

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

/**
 * @author: lwh
 * @date: 2025-09-03
 * @description: 保存全局规则入参
 */
@Data
@Schema(description = "保存全局规则入参")
public class SaveGlobalRuleDTO implements Serializable {

	@Serial
	private static final long serialVersionUID = 1L;

	/**
	 * ip
	 */
	@Schema(description = "ip列表")
	private List<String> ip;

	/**
	 * 域名
	 */
	@Schema(description = "域名列表")
	private List<String> domain;

	/**
	 * 推送内容
	 */
	@Schema(description = "推送内容")
	@NotBlank(message = "推送内容不能为空")
	private String pushContent;

	/**
	 * 推送类型
	 */
	@Schema(description = "推送类型,true-图片,false-链接")
	@NotNull(message = "推送类型不能为空")
	private Boolean pushType;

	/**
	 * 推送频率
	 */
	@Schema(description = "推送频率")
	private String pushFrequency;

	/**
	 * 延迟推送
	 */
	@Schema(description = "延迟推送,单位秒")
	@NotNull(message = "延迟推送不能为空")
	private String delayPush;

	/**
	 * 推送方式,1-弹出提示,2-打开网址,3-内置浏览器打开网址,4-使用webview打开网址
	 */
	@NotBlank(message = "推送方式不能为空")
	@Schema(description = "推送方式,1-弹出提示,2-打开网址,3-内置浏览器打开网址,4-使用webview打开网址")
	private String action;

	/**
	 * 自动推送
	 */
	@NotNull(message = "自动推送不能为空")
	@Schema(description = "自动推送")
	private Boolean autoPush;

	/**
	 * 地址
	 */
	@Schema(description = "推送地址")
	private List<String> pushAddr;

	/**
	 * 推送应用
	 */
	@Schema(description = "推送应用")
	private List<PushAPPDTO> pushApp;

	/**
	 * 推送包名
	 */
	@Schema(description = "推送包名")
	private List<String> pushBundle;


}
