任务大厅--排行榜接口

用户修改接口修改
FileMonitor
洁 任 2024-11-14 11:14:37 +08:00
parent 922027b219
commit 2d28137fc3
5 changed files with 93 additions and 1 deletions

View File

@ -374,7 +374,8 @@ namespace OpenAuth.App
BizCode = requser.BizCode,
Name = requser.Name,
Sex = requser.Sex,
Status = requser.Status
Status = requser.Status,
HeadIcon = requser.HeadIcon,
}, u => u.Id == request.Id);
if (!string.IsNullOrEmpty(requser.Password)) //密码为空的时候,不做修改
{

View File

@ -76,5 +76,54 @@ namespace OpenAuth.App.ServiceApp.InsTaskHallManager
return query;
}
/// <summary>
/// 最佳牛马排行
/// </summary>
/// <param name="flag"></param>
/// <returns></returns>
public async Task<List<dynamic>> GetRankingList(string flag)
{
DateTime begindate = DateTime.Now;
if (flag == "week")
{
DateTime today = DateTime.Today; // 获取今天的日期
int diff = today.DayOfWeek - DayOfWeek.Monday;
// 如果是星期天DayOfWeek.Sunday 的值是 0调整为 -6
if (diff < 0)
{
diff += 7;
}
begindate= today.AddDays(-diff);
}
if (flag == "month")
{
begindate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-01"));
}
var query = await client.Queryable<InsTaskgroup>()
.Where(r => r.IsComplate == true && r.CompleteTime != null)
.WhereIF(flag!="total", r=> r.CompleteTime>=begindate)
.GroupBy(r => r.ReciveUserId)
.Select(r => new
{
count = SqlFunc.AggregateCount(r.Id),
userid=r.ReciveUserId
})
.MergeTable()
.LeftJoin<SysUser>((r, u) => r.userid == u.Id.ToString())
.OrderBy((r, u) => r.count)
.Select<dynamic>((r, u) => new
{
r.count,
r.userid,
u.Name,
u.HeadIcon
})
.ToListAsync();
return query;
}
}
}

View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OpenAuth.App.ServiceApp.InsTaskHallManager.Response
{
public class TaskRankingRes
{
}
}

View File

@ -93,5 +93,12 @@ namespace OpenAuth.Repository.Domain
/// </summary>
public string Remark {get;set;}
/// <summary>
/// Desc:完成时间
/// Default:
/// Nullable:False
/// </summary>
public DateTime? CompleteTime { get; set; }
}
}

View File

@ -58,5 +58,27 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
}
return result;
}
/// <summary>
/// 最佳牛马排行
/// </summary>
/// <param name="flag">标识周榜week月榜month总榜total</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<dynamic>>> GetRankingList(string flag)
{
var result = new Response<List<dynamic>>();
try
{
result.Result = await _app.GetRankingList(flag);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
}
}