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 )); }
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()); }