public ApiResult <ListOutput> List([FromQuery] ListInput parameter) { var rewardInput = new RewardInput { PageIndex = parameter.PageIndex, UserId = parameter.LoginUserId, PageSize = parameter.PageSize }; var model = Resolve <IRewardService>().GetViewRewardPageList(rewardInput, HttpContext); var apiOutput = new ListOutput { TotalSize = model.PageCount, StyleType = 1 }; var users = Resolve <IUserService>().GetList(); foreach (var item in model) { var orderUser = users.FirstOrDefault(u => u.Id == item.OrderUserId); var apiData = new ListItem { Id = item.Reward.Id, Intro = $"{item.Reward.CreateTime:yyyy-MM-dd hh:ss}", Title = $"{orderUser.UserName}", Image = Resolve <IApiService>().ApiUserAvator((item.OrderUser?.Id).ConvertToLong()), Url = $"/pages/index?path=share_show&id={item.Reward.Id}", Extra = item.Reward.Amount.ToStr() }; apiOutput.ApiDataList.Add(apiData); } return(ApiResult.Success(apiOutput)); }
/// <summary> /// 获取s the 视图 reward 分页 list. /// </summary> /// <param name="userInput">The 会员 input.</param> /// <param name="context">上下文</param> public PagedList <ViewAdminReward> GetViewRewardPageList(RewardInput userInput, HttpContext context) { if (!userInput.Serial.IsNullOrEmpty() && userInput.Serial.Length > 8) { userInput.Serial = userInput.Serial.Substring(1, userInput.Serial.Length - 1).TrimStart('0'); } var rewardList = _rewardRepository.GetRewardList(userInput, out var count); var shareModuleList = Resolve <ITaskModuleConfigService>().GetList(context); var shareUserIds = rewardList.Select(r => r.UserId).Distinct().ToList(); var orderUserIds = rewardList.Select(r => r.OrderUserId).Distinct().ToList(); shareUserIds = shareUserIds.Concat(orderUserIds).ToList(); var users = _userRepository.GetList(); var moneyTypes = Resolve <IAutoConfigService>().GetList <MoneyTypeConfig>(); IList <ViewAdminReward> result = new List <ViewAdminReward>(); foreach (var item in rewardList) { var viewAdminReward = new ViewAdminReward { Reward = item, //OrderUser = users.FirstOrDefault(r => r.Id == item.OrderUserId), //ShareUser = users.FirstOrDefault(r => r.Id == item.UserId), //MoneyType = moneyTypes.FirstOrDefault(r => r.Id == item.MoneyTypeId), //ShareModule = shareModuleList?.FirstOrDefault(r => r.Id == item.ModuleConfigId), //TaskModuleAttribute = Resolve<ITaskQueueService>().GetTaskModuleAttribute(item.ModuleId), Status = item.Status, RewardId = item.Id, ModuleId = item.ModuleId, OrderUserId = item.OrderUserId, ShareUserId = item.UserId, OrderUserName = Resolve <IUserService>() .GetUserStyle(users.FirstOrDefault(r => r.Id == item.OrderUserId)), ShareUserName = Resolve <IUserService>().GetUserStyle(users.FirstOrDefault(r => r.Id == item.UserId)), MoneyTypeName = moneyTypes.FirstOrDefault(r => r.Id == item.MoneyTypeId).Name, ShareModuleName = shareModuleList?.FirstOrDefault(r => r.Id == item.ModuleConfigId).Name, TaskModuleAttributeName = Resolve <ITaskQueueService>().GetTaskModuleAttribute(item.ModuleId).Name, RewardAmount = item.Amount, AfterAmount = item.AfterAmount, Intro = item.Intro, CreateTimeStr = item.CreateTime.ToString("yyyy-MM-dd HH:mm") }; if (users.FirstOrDefault(r => r.Id == item.OrderUserId) == null) { viewAdminReward.OrderUser = new User(); } if (users.FirstOrDefault(r => r.Id == item.UserId) == null) { viewAdminReward.OrderUser = new User(); } result.Add(viewAdminReward); } return(PagedList <ViewAdminReward> .Create(result, count, userInput.PageSize, userInput.PageIndex)); }
public float GetCurrentReward() { RewardInput.SafeCopyToHost(); if (this.SumRewards) { float reward = 0; for (int i = 0; i < RewardInput.Count; i++) { reward += RewardInput.Host[i]; } return(reward); } else { return(RewardInput.Host[0]); } }
public override Empty Reward(RewardInput input) { var novelInfo = State.NovelInfos[input.NovelId]; // Transfer tokens from user. State.TokenContract.TransferFrom.Send(new TransferFromInput { From = Context.Sender, To = Context.Self, Amount = input.Amount, Symbol = State.SubscribeTokenSymbol.Value }); var currentReward = State.RewardStatus[Context.Sender][novelInfo.PublisherAddress]; State.RewardStatus[Context.Sender][novelInfo.PublisherAddress] = currentReward.Add(input.Amount); return(new Empty()); }
public IList <Reward> GetRewardList(RewardInput userInput, out long count) { if (userInput.PageIndex < 0) { throw new ArgumentNullException("pageIndex", "pageindex has to be greater than 1"); } if (userInput.PageSize > 100) { userInput.PageSize = 100; } var sqlWhere = string.Empty; //if (userInput.BeginAmount.HasValue) // sqlWhere = $"{sqlWhere} AND BeginAmount={(decimal)userInput.BeginAmount}"; //if (userInput.EndAmount.HasValue) // sqlWhere = $"{sqlWhere} AND EndAmount={(decimal)userInput.EndAmount}"; //if (userInput.EneTime.HasValue) // sqlWhere = $"{sqlWhere} AND CreateTime> '{userInput.EneTime}' "; //if (!userInput.MoneyTypeId.IsGuidNullOrEmpty()) // sqlWhere = $"{sqlWhere} AND MoneyTypeId= '{userInput.MoneyTypeId}' "; //if (userInput.Serial.IsNullOrEmpty()) // sqlWhere = $"{sqlWhere} AND Serial='{userInput.Serial}' "; if (userInput.UserId > 0) { sqlWhere = $"{sqlWhere} AND UserId='{userInput.UserId}' "; } if (userInput.OrderId > 0) { sqlWhere = $"{sqlWhere} AND OrderId='{userInput.OrderId}' "; } if (!userInput.ModuleId.IsGuidNullOrEmpty()) { sqlWhere = $"{sqlWhere} AND ModuleId='{userInput.ModuleId}' "; } if (userInput.ModuleConfigId > 0) { sqlWhere = $"{sqlWhere} AND ModuleConfigId='{userInput.ModuleConfigId}' "; } var sqlCount = $"SELECT COUNT(Id) [Count] FROM [Share_Reward] where 1=1 {sqlWhere}"; count = RepositoryContext.ExecuteScalar(sqlCount)?.ConvertToLong() ?? 0; var result = new List <Reward>(); var sql = $@"SELECT TOP {userInput.PageSize} * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY id desc) AS RowNumber,[Id] ,[UserId] ,[OrderUserId] ,[OrderId],[MoneyTypeId],[Amount] ,[AfterAmount] ,[ModuleId],[RuleId] ,[Intro],[CreateTime] ,[Status] FROM [Share_Reward] where 1=1 {sqlWhere} ) as A WHERE RowNumber > {userInput.PageSize}*({userInput.PageIndex}-1) "; using (var dr = RepositoryContext.ExecuteDataReader(sql)) { while (dr.Read()) { result.Add(ReadReward(dr)); } } return(result); }