コード例 #1
0
        public async Task <BaseApiResponse> ConfirmDeliver(StoreOrderOpRequest request)
        {
            request.CheckNotNull(nameof(request));
            var command = new ConfirmDeliverCommand
            {
                AggregateRootId = request.Id
            };

            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令没有执行成功:{0}".FormatWith(result.GetErrorMessage())
                });
            }

            return(new BaseApiResponse());
        }
コード例 #2
0
        /// <summary>
        /// 自动确认收货
        /// </summary>
        private void ProcessConfirmDeliverOrder()
        {
            //获取可自动确认收货的订单
            var unConfirmDeliverOrders = _storeOrderQueryService.StoreOrderList().Where(
                x => x.Status == Common.Enums.StoreOrderStatus.Expressing &&
                x.DeliverTime.HasValue &&
                x.DeliverTime.Value.Add(ConfigSettings.OrderAutoConfirmDeliver) < DateTime.Now);

            if (unConfirmDeliverOrders.Any())
            {
                foreach (var expiredOrder in unConfirmDeliverOrders)
                {
                    var command = new ConfirmDeliverCommand {
                        AggregateRootId = expiredOrder.Id
                    };
                    _commandService.SendAsync(command);
                }
            }
        }