public Task <AsyncTaskResult> HandleAsync(AgreeRefundedEvent evnt)
 {
     return(_commandService.SendAsync(CreatedNotificationCommand(
                                          evnt.AggregateRootId,
                                          "订单已退款",
                                          NotificationType.StoreOrderRefunded,
                                          evnt.AggregateRootId)));
 }
 public Task <AsyncTaskResult> HandleAsync(AgreeRefundedEvent evnt)
 {
     return(TryUpdateRecordAsync(connection =>
     {
         return connection.UpdateAsync(new
         {
             Status = (int)StoreOrderStatus.Closed,
             Version = evnt.Version
         }, new
         {
             Id = evnt.AggregateRootId,
             //Version = evnt.Version - 1
         }, ConfigSettings.StoreOrderTable);
     }));
 }
        public Task <AsyncTaskResult> HandleAsync(AgreeRefundedEvent evnt)
        {
            var number = DateTime.Now.ToSerialNumber();
            var tasks  = new List <Task>();

            //发送退款指令
            if (evnt.CashRefundAmount > 0)
            {
                tasks.Add(_commandService.SendAsync(new CreateCashTransferCommand(
                                                        GuidUtil.NewSequentialId(),
                                                        evnt.WalletId,
                                                        number,
                                                        Common.Enums.CashTransferType.Refund,
                                                        Common.Enums.CashTransferStatus.Placed,
                                                        evnt.CashRefundAmount,
                                                        0,
                                                        Common.Enums.WalletDirection.In,
                                                        "订单退款"
                                                        )));
            }
            if (evnt.ShopCashRefundAmount > 0)
            {
                tasks.Add(_commandService.SendAsync(new CreateShopCashTransferCommand(
                                                        GuidUtil.NewSequentialId(),
                                                        evnt.WalletId,
                                                        number,
                                                        Common.Enums.ShopCashTransferType.Refund,
                                                        Common.Enums.ShopCashTransferStatus.Placed,
                                                        evnt.ShopCashRefundAmount,
                                                        0,
                                                        Common.Enums.WalletDirection.In,
                                                        "订单退款"
                                                        )));
            }
            Task.WaitAll(tasks.ToArray());
            return(Task.FromResult(AsyncTaskResult.Success));
        }
示例#4
0
 private void Handle(AgreeRefundedEvent evnt)
 {
     _status = StoreOrderStatus.Closed;
 }