package com.gxwebsoft.app.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.app.entity.AppResource;
import com.gxwebsoft.app.param.AppResourceParam;
import com.gxwebsoft.common.core.web.PageResult;

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

/**
 * 开发者资源 Service
 *
 * @author 科技小王子
 * @since 2026-03-31
 */
public interface AppResourceService extends IService<AppResource> {

    /** 分页查询（关联应用名称） */
    PageResult<AppResource> pageRel(AppResourceParam param);

    /** 列表查询 */
    List<AppResource> listRel(AppResourceParam param);

    /** 详情（关联查询） */
    AppResource getByIdRel(Long resourceId);

    /** 新增资源 */
    AppResource addResource(AppResource resource, Integer userId);

    /** 更新资源 */
    AppResource updateResource(AppResource resource);

    /** 删除资源（逻辑删除） */
    void removeResource(Long resourceId, Integer userId);

    /** 按资源类型统计数量 [{resourceType, cnt}] */
    Map<String, Long> countByType(Integer userId, Integer tenantId);
}
