using Dlhis.Basic.Map.Request; using Dlhis.Basic.Map.Response; using Dlhis.Entity.Basic.Entity; using Kurisu.AspNetCore.DataAccess.Dto; using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions; using Kurisu.AspNetCore.DataAccess.SqlSugar.Services; using Kurisu.AspNetCore.Utils.Extensions; using Mapster; namespace Dlhis.Basic.Map.Services.Implements; public class PointMapService : IPointMapService { private readonly IDbContext _dbContext; public PointMapService(IDbContext dbContext) { _dbContext = dbContext; } public async Task> GetPageAsync(PageDto request) { return await _dbContext.Queryable() .Select() .ToPageListAsync(request); } public async Task SaveAsync(SavePointMapRequest request) { if (!request.Id.HasValue) { var entity = request.Adapt(); entity.Code = Guid.NewGuid(); await _dbContext.InsertAsync(entity); } else { var entity = await _dbContext.Queryable().Where(x => x.Id == request.Id).SingleAsync(); entity.ThrowIfNull("点位图不存在,无法编辑!"); request.Adapt(entity); await _dbContext.UpdateAsync(entity); } } public async Task DeleteAsync(long id) { var entity = await _dbContext.Queryable().Where(x => x.Id == id).SingleAsync(); if (entity != null) { await _dbContext.Deleteable().Where(x => x.Id == id).ExecuteCommandAsync(); await _dbContext.Deleteable().Where(x => x.PointMapCode == entity.Code).ExecuteCommandAsync(); } } }