package com.ycwl.basic.service.pc;

import com.github.pagehelper.PageInfo;
import com.ycwl.basic.model.pc.notify.entity.WechatSubscribeEventTemplateEntity;
import com.ycwl.basic.model.pc.notify.entity.WechatSubscribeSceneTemplateEntity;
import com.ycwl.basic.model.pc.notify.entity.WechatSubscribeSendLogEntity;
import com.ycwl.basic.model.pc.notify.entity.WechatSubscribeTemplateConfigEntity;
import com.ycwl.basic.model.pc.notify.req.WechatSubscribeEventTemplatePageReq;
import com.ycwl.basic.model.pc.notify.req.WechatSubscribeEventTemplateSaveReq;
import com.ycwl.basic.model.pc.notify.req.WechatSubscribeSceneTemplatePageReq;
import com.ycwl.basic.model.pc.notify.req.WechatSubscribeSceneTemplateSaveReq;
import com.ycwl.basic.model.pc.notify.req.WechatSubscribeSendLogPageReq;
import com.ycwl.basic.model.pc.notify.req.WechatSubscribeTemplateConfigPageReq;
import com.ycwl.basic.model.pc.notify.req.WechatSubscribeTemplateConfigSaveReq;
import com.ycwl.basic.utils.ApiResponse;

/**
 * 微信小程序订阅消息：配置管理（管理后台）
 *
 * @Author: System
 * @Date: 2025/12/31
 */
public interface WechatSubscribeNotifyAdminService {

    ApiResponse<PageInfo<WechatSubscribeTemplateConfigEntity>> pageTemplateConfig(WechatSubscribeTemplateConfigPageReq req);

    ApiResponse<WechatSubscribeTemplateConfigEntity> getTemplateConfig(Long id);

    ApiResponse<Boolean> saveTemplateConfig(WechatSubscribeTemplateConfigSaveReq req);

    ApiResponse<Boolean> deleteTemplateConfig(Long id);

    ApiResponse<PageInfo<WechatSubscribeSceneTemplateEntity>> pageSceneTemplate(WechatSubscribeSceneTemplatePageReq req);

    ApiResponse<WechatSubscribeSceneTemplateEntity> getSceneTemplate(Long id);

    ApiResponse<Boolean> saveSceneTemplate(WechatSubscribeSceneTemplateSaveReq req);

    ApiResponse<Boolean> deleteSceneTemplate(Long id);

    ApiResponse<PageInfo<WechatSubscribeEventTemplateEntity>> pageEventTemplate(WechatSubscribeEventTemplatePageReq req);

    ApiResponse<WechatSubscribeEventTemplateEntity> getEventTemplate(Long id);

    ApiResponse<Boolean> saveEventTemplate(WechatSubscribeEventTemplateSaveReq req);

    ApiResponse<Boolean> deleteEventTemplate(Long id);

    ApiResponse<PageInfo<WechatSubscribeSendLogEntity>> pageSendLog(WechatSubscribeSendLogPageReq req);

    ApiResponse<WechatSubscribeSendLogEntity> getSendLog(Long id);
}

