package cn.aqroid.business.tenant.service.impl;

import cn.aqroid.business.tenant.domain.Tenant;
import cn.aqroid.business.tenant.mapper.TenantMapper;
import cn.aqroid.business.tenant.service.ITenantService;
import cn.aqroid.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 租户Service业务层处理
 *
 * @author aqroid
 * @date 2026-01-12
 */
@Service
public class TenantServiceImpl implements ITenantService
{
    @Autowired
    private TenantMapper tenantMapper;

    /**
     * 查询租户
     *
     * @param tenantId 租户主键
     * @return 租户
     */
    @Override
    public Tenant selectTenantByTenantId(Long tenantId)
    {
        return tenantMapper.selectTenantByTenantId(tenantId);
    }

    /**
     * 查询租户列表
     *
     * @param tenant 租户
     * @return 租户
     */
    @Override
    public List<Tenant> selectTenantList(Tenant tenant)
    {
        return tenantMapper.selectTenantList(tenant);
    }

    /**
     * 新增租户
     *
     * @param tenant 租户
     * @return 结果
     */
    @Override
    public int insertTenant(Tenant tenant)
    {
        tenant.setCreateTime(DateUtils.getNowDate());
        return tenantMapper.insertTenant(tenant);
    }

    /**
     * 修改租户
     *
     * @param tenant 租户
     * @return 结果
     */
    @Override
    public int updateTenant(Tenant tenant)
    {
        tenant.setUpdateTime(DateUtils.getNowDate());
        return tenantMapper.updateTenant(tenant);
    }

    /**
     * 批量删除租户
     *
     * @param tenantIds 需要删除的租户主键
     * @return 结果
     */
    @Override
    public int deleteTenantByTenantIds(Long[] tenantIds)
    {
        return tenantMapper.deleteTenantByTenantIds(tenantIds);
    }

    /**
     * 删除租户信息
     *
     * @param tenantId 租户主键
     * @return 结果
     */
    @Override
    public int deleteTenantByTenantId(Long tenantId)
    {
        return tenantMapper.deleteTenantByTenantId(tenantId);
    }
}
