Ver código fonte

feat:订单接口返回油机号

Zhenghanjv 3 meses atrás
pai
commit
fc0e723b60

+ 1 - 0
Edge.Core/MqttClient/MqttClientService.cs

@@ -88,6 +88,7 @@ namespace Edge.Core.MqttClient
         {
             Logger.Info($"mqtt disconnect",JsonConvert.SerializeObject(args));
 
+            Thread.Sleep(3000);
             Start();
             OnDisconnect?.Invoke(this, args);
             return Task.CompletedTask;

+ 2 - 1
src/FccLife.Web/Repositories/FccOrderInfo/IOrderInfoReposity.cs

@@ -1,5 +1,6 @@
 using Edge.Core.Domain.FccOrderInfo;
 using Edge.Core.Domain.FccOrderInfo.Input;
+using Edge.Core.Domain.FccOrderInfo.Output;
 
 namespace FccLite.Web.Repositories.FccOrderInfo
 {
@@ -10,6 +11,6 @@ namespace FccLite.Web.Repositories.FccOrderInfo
         /// </summary>
         /// <param name="orderInfoPageInput"></param>
         /// <returns></returns>
-        Task<IEnumerable<Edge.Core.Domain.FccOrderInfo.FccOrderInfo>> GetPage(OrderInfoPageInput orderInfoPageInput);
+        Task<IEnumerable<OrderInfo>> GetPage(OrderInfoPageInput orderInfoPageInput);
     }
 }

+ 35 - 14
src/FccLife.Web/Repositories/FccOrderInfo/OrderInfoReposity.cs

@@ -1,5 +1,6 @@
 using Edge.Core.Core.database;
 using Edge.Core.Domain.FccOrderInfo.Input;
+using Edge.Core.Domain.FccOrderInfo.Output;
 using Microsoft.EntityFrameworkCore;
 
 namespace FccLite.Web.Repositories.FccOrderInfo
@@ -18,21 +19,41 @@ namespace FccLite.Web.Repositories.FccOrderInfo
         /// </summary>
         /// <param name="orderInfoPageInput"></param>
         /// <returns></returns>
-        public async Task<IEnumerable<Edge.Core.Domain.FccOrderInfo.FccOrderInfo>> GetPage(OrderInfoPageInput orderInfoPageInput)
+        public async Task<IEnumerable<OrderInfo>> GetPage(OrderInfoPageInput orderInfoPageInput)
         {
-            IQueryable<Edge.Core.Domain.FccOrderInfo.FccOrderInfo> query = _dbContext.FccOrderInfos.AsQueryable();
-
-            query = query.Where(order => order.IsDelete == 0);
-            query = query.WhereIf(orderInfoPageInput.oilName != null && !"".Equals(orderInfoPageInput.oilName),order => order.OilName.Equals(orderInfoPageInput.oilName));
-            query = query.WhereIf(orderInfoPageInput.nozzleNum != null, order => order.NozzleNum == orderInfoPageInput.nozzleNum);
-            //query = query.WhereIf(orderInfoPageInput.ttc != null, order => order.Ttc == orderInfoPageInput.ttc);
-            if (orderInfoPageInput.startCheckTime != null && orderInfoPageInput.endCheckTime != null)
-            {
-                query = query.Where(order => order.EndTime != null && (order.EndTime >= orderInfoPageInput.startCheckTime && order.EndTime <= orderInfoPageInput.endCheckTime));
-            }
-            query = query.WhereIf(orderInfoPageInput.paymentType != null, order => order.PayType == orderInfoPageInput.paymentType);
-            query = query.WhereIf(orderInfoPageInput.phoneNumberOruserName != null, order => order.UserName.Equals(orderInfoPageInput.phoneNumberOruserName) || order.PhoneNumber.Equals(orderInfoPageInput.phoneNumberOruserName));
-            query = query.OrderByDescending(order => order.EndTime);
+            Edge.Core.Domain.FccStationInfo.FccStationInfo? fccStationInfo = await _dbContext.FccStationInfos.FirstOrDefaultAsync();
+            var stationName = fccStationInfo?.Name ?? "";
+
+            var query = from qo in _dbContext.FccOrderInfos
+                        join qn in _dbContext.NozzleInfos on qo.NozzleNum equals qn.ExternalNum
+                        join qm in _dbContext.FccMachineInfos on qn.MachineId equals qm.Id
+                        where qo.IsDelete == 0
+                        where string.IsNullOrEmpty(orderInfoPageInput.oilName) || qo.OilName == orderInfoPageInput.oilName
+                        where orderInfoPageInput.nozzleNum == null || qo.NozzleNum == orderInfoPageInput.nozzleNum
+                        where orderInfoPageInput.paymentType == null || qo.PayType == orderInfoPageInput.paymentType
+                        where (orderInfoPageInput.startCheckTime == null || orderInfoPageInput.endCheckTime == null || qo.EndTime == null)
+                                || qo.EndTime >= orderInfoPageInput.startCheckTime && qo.EndTime <= orderInfoPageInput.endCheckTime
+                        where string.IsNullOrEmpty(orderInfoPageInput.phoneNumberOruserName) || qo.UserName == orderInfoPageInput.phoneNumberOruserName || qo.PhoneNumber == orderInfoPageInput.phoneNumberOruserName
+                        orderby qo.AuthorizationTime descending
+                        select new OrderInfo(qo, stationName, qm.Name);
+
+
+
+         
+
+            //IQueryable<Edge.Core.Domain.FccOrderInfo.FccOrderInfo> query = _dbContext.FccOrderInfos.AsQueryable();
+
+            //query = query.Where(order => order.IsDelete == 0);
+            //query = query.WhereIf(orderInfoPageInput.oilName != null && !"".Equals(orderInfoPageInput.oilName),order => order.OilName.Equals(orderInfoPageInput.oilName));
+            //query = query.WhereIf(orderInfoPageInput.nozzleNum != null, order => order.NozzleNum == orderInfoPageInput.nozzleNum);
+            ////query = query.WhereIf(orderInfoPageInput.ttc != null, order => order.Ttc == orderInfoPageInput.ttc);
+            //if (orderInfoPageInput.startCheckTime != null && orderInfoPageInput.endCheckTime != null)
+            //{
+            //    query = query.Where(order => order.EndTime != null && (order.EndTime >= orderInfoPageInput.startCheckTime && order.EndTime <= orderInfoPageInput.endCheckTime));
+            //}
+            //query = query.WhereIf(orderInfoPageInput.paymentType != null, order => order.PayType == orderInfoPageInput.paymentType);
+            //query = query.WhereIf(orderInfoPageInput.phoneNumberOruserName != null, order => order.UserName.Equals(orderInfoPageInput.phoneNumberOruserName) || order.PhoneNumber.Equals(orderInfoPageInput.phoneNumberOruserName));
+            //query = query.OrderByDescending(order => order.EndTime);
             return await query.Skip((orderInfoPageInput.page - 1) * orderInfoPageInput.pageSize).Take(orderInfoPageInput.pageSize).ToListAsync();
         }
     }

+ 4 - 3
src/FccLife.Web/Services/FccOrderInfo/OrderInfoService.cs

@@ -18,9 +18,10 @@ namespace FccLite.Web.Services.FccOrderInfo
 
         public async Task<OrderInfoOutput> GetPage(OrderInfoPageInput orderInfoPageInput)
         {
-            Edge.Core.Domain.FccStationInfo.FccStationInfo? fccStationInfo = await _stationRepository.GetFirstStation();
-            IEnumerable<Edge.Core.Domain.FccOrderInfo.FccOrderInfo> enumerable = await _orderInfoReposity.GetPage(orderInfoPageInput);
-            List<OrderInfo> orderInfos = enumerable.Select(order => new OrderInfo(order,fccStationInfo?.Name ?? "","")).ToList();
+            //Edge.Core.Domain.FccStationInfo.FccStationInfo? fccStationInfo = await _stationRepository.GetFirstStation();
+            IEnumerable<OrderInfo> enumerable = await _orderInfoReposity.GetPage(orderInfoPageInput);
+            List<OrderInfo> orderInfos = enumerable.ToList();
+            //List<OrderInfo> orderInfos = enumerable.Select(order => new OrderInfo(order,fccStationInfo?.Name ?? "","")).ToList();
             return new OrderInfoOutput()
             {
                 Total = orderInfos.Count,