
package com.tmerclub.cloud.platform.mapper;

import com.tmerclub.cloud.platform.dto.WebConfigDTO;
import com.tmerclub.cloud.platform.model.WebConfig;
import com.tmerclub.cloud.platform.vo.WebConfigVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 网站配置信息表
 *
 * @author Orange
 */
public interface WebConfigMapper {

    /**
     * 获取网站配置信息表列表
     * @param webConfig 搜索参数
     * @return 网站配置信息表列表
     */
    List<WebConfig> list(@Param("webConfig") WebConfigDTO webConfig);

    /**
     * 根据网站配置信息表id获取网站配置信息表
     *
     * @param id 网站配置信息表id
     * @return 网站配置信息表
     */
    WebConfig getById(@Param("id") Long id);

    /**
     * 保存网站配置信息表
     * @param webConfig 网站配置信息表
     */
    void save(@Param("webConfig") WebConfig webConfig);

    /**
     * 更新网站配置信息表
     * @param webConfig 网站配置信息表
     */
    void update(@Param("webConfig") WebConfig webConfig);

    /**
     * 根据网站配置信息表id删除网站配置信息表
     * @param id
     */
    void deleteById(@Param("id") Long id);

    /**
     * 根据网站类型修改已经激活的网站为待激活
     * @param configType 配置类型（1:平台端 2:商家端 3:PC端 4:h5端）
     */
    void updateActivityState(@Param("configType") Integer configType);

    /**
     * 获取网站配置信息
     * @param configType 配置类型（1:平台端 2:商家端 3:PC端 4:h5端）
     * @return 网站配置信息
     */
    WebConfigVO getByType(@Param("configType") Integer configType);

    /**
     * 获取激活网站配置数量
     * @param configType
     * @return
     */
    int countByType(@Param("configType") Integer configType);
}
