package com.yunfeiyun.agmp.common.web.system.service;

import com.yunfeiyun.agmp.common.web.system.domain.SysRes;

import java.util.List;

/**
 * 资源Service接口
 * 
 * @author 杨晓辉
 * @date 2023-05-08
 */
public interface ISysResService
{
    /**
     * 查询资源
     * 
     * @param resId 资源主键
     * @return 资源
     */
    public SysRes selectSysResByResId(String resId);
    public List<SysRes> selectResByBusId(String resBusid, String resBiztype);
    public List<SysRes> selectResByBusIdes(String[] resBusids,String resBiztype);
    public List<SysRes> selectResByBusIds(List<String> resBusids,String resBiztype);
    public List<SysRes> selectResByBusId(String resBusid, String resBiztype,String mediaType);
    public List<SysRes> selectSysResExpire();
    /**
     * 查询资源列表
     * 
     * @param sysRes 资源
     * @return 资源集合
     */
    public List<SysRes> selectSysResList(SysRes sysRes);
    public List<SysRes> selectResByResIds(List<String> resIds);
    public List<SysRes> selectResByResIdsV2(List<String> resIds);
    public List<SysRes> selectResByResIdes(String[] resIds);
    /**
     * 查询资源的数量
     *
     * @param sysRes 资源
     * @return 结果
     */
    public int selectCountResByBusId(SysRes sysRes);


    /**
     * 新增资源
     * 
     * @param sysRes 资源
     * @return 结果
     */
    public int insertSysRes(SysRes sysRes);
    /**
     * 批量新增资源
     *
     * @param sysRes 资源
     * @return 结果
     */
    public List<SysRes> insertSysReses(List<SysRes> sysRes);

    /**
     * 修改资源
     * 
     * @param sysRes 资源
     * @return 结果
     */
    public int updateSysRes(SysRes sysRes);


    public void updateSysRes(List<String> resIdsOld, List<String> resIdsNew, String resBusId);

    public int updateSysResByResIds(List<SysRes> sysRes);
    public int updateSysResByResIdes(String[] resIds , String resBusId);
    public int updateSysResByResIdls(List<String> resIds , String resBusId);
    /**
     * 批量删除资源
     * 
     * @param resIds 需要删除的资源主键集合
     * @return 结果
     */
    public int deleteSysResByResIds(String[] resIds);

    /**
     * 删除资源信息
     * 
     * @param resId 资源主键
     * @return 结果
     */
    public int deleteSysResByResId(String resId);



    /**
     * 删除资源信息
     *
     * @param resIds 资源主键
     * @return 结果
     */
    public int deleteSysResls(List<String> resIds);

    /**
     * 删除资源信息
     *
     * @param resBusIds 资源主键
     * @return 结果
     */
    public int deleteSysResbs(String[] resBusIds);
    /**
     * 删除资源信息
     *
     * @param resBusIds 资源主键
     * @return 结果
     */
    public int deleteSysResbs(List<String> resBusIds);

    /**
     * 删除资源信息
     *
     * @param sysRes 资源主键
     * @return 结果
     */
    public int deleteSysResList(SysRes[] sysRes);

    /**
     * 删除资源信息
     *
     * @param sysRes 资源主键
     * @return 结果
     */
    public int deleteSysResList(List<SysRes> sysRes);


    /**
     * 清理资源信息
     *
     * @param sysRes 资源主键
     * @return 结果
     */
    public int cleanSysRes(List<SysRes> sysRes);


    /**
     * 保存登录账户头像
     *
     * @param sysRes 资源
     * @return 结果
     */
    public int saveAvatarByUserId(SysRes sysRes);

}
