parent
922027b219
commit
2d28137fc3
|
|
@ -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)) //密码为空的时候,不做修改
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -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; }
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue