package com.vctgo.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vctgo.system.api.domain.SysTenant;
import com.vctgo.system.domain.SysUserTenant;

import java.util.List;

/**
 * 集团用户可管理园Service接口
 *
 * @author caesar
 * @date 2023-10-26
 */
public interface ISysUserTenantService extends IService<SysUserTenant> {
    /**
     * 查询集团用户可管理园
     *
     * @param id 集团用户可管理园主键
     * @return 集团用户可管理园
     */
    SysUserTenant selectSysUserTenantById(Long id);

    /**
     * 查询集团用户可管理园列表-分页
     *
     * @param sysUserTenant 集团用户可管理园
     * @return 集团用户可管理园集合
     */
    IPage<SysUserTenant> selectSysUserTenantPage(SysUserTenant sysUserTenant);

    /**
     * 查询集团用户可管理园列表
     *
     * @param sysUserTenant 集团用户可管理园
     * @return 集团用户可管理园集合
     */
    List<SysUserTenant> selectSysUserTenantList(SysUserTenant sysUserTenant);

    /**
     * 新增集团用户可管理园
     *
     * @param sysUserTenant 集团用户可管理园
     * @return 结果
     */
    int insertSysUserTenant(SysUserTenant sysUserTenant);

    /**
     * 批量新增集团用户可管理园
     *
     * @param sysUserTenantList 批量新增集团用户可管理园
     * @return 结果
     */
    int insertSysUserTenantList(List<SysUserTenant> sysUserTenantList);

    /**
     * 修改集团用户可管理园
     *
     * @param sysUserTenant 集团用户可管理园
     * @return 结果
     */
    int updateSysUserTenant(SysUserTenant sysUserTenant);

    /**
     * 逻辑删除集团用户可管理园
     *
     * @param ids
     * @return 结果
     */
    int logicalDeleteSysUserTenantByIds(Long[] ids);

    /**
     * 批量删除集团用户可管理园
     *
     * @param ids 需要删除的集团用户可管理园主键集合
     * @return 结果
     */
    int deleteSysUserTenantByIds(Long[] ids);

    /**
     * 删除集团用户可管理园信息
     *
     * @param id 集团用户可管理园主键
     * @return 结果
     */
    int deleteSysUserTenantById(Long id);
}
