添加项目文件。

This commit is contained in:
2023-03-13 15:00:34 +08:00
parent 42bf06ca3e
commit 1d73df3235
1205 changed files with 185078 additions and 0 deletions

View File

@@ -0,0 +1,78 @@
using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Entitys.System;
namespace JNPF.Systems.Interfaces.Permission;
/// <summary>
/// 业务契约:操作权限.
/// </summary>
public interface IAuthorizeService
{
/// <summary>
/// 当前用户模块权限.
/// </summary>
/// <param name="userId">用户ID.</param>
/// <param name="isAdmin">是否超管.</param>
/// <param name="roleIds">用户角色Ids.</param>
/// <param name="systemIds">当前系统Ids .</param>
/// <returns></returns>
Task<List<ModuleEntity>> GetCurrentUserModuleAuthorize(string userId, bool isAdmin, string[] roleIds, string[] systemIds);
/// <summary>
/// 当前用户模块按钮权限.
/// </summary>
/// <param name="userId">用户ID.</param>
/// <param name="isAdmin">是否超管.</param>
/// <param name="roleIds">用户角色Ids.</param>
/// <returns></returns>
Task<List<ModuleButtonEntity>> GetCurrentUserButtonAuthorize(string userId, bool isAdmin, string[] roleIds);
/// <summary>
/// 当前用户模块列权限.
/// </summary>
/// <param name="userId">用户ID.</param>
/// <param name="isAdmin">是否超管.</param>
/// <param name="roleIds">用户角色Ids.</param>
/// <returns></returns>
Task<List<ModuleColumnEntity>> GetCurrentUserColumnAuthorize(string userId, bool isAdmin, string[] roleIds);
/// <summary>
/// 当前用户模块权限资源.
/// </summary>
/// <param name="userId">用户ID.</param>
/// <param name="isAdmin">是否超管.</param>
/// <param name="roleIds">用户角色Ids.</param>
/// <returns></returns>
Task<List<ModuleDataAuthorizeSchemeEntity>> GetCurrentUserResourceAuthorize(string userId, bool isAdmin, string[] roleIds);
/// <summary>
/// 当前用户模块表单权限.
/// </summary>
/// <param name="userId">用户ID.</param>
/// <param name="isAdmin">是否超管.</param>
/// <param name="roleIds">用户角色Ids.</param>
/// <returns></returns>
Task<List<ModuleFormEntity>> GetCurrentUserFormAuthorize(string userId, bool isAdmin, string[] roleIds);
/// <summary>
/// 获取权限项ids.
/// </summary>
/// <param name="roleId">角色id.</param>
/// <param name="itemType">项类型.</param>
/// <returns></returns>
Task<List<string>> GetAuthorizeItemIds(string roleId, string itemType);
/// <summary>
/// 是否存在权限资源.
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
Task<bool> GetIsExistModuleDataAuthorizeScheme(string[] ids);
/// <summary>
/// 获取权限列表.
/// </summary>
/// <param name="objectId">对象主键.</param>
/// <returns></returns>
Task<List<AuthorizeEntity>> GetAuthorizeListByObjectId(string objectId);
}

View File

@@ -0,0 +1,50 @@
using JNPF.Systems.Entitys.Permission;
namespace JNPF.Systems.Interfaces.Permission;
/// <summary>
/// 业务契约:部门管理.
/// </summary>
public interface IDepartmentService
{
/// <summary>
/// 获取部门列表.
/// </summary>
/// <returns></returns>
Task<List<OrganizeEntity>> GetListAsync();
/// <summary>
/// 部门名称.
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
string GetDepName(string id);
/// <summary>
/// 公司名称.
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
string GetComName(string id);
/// <summary>
/// 公司结构树.
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
string GetOrganizeNameTree(string id);
/// <summary>
/// 公司id.
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
string GetCompanyId(string id);
/// <summary>
/// 获取公司下所有部门.
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<List<OrganizeEntity>> GetCompanyAllDep(string id);
}

View File

@@ -0,0 +1,19 @@
using JNPF.Common.Models.User;
namespace JNPF.Systems.Interfaces.Permission;
/// <summary>
/// 分级管理
/// 版 本V3.2.5
/// 版 权拓通智联科技有限公司http://www.tuotong-tech.com
/// 日 期2021.09.27.
/// </summary>
public interface IOrganizeAdministratorService
{
/// <summary>
/// 获取用户数据范围.
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
Task<List<UserDataScopeModel>> GetUserDataScopeModel(string userId);
}

View File

@@ -0,0 +1,82 @@
using JNPF.Systems.Entitys.Dto.Organize;
using JNPF.Systems.Entitys.Permission;
namespace JNPF.Systems.Interfaces.Permission;
/// <summary>
/// 机构管理
/// 组织架构:公司》部门》岗位》用户
/// 版 本V3.0.0
/// 版 权拓通智联科技有限公司http://www.tuotong-tech.com
/// 日 期2021.06.07.
/// </summary>
public interface IOrganizeService
{
/// <summary>
/// 是否机构主管.
/// </summary>
/// <param name="userId">用户ID.</param>
/// <returns></returns>
Task<bool> GetIsManagerByUserId(string userId);
/// <summary>
/// 获取机构列表
/// 提供给其他服务使用.
/// </summary>
/// <returns></returns>
Task<List<OrganizeEntity>> GetListAsync();
/// <summary>
/// 获取公司列表
/// 提供给其他服务使用.
/// </summary>
/// <returns></returns>
Task<List<OrganizeEntity>> GetCompanyListAsync();
/// <summary>
/// 下属机构.
/// </summary>
/// <param name="organizeId">机构ID.</param>
/// <param name="isAdmin">是否管理员.</param>
/// <returns></returns>
Task<string[]> GetSubsidiary(string organizeId, bool isAdmin);
/// <summary>
/// 下属机构.
/// </summary>
/// <param name="organizeId">组织ID.</param>
/// <returns></returns>
Task<List<string>> GetSubsidiary(string organizeId);
/// <summary>
/// 根据节点Id获取所有子节点Id集合包含自己.
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<List<string>> GetChildIdListWithSelfById(string id);
/// <summary>
/// 获取机构成员列表.
/// </summary>
/// <param name="organizeId">机构ID</param>
/// <returns></returns>
Task<List<OrganizeMemberListOutput>> GetOrganizeMemberList(string organizeId);
/// <summary>
/// 部门信息.
/// </summary>
Task<OrganizeEntity> GetInfoById(string Id);
/// <summary>
/// 处理组织树 名称.
/// </summary>
/// <returns></returns>
List<OrganizeEntity> GetOrgListTreeName();
/// <summary>
/// 获取组织下所有子组织.
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<List<string>> GetChildOrgId(string id);
}

View File

@@ -0,0 +1,29 @@
using JNPF.Systems.Entitys.Permission;
namespace JNPF.Systems.Interfaces.Permission;
/// <summary>
/// 业务契约:岗位管理.
/// </summary>
public interface IPositionService
{
/// <summary>
/// 获取信息.
/// </summary>
/// <param name="id">主键值.</param>
/// <returns></returns>
Task<PositionEntity> GetInfoById(string id);
/// <summary>
/// 获取岗位列表.
/// </summary>
/// <returns></returns>
Task<List<PositionEntity>> GetListAsync();
/// <summary>
/// 获取名称.
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
string GetName(string ids);
}

View File

@@ -0,0 +1,8 @@
namespace JNPF.Systems.Interfaces.Permission;
/// <summary>
/// 业务契约:角色信息.
/// </summary>
public interface IRoleService
{
}

View File

@@ -0,0 +1,27 @@
using JNPF.Extras.CollectiveOAuth.Models;
using JNPF.Extras.CollectiveOAuth.Request;
using JNPF.Systems.Entitys.Dto.Socials;
using JNPF.Systems.Entitys.Model.Permission.SocialsUser;
using Microsoft.AspNetCore.Mvc;
namespace JNPF.Systems.Interfaces.Permission;
/// <summary>
/// 业务契约:第三方登录.
/// </summary>
public interface ISocialsUserService
{
AuthCallbackNew SetAuthCallback(string code, string state);
IAuthRequest GetAuthRequest(string authSource, string userId, bool isLogin, string ticket, string tenantId);
List<SocialsUserListOutput> GetLoginList(string ticket);
Task<string> Binding([FromQuery] SocialsUserInputModel model);
Task<dynamic> GetSocialsUserInfo([FromQuery] SocialsUserInputModel model);
Task<SocialsUserInfo> GetUserInfo(string source, string uuid, string socialName);
string GetSocialUuid(AuthResponse res);
}

View File

@@ -0,0 +1,8 @@
namespace JNPF.Systems.Interfaces.Permission;
/// <summary>
/// 业务契约:用户分组管理.
/// </summary>
public interface IUserGroupService
{
}

View File

@@ -0,0 +1,73 @@
using JNPF.Common.Filter;
using JNPF.Systems.Entitys.Dto.User;
using JNPF.Systems.Entitys.Permission;
namespace JNPF.Systems.Interfaces.Permission;
/// <summary>
/// 业务契约:用户关系.
/// </summary>
public interface IUserRelationService
{
/// <summary>
/// 删除.
/// </summary>
/// <param name="id">用户ID.</param>
/// <returns></returns>
Task Delete(string id);
/// <summary>
/// 创建用户关系.
/// </summary>
/// <param name="userId">用户ID.</param>
/// <param name="ids">对象ID组.</param>
/// <param name="relationType">关系类型(岗位-Position;角色-Role;组织-Organize;分组-Group;).</param>
/// <returns></returns>
List<UserRelationEntity> CreateUserRelation(string userId, string ids, string relationType);
/// <summary>
/// 创建用户关系.
/// </summary>
/// <param name="input">新增数据.</param>
/// <returns></returns>
Task Create(List<UserRelationEntity> input);
/// <summary>
/// 根据用户主键获取列表.
/// </summary>
/// <param name="userId">用户主键.</param>
/// <returns></returns>
Task<List<UserRelationEntity>> GetListByUserId(string userId);
/// <summary>
/// 获取用户.
/// </summary>
/// <param name="type">关系类型.</param>
/// <param name="objId">对象ID.</param>
/// <returns></returns>
List<string> GetUserId(string type, string objId);
/// <summary>
/// 获取用户.
/// </summary>
/// <param name="type">关系类型.</param>
/// <param name="objId">对象ID.</param>
/// <returns></returns>
List<string> GetUserId(List<string> objId, string type = null);
/// <summary>
/// 获取用户(分页).
/// </summary>
/// <param name="userIds">用户ID组.</param>
/// <param name="objIds">对象ID组.</param>
/// <param name="pageInputBase">分页参数.</param>
/// <returns></returns>
dynamic GetUserPage(UserConditionInput input, ref bool hasCandidates);
/// <summary>
/// 新用户组件获取人员.
/// </summary>
/// <param name="Ids"></param>
/// <returns></returns>
Task<List<string>> GetUserId(List<string> Ids);
}

View File

@@ -0,0 +1,8 @@
namespace JNPF.Systems.Interfaces.Permission;
/// <summary>
/// 业务契约:个人资料管理.
/// </summary>
public interface IUsersCurrentService
{
}

View File

@@ -0,0 +1,89 @@
using JNPF.Common.Models.User;
using JNPF.Systems.Entitys.Permission;
using System.Linq.Expressions;
namespace JNPF.Systems.Interfaces.Permission;
/// <summary>
/// 业务契约:用户信息.
/// </summary>
public interface IUsersService
{
/// <summary>
/// 获取用户信息 根据用户ID.
/// </summary>
/// <param name="userId">用户ID.</param>
/// <returns></returns>
UserEntity GetInfoByUserId(string userId);
/// <summary>
/// 获取用户信息 根据用户ID.
/// </summary>
/// <param name="userId">用户ID.</param>
/// <returns></returns>
Task<UserEntity> GetInfoByUserIdAsync(string userId);
/// <summary>
/// 根据用户账户.
/// </summary>
/// <param name="account">用户账户.</param>
/// <returns></returns>
Task<UserEntity> GetInfoByAccount(string account);
/// <summary>
/// 获取用户信息 根据登录信息.
/// </summary>
/// <param name="account">用户账户.</param>
/// <param name="password">用户密码.</param>
/// <returns></returns>
Task<UserEntity> GetInfoByLogin(string account, string password);
/// <summary>
/// 根据用户姓名获取用户ID.
/// </summary>
/// <param name="realName">用户姓名.</param>
/// <returns></returns>
Task<string> GetUserIdByRealName(string realName);
/// <summary>
/// 获取用户名.
/// </summary>
/// <param name="userId">用户id.</param>
/// <param name="isAccount">是否显示账号.</param>
/// <returns></returns>
Task<string> GetUserName(string userId, bool isAccount = true);
/// <summary>
/// 获取用户列表.
/// </summary>
Task<List<UserEntity>> GetList();
/// <summary>
/// 用户岗位.
/// </summary>
/// <param name="PositionIds"></param>
/// <returns></returns>
Task<List<PositionInfoModel>> GetPosition(string PositionIds);
/// <summary>
/// 表达式获取用户.
/// </summary>
/// <param name="expression">where 条件表达式.</param>
/// <returns></returns>
Task<UserEntity> GetUserByExp(Expression<Func<UserEntity, bool>> expression);
/// <summary>
/// 表达式获取用户列表.
/// </summary>
/// <param name="expression">where 条件表达式.</param>
/// <returns></returns>
Task<List<UserEntity>> GetUserListByExp(Expression<Func<UserEntity, bool>> expression);
/// <summary>
/// 表达式获取指定字段的用户列表.
/// </summary>
/// <param name="expression">where 条件表达式.</param>
/// <param name="select">select 选择字段表达式.</param>
/// <returns></returns>
Task<List<UserEntity>> GetUserListByExp(Expression<Func<UserEntity, bool>> expression, Expression<Func<UserEntity, UserEntity>> select);
}