using MiAssessment.Core.Interfaces; using MiAssessment.Model.Data; using MiAssessment.Model.Models.Business; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; namespace MiAssessment.Core.Services; /// /// 业务详情服务实现 /// public class BusinessService : IBusinessService { private readonly MiAssessmentDbContext _dbContext; private readonly ILogger _logger; /// /// 构造函数 /// /// 数据库上下文 /// 日志记录器 public BusinessService( MiAssessmentDbContext dbContext, ILogger logger) { _dbContext = dbContext; _logger = logger; } /// public async Task GetDetailAsync(long id) { _logger.LogDebug("获取业务详情,ID: {Id}", id); var businessPage = await _dbContext.BusinessPages .AsNoTracking() .Where(b => b.Id == id && b.Status == 1 && !b.IsDeleted) .Select(b => new BusinessDetailDto { Id = b.Id, Title = b.Title, ImageUrl = b.ImageUrl, ShowButton = b.ShowButton, ButtonText = b.ButtonText, ButtonLink = b.ButtonLink }) .FirstOrDefaultAsync(); if (businessPage == null) { _logger.LogDebug("业务页面不存在或已禁用,ID: {Id}", id); return null; } _logger.LogDebug("获取到业务详情,ID: {Id}, Title: {Title}", id, businessPage.Title); return businessPage; } }