package cn.axzo.msg.center.message.send.processor;

import cn.axzo.msg.center.domain.entity.BizEventMapping;
import cn.axzo.msg.center.domain.entity.MessageBaseTemplate;
import cn.axzo.msg.center.message.domain.param.GeneralMessagePushParam;
import cn.axzo.msg.center.service.bizevent.request.ReachDto;
import cn.axzo.msg.center.service.pending.response.PushMessageReturnDTO;
import cn.axzo.msg.center.service.pending.response.PushPendingMessageDTO;
import java.util.Collections;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Builder.Default;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author syl
 * @date 2024/01/10
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ReachContext {

    /**
     * 业务事件映射
     */
    private BizEventMapping bizEvent;
    private ReachDto reachConfig;
    private MessageBaseTemplate template;
    /**
     * IM  消息发送参数
     */
    private GeneralMessagePushParam messageParam;

    /**
     * 待办返回参数
     */
    @Default
    List<PushPendingMessageDTO> pendingList = Collections.emptyList();

    /**
     * 通知返回参数
     */
    @Default
    List<PushMessageReturnDTO> msgReturnList = Collections.emptyList();
}
