package com.hai.service;




import com.hai.entity.CmsContent;
import com.hai.entity.CmsPatch;
import com.hai.model.CmsContentModel;

import java.util.List;
import java.util.Map;

/**
 * @ClassName: CmsContentService
 * @Description: 内容管理 内容发布
 * @author: gongjia
 * @date: 2019/10/31 12:36
 * @Copyright: 2019 www.shinwoten.com Inc. All rights reserved.
 */
public interface CmsContentService {

    /**
     *
     * @Title: addContent
     * @Description: 添加内容
     * @author: gongjia
     * @param: [cmsContent]
     * @return: int
     * @throws
     */
    int addContent(CmsContent cmsContent, List<CmsPatch> patchList, Map<String, String> paramsMap, String cmsPath) throws Exception;


    /**
     *
     * @Title: updateContent
     * @Description: 修改内容
     * @author: gongjia
     * @param: [cmsContent]
     * @return: int
     * @throws
     */
    int updateContent(CmsContent cmsContent, String updateType, Map<String, String> paramsMap, String cmsPath) throws Exception;

    /**
     *
     * @Title: delContent
     * @Description: 删除内容
     * @author: gongjia
     * @param: [id]
     * @return: int
     * @throws
     */
    int delContent(Long id, String cmsPath) throws Exception;

    /**
     * @Author Sum1Dream
     * @Name insertCmsContent
     * @Description // 新增CMS内容
     * @Date 16:42 2022/9/26
     * @Param [cmsContent]
     * @Return void
     */
    void insertCmsContent(CmsContent cmsContent);

    /**
     * @Author Sum1Dream
     * @Name updateCmsContent
     * @Description // 修改CMS内容
     * @Date 16:42 2022/9/26
     * @Param [cmsContent]
     * @Return void
     */
    void updateCmsContent(CmsContent cmsContent);

    /**
     * @Author Sum1Dream
     * @Name findById
     * @Description // 根据id 查询内容
     * @Date 16:44 2022/9/26
     * @Param [id]
     * @Return com.hai.entity.CmsContent
     */
    CmsContent findById(Long id);

    /**
     *
     * @Title: getContentById
     * @Description: 根据id 查询内容
     * @author: gongjia
     * @param: [id]
     * @return: com.ncsmesc.entity.CmsContent
     * @throws
     */
    CmsContent getContentById(Long id) throws Exception;

    /**
     *
     * @Title: getContenDetail
     * @Description: 根据id 查询内容详情
     * @author: gongjia
     * @param: [id]
     * @return: com.ncsmesc.model.CmsContentModel
     * @throws
     */
    CmsContentModel getContentDetail(Long id, String queryType) throws Exception;

    /**
     *
     * @Title: getListContent
     * @Description: 查询内容列表
     * @author: gongjia
     * @param: [paramsMap]
     * @return: java.util.List<com.ncsmesc.entity.CmsContent>
     * @throws
     */
    List<CmsContentModel> getListContent(Map<String, String> paramsMap) throws Exception;

    /**
     * @Author Sum1Dream
     * @Name getListCmsContent
     * @Description // 查询内容列表
     * @Date 10:30 2022/9/27
     * @Param [map]
     * @Return java.util.List<com.hai.entity.CmsContent>
     */
    List<CmsContent> getListCmsContent(Map<String , Object> map);

    /**
     * @Author Sum1Dream
     * @Name getListCmsContentByCategoryId
     * @Description // 根据编码id 查询内容
     * @Date 17:59 2022/9/27
     * @Param [categoryId]
     * @Return java.util.List<com.hai.entity.CmsContent>
     */
    List<CmsContent> getListCmsContentByCategoryId(Long categoryId , Long companyId , Integer platform);

    /**
     *
     * @Title: getListContent
     * @Description: 查询内容列表
     * @author: gongjia
     * @param: [paramsMap]
     * @return: java.util.List<com.ncsmesc.entity.CmsContent>
     * @throws
     */
    List<CmsContentModel> getListContentByCrest(Map<String, String> paramsMap) throws Exception;


    /**
     *
     * @Title: getCorporateAdvertising
     * @Description: TODO(查询轮播图)
     * @author: 杜江
     * @param: []
     * @return: com.ncsmesc.entity.CmsContent
     * @throws
     */
    List<CmsContent> getCorporateAdvertising();
}
