private void AccountMiningConfirmed(int cryptoId, MiningConfirmedModel model, WalletFactory _walletFactory, WalletStatementFactory _walletStatementFactory) { var wallet = _walletFactory.GetByAccountId(model.AccountId, cryptoId); if (wallet == null) { MiningConfirmedFaild(model, "Wallet is null"); return; } if (wallet.FrozenBalance < model.Amount) { MiningConfirmedFaild(model, "Insufficient frozenbalance"); return; } try { _walletFactory.Unfreeze(wallet.Id, model.Amount); _walletStatementFactory.Insert(new WalletStatement { Action = UserWalletStatementAction.AwardDeposit, Amount = model.Amount, Balance = wallet.Balance + model.Amount, FrozenAmount = -model.Amount, FrozenBalance = wallet.FrozenBalance - model.Amount, Remark = null, Timestamp = DateTime.UtcNow, WalletId = wallet.Id }); } catch (Exception ex) { MiningConfirmedFaild(model, (ex.InnerException == null ? ex.Message : ex.InnerException.Message)); } }
public ServiceResult Confirmed(MiningConfirmedModel model) { var result = new ServiceResult(); ///////////////////////// //receive接口已经直接加到了用户余额里,confirmed已不需要任何动作 //////////////////////// result.Success(); return(result); //_logger.Info($"Mining-Confirmed - Parameters - {JsonConvert.SerializeObject(model)}"); //_logger.Info($"Client IP - {this.GetClientIPAddress()}"); //try //{ // if (model.MiningConfirmedList == null || model.MiningConfirmedList.Count <= 0) // { // result.Success(); // return result; // } // MiningComponent mc = new MiningComponent(); // foreach (var miningConfirmed in model.MiningConfirmedList) // { // try // { // mc.MiningConfirmed(miningConfirmed.AccountType, miningConfirmed.AccountId, miningConfirmed.Amount); // } // catch // { // _logger.Error($"Mining-Confirmed - Single Error - {JsonConvert.SerializeObject(miningConfirmed)}"); // } // } // result.Success(); // return result; //} //catch (CommonException ex) //{ // _logger.Error($"Mining-Confirmed - ErrorMessage - {ex.Message}", ex); // result.Failer(ex.ReasonCode, ex.Message); // return result; //} //catch (Exception ex) //{ // _logger.Error($"Mining-Confirmed - ErrorMessage - {ex.Message}", ex); // result.Failer(GENERAL_ERROR, "System error"); // return result; //} }
public void MiningConfirmed(MiningConfirmedModel model) { var crypto = new CryptocurrencyDAC().GetByCode("FIII"); lock (obj) { try { if (model.AccountType == (byte)AccountType.User) { AccountMiningConfirmed(crypto.Id, model, new UserWalletFactory(), new UserWalletStatementFactory()); } else if (model.AccountType == (byte)AccountType.Merchant) { AccountMiningConfirmed(crypto.Id, model, new MerchantWalletFactory(), new MerchantWalletStatementFactory()); } } catch (Exception ex) { _logger.Error($"Mining-Confirmed - ErrorMessage - {ex.Message}", ex); } } }
private void MiningConfirmedFaild(MiningConfirmedModel model, string message) { _logger.Info($"Mining-Confirmed - ErrorMessage:{message},accountType:{model.AccountType}, accountId:{model.AccountId},amount:{model.Amount}"); }