package cn.axzo.msg.center.inside.notices.service;


import cn.axzo.msg.center.api.request.TemplateRouterReq;
import cn.axzo.msg.center.domain.dto.SyncRelationDataDTO;
import cn.axzo.msg.center.domain.entity.MessageRouter;

import java.util.List;
import java.util.Set;

/**
 * 消息路由配置信息(MessageRouter)表服务接口
 *
 * @author zhangran
 * @since 2022-03-28 14:59:16
 */
public interface MessageRouterService {


  void saveOrUpdateRouters(List<MessageRouter> routerList);

  List<MessageRouter> listRoutersByRelationIds(Set<Long> relationIds);

  void updateRouters(Set<TemplateRouterReq> routers, Long relationId);

  List<MessageRouter> getRoutersByRelationId(Long relationId);

  void batchRemoveByIds(List<MessageRouter> routerList);

  List<MessageRouter> getRouterMapByRelationIds(List<Long> relationIds);

  void syncData(SyncRelationDataDTO routers);

}
