private void DoJob() { var data = DalGroupBuying.GetExpiredUserList(); if (data.Any()) { using (var client = new OrderApiForCClient()) { foreach (var item in data) { var OrderData = client.FetchOrderByOrderId(item.OrderId); var result = OrderData.Success && OrderData.Result.Status == "7Canceled"; if (!result) { result = CancelPinTuanOrder(item.UserId, item.OrderId); } //if (result) //{ // var ChangeResult = DalGroupBuying.ChangeUserOrderStatus(item.OrderId); // if (ChangeResult == 0) // { // Logger.Warn($"修改拼团用户状态为订单取消失败/{item.OrderId}"); // } //} if (!result) { Logger.Warn($"取消未付款订单{item.OrderId}失败"); } } } } }
/// <summary> /// 批量获取订单 信息 /// </summary> /// <param name="orderIds"></param> /// <param name="productList"></param> /// <returns></returns> private static async Task <List <TaskOrderModel> > BatchFetchOrderList(List <int> orderIds, List <TaskProductModel> productList) { List <TaskOrderModel> orderInfos = new List <TaskOrderModel> { }; try { using (var client = new OrderApiForCClient()) { foreach (var orderId in orderIds) { TaskOrderModel orderInfo = new TaskOrderModel() { OrderId = orderId }; var result = await client.FetchOrderAndListByOrderIdAsync(orderId); if (!(result.Success && result.Result != null)) { result = await client.FetchOrderAndListByOrderIdAsync(orderId, false); } if (result.Success && result.Result != null) { orderInfo.OrderType = result.Result.OrderType; orderInfo.OrderStatus = result.Result.Status; foreach (var item in result.Result.OrderListModel) { var productItem = new TaskProductModel { PID = item.Pid, OrderNo = item.OrderNo, Count = item.Num }; orderInfo.Items.Add(productItem); } if (orderInfo.Items.Any()) { orderInfos.Add(orderInfo); productList.AddRange(orderInfo.Items); } else { Logger.Warn($"未发现订单详情==>{orderId}"); } } } } } catch (Exception ex) { Logger.Warn( $"BatchFetchOrderList 失败;Error:{ex.Message}", ex); } return(orderInfos); }
private void DoJob() { // 获取超时的订单 var data = DalGroupBuying.GetExpiredUserList(); if (data.Any()) { using (var client = new OrderApiForCClient()) using (var clientPinTuna = new PinTuanClient()) { foreach (var item in data) { var OrderData = client.FetchOrderByOrderId(item.OrderId); var result = OrderData.Success && OrderData.Result?.Status == "7Canceled"; if (!result && OrderData.Result != null) { //判断状态能不能取消 if (new[] { "0NewPingTuan", "0New" }.Contains(OrderData.Result.Status)) { result = CancelPinTuanOrder(item.UserId, item.OrderId); } else { result = true; //调用补足服务,订单已取消 ,拼团状态未改变 clientPinTuna.RepairPinTuanOrderStatus(new List <int> { item.OrderId }); } Logger.Info($"当前订单:{item.OrderId} {OrderData.Result.Status} "); } //if (result) //{ // var ChangeResult = DalGroupBuying.ChangeUserOrderStatus(item.OrderId); // if (ChangeResult == 0) // { // Logger.Warn($"修改拼团用户状态为订单取消失败/{item.OrderId}"); // } //} if (!result) { Logger.Warn($"取消未付款订单{item.OrderId}失败"); } } } } }
public static OrderModel FetchOrderAndListByOrderId(int orderId) { OrderModel order = null; try { using (var orderClient = new OrderApiForCClient()) { var fetchResult = orderClient.FetchOrderAndListByOrderId(orderId); fetchResult.ThrowIfException(true); order = fetchResult.Success ? fetchResult.Result : null; } } catch (Exception ex) { logger.Error(ex); } return(order); }
/// <summary> /// 获取赠品销售数量 /// </summary> /// <param name="pid"></param> /// <returns></returns> public static int SelectGiftProductSaleOutCount(string pid) { var count = 0; try { using (var client = new OrderApiForCClient()) { var result = client.GetPidCountByTimeRange(pid, null, null); result.ThrowIfException(true); count = result.Result; } } catch (Exception ex) { throw ex; } return(count); }