分组增删改查及分配用户添加
parent
f2f1657060
commit
d50bc3e33b
|
|
@ -0,0 +1,14 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenAuth.App.BaseApp.SysGroupManager.Request
|
||||
{
|
||||
public class GroupUserReq
|
||||
{
|
||||
public string GroupId { get; set; }
|
||||
public List<string> UserIds { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,161 @@
|
|||
using Infrastructure;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using NetTaste;
|
||||
using OpenAuth.App.BaseApp.Base;
|
||||
using OpenAuth.App.BaseApp.SysGroupManager.Request;
|
||||
using OpenAuth.App.FormScheme.FormHelpers;
|
||||
using OpenAuth.App.Interface;
|
||||
using OpenAuth.App.Request;
|
||||
using OpenAuth.Repository;
|
||||
using OpenAuth.Repository.Domain;
|
||||
using SqlSugar;
|
||||
using StackExchange.Redis;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenAuth.App.BaseApp.SysGroupManager
|
||||
{
|
||||
public class SysGroupApp : SqlSugarBaseApp<SysGroup, SugarDbContext>
|
||||
{
|
||||
private readonly IConfiguration _configuration;
|
||||
private readonly ISqlSugarClient client;
|
||||
public SysGroupApp(ISugarUnitOfWork<SugarDbContext> unitWork,
|
||||
ISimpleClient<SysGroup> repository, IAuth auth, ISqlSugarClient sqlSugarClient,
|
||||
IConfiguration configuration) : base(unitWork, repository, auth)
|
||||
{
|
||||
_configuration = configuration;
|
||||
this.client = sqlSugarClient;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 分页获取列表数据
|
||||
/// </summary>
|
||||
/// <param name="keyword"></param>
|
||||
/// <param name="pageindex"></param>
|
||||
/// <param name="pagesize"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Response<PageInfo<List<SysGroup>>>> LoadGroupList(string keyword, int pageindex, int pagesize)
|
||||
{
|
||||
//定义且实例化分页数据
|
||||
RefAsync<int> totalCount = 0;
|
||||
//数据查询并返回
|
||||
var info = await this.Repository.AsQueryable()
|
||||
.WhereIF(!string.IsNullOrEmpty(keyword), t => t.Name.Contains(keyword))
|
||||
.OrderBy(t => t.Name)
|
||||
.ToPageListAsync(pageindex, pagesize, totalCount);
|
||||
return new Response<PageInfo<List<SysGroup>>>
|
||||
{
|
||||
Result = new PageInfo<List<SysGroup>>
|
||||
{
|
||||
Items = info,
|
||||
Total = totalCount
|
||||
}
|
||||
};
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取实体
|
||||
/// </summary>
|
||||
/// <param name="code">Id</param>
|
||||
/// <returns></returns>
|
||||
public Task<SysGroup> GetEntityById(string id)
|
||||
{
|
||||
return this.Repository.AsQueryable().FirstAsync(t => t.Id == id);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存(新增、修改)
|
||||
/// </summary>
|
||||
/// <param name="id">主键值</param>
|
||||
/// <param name="group">数据源实体</param>
|
||||
/// <returns></returns>
|
||||
public async Task<Response<bool>> SaveEntity(string id, SysGroup group)
|
||||
{
|
||||
var flag = false;
|
||||
//判断是更新还是添加
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
//判断是否名称重复
|
||||
SysGroup entity = await this.Repository.GetFirstAsync(t =>t.Name==group.Name&& t.Id != group.Id);
|
||||
if (entity != null)
|
||||
{
|
||||
return new Response<bool>
|
||||
{
|
||||
Result = flag,
|
||||
Message = "分组名称已存在"
|
||||
};
|
||||
}
|
||||
//更新数据
|
||||
flag = await base.Repository.UpdateAsync(u => new SysGroup
|
||||
{
|
||||
Name = group.Name,
|
||||
GroupLeaderId = group.GroupLeaderId,
|
||||
GroupLeaderName = group.GroupLeaderName,
|
||||
Remark = group.Remark
|
||||
}, u => u.Id == group.Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断名称是否重复
|
||||
SysGroup entity = await this.Repository.GetFirstAsync(t => t.Name == group.Name);
|
||||
if (entity != null)
|
||||
{
|
||||
return new Response<bool>
|
||||
{
|
||||
Result = flag,
|
||||
Message = "分组名称已存在"
|
||||
};
|
||||
}
|
||||
//添加数据
|
||||
group.Id = Guid.NewGuid().ToString();
|
||||
group.CreateTime = DateTime.Now;
|
||||
flag = await this.Repository.InsertAsync(group);
|
||||
}
|
||||
return new Response<bool>
|
||||
{
|
||||
Result = flag,
|
||||
Message = flag == true ? "success" : "error"
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除数据源
|
||||
/// </summary>
|
||||
/// <param name="id">主键</param>
|
||||
public async Task<Response<bool>> DeleteEntity(string id)
|
||||
{
|
||||
SysGroup entity = new SysGroup()
|
||||
{
|
||||
Id = id
|
||||
};
|
||||
var flag = await this.Repository.DeleteAsync(entity);
|
||||
return new Response<bool>
|
||||
{
|
||||
Result = flag,
|
||||
Message = flag == true ? "success" : "error"
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 为分组分配用户
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Response<bool>> AssignGroupUser(GroupUserReq model)
|
||||
{
|
||||
using (var uwo = UnitWork.CreateContext())
|
||||
{
|
||||
await uwo.SysGroupuser.DeleteAsync(a => a.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>
|
||||
{
|
||||
Result = flag,
|
||||
Message = flag == true ? "success" : "error"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -515,7 +515,7 @@ namespace OpenAuth.App
|
|||
{
|
||||
using (var uow = base.UnitWork.CreateContext())
|
||||
{
|
||||
foreach (var item in uow.Db.DbMaintenance.GetTableInfoList().Where(r => r.Name.ToLower().StartsWith("ins_")))
|
||||
foreach (var item in uow.Db.DbMaintenance.GetTableInfoList().Where(r => r.Name.ToLower().StartsWith("sys_group")))
|
||||
{
|
||||
string entityName = item.Name.Substring(0, 1).ToUpper() + item.Name.Substring(1, 2).ToLower() + item.Name.Substring(4, 1).ToUpper() + item.Name.Substring(5).ToLower();/*实体名大写*/
|
||||
//string entityName = "DroneCaseInfoSTHX";
|
||||
|
|
@ -525,7 +525,7 @@ namespace OpenAuth.App
|
|||
// db.MappingColumns.Add(col.DbColumnName.ToUpper() /*类的属性大写*/, col.DbColumnName, entityName);
|
||||
//}
|
||||
}
|
||||
uow.Db.DbFirst.Where(r => r.ToLower().StartsWith("ins_")).IsCreateAttribute().CreateClassFile("E:\\数据中心系统\\codegit\\OpenAuth.Repository\\Domain", "OpenAuth.Repository.Domain");
|
||||
uow.Db.DbFirst.Where(r => r.ToLower().StartsWith("sys_group")).IsCreateAttribute().CreateClassFile("E:\\数据中心系统\\codegit\\OpenAuth.Repository\\Domain", "OpenAuth.Repository.Domain");
|
||||
uow.Commit();
|
||||
}
|
||||
return "更新实体成功";
|
||||
|
|
|
|||
|
|
@ -76,7 +76,6 @@ namespace OpenAuth.App.ServiceApp.InsTaskHallManager
|
|||
return query;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 最佳牛马排行
|
||||
/// </summary>
|
||||
|
|
@ -125,5 +124,34 @@ namespace OpenAuth.App.ServiceApp.InsTaskHallManager
|
|||
return query;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 在办任务
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<List<dynamic>> GetTaskingList(string flag)
|
||||
{
|
||||
DateTime begindate = DateTime.Now;
|
||||
var query = await client.Queryable<InsTaskgroup>()
|
||||
.Where(r => r.IsComplate == false)
|
||||
.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,62 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using SqlSugar;
|
||||
|
||||
namespace OpenAuth.Repository.Domain
|
||||
{
|
||||
///<summary>
|
||||
///人员分组信息表
|
||||
///</summary>
|
||||
[SugarTable("sys_group")]
|
||||
public partial class SysGroup
|
||||
{
|
||||
public SysGroup(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:主键
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true)]
|
||||
public string Id {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:分组名称
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Name {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public DateTime? CreateTime {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:组长id
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GroupLeaderId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:组长名称
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GroupLeaderName {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:备注
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Remark {get;set;}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using SqlSugar;
|
||||
|
||||
namespace OpenAuth.Repository.Domain
|
||||
{
|
||||
///<summary>
|
||||
///
|
||||
///</summary>
|
||||
[SugarTable("sys_groupuser")]
|
||||
public partial class SysGroupuser
|
||||
{
|
||||
public SysGroupuser(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:分组id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true)]
|
||||
public string GroupId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:用户id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true)]
|
||||
public string UserId {get;set;}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -31,6 +31,7 @@ namespace OpenAuth.Repository
|
|||
public SugarRepositiry<SysCodeRuleSeed> SysCodeRuleSeed { get; set; }
|
||||
public SugarRepositiry<DbCodeColumns> DbCodeColumns { get; set; }
|
||||
public SugarRepositiry<DataSource> DataSource { get; set; }
|
||||
public SugarRepositiry<SysGroupuser> SysGroupuser { get; set; }
|
||||
|
||||
|
||||
public SugarRepositiry<SysDataItemDetail> SysDataItemDetail { get; set; }
|
||||
|
|
|
|||
|
|
@ -0,0 +1,112 @@
|
|||
using Infrastructure;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using OpenAuth.App.BaseApp.SysGroupManager;
|
||||
using OpenAuth.App.BaseApp.SysGroupManager.Request;
|
||||
using OpenAuth.App.ServiceApp.InsTaskHallManager;
|
||||
using OpenAuth.Repository.Domain;
|
||||
|
||||
namespace OpenAuth.WebApi.Controllers.BaseControllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 分组
|
||||
/// </summary>
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
public class SysGroupController : ControllerBase
|
||||
{
|
||||
private readonly SysGroupApp _app;
|
||||
public SysGroupController(SysGroupApp app)
|
||||
{
|
||||
_app = app;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 分页获取列表数据
|
||||
/// </summary>
|
||||
/// <param name="keyword">筛选条件</param>
|
||||
/// <param name="page">当前页</param>
|
||||
/// <param name="limit">每页条数</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<Response<PageInfo<List<SysGroup>>>> LoadGroupList(string keyword, int page = 1, int limit = 15)
|
||||
{
|
||||
return await _app.LoadGroupList(keyword, page, limit);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取单个分组信息
|
||||
/// </summary>
|
||||
/// <param name="id">主键</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<SysGroup> GetEntityById(string id)
|
||||
{
|
||||
return await _app.GetEntityById(id);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增分组
|
||||
/// </summary>
|
||||
/// <param name="id">主键值</param>
|
||||
/// <param name="group">数据源实体</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<Response<bool>> SaveEntity(string id, SysGroup group)
|
||||
{
|
||||
var result = new Response<bool>();
|
||||
try
|
||||
{
|
||||
result = await _app.SaveEntity(id, group);
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
result.Code = 500;
|
||||
result.Message = ex.InnerException?.Message ?? ex.Message;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除分组
|
||||
/// </summary>
|
||||
/// <param name="id">主键</param>
|
||||
[HttpPost]
|
||||
public async Task<Response<bool>> DeleteEntity(string id)
|
||||
{
|
||||
var result = new Response<bool>();
|
||||
try
|
||||
{
|
||||
result = await _app.DeleteEntity(id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
result.Code = 500;
|
||||
result.Message = ex.InnerException?.Message ?? ex.Message;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 给分组分配用户
|
||||
/// </summary>
|
||||
/// <param name="model">数据</param>
|
||||
[HttpPost]
|
||||
public async Task<Response<bool>> AssignGroupUser(GroupUserReq model)
|
||||
{
|
||||
var result = new Response<bool>();
|
||||
try
|
||||
{
|
||||
result = await _app.AssignGroupUser(model);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
result.Code = 500;
|
||||
result.Message = ex.InnerException?.Message ?? ex.Message;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue