package cn.axzo.msg.center.message.service;

import cn.axzo.msg.center.message.domain.param.CardStyleSaveOrUpdateParam;
import cn.axzo.msg.center.message.domain.param.MessageTemplateV3SaveOrUpdateParam;
import cn.axzo.msg.center.service.card.request.CardStylePageRequest;
import cn.axzo.msg.center.service.card.response.CardStyleDetailResponse;
import cn.axzo.msg.center.service.card.response.CardStylePageResponse;
import cn.axzo.msg.center.service.template.request.MessageTemplateV3PageRequest;
import cn.axzo.msg.center.service.template.response.MessageTemplateV3DetailResponse;
import cn.axzo.msg.center.service.template.response.MessageTemplateV3PageResponse;
import cn.azxo.framework.common.model.Page;

/**
 * @description 卡片样式管理
 * @author xudawei@axzo.cn
 * @date 2024/12/10
 */
public interface CardStyleService {

    /**
     * 创建卡片样式
     *
     * @param param 卡片样式内容参数
     */
    String createCardStyle(CardStyleSaveOrUpdateParam param);

    /**
     * 编辑卡片样式
     *
     * @param param 卡片样式内容参数
     */
    void updateCardStyle(CardStyleSaveOrUpdateParam param);

    /**
     * 删除模版
     */
    void deleteCardStyle(CardStyleSaveOrUpdateParam param);

    /**
     * 通过模板便阿门查询模板详情
     *
     * @param templateCode 模板编码
     * @return 模板详情信息
     */
    CardStyleDetailResponse detail(String templateCode);

    /**
     * 分页查询模板数据
     *
     * @param request 分页请求参数
     * @return 模板数据列表
     */
    Page<CardStylePageResponse> page(CardStylePageRequest request);
}
