using JiShe.CollectBus.Localization;
using JiShe.ServicePro.FreeRedisProvider;
using JiShe.ServicePro.FreeSqlProvider;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Application.Services;

namespace JiShe.CollectBus;

[ApiExplorerSettings(GroupName = CollectBusDomainSharedConsts.Business)]
public abstract class CollectBusAppService : ApplicationService
{
    public IFreeSqlProvider SqlProvider => LazyServiceProvider.LazyGetRequiredService<IFreeSqlProvider>();
    protected IFreeRedisProvider FreeRedisProvider => LazyServiceProvider.LazyGetService<IFreeRedisProvider>()!;

    protected CollectBusAppService()
    {
        LocalizationResource = typeof(CollectBusResource);
        ObjectMapperContext = typeof(CollectBusApplicationModule);
    } 
} 
