package cn.axzo.workflow.common.model.request.bpmn;

import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 流程定义中的通知配置
 *
 * @author wangli
 * @since 2023/11/13 13:38
 */
@ApiModel("JSON 版本的 BPMN 协议模型中的通知管理")
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class BpmnNoticeConf implements Serializable {

    /**
     * 通知的配置
     */
    @Valid
    //    @NotNull(message = "消息模板不能为空")
    private BpmnNoticeProperty notice;

    /**
     * 待办的配置
     */
    @Valid
    @NotNull(message = "待办模板不能为空")
    private BpmnPendingProperty pending;

    /**
     * 抄送的配置
     */
    @Valid
    private BpmnCarbonCopyProperty carbonCopy;

    /**
     * 短信的配置
     */
    private BpmnSmsProperty sms;

    public BpmnNoticeProperty getNotice() {
        return notice;
    }

    public void setNotice(BpmnNoticeProperty notice) {
        this.notice = notice;
    }

    public BpmnPendingProperty getPending() {
        return pending;
    }

    public void setPending(BpmnPendingProperty pending) {
        this.pending = pending;
    }

    public BpmnCarbonCopyProperty getCarbonCopy() {
        return carbonCopy;
    }

    public void setCarbonCopy(BpmnCarbonCopyProperty carbonCopy) {
        this.carbonCopy = carbonCopy;
    }

    public BpmnSmsProperty getSms() {
        return sms;
    }

    public void setSms(BpmnSmsProperty sms) {
        this.sms = sms;
    }
}
