Esempio n. 1
0
        public override Deposit GetByRequestId(Guid accountId, long requestId)
        {
            var baseDeposit = new MerchantDepositDAC().GetByRequestId(accountId, requestId);

            if (baseDeposit == null)
            {
                return(null);
            }
            return(new Deposit
            {
                Id = baseDeposit.Id,
                AccountId = baseDeposit.MerchantAccountId,
                WalletId = baseDeposit.MerchantWalletId,
                FromAddress = baseDeposit.FromAddress,
                ToAddress = baseDeposit.ToAddress,
                Amount = baseDeposit.Amount,
                Status = baseDeposit.Status,
                Timestamp = baseDeposit.Timestamp,
                OrderNo = baseDeposit.OrderNo,
                TransactionId = baseDeposit.TransactionId,
                RequestId = baseDeposit.RequestId
            });
        }
        public void PushDepositCancel(long id)
        {
            var deposit = new MerchantDepositDAC().GetById(id);
            var wallet  = new MerchantWalletDAC().GetById(deposit.MerchantWalletId);
            var crypto  = new CryptocurrencyDAC().GetById(wallet.CryptoId);

            var regId       = RedisHelper.StringGet($"{FiiiPOS_APP_Notice_MerchantId}:{deposit.MerchantAccountId}");
            var lang        = RedisHelper.StringGet(REDIS_LANGUAGE_DBINDEX, $"{FiiiPOS_APP_Language_MerchantId}:{deposit.MerchantAccountId}") ?? "en";
            var titleKey    = "DepositCancelTitle";
            var subTitleKey = "DepositCancelSubTitle";
            var title       = ResourceHelper.FiiiPos.GetFormatResource(titleKey, lang, crypto.Code);
            var subTitle    = ResourceHelper.FiiiPos.GetFormatResource(subTitleKey, lang, crypto.Code);

            string noticeId = "";

            //写MongoDB [充币失败]
            MessagesComponent.AddMessage(deposit.MerchantAccountId, UserType.Merchant, id.ToString(), FiiiPayPushType.TYPE_DEPOSIT_CANCEL, titleKey, subTitleKey, crypto.Code, title, subTitle, out noticeId);

            RegPush(FiiiPayPushType.TYPE_DEPOSIT_CANCEL, new List <string> {
                regId
            }, id, title, subTitle, noticeId);
            LogHelper.Info($"--------{lang}------{title}----------{subTitle}");
        }
Esempio n. 3
0
        public List <MerchantDepositDTO> DepositStatement(Guid accountId, int pageIndex, int pageSize)
        {
            var dac        = new MerchantDepositDAC();
            var list       = dac.GetByMerchantAccountId(accountId, pageIndex, pageSize);
            var cryptoList = new CryptocurrencyDAC().GetAll();

            return(list.Select(e =>
            {
                var crypto = cryptoList.FirstOrDefault(c => c.Id == e.CryptoId);

                return new MerchantDepositDTO
                {
                    Id = e.Id,
                    TransactionType = TransactionType.Deposit,
                    TransactionStatus = e.Status,
                    //Address = e.FromAddress,
                    Amount = e.Amount.ToString(crypto?.DecimalPlace ?? 8),
                    Timestamp = e.Timestamp.ToUnixTime(),
                    OrderNo = e.OrderNo,
                    CryptoCode = crypto?.Code
                };
            }).ToList());
        }
Esempio n. 4
0
        public MerchantDepositDTO DepositDetail(Guid accountId, long depositId)
        {
            var dac     = new MerchantDepositDAC();
            var account = new MerchantAccountDAC().GetById(accountId);
            var data    = dac.GetById(accountId, depositId);

            if (data == null)
            {
                return(null);
            }
            var crypto = new CryptocurrencyDAC().GetById(data.CryptoId);
            var result = new MerchantDepositDTO
            {
                Id = data.Id,
                TransactionType   = TransactionType.Deposit,
                TransactionStatus = data.Status,
                //Address = data.FromAddress,
                Amount = data.Amount.ToString(crypto.DecimalPlace),
                //FaitAmount = (markPrice.Price * data.Amount.Value).ToString("F", CultureInfo.InvariantCulture),
                //FaitCurrency = account.FiatCurrency,
                Timestamp     = data.Timestamp.ToUnixTime(),
                OrderNo       = data.OrderNo,
                CryptoCode    = crypto.Code,
                SelfPlatform  = data.SelfPlatform,
                TransactionId = data.SelfPlatform ? "-" : data.TransactionId ?? "-"
            };

            if (!data.SelfPlatform &&
                result.TransactionStatus == TransactionStatus.Pending &&
                data.RequestId.HasValue)
            {
                var statusInfo = new FiiiFinanceAgent().GetDepositStatus(data.RequestId.Value);
                result.CheckTime = $"{statusInfo.TotalConfirmation}/{statusInfo.MinRequiredConfirmation}";
            }

            return(result);
        }
Esempio n. 5
0
        public override Deposit Insert(Deposit deposit)
        {
            var userDeposit = new MerchantDeposit
            {
                MerchantAccountId = deposit.AccountId,
                MerchantWalletId  = deposit.WalletId,
                FromType          = deposit.FromType,
                FromAddress       = deposit.FromAddress,
                ToAddress         = deposit.ToAddress,
                Amount            = deposit.Amount,
                Status            = deposit.Status,
                Timestamp         = deposit.Timestamp,
                OrderNo           = deposit.OrderNo,
                TransactionId     = deposit.TransactionId,
                RequestId         = deposit.RequestId,
                SelfPlatform      = false,
                Remark            = null,
                CryptoCode        = deposit.CryptoCode
            };

            userDeposit = new MerchantDepositDAC().Insert(userDeposit);
            deposit.Id  = userDeposit.Id;
            return(deposit);
        }