|
- using BPA.KitChen.GroupMealOrder.Application.BaseDto;
- using BPA.KitChen.GroupMealOrder.Application.Service.TestService;
- using BPA.KitChen.GroupMealOrder.Core.Common.Const;
- using BPA.KitChen.StoreManagement.Application.Service.OrderManage.Dtos;
- using Furion.DatabaseAccessor;
- using Furion;
- using Furion.DependencyInjection;
- using Furion.DynamicApiController;
- using Microsoft.AspNetCore.Mvc;
- using SqlSugar;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using BPA.KitChen.GroupMealOrder.SqlSugar;
- using BPA.KitChen.GroupMealOrder.Core.Entity;
- using Microsoft.AspNetCore.Authorization;
- using Microsoft.AspNetCore.Hosting;
- using NPOI.SS.UserModel;
- using NPOI.XSSF.UserModel;
- using BPA.KitChen.GroupMealOrder.Application.Service.Order.Dtos;
- using Org.BouncyCastle.Crypto;
-
- namespace BPA.KitChen.GroupMealOrder.Application.Service.Order
- {
-
- [ApiDescriptionSettings("订单管理", Tag = "订单管理", SplitCamelCase = false)]
- public class OrderService : IDynamicApiController, ITransient, IOrderService
- {
- /// <summary>
- /// 核心对象:拥有完整的SqlSugar全部功能
- /// </summary>
- private readonly SqlSugarScope db;
- private readonly string CustomerIds = "omwji4jSSh6o-I0UPLGrxKEio73Y,omwji4lFXTPD6SoCQLMexKoWdWY4";
- private readonly string StoreId = "3b007e32-f1cc-4021-b4e0-f4764fa90f12";
- IWebHostEnvironment _hostingEnvironment;
-
- /// <summary>
- /// construct
- /// </summary>
- /// <param name="sqlSugarRepository"></param>
- public OrderService(IWebHostEnvironment hostingEnvironment)
- {
- db = SqlSugarDb.Db;
- _hostingEnvironment=hostingEnvironment;
- }
-
- /// <summary>
- /// 订单明细
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpPost("/api/Order/PostDetail")]
- public PageUtil PostDetail(OrderQueryInputDto dto)
- {
- //根据对应的条件查询和排序
- string strWhere = string.Empty;
- int total = 0;
- List<OrderFlowQuery> res = new List<OrderFlowQuery>();
- //if (!string.IsNullOrEmpty(dto.StoreTypeId))//店铺分类
- //{
- // strWhere += $" and d.Id='{dto.StoreTypeId}'";
- //}
- if (dto.StoreId != null && dto.StoreId.Length > 0)//店铺名称
- {
- strWhere += $" and a.StoreId in (";
- for (int i = 0; i < dto.StoreId.Length; i++)
- {
- strWhere += $"'{dto.StoreId[i]}',";
- }
- strWhere = strWhere.Substring(0, strWhere.LastIndexOf(','));
- strWhere += ")";
- }
- if (dto.GoodsId != null && dto.GoodsId.Length > 0)//商品名称
- {
- strWhere += $" and a.GoodId in (";
- for (int i = 0; i < dto.GoodsId.Length; i++)
- {
- strWhere += $"'{dto.GoodsId[i]}',";
- }
- strWhere = strWhere.Substring(0, strWhere.LastIndexOf(','));
- strWhere += ")";
- }
- if (!dto.isreport)
- {
- if (!string.IsNullOrWhiteSpace(CustomerIds))//屏蔽查询人
- {
- string key = "";
- string[] CustomerId = CustomerIds.Split(',');
- for (int i = 0; i < CustomerId.Length; i++)
- {
- key += $"'{CustomerId[i]}',";
- }
- key = key.Substring(0, key.LastIndexOf(','));
-
- strWhere += $" and a.Customer_ID not in (" + key + ")";
- }
- strWhere += $" and a.StoreId not in ('" + StoreId + "')";
- }
- //if (!string.IsNullOrEmpty(dto.Customer_Tel))
- //{
- // strWhere += $" and g.Phone='{dto.Customer_Tel}'";
- //}
-
- if (dto.GoodsTypeId != null && dto.GoodsTypeId.Length > 0)//商品类型
- {
- strWhere += $" and e.Goods_TypeID in (";
- for (int i = 0; i < dto.GoodsTypeId.Length; i++)
- {
- strWhere += $"'{dto.GoodsTypeId[i]}',";
- }
- strWhere = strWhere.Substring(0, strWhere.LastIndexOf(','));
- strWhere += ")";
- }
- //默认当天时间
- if (string.IsNullOrEmpty(dto.Order_CreateTime.ToString()))
- {
- dto.Order_CreateTime = DateTime.Now;
- }
-
- if (string.IsNullOrEmpty(dto.Order_EndTime.ToString()))
- {
- dto.Order_EndTime = DateTime.Now;
- }
- var GroupId = App.User.FindFirst(ClaimConst.GroupId)?.Value;
- if (!string.IsNullOrWhiteSpace(GroupId))
- {
- strWhere += $" and a.GroupId = '" + GroupId + "'";
- }
- if (dto.OrderStatus != null)
- {
- strWhere += $" and a.Order_Status = " + dto.OrderStatus;
- }
- var temp1 = Convert.ToDateTime(dto.Order_CreateTime.Value.ToString("yyyy-MM-dd"));
- var temp2 = Convert.ToDateTime(dto.Order_EndTime.Value.AddDays(1).ToString("yyyy-MM-dd"));
- if (!dto.isreport)
- {
- var lastDay = DateTime.Now.AddDays(1 - DateTime.Now.Day).AddMonths(-1).Date;
- if (temp1 < lastDay)
- {
- temp1 = lastDay;
-
- }
- if (temp2 < lastDay)
- {
- temp2 = lastDay;
- }
- }
- string sql = @"SELECT
- UUID() as orderFlowId,
- a.OrderInfo_Id AS Id,
- a.RefundStatus,
- a.StoreId,
- a.StoreName,
- (case when a.RefundStatus<0 then a.Order_RealMoney else 0 end ) AS Order_RealMoney,
- (case when a.RefundStatus<0 then a.Order_OriginalMoney else 0 end ) AS Order_OriginalMoney,
- (case when a.RefundStatus>=0 then a.Order_RealMoney else 0 end ) AS RefundRealMoney,
- (case when a.RefundStatus>=0 then a.Order_OriginalMoney else 0 end ) AS RefundOriginalMoney,
- a.Transaction_ID AS Order_Number,
- a.Order_CreateTime AS Order_CreateTime,
- a.PlaceMode AS PayMode,
- a.Order_Status AS Order_Status,
- a.Customer_ID AS Customer_Name,
- a.Customer_ID AS Customer_Tel,
- 1 as order_Count
- FROM
- (SELECT
- c.`OrderInfo_Id` AS `OrderInfo_Id`,
- c.`Order_Status` AS `Order_Status`,
- c.`Order_CreateTime` AS `Order_CreateTime`,
- c.`StoreId` AS `StoreId`,
- c.`StoreName` AS `StoreName`,
- c.`Order_OriginalMoney` AS `Order_OriginalMoney`,
- c.`Order_RealMoney` AS `Order_RealMoney`,
- c.`PlaceMode` AS `PlaceMode`,
- c.`Customer_ID` AS `Customer_ID`,
- c.`Transaction_ID` AS `Transaction_ID`,
- c.`RefundStatus` AS `RefundStatus`,
- c.`GroupId` AS `GroupId`,
- c.`order_Count` AS `order_Count`
- FROM
- (
- SELECT
- `a`.`Id` AS `OrderInfo_Id`,
- `a`.`OrderStatus` AS `Order_Status`,
- `a`.`CreatedAt` AS `Order_CreateTime`,
- `a`.`OrgId` AS `StoreId`,
- `a`.`OrgId` AS `StoreName`,
- `a`.`OrderOriginalMoney` AS `Order_OriginalMoney`,
- `a`.`OrderRealMoney` AS `Order_RealMoney`,((((
- `a`.`OrderRealMoney` + ifnull( `a`.`DiscountMoney`, 0 )) + ifnull( json_extract( `a`.`PriceCollection`, '$.CouponPrice' ), 0 )) + ifnull( json_extract( `a`.`PriceCollection`, '$.ActivityPrice' ), 0 )) + ifnull( json_extract( `a`.`PriceCollection`, '$.Vip' ), 0 )) AS `OrderRealMoney`,
- `a`.`OrderType` AS `PlaceMode`,
- `a`.`CustomerId` AS `Customer_ID`,
- `a`.`OrderCount` AS `order_Count`,
- `a`.`TransactionId` AS `Transaction_ID`,-(
- 1
- ) AS `RefundStatus`,
- `a`.`GroupId` AS `GroupId`
- FROM
- `bpa_order` `a`
- WHERE
- ( length( `a`.`TransactionId` ) > 1 )) AS c UNION ALL
- SELECT
- `a`.`OrderInfo_Id` AS `OrderInfo_Id`,
- `a`.`Order_Status` AS `Order_Status`,
- `b`.`RefundTime` AS `Order_CreateTime`,
- `a`.`StoreId` AS `StoreId`,
- `a`.`StoreName` AS `StoreName`,
- `a`.`Order_OriginalMoney` AS `Order_OriginalMoney`,
- `a`.`Order_RealMoney` AS `Order_RealMoney`,
- `a`.`PlaceMode` AS `PlaceMode`,
- `a`.`Customer_ID` AS `Customer_ID`,
- `a`.`Transaction_ID` AS `Transaction_ID`,
- `b`.`RefundResult` AS `RefundStatus`,
- `a`.`GroupId` AS `GroupId`,
- `a`.`order_Count` AS `order_Count`
- FROM
- (
- `bpa_orderrefundlog` `b`
- LEFT JOIN (
- SELECT
- `a`.`Id` AS `OrderInfo_Id`,
- `a`.`OrderStatus` AS `Order_Status`,
- `a`.`CreatedAt` AS `Order_CreateTime`,
- `a`.`OrgId` AS `StoreId`,
- `a`.`OrgId` AS `StoreName`,
- `a`.`OrderOriginalMoney` AS `Order_OriginalMoney`,
- `a`.`OrderRealMoney` AS `Order_RealMoney`,((((
- `a`.`OrderRealMoney` + ifnull( `a`.`DiscountMoney`, 0 )) + ifnull( json_extract( `a`.`PriceCollection`, '$.CouponPrice' ), 0 )) + ifnull( json_extract( `a`.`PriceCollection`, '$.ActivityPrice' ), 0 )) + ifnull( json_extract( `a`.`PriceCollection`, '$.Vip' ), 0 )) AS `OrderRealMoney`,
- `a`.`OrderType` AS `PlaceMode`,
- `a`.`CustomerId` AS `Customer_ID`,
- `a`.`OrderCount` AS `order_Count`,
- `a`.`TransactionId` AS `Transaction_ID`,-(
- 1
- ) AS `RefundStatus`,
- `a`.`GroupId` AS `GroupId`
- FROM
- `bpa_order` `a`
- WHERE
- ( length( `a`.`TransactionId` ) > 1 )) `a` ON ((
- `a`.`OrderInfo_Id` = `b`.`OrderId`
- )))
- WHERE
- (
- `b`.`Stutas` = 202)) a
- where a.RefundStatus is not NULL and
- a.Order_CreateTime >='" + temp1.ToString("yyyy-MM-dd HH:mm:ss") + @"' and a.Order_CreateTime <'" + temp2.ToString("yyyy-MM-dd HH:mm:ss") + @"'
- " + strWhere + "";
-
- res = db.SqlQueryable<OrderFlowQuery>(sql)
- .WhereIF(dto.PayMode.HasValue, (b) => b.PayMode == dto.PayMode)
- .OrderBy(a => a.Order_CreateTime, OrderByType.Desc).ToPageList(dto.Current, dto.PageSize, ref total);
-
-
- var ids = res.Select(x => x.Id).ToList();
-
- var orders = db.Queryable<BPA_Order>().Where(x => ids.Contains(x.Id)).ToList();
-
- foreach (var item in res)
- {
- item.PayMode = orders.FirstOrDefault(x => x.Id == item.Id)?.PayMode ?? 0;
- }
-
- PageUtil unit = new PageUtil()
- {
- Data = res,
- Total = total,
- };
- return unit;
-
- }
-
- [HttpPost("/api/Order/GetFlowExport"), ApiDescriptionSettings(SplitCamelCase = false), AllowAnonymous, NonUnify]
- public ResultEntity OrderDetailFlowExport([FromBody] OrderQueryInputDto dto)
- {
- List<OrderFlowQuery> orderFlows = OrderDetailFlowExportData(dto);
- return new ResultEntity()
- {
- Data = orderFlows,
- IsSuccess = orderFlows.Count > 0,
-
- };
- string fielName = DateTime.Now.ToString("yyyyMMddHHmmss");
- var currentUseId = "OrderFlow";
-
- var rootPath = _hostingEnvironment.ContentRootPath + "orderExcels\\";
- if (System.IO.Directory.Exists(rootPath) == false)
- System.IO.Directory.CreateDirectory(rootPath);
-
- var newFile = rootPath + "\\" + fielName + ".xlsx";
- if (System.IO.File.Exists(newFile))
- {
- System.IO.File.Delete(newFile);
- }
- using (var fs = new FileStream(newFile, FileMode.Create, FileAccess.Write))
- {
-
- IWorkbook workbook = new XSSFWorkbook();
- var sheet = workbook.CreateSheet("orders");
- var header = sheet.CreateRow(0);
- header.CreateCell(1).SetCellValue("店铺名称 ");
- header.CreateCell(2).SetCellValue("交易单号");
- header.CreateCell(3).SetCellValue("应付金额");
- header.CreateCell(4).SetCellValue("实付金额 ");
- header.CreateCell(5).SetCellValue("应退金额");
- header.CreateCell(6).SetCellValue("实退金额");
- header.CreateCell(7).SetCellValue("菜品数量");
- header.CreateCell(8).SetCellValue("下单时间");
- var rowIndex = 1;
- foreach (var item in orderFlows)
- {
- var datarow = sheet.CreateRow(rowIndex);
- datarow.CreateCell(0).SetCellValue(item.StoreName);
- datarow.CreateCell(1).SetCellValue(item.Order_Number);
- datarow.CreateCell(2).SetCellValue(item.Order_OriginalMoney.Value.ToString("#0.00"));
- datarow.CreateCell(3).SetCellValue(item.Order_RealMoney.Value.ToString("#0.00"));
- datarow.CreateCell(4).SetCellValue(item.RefundOriginalMoney.Value.ToString("#0.00"));
- datarow.CreateCell(5).SetCellValue(item.RefundRealMoney.Value.ToString("#0.00"));
- datarow.CreateCell(6).SetCellValue(item.Order_Count);
- datarow.CreateCell(7).SetCellValue(item.Order_CreateTime.ToString("yyyy-MM-dd HH:mm:ss"));
- rowIndex++;
- }
- workbook.Write(fs);
- }
- var memory = new MemoryStream();
- using (var stream = new FileStream(newFile, FileMode.Open))
- {
- stream.CopyTo(memory);
- }
- memory.Position = 0;
- var result = new FileStreamResult(memory, "application/octet-stream")
- {
- FileDownloadName = fielName + ".xlsx"
- };
- // return result;
- }
-
- private List<OrderFlowQuery> OrderDetailFlowExportData(OrderQueryInputDto dto)
- {
- //根据对应的条件查询和排序
- string strWhere = string.Empty;
- int total = 0;
- List<OrderFlowQuery> res = new List<OrderFlowQuery>();
- if (!string.IsNullOrEmpty(dto.StoreTypeId))//店铺分类
- {
- strWhere += $" and d.Id='{dto.StoreTypeId}'";
- }
- if (dto.StoreId != null && dto.StoreId.Length > 0)//店铺名称
- {
- strWhere += $" and a.StoreId in (";
- for (int i = 0; i < dto.StoreId.Length; i++)
- {
- strWhere += $"'{dto.StoreId[i]}',";
- }
- strWhere = strWhere.Substring(0, strWhere.LastIndexOf(','));
- strWhere += ")";
- }
- if (dto.GoodsId != null && dto.GoodsId.Length > 0)//商品名称
- {
- strWhere += $" and a.GoodId in (";
- for (int i = 0; i < dto.GoodsId.Length; i++)
- {
- strWhere += $"'{dto.GoodsId[i]}',";
- }
- strWhere = strWhere.Substring(0, strWhere.LastIndexOf(','));
- strWhere += ")";
- }
- if (!dto.isreport)
- {
- if (!string.IsNullOrWhiteSpace(CustomerIds))//屏蔽查询人
- {
- string key = "";
- string[] CustomerId = CustomerIds.Split(',');
- for (int i = 0; i < CustomerId.Length; i++)
- {
- key += $"'{CustomerId[i]}',";
- }
- key = key.Substring(0, key.LastIndexOf(','));
-
- strWhere += $" and a.Customer_ID not in (" + key + ")";
- }
- strWhere += $" and a.StoreId not in ('" + StoreId + "')";
- }
- if (!string.IsNullOrEmpty(dto.Customer_Tel))
- {
- strWhere += $" and g.Phone='{dto.Customer_Tel}'";
- }
-
- if (dto.GoodsTypeId != null && dto.GoodsTypeId.Length > 0)//商品类型
- {
- strWhere += $" and e.Goods_TypeID in (";
- for (int i = 0; i < dto.GoodsTypeId.Length; i++)
- {
- strWhere += $"'{dto.GoodsTypeId[i]}',";
- }
- strWhere = strWhere.Substring(0, strWhere.LastIndexOf(','));
- strWhere += ")";
- }
- //默认当天时间
- if (string.IsNullOrEmpty(dto.Order_CreateTime.ToString()))
- {
- dto.Order_CreateTime = DateTime.Now;
- }
-
- if (string.IsNullOrEmpty(dto.Order_EndTime.ToString()))
- {
- dto.Order_EndTime = DateTime.Now;
- }
- var GroupId = App.User.FindFirst(ClaimConst.GroupId)?.Value;
- if (!string.IsNullOrWhiteSpace(GroupId))
- {
- strWhere += $" and a.GroupId = '" + GroupId + "'";
- }
- if (dto.OrderStatus != null)
- {
- strWhere += $" and a.OrderStatus = " + dto.OrderStatus;
- }
- var temp1 = Convert.ToDateTime(dto.Order_CreateTime.Value.ToString("yyyy-MM-dd"));
- var temp2 = Convert.ToDateTime(dto.Order_EndTime.Value.AddDays(1).ToString("yyyy-MM-dd"));
- if (!dto.isreport)
- {
- var lastDay = DateTime.Now.AddDays(1 - DateTime.Now.Day).AddMonths(-1).Date;
- if (temp1 < lastDay)
- {
- temp1 = lastDay;
-
- }
- if (temp2 < lastDay)
- {
- temp2 = lastDay;
- }
- }
- string sql = @"SELECT
- a.OrderInfo_Id AS Id,
- a.RefundStatus,
- a.StoreId,
- a.StoreName,
- (case when a.RefundStatus<0 then a.Order_RealMoney else 0 end ) AS Order_RealMoney,
- (case when a.RefundStatus<0 then a.Order_OriginalMoney else 0 end ) AS Order_OriginalMoney,
- (case when a.RefundStatus>=0 then a.Order_RealMoney else 0 end ) AS RefundRealMoney,
- (case when a.RefundStatus>=0 then a.Order_OriginalMoney else 0 end ) AS RefundOriginalMoney,
- a.Transaction_ID AS Order_Number,
- a.Order_CreateTime AS Order_CreateTime,
- a.PlaceMode AS PayMode,
- a.Order_Status AS Order_Status,
- '' AS Customer_Name,
- '' AS Customer_Tel,
- 1 as order_Count
- FROM
- (SELECT
- c.`OrderInfo_Id` AS `OrderInfo_Id`,
- c.`Order_Status` AS `Order_Status`,
- c.`Order_CreateTime` AS `Order_CreateTime`,
- c.`StoreId` AS `StoreId`,
- c.`StoreName` AS `StoreName`,
- c.`Order_OriginalMoney` AS `Order_OriginalMoney`,
- c.`Order_RealMoney` AS `Order_RealMoney`,
- c.`PlaceMode` AS `PlaceMode`,
- c.`Customer_ID` AS `Customer_ID`,
- c.`Transaction_ID` AS `Transaction_ID`,
- c.`RefundStatus` AS `RefundStatus`,
- c.`GroupId` AS `GroupId`,
- c.`order_Count` AS `order_Count`
- FROM
- (
- SELECT
- `a`.`Id` AS `OrderInfo_Id`,
- `a`.`OrderStatus` AS `Order_Status`,
- `a`.`CreatedAt` AS `Order_CreateTime`,
- `a`.`OrgId` AS `StoreId`,
- `a`.`OrgId` AS `StoreName`,
- `a`.`OrderOriginalMoney` AS `Order_OriginalMoney`,
- `a`.`OrderRealMoney` AS `Order_RealMoney`,((((
- `a`.`OrderRealMoney` + ifnull( `a`.`DiscountMoney`, 0 )) + ifnull( json_extract( `a`.`PriceCollection`, '$.CouponPrice' ), 0 )) + ifnull( json_extract( `a`.`PriceCollection`, '$.ActivityPrice' ), 0 )) + ifnull( json_extract( `a`.`PriceCollection`, '$.Vip' ), 0 )) AS `OrderRealMoney`,
- `a`.`OrderType` AS `PlaceMode`,
- `a`.`CustomerId` AS `Customer_ID`,
- `a`.`OrderCount` AS `order_Count`,
- `a`.`TransactionId` AS `Transaction_ID`,-(
- 1
- ) AS `RefundStatus`,
- `a`.`GroupId` AS `GroupId`
- FROM
- `bpa_order` `a`
- WHERE
- ( length( `a`.`TransactionId` ) > 1 )) AS c UNION ALL
- SELECT
- `a`.`OrderInfo_Id` AS `OrderInfo_Id`,
- `a`.`Order_Status` AS `Order_Status`,
- `b`.`RefundTime` AS `Order_CreateTime`,
- `a`.`StoreId` AS `StoreId`,
- `a`.`StoreName` AS `StoreName`,
- `a`.`Order_OriginalMoney` AS `Order_OriginalMoney`,
- `a`.`Order_RealMoney` AS `Order_RealMoney`,
- `a`.`PlaceMode` AS `PlaceMode`,
- `a`.`Customer_ID` AS `Customer_ID`,
- `a`.`Transaction_ID` AS `Transaction_ID`,
- `b`.`RefundResult` AS `RefundStatus`,
- `a`.`GroupId` AS `GroupId`,
- `a`.`order_Count` AS `order_Count`
- FROM
- (
- `bpa_orderrefundlog` `b`
- LEFT JOIN (
- SELECT
- `a`.`Id` AS `OrderInfo_Id`,
- `a`.`OrderStatus` AS `Order_Status`,
- `a`.`CreatedAt` AS `Order_CreateTime`,
- `a`.`OrgId` AS `StoreId`,
- `a`.`OrgId` AS `StoreName`,
- `a`.`OrderOriginalMoney` AS `Order_OriginalMoney`,
- `a`.`OrderRealMoney` AS `Order_RealMoney`,((((
- `a`.`OrderRealMoney` + ifnull( `a`.`DiscountMoney`, 0 )) + ifnull( json_extract( `a`.`PriceCollection`, '$.CouponPrice' ), 0 )) + ifnull( json_extract( `a`.`PriceCollection`, '$.ActivityPrice' ), 0 )) + ifnull( json_extract( `a`.`PriceCollection`, '$.Vip' ), 0 )) AS `OrderRealMoney`,
- `a`.`OrderType` AS `PlaceMode`,
- `a`.`CustomerId` AS `Customer_ID`,
- `a`.`OrderCount` AS `order_Count`,
- `a`.`TransactionId` AS `Transaction_ID`,-(
- 1
- ) AS `RefundStatus`,
- `a`.`GroupId` AS `GroupId`
- FROM
- `bpa_order` `a`
- WHERE
- ( length( `a`.`TransactionId` ) > 1 )) `a` ON ((
- `a`.`OrderInfo_Id` = `b`.`OrderId`
- )))
- WHERE
- (
- `b`.`Stutas` = 202)) a
- where a.RefundStatus is not NULL and
- a.Order_CreateTime >='" + temp1.ToString("yyyy-MM-dd HH:mm:ss") + @"' and a.Order_CreateTime <'" + temp2.ToString("yyyy-MM-dd HH:mm:ss") + @"'
- " + strWhere + "";
-
- res = db.SqlQueryable<OrderFlowQuery>(sql)
- .WhereIF(dto.PayMode.HasValue, (b) => b.PayMode == dto.PayMode)
- .OrderBy(a => a.Order_CreateTime, OrderByType.Desc).ToList();
-
- return res;
-
- }
-
-
- #region 第三方订单
-
- /// <summary>
- /// 获取第三方
- /// </summary>
- /// <param name="inputDto"></param>
- /// <returns></returns>
- [HttpPost("/api/Order/ThirdOrderPage")]
- public async Task<PageUtil> ThirdOrderPageAsync(ThirdOrderInputDto inputDto)
- {
- var total = new RefAsync<int>();
- var data = await db.Queryable<BPA_ThirdOrder>()
- .OrderBy(a => a.CreateAt, OrderByType.Desc)
- .WhereIF(!string.IsNullOrEmpty(inputDto.OrderNum),x=>x.OrderNum.Contains(inputDto.OrderNum))
- .Select(x=>new ThirdOrderDto()
- {
- Id = x.Id.SelectAll()
- })
- .ToPageListAsync(inputDto.Current, inputDto.PageSize, total);
-
- var ids = data.Select(x => x.Id).ToList();
-
- var thirdOrderInfos = await db.Queryable<BPA_ThirdOrderInfo>()
- .Where(x=>ids.Contains(x.ThirdOrderId))
- .ToListAsync();
-
- foreach (var item in data)
- {
- var thisData = thirdOrderInfos.Where(x => x.ThirdOrderId == item.Id).ToList();
- item.ThirdOrderInfos= thisData;
- }
-
- return new PageUtil()
- {
- Data = data,
- Total = total
-
- };
- }
-
- /// <summary>
- /// 获取第三方订单详情
- /// </summary>
- /// <param name="thirdOrderId"></param>
- /// <returns></returns>
- [HttpGet("/api/Order/GetThirdOrderInfo")]
- public async Task<ThirdOrderDto> GetThirdOrderInfo(string thirdOrderId)
- {
- var data = await db.Queryable<BPA_ThirdOrder>()
- .Where(x=>x.Id==thirdOrderId)
- .OrderBy(a => a.CreateAt, OrderByType.Desc)
- .Select(x => new ThirdOrderDto()
- {
- Id = x.Id.SelectAll()
- }).FirstAsync();
- var thirdOrderInfos = await db.Queryable<BPA_ThirdOrderInfo>()
- .Where(x => x.ThirdOrderId==thirdOrderId)
- .ToListAsync();
- data.ThirdOrderInfos = thirdOrderInfos;
- return data;
- }
-
- #endregion
-
- }
- }
|