package com.ytpm.middle.dao;

import com.ytpm.agent.model.YtApp;
import com.ytpm.agent.param.AppListParam;
import com.ytpm.agent.view.AgentAppView;
import com.ytpm.agent.view.FeignServeAppView;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;

import java.util.List;

@Mapper
public interface ApkMapper {

    /**
     * 查询应用列表
     */
    List<AgentAppView> searchAppList(AppListParam appListParam);

    /**
     * 新增应用信息
     */
    void insertOne(YtApp app);

    /**
     * 保存应用
     */
    void updateOne(YtApp app);

    /**
     * 统计出包数量
     */
    int countApk();

    /**
     * 查询appId
     */
    String getAppIds();

    /**
     * 查询所有应用
     */
    List<AgentAppView> queryAll();

    /**
     * 根据母包ID查询子包
     */
    List<AgentAppView> queryBySuperiorId(@Param("superiorId") String superiorId);

    List<FeignServeAppView> queryServeAndApp();

    AgentAppView queryByAppId(@Param("appId") String appId);
}
