package com.yonge.cooleshow.cms.service;

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

import com.yonge.cooleshow.auth.api.entity.SysUser;
import com.yonge.cooleshow.cms.controller.queryinfo.NewsInformationQueryInfo;
import com.yonge.cooleshow.cms.dal.entity.SysNewsInformation;
import com.yonge.cooleshow.cms.dto.SysNewsInformationDto;
import com.yonge.toolset.base.page.PageInfo;
import com.yonge.toolset.base.page.QueryInfo;
import com.yonge.toolset.mybatis.service.BaseService;

public interface SysNewsInformationService extends BaseService<Long, SysNewsInformation> {

	/**
	 * 根据类型查询资讯列表
	 * @param type
	 * @return
	 */
	List<SysNewsInformation> queryByType(Integer type);

	/**
	 * 删除
	 * @param id
	 * @return
	 */
	boolean deleteWithLogical(Long id);

	/**
	 * 获取首页新闻列表
	 * @param user
	 * @param queryInfo
	 * @return
	 */
	Map<String, PageInfo<SysNewsInformation>> getHomeList(SysUser user, NewsInformationQueryInfo queryInfo);

	/**
	 * 获取详情
	 * @param id
	 * @return
	 */
	SysNewsInformationDto queryById(Long id);

	/**
	 * 自动更新状态
	 * @return
	 */
	boolean autoUpdateStatus();

	/**
	 * 分页查询
	 *
	 * @param params 参数
	 * @return
	 */
	PageInfo<SysNewsInformationDto> selectPage(QueryInfo params);

	/**
	 * 修改状态
	 * @param id
	 * @return
	 */
    boolean updateStatus(Long id);

    String selectAppVersionInfo(String platform, String version);
}