fix 处理名称展示

This commit is contained in:
2024-01-26 18:33:09 +08:00
parent 1c295f50fb
commit 522ac9b05e

View File

@@ -2,16 +2,11 @@
using Dlhis.Canteen.Setting.Response; using Dlhis.Canteen.Setting.Response;
using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Basic.Entity;
using Dlhis.Entity.Canteen.Enums; using Dlhis.Entity.Canteen.Enums;
using Kurisu.AspNetCore.UnifyResultAndValidation;
using Kurisu.AspNetCore.Utils.Extensions; using Kurisu.AspNetCore.Utils.Extensions;
using Kurisu.Core.DataAccess.Dto; using Kurisu.Core.DataAccess.Dto;
using Kurisu.SqlSugar.Extensions; using Kurisu.SqlSugar.Extensions;
using Kurisu.SqlSugar.Services; using Kurisu.SqlSugar.Services;
using Mapster; using Mapster;
using Newtonsoft.Json.Linq;
using System;
using System.ComponentModel.DataAnnotations;
using System.Globalization;
namespace Dlhis.Canteen.Setting.Services.Implements; namespace Dlhis.Canteen.Setting.Services.Implements;
@@ -30,11 +25,10 @@ public class CanteenSettingService : ICanteenSettingService
public async Task<Pagination<CanteenSettingResponse>> GetPageAsync(CanteenSettingPageRequest request) public async Task<Pagination<CanteenSettingResponse>> GetPageAsync(CanteenSettingPageRequest request)
{ {
var page = await _context.Queryable<CanteenSettingEntity>() var page = await _context.Queryable<CanteenSettingEntity>()
.LeftJoin<CanteenUserEntity>((setting, user) => setting.UniqueValue == user.UserNo)
.WhereIF(request.UniqueType.HasValue, setting => setting.UniqueType == request.UniqueType) .WhereIF(request.UniqueType.HasValue, setting => setting.UniqueType == request.UniqueType)
.WhereIF(request.Item.HasValue, setting => setting.Item == request.Item) .WhereIF(request.Item.HasValue, setting => setting.Item == request.Item)
.WhereIF(request.Search.IsPresent(), setting => setting.Catalog.Contains(request.Search)) .WhereIF(request.Search.IsPresent(), setting => setting.Catalog.Contains(request.Search))
.Select((setting, user) => new CanteenSettingResponse .Select((setting) => new CanteenSettingResponse
{ {
Id = setting.Id, Id = setting.Id,
UniqueType = setting.UniqueType, UniqueType = setting.UniqueType,
@@ -46,6 +40,15 @@ public class CanteenSettingService : ICanteenSettingService
}) })
.ToPageListAsync(request); .ToPageListAsync(request);
var userNos = page.Data.Select(x => x.UniqueValue).Distinct().ToList();
var gainfos = await _context.Queryable<GainfoEntity>().Where(x => userNos.Contains(x.No)).ToListAsync();
page.Data.ForEach(x =>
{
x.UniqueValue = gainfos.FirstOrDefault(item => item.No == x.UniqueValue)?.Name;
});
return page; return page;
} }