package com.red.circle.other.infra.database.mongo.service.sys;

import com.red.circle.other.infra.database.mongo.dto.ActivityTemplateValue;
import com.red.circle.other.infra.database.mongo.entity.sys.ActivityTemplate;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 活动模版.
 *
 * @author pengliang on 2022/8/12
 */
public interface ActivityTemplateService {

  /**
   * 添加模版.
   */
  void add(ActivityTemplate activityTemplate);

  /**
   * 修改名称.
   */
  void updateName(Long id, String name, Long updateUser);

  /**
   * 修改模版.
   */
  void updateById(ActivityTemplate activityTemplate);

  /**
   * 获取模版数据.
   */
  List<ActivityTemplate> list(Long id, Long lastId, Integer pageSize);

  /**
   * 获取模版数据 id -> name.
   */
  List<ActivityTemplateValue> listValues();

  /**
   * 获取模版.
   */
  ActivityTemplate getById(Long id);

  /**
   * 获取模版信息.
   */
  Map<Long, ActivityTemplateValue> mapByIds(Set<Long> ids);

}
