using Dlhis.Basic.MealUser.Request; using Dlhis.Basic.MealUser.Response; using Dlhis.Basic.Organization.Services; using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Basic.Enums; using Kurisu.AspNetCore.Utils.Extensions; using Kurisu.Core.DataAccess.Dto; using Kurisu.SqlSugar.Extensions; using Kurisu.SqlSugar.Services; namespace Dlhis.Basic.MealUser.Services.Implements; public class MealUserService : IMealUserService { private readonly IDbContext _dbContext; private readonly IGainfoStore _gainfoStore; public MealUserService(IDbContext dbContext, IGainfoStore gainfoStore) { _dbContext = dbContext; _gainfoStore = gainfoStore; } public async Task> GetPageAsync(MealUserPageRequest request) { var page = await _dbContext.Queryable() .Select() .ToPageListAsync(request); return page; } public async Task AddAsync(MealUserAddRequest request) { //todo 获取档案信息 var gainfoEntity = await _gainfoStore.Queryable(GainfoStatusEnumType.Working) .Where(x => x.No.ToString() == request.UserId) .FirstAsync(); gainfoEntity.ThrowIfNull($"档案[{request.UserId}]不存在"); var entity = new CanteenUserEntity { UserId = request.UserId, UserType = request.UserType, UserCode = gainfoEntity.Code, CarNo = gainfoEntity.CarNo, Balance = 0, BalanceOfRecharge = 0, BalanceOfSubsidies = 0, Version = 0, }; await _dbContext.InsertAsync(entity); } public async Task GetMealUserAsync(string userId) { return await _dbContext.Queryable() .Where(x => x.UserId == userId) .Select() .FirstAsync(); } }