diff --git a/Src/Dlhis.Canteen/Order/Request/OrderBookingPageRequest.cs b/Src/Dlhis.Canteen/Order/Request/OrderBookingPageRequest.cs index 3dd0fc6d..24cab90b 100644 --- a/Src/Dlhis.Canteen/Order/Request/OrderBookingPageRequest.cs +++ b/Src/Dlhis.Canteen/Order/Request/OrderBookingPageRequest.cs @@ -1,8 +1,14 @@ -using Kurisu.Core.DataAccess.Dto; +using System.ComponentModel.DataAnnotations; +using Dlhis.Entity.Canteen.Enums; +using Kurisu.Core.DataAccess.Dto; namespace Dlhis.Canteen.Order.Request; public class OrderBookingPageRequest : PageDto { - + /// + /// 订单状态 CanteenOrderStatusEnumType + /// + [EnumDataType(typeof(CanteenOrderStatusEnumType))] + public CanteenOrderStatusEnumType? OrderStatus { get; set; } } diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/BookingOrderService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/BookingOrderService.cs index 92e36ffd..c8187ecc 100644 --- a/Src/Dlhis.Canteen/Order/Services/Implements/BookingOrderService.cs +++ b/Src/Dlhis.Canteen/Order/Services/Implements/BookingOrderService.cs @@ -179,6 +179,8 @@ public class BookingOrderService : BaseOrderService, IBookingOrderService var page = await DbContext.Queryable() .LeftJoin((x, ga) => x.UserNo == ga.No) .Where(x => myCodes.Contains(x.BusinessPlaceCode)) + .WhereIF(request.OrderStatus.HasValue, x => x.OrderStatus == request.OrderStatus) + .WhereIF(request.Search.IsPresent(), (x, ga) => x.UserCode == request.Search || ga.Name.Contains(request.Search)) .Select((x, ga) => new OrderBookingResponse { No = x.No,