| | |
| | | var env = App.GetConfig<string>("Environment"); |
| | | if (env != "Local") |
| | | { |
| | | var tasks = await GetTasks(env); |
| | | var tasks = await GetTasks(); |
| | | var enterpriseIds = tasks.DistinctSelect(it => it.EnterpriseId); |
| | | var taskIds = tasks.DistinctSelect(it => it.Id); |
| | | var taskUsers = await GetTaskUsers(taskIds); |
| | |
| | | /// <returns></returns> |
| | | private async Task<UserWalletTransaction> AddUserWalletTransactionWithdraw(UserWallet wallet, TaskInfo task, TaskInfoUser user) |
| | | { |
| | | wallet.Balance -= user.ActualSettlementAmount ?? 0; |
| | | await repUserWallet.UpdateNowAsync(wallet); |
| | | |
| | | var order = new UserWalletTransaction(); |
| | | order.WalletId = wallet.Id; |
| | | order.Type = EnumUserWalletTransactionType.Withdraw; |
| | |
| | | order.TransactionStatus = EnumWalletTransactionStatus.Dealing; |
| | | await SetCode(order); |
| | | await repUserWalletTransaction.InsertNowAsync(order); |
| | | |
| | | wallet.Balance -= user.ActualSettlementAmount ?? 0; |
| | | await repUserWallet.UpdateNowAsync(wallet); |
| | | |
| | | return order; |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | /// <param name="env"></param> |
| | | /// <returns></returns> |
| | | private async Task<List<TaskInfo>> GetTasks(string env) |
| | | private async Task<List<TaskInfo>> GetTasks() |
| | | { |
| | | var now = DateTime.Now; |
| | | var q = rep.AsQueryable() |
| | | .Include(it => it.Enterprise) |
| | | .Where(it => it.SettlementStatus == EnumTaskSettlementStatus.InProcess); |
| | | var minTime = env == "Test" |
| | | var minTime = App.GetConfig<string>("Task:SettlementTime") == "T0" |
| | | ? now.AddMinutes(-5) |
| | | : now.AddDays(-1); |
| | | q = q.Where(it => it.SettlementStartTime.HasValue && it.SettlementStartTime < minTime); |