/// <summary> /// 根据用户id查看用户购买订单是否正确 /// </summary> /// <param name="userId"></param> /// <param name="dbNumber"></param> /// <param name="redisHelperSpecial"></param> /// <returns></returns> private bool CheckPurchaseOrderInfo(string userId, int dbNumber, List <YemUserProductDto> yemUserProductDtos, RedisHelperSpecial redisHelperSpecial) { try { //获取Asset对象 //string oldPurchaseOrder = "OldPurchaseOrder"; //CloudTable assertIdsTable = this.tableClient.GetTableReference(this.loadAppSettings.SearchUserInfoAzureTable); //TableQuery<YemUserProductDto> queryYemProduct = new TableQuery<YemUserProductDto>() // .Where($"PartitionKey eq '{oldPurchaseOrder}' and IsLock eq false and UserId eq '{userId}'"); //YemUserProductDto yemUserProductDto = assertIdsTable.ExecuteQuery(queryYemProduct).FirstOrDefault(); YemUserProductDto yemUserProductDto = yemUserProductDtos.FirstOrDefault(p => p.UserId == userId); //获取融资金额以及剩余金额 if (yemUserProductDto == null) { //记录下来 Logger.LoadData(@"CheckOneRedisUserAssetInfo\ErrorInfoUserInfo.txt", $"{userId}:根据userId拉取AzureTable数据异常---" + DateTime.UtcNow.ToChinaStandardTime()); return(false); } long purchaseAmount = yemUserProductDto.PurchaseMoney; long remainingAmount = yemUserProductDto.RemainingAmount; //再从reedis中拉出所有的资产的下对应 List <UserAssetRatio> listUserAssetInfos = new RedisHelperSpecial(dbNumber).GetRedisUserAssetRatiosAsync(userId).ToList(); long sumPurchaseAmount = 0; if (listUserAssetInfos.Count > 0) { sumPurchaseAmount += listUserAssetInfos.Sum(info => info.Capital); } //最后的节点 List <UserAssetRatio> listEndUserAssetinfos = redisHelperSpecial.GetRedisUserAssetRatiosAsync(userId).ToList(); if (listEndUserAssetinfos.Count > 0) { sumPurchaseAmount += listEndUserAssetinfos.Sum(info => info.Capital); } if (purchaseAmount - sumPurchaseAmount != remainingAmount) { //记录下来 Logger.LoadData(@"CheckOneRedisUserAssetInfo\ErrorInfoUserInfo.txt", $"{userId}:该用户购买订单总购买金额减去所有本金不等于剩余金额" + DateTime.UtcNow.ToChinaStandardTime()); return(false); } return(true); } catch (Exception e) { Logger.LoadData(@"CheckOneRedisUserAssetInfo\Error.txt", $"{userId}:该资产发生异常{e.Message}"); return(false); } }
/// <summary> /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void button1_Click(object sender, EventArgs e) { List <int> numbers = new List <int> { 1, 2, 3, 4, 5, 6, 7, 8 }; long totalNums = 0; for (int i = 0; i < numbers.Count; i++) { int number = numbers[i]; RedisHelperSpecial redisHelperSpecial = new RedisHelperSpecial(number); //啦list List <string> userids = redisHelperSpecial.GetRedisUserInfos().Select(u => u.UserId).ToList(); for (int j = 0; j < userids.Count; j++) { //获取list totalNums += redisHelperSpecial.GetRedisUserAssetRatiosAsync(userids[j]).Count; } } // MessageBox.Show(totalNums.ToString()); }