package com.rj.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.rj.entity.Tenant;

import java.util.Map;

/**
 * <p>
 * 租户表 服务类
 * </p>
 *
 * @author 系统生成
 * @since 2025-01-XX
 */
public interface ITenantService extends IService<Tenant> {

    /**
     * 分页查询租户列表
     * @param current 页码
     * @param size 每页大小
     * @param tenantCode 租户编码
     * @param tenantName 租户名称（模糊查询）
     * @param status 状态：1-启用，0-禁用
     * @param contactName 联系人姓名（模糊查询）
     * @param contactPhone 联系人电话
     * @param expireStartTime 过期时间开始
     * @param expireEndTime 过期时间结束
     * @return 分页结果
     */
    Map<String, Object> getTenantList(Integer current, Integer size, String tenantCode, 
                                      String tenantName, Integer status, String contactName, 
                                      String contactPhone, String expireStartTime, String expireEndTime);

    /**
     * 根据条件查询租户列表（不分页）
     * @param tenantCode 租户编码
     * @param tenantName 租户名称（模糊查询）
     * @param status 状态：1-启用，0-禁用
     * @param contactName 联系人姓名（模糊查询）
     * @param contactPhone 联系人电话
     * @param expireStartTime 过期时间开始
     * @param expireEndTime 过期时间结束
     * @return 查询结果
     */
    Map<String, Object> getTenantListWithoutPage(String tenantCode, String tenantName, 
                                                 Integer status, String contactName, 
                                                 String contactPhone, String expireStartTime, 
                                                 String expireEndTime);

    /**
     * 新增租户
     * @param tenant 租户信息
     * @return 操作结果
     */
    Map<String, Object> addTenant(Tenant tenant);

    /**
     * 更新租户信息
     * @param tenant 租户信息
     * @return 操作结果
     */
    Map<String, Object> updateTenant(Tenant tenant);

    /**
     * 根据ID删除租户
     * @param id 租户ID
     * @return 操作结果
     */
    Map<String, Object> deleteTenant(String id);
}

