package com.ssj.service.sys.appinfo.service;

import com.ssj.bean.sys.appinfo.bean.AppInfo;
import com.ssj.framework.core.common.service.BaseService;
import com.ssj.framework.core.util.ResponseEntity;
import com.ssj.service.sys.appinfo.service.dto.LastVersionAppInfoDto;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

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

public interface AppInfoService extends BaseService<AppInfo, String> {

    AppInfo latestVersion(int type);

    AppInfo getAppInfo(String version, String versionType, Long issueNum);

    AppInfo getAppInfo(AppInfo appInfo);

    /**
     * 分页查询列表
     * @param params
     * @param sp
     * @return
     */
    Page<AppInfo> findByPage(Map<String, Object> params, Pageable sp);
    
    
    /**
     * @param version
     * @param type
     * @return
    
     * 方法说明:查询某版本对应的信息
    
     * 创立日期:2019年4月3日 下午2:17:08
     * 创建人:yangcan
    
     */
    public AppInfo findTopByVersionAndType(String version,int type);

    /**
     * 查询最新的包信息
     * @param types
     * @return
     */
    List<LastVersionAppInfoDto> findLastPackageByTypes (List<Integer> types);

    /**
     * 查询最新的包信息
     * @param type
     * @return
     */

    ResponseEntity findNewLastNewPackageByType(int type);
}
