Пример #1
0
 public void Handle(ICommandContext context, AcceptNewImportCommand command)
 {
     context.Get <ThirdCurrency>(command.AggregateRootId).AcceptNewImport(new ImportInfo(
                                                                              command.WalletId,
                                                                              command.UserId,
                                                                              command.Mobile,
                                                                              command.Account,
                                                                              command.Amount
                                                                              ));
 }
Пример #2
0
        public async Task <BaseApiResponse> ImportCurrency(ImportCurrencyRequest request)
        {
            request.CheckNotNull(nameof(request));
            var currentAccount = _contextService.GetCurrentAccount(HttpContext.Current);
            var userInfo       = _userQueryService.FindUser(currentAccount.UserId.ToGuid());

            var thirdCurrency = _thirdCurrencyQueryService.Find(request.Id);

            if (thirdCurrency == null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "没有找到该外币"
                });
            }
            if (thirdCurrency.IsLocked)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "外币锁定,无法导入"
                });
            }
            //这里要访问第三方系统账号
            return(new BaseApiResponse {
                Code = 400, Message = "接口未开放,暂时无法导入"
            });

            //外币导入
            var command = new AcceptNewImportCommand(
                userInfo.WalletId,
                userInfo.Id,
                userInfo.Mobile,
                request.Account,
                request.Amount
                )
            {
                AggregateRootId = request.Id
            };
            var result = await ExecuteCommandAsync(command);

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