174 lines
5.1 KiB
C#
174 lines
5.1 KiB
C#
|
|
using APT.Infrastructure.Core;
|
|||
|
|
using APT.BaseData.Domain.Entities.FM;
|
|||
|
|
using Microsoft.AspNetCore.Mvc;
|
|||
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
|
|||
|
|
using APT.Utility;namespace APT.FM.WebApi.Controllers.Api.FM
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 用户组
|
|||
|
|
/// </summary>
|
|||
|
|
[Route("api/FM/UserGroup")]
|
|||
|
|
public class UserGroupController : AuthorizeApiController<T_FM_USER_GROUP>
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 查询
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="filter"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("Entities")]
|
|||
|
|
public JsonActionResult<IEnumerable<T_FM_USER_GROUP>> Entities([FromBody]KeywordFilter filter)
|
|||
|
|
{
|
|||
|
|
return WitEntities(null, filter);
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 查询
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="filter"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
///
|
|||
|
|
|
|||
|
|
[HttpPost, Route("OrderEntities")]
|
|||
|
|
public JsonActionResult<IEnumerable<T_FM_USER_GROUP>> OrderEntities([FromBody]KeywordFilter filter)
|
|||
|
|
{
|
|||
|
|
return WitOrderEntities(null, filter);
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 查询
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="pageFilter"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("Paged")]
|
|||
|
|
public PagedActionResult<T_FM_USER_GROUP> Paged([FromBody]KeywordPageFilter pageFilter)
|
|||
|
|
{
|
|||
|
|
return WitPaged(null, pageFilter);
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 查询
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="pageFilter"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("OrderPaged")]
|
|||
|
|
public PagedActionResult<T_FM_USER_GROUP> OrderPaged([FromBody]KeywordPageFilter pageFilter)
|
|||
|
|
{
|
|||
|
|
return WitOrderPaged(null, pageFilter);
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 删除
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="id"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpGet, Route("Delete")]
|
|||
|
|
public JsonActionResult<bool> Delete(string id)
|
|||
|
|
{
|
|||
|
|
return WitRealDelete(id);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 更新
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="id"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("Update")]
|
|||
|
|
public JsonActionResult<bool> Update([FromBody]T_FM_USER_GROUP entity)
|
|||
|
|
{
|
|||
|
|
return SafeExecute<bool>(() =>
|
|||
|
|
{
|
|||
|
|
var belongRoleGroups = entity.Nav_BelongRoleGroups;
|
|||
|
|
var belongRoles = entity.Nav_BelongRoles;
|
|||
|
|
var belongUserGroups = entity.Nav_BelongUserGroups;
|
|||
|
|
entity.Nav_BelongRoleGroups = null;
|
|||
|
|
entity.Nav_BelongRoles = null;
|
|||
|
|
entity.Nav_BelongUserGroups = null;
|
|||
|
|
|
|||
|
|
if (belongUserGroups != null && belongUserGroups.Any())
|
|||
|
|
belongUserGroups.ForEach(t => t.USER_GROUP_ID = entity.ID);
|
|||
|
|
if (belongRoleGroups != null && belongRoleGroups.Any())
|
|||
|
|
belongRoleGroups.ForEach(t => t.USER_GROUP_ID = entity.ID);
|
|||
|
|
if (belongRoles != null && belongRoles.Any())
|
|||
|
|
belongRoles.ForEach(t => t.USER_GROUP_ID = entity.ID);
|
|||
|
|
|
|||
|
|
List<Guid> deleteBelongRoleIds = new List<Guid>();
|
|||
|
|
List<Guid> deleteBelongRoleGroupIds = new List<Guid>();
|
|||
|
|
List<Guid> deleteBelongUserGroupsIds = new List<Guid>();
|
|||
|
|
|
|||
|
|
var dbEntity = this.GetEntity<T_FM_USER_GROUP>(entity.ID.ToString(), new string[] { "Nav_BelongRoleGroups", "Nav_BelongRoles", "Nav_BelongUserGroups" });
|
|||
|
|
if (dbEntity != null)
|
|||
|
|
{
|
|||
|
|
if (dbEntity.Nav_BelongRoleGroups != null)
|
|||
|
|
{
|
|||
|
|
dbEntity.Nav_BelongRoleGroups.ForEach(item =>
|
|||
|
|
{
|
|||
|
|
if (belongRoleGroups==null||!belongRoleGroups.Any(i => i.ID == item.ID))
|
|||
|
|
deleteBelongRoleGroupIds.Add(item.ID);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
if (dbEntity.Nav_BelongRoles != null)
|
|||
|
|
{
|
|||
|
|
dbEntity.Nav_BelongRoles.ForEach(item =>
|
|||
|
|
{
|
|||
|
|
if (belongRoles == null||!belongRoles.Any(i => i.ID == item.ID))
|
|||
|
|
deleteBelongRoleIds.Add(item.ID);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
if (dbEntity.Nav_BelongUserGroups != null)
|
|||
|
|
{
|
|||
|
|
dbEntity.Nav_BelongUserGroups.ForEach(item =>
|
|||
|
|
{
|
|||
|
|
if (belongUserGroups==null||!belongUserGroups.Any(i => i.ID == item.ID))
|
|||
|
|
deleteBelongUserGroupsIds.Add(item.ID);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
UnifiedCommit(() =>
|
|||
|
|
{
|
|||
|
|
this.UpdateEntityNoCommit(entity);
|
|||
|
|
if (belongRoleGroups != null && belongRoleGroups.Any())
|
|||
|
|
this.BantchSaveEntityNoCommit(belongRoleGroups);
|
|||
|
|
if (belongRoles != null && belongRoles.Any())
|
|||
|
|
this.BantchSaveEntityNoCommit(belongRoles);
|
|||
|
|
if (belongUserGroups != null && belongUserGroups.Any())
|
|||
|
|
this.BantchSaveEntityNoCommit(belongUserGroups);
|
|||
|
|
|
|||
|
|
if (deleteBelongRoleIds.Any())
|
|||
|
|
this.DeleteEntityNoCommit<T_FM_USER_GROUP_BELONG_ROLE>(t => deleteBelongRoleIds.Contains(t.ID));
|
|||
|
|
if (deleteBelongRoleGroupIds.Any())
|
|||
|
|
this.DeleteEntityNoCommit<T_FM_USER_GROUP_BELONG_R_G>(t => deleteBelongRoleGroupIds.Contains(t.ID));
|
|||
|
|
if (deleteBelongUserGroupsIds.Any())
|
|||
|
|
this.DeleteEntityNoCommit<T_FM_USER_GROUP_BELONG_U_G>(t => deleteBelongUserGroupsIds.Contains(t.ID));
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
return true;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 批量删除
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="ids"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpGet, Route("BatchDelete")]
|
|||
|
|
public JsonActionResult<bool> BatchDelete(string ids)
|
|||
|
|
{
|
|||
|
|
return WitRealBatchDelete(ids);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 获得单条实体数据
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="filter"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("Get")]
|
|||
|
|
public JsonActionResult<T_FM_USER_GROUP> Get([FromBody] KeywordFilter filter)
|
|||
|
|
{
|
|||
|
|
return WitEntity(null, filter);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|