示例#1
0
 /// <summary>
 /// 使用接口获取交易记录,如获取失败则查询数据库
 /// </summary>
 /// <param name="param"></param>
 /// <returns></returns>
 public List <TransferRecordModel> GetTransferRecordPage(TransferRecordParam param)
 {
     try
     {
         int    skip = (param.PageIndex - 1) * param.PageSize;
         string url  =
             $"https://history.cryptolions.io/v1/history/get_actions/{param.Account}?skip={skip}&limit={param.PageSize}&sort=-1&filter=transfer";
         String returnMsg = HttpUtils.Get(url, "", null, null, 20 * 1000);
         var    list      = JsonConvert.DeserializeObject <TransferContractRepose>(returnMsg);
         var    data      = list.Data.Select(p => new TransferRecordModel
         {
             Amount      = p.Act.Data.Amount,
             Contract    = p.Act.Account,
             CreateTime  = p.Time,
             FromAccount = p.Act.Data.From,
             ToAccount   = p.Act.Data.To,
             Memo        = p.Act.Data.Memo,
             Symbol      = p.Act.Data.Symbol,
             TransferId  = p.TransferId,
             BlockNum    = p.BlockNum
         }).Distinct().ToList();
         return(data);
     }
     catch (Exception e)
     {
         param.IsSortOrderDesc = true;
         param.SortName        = "TransferTime";
         var data = AdvQuery(param);
         return(data.Data.Select(
                    p => new TransferRecordModel()
         {
             Amount = p.Amount.ToString(),
             BlockNum = p.BlockNum,
             Contract = p.Contract,
             CreateTime = p.CreateTime,
             FromAccount = p.FromAccount,
             Memo = p.Memo,
             Symbol = p.TokenCode,
             ToAccount = p.ToAccount,
             TransferId = p.TransferId
         }).ToList());
     }
 }
示例#2
0
        public ExcutedResult QueryTransferRecord([FromBody] TransferRecordParam model)
        {
            try
            {
                if (model == null)
                {
                    return(ExcutedResult.FailedResult(BusinessResultCode.ArgumentError, "参数错误或无效"));
                }
                if (String.IsNullOrEmpty(model.SortName))
                {
                    model.SortName = "CreateTime";
                }
                var dataInfo = _transferRecordRepository.GetTransferRecord(model);
                if (dataInfo != null)
                {
                    var searchTxDetail = _configDataLogic.GetByKeyAndLang(ConfigDataKey.SearchTxDetail);
                    if (dataInfo.Data != null && dataInfo.Data.Any())
                    {
                        var transfers = dataInfo.Data.ToList();
                        foreach (var transfer in transfers)
                        {
                            if (!String.IsNullOrEmpty(transfer.TransferId))
                            {
                                transfer.TransferId = String.Format("{0}{1}", searchTxDetail, transfer.TransferId);
                            }
                        }

                        dataInfo.Data = transfers;
                    }
                    return(ExcutedResult.SuccessResult(dataInfo));
                }
                return(ExcutedResult.FailedResult(BusinessResultCode.DataNotExist, "数据不存在,请刷新!"));
            }
            catch (BusinessException businessException)
            {
                return(ExcutedResult.FailedResult(businessException.ErrorCode, businessException.Message));
            }
        }
示例#3
0
        /// <summary>
        /// 分页查询转账记录
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public PagedResults <TransferRecord> GetTransferRecord(TransferRecordParam model)
        {
            var iQueryable = GetAdvQuery(model);

            return(iQueryable.ToPagedResults <TransferRecord, TransferRecord>(model));
        }