Insight
continue 2024-11-21 13:15:03 +08:00
commit 46a4f8d899
3 changed files with 25 additions and 13 deletions

View File

@ -177,16 +177,22 @@ namespace OpenAuth.App.BaseApp.SysGroupManager
using (var uwo = UnitWork.CreateContext())
{
await uwo.SysGroupuser.DeleteAsync(a => a.GroupId == model.GroupId);
var group = client.Queryable<SysGroup>().Where(r => r.Id == model.GroupId).First();
if (group != null)
{
model.UserIds.Add(group.GroupLeaderId);
}
var data = client.Queryable<SysGroupuser>()
.LeftJoin<SysUser>((r,u)=>r.UserId==u.Id.ToString())
.Where((r, u) => model.UserIds.Contains(r.UserId))
.Where((r, u) => model.UserIds.Contains(r.UserId)&&r.GroupId!=model.GroupId)
.Select((r, u) => u)
.ToList();
if (data.Count > 0)
{
var names = string.Join(", ", data.Select(r => r.Name));
throw new Exception("成员" + names + "已分配小组,勿重复分配");
}
}
await uwo.SysGroupuser.DeleteAsync(r => r.GroupId == model.GroupId);
await uwo.SysGroupuser.InsertRangeAsync(model.UserIds.Select(a => new SysGroupuser { GroupId = model.GroupId, UserId = a }).ToList());
var flag = uwo.Commit();
return new Response<bool>

View File

@ -8,6 +8,7 @@ using Infrastructure.Extensions;
using OpenAuth.App.ServiceApp.InsTaskHallManager.Response;
using Infrastructure;
using OpenAuth.App.BaseApp;
using Moq;
namespace OpenAuth.App.ServiceApp.InsTaskHallManager
{
@ -82,22 +83,27 @@ namespace OpenAuth.App.ServiceApp.InsTaskHallManager
if (flag == "day")
{
DateTime today = DateTime.Now; // 获取今天的日期
//int diff = today.DayOfWeek - DayOfWeek.Monday;
//// 如果是星期天DayOfWeek.Sunday 的值是 0调整为 -6
//if (diff < 0)
//{
// diff += 7;
//}
begindate= today.Date;
}
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)
.WhereIF(!string.IsNullOrEmpty(flag), r=> r.CompleteTime>=begindate)
.GroupBy(r => r.ReciveUserId)
.Select(r => new
{
@ -146,7 +152,7 @@ namespace OpenAuth.App.ServiceApp.InsTaskHallManager
var list=await client.Queryable<SysUser>()
.Where(u=>userlist.Contains(u.Id.ToString()))
.LeftJoin(query ,(u,r) => r.userid == u.Id.ToString())
.OrderByDescending((u, r) => r.count)
.OrderByDescending((u, r) =>SqlFunc.IIF(r.count == null, 0, r.count))
.Select<dynamic>((u, r) => new
{
count=r.count==null?0:r.count,
@ -155,7 +161,7 @@ namespace OpenAuth.App.ServiceApp.InsTaskHallManager
u.HeadIcon
})
.ToListAsync();
return list;
}

View File

@ -65,7 +65,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
/// <summary>
/// 最佳牛马排行
/// </summary>
/// <param name="flag">标识日榜day月榜month总榜total</param>
/// <param name="flag">标识日榜day月榜month周榜week</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<dynamic>>> GetRankingList(string flag)