package com.ycwl.basic.mapper;

import com.ycwl.basic.model.mobile.scenic.content.ContentPageVO;
import com.ycwl.basic.model.pc.template.entity.TemplateConfigEntity;
import com.ycwl.basic.model.pc.template.entity.TemplateEntity;
import com.ycwl.basic.model.pc.template.req.TemplateReqQuery;
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author：longbinbin
 * @Date：2024/12/2 14:29
 * 模版
 */
@Mapper
public interface TemplateMapper {
    List<TemplateRespVO> list(TemplateReqQuery templateReqQuery);
    TemplateRespVO getById(Long id);
    TemplateEntity get(Long id);
    int add(TemplateEntity task);
    int deleteById(Long id);
    int update(TemplateEntity task);
    int updateStatus(Long id);
    int deleteByPid(Long pid);
    int deleteByScenicId(Long scenicId);
    List<TemplateRespVO> getByPid(Long id);
    TemplateConfigEntity getConfig(Long templateId);
    int addConfig(TemplateConfigEntity templateConfig);
    int updateConfigById(TemplateConfigEntity templateConfigEntity);
    int deleteConfigByTemplateId(Long templateId);
    int deleteConfigById(Long id);
    List<TemplateEntity> listEnabledByScenicId(Long scenicId);
    List<TemplateEntity> listEnabled();
    List<Long> listEnabledTemplateIdByScenicId(Long scenicId);
    List<Long> listAllTemplateIdByScenicId(Long scenicId);
    List<ContentPageVO> listFor(@Param("scenicId") Long scenicId);

    int updateSort(Long templateId, Integer sort);

}
