You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

315 lines
9.6 KiB
C#

using DS.Module.Core;
using DS.Module.Core.Extensions;
using DS.Module.UserModule;
using DS.WMS.Core.Code.Dtos;
using DS.WMS.Core.Sys.Dtos;
using DS.WMS.Core.Sys.Entity;
using SqlSugar;
namespace DS.WMS.Core.Sys.Interface;
/// <summary>
///
/// </summary>
public interface ICommonService
{
/// <summary>
/// 登录
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
DataResult<string> UserLogin(UserLoginModel model);
/// <summary>
/// 获取用户信息
/// </summary>
/// <returns></returns>
DataResult<CurrentUserViewModel> GetUserInfo();
/// <summary>
/// 查询用户拥有的菜单权限
/// </summary>
/// <returns></returns>
DataResult<List<RouteItem>> GetUserPermissionByToken();
/// <summary>
/// 后台端刷新Token
/// </summary>
/// <returns></returns>
DataResult<RefreshTokenRes> UserRefreshToken();
/// <summary>
/// 客户端刷新Token
/// </summary>
/// <returns></returns>
DataResult<RefreshTokenRes> ClientUserRefreshToken();
/// <summary>
/// 客户登录
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
Task<DataResult<string>> ClientUserLogin(UserLoginModel model);
/// <summary>
/// 用户登录 邮箱
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public Task<DataResult<string>> ClientUserEmailLogin(UserEmailLoginModel model);
/// <summary>
/// 用户登录 手机号
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public Task<DataResult<string>> ClientUserPhoneLogin(UserPhoneLoginModel model);
/// <summary>
/// 获取用户信息-客户
/// </summary>
/// <returns></returns>
Task<DataResult<CurrentUserViewModel>> GetClientUserInfo();
/// <summary>
/// 更换机构
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public DataResult<RefreshTokenRes> ChangeOrg(string id);
/// <summary>
/// 查询客户用户拥有的菜单权限
/// </summary>
/// <returns></returns>
Task<DataResult<List<RouteItem>>> GetClientUserPermissionByToken();
/// <summary>
/// 获取客户端按钮权限
/// </summary>
/// <returns></returns>
public Task<DataResult<string[]>> GetClientUserPermissionCode();
/// <summary>
/// 获取角色下拉列表
/// </summary>
/// <returns></returns>
DataResult<List<ApiSelectViewModel>> GetRoleList();
/// <summary>
/// 获取指定用户下拉列表
/// </summary>
/// <returns></returns>
public DataResult<List<ApiSelectViewModel>> GetUserList(string queryKey = "");
/// <summary>
/// 获取机构下拉列表
/// </summary>
/// <returns></returns>
DataResult<List<OrgApiSelectViewModel>> GetOrgList(string queryKey = "");
/// <summary>
/// 获取商品类型下拉列表
/// </summary>
/// <returns></returns>
DataResult<List<ApiSelectViewModel>> GetGoodsTypeList();
/// <summary>
/// 获取商品类型下拉列表-客户端
/// </summary>
/// <returns></returns>
DataResult<List<ApiSelectViewModel>> GetClientGoodsTypeList();
/// <summary>
/// 获取客户数据权限列表
/// </summary>
/// <returns></returns>
public DataResult<List<ClientPermissionRes>> GetClientPermissionList();
/// <summary>
/// 修改密码
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public DataResult ChangePassword(ChangePasswordReq model);
/// <summary>
/// 租户注册
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public DataResult TenantRegister(TenantRegisterReq req);
/// <summary>
/// 获取数据权限字段
/// </summary>
/// <returns></returns>
DataResult<List<EntityFieldProperty>> GetDataRuleEntityFields(string permissionId);
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public ISugarQueryable<T> GetDataRuleFilter<T>();
/// <summary>
/// 获取操作规则条件组
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public List<IConditionalModel> GetOperationRuleConditional<T>();
/// <summary>
/// 获取权限树列表-客户端
/// </summary>
/// <returns></returns>
public DataResult<List<PermissionTreeList>> GetClientPermissionTreeList();
/// <summary>
/// 获取表及视图
/// </summary>
/// <returns></returns>
public DataResult<List<DbTableInfo>> GetTables();
/// <summary>
/// 获取列字段
/// </summary>
/// <param name="tableViewName">表名</param>
/// <returns></returns>
public DataResult<List<DbColumnInfo>> GetColumns(string tableViewName);
/// <summary>
/// 获取表及视图-按客户
/// </summary>
/// <returns></returns>
public DataResult<List<DbTableInfo>> GetTablesByClient();
/// <summary>
/// 获取列字段-按客户
/// </summary>
/// <param name="tableViewName">表名</param>
/// <returns></returns>
public DataResult<List<DbColumnInfo>> GetColumnsByClient(string tableViewName);
/// <summary>
/// 获取用户字段设置
/// </summary>
/// <param name="permissionId"></param>
/// <param name="tagNo">标识序号</param>
/// <returns></returns>
public DataResult<SysFieldSet> GetUserFieldSet(string permissionId, int tagNo = 0);
/// <summary>
/// 更新用户字段设置
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public DataResult UpdateUserFieldSet(UserFieldSetUpdateReq req);
/// <summary>
/// 获取最新业务单据编码
/// </summary>
/// <returns></returns>
public DataResult<string> GetSequenceNext<T>();
/// <summary>
/// 获取最新业务单据编码
/// </summary>
/// <returns></returns>
public Task<DataResult<string>> GetSequenceNextAsync<T>(SqlSugarScopeProvider tenantDb, IUser user, long saleId = 0, DateTime? date = null);
/// <summary>
/// 获取最新业务单据编码(锁)
/// </summary>
public DataResult<string> GetSequenceNext<T>(SqlSugarScopeProvider tenantDb, IUser user, long saleId = 0, DateTime? date = null);
/// <summary>
/// 获取字典明细
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
DataResult GetDictTypeDropDown(DropDownDictTypeInput model);
/// <summary>
/// 批量获取字典值
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
DataResult<List<DictOptions>> GetDictOptions(DropDownDictTypeInput model);
/// <summary>
/// 获取国家信息下拉列表
/// </summary>
/// <returns></returns>
public DataResult<List<CodeCountrySelectRes>> GetCountrySelectList();
/// <summary>
/// 获取国家信息下拉列表-客户端
/// </summary>
/// <returns></returns>
public DataResult<List<CodeCountrySelectRes>> GetClientCountrySelectList();
/// <summary>
/// 获取航线信息下拉列表
/// </summary>
/// <returns></returns>
public DataResult<List<CodeLanesSelectRes>> GetLanesSelectList();
/// <summary>
/// 获取航线信息下拉列表-客户端
/// </summary>
/// <returns></returns>
public DataResult<List<CodeLanesSelectRes>> GetClientLanesSelectList();
/// <summary>
/// 获取港口信息下拉列表
/// </summary>
/// <returns></returns>
public DataResult<List<CodePortSelectRes>> GetPortSelectList();
/// <summary>
/// 获取港口信息下拉列表-客户端
/// </summary>
/// <returns></returns>
public Task<DataResult<List<CodePortSelectRes>>> GetClientPortSelectList(string queryKey = "");
/// <summary>
/// 获取付费方式下拉列表-客户端
/// </summary>
/// <returns></returns>
public DataResult<List<CodeFrtSelectRes>> GetClientFrtSelectList();
/// <summary>
/// 获取结算方式下拉列表-客户端
/// </summary>
/// <returns></returns>
public DataResult<List<CodeStlModeSelectRes>> GetClientStlModeSelectList();
/// <summary>
/// 获取业务来源下拉列表-客户端
/// </summary>
/// <returns></returns>
public DataResult<List<CodeSourceSelectRes>> GetClientSourceSelectList();
/// <summary>
/// 获取业务来源明细下拉列表-客户端
/// </summary>
/// <returns></returns>
public DataResult<List<CodeSourceDetailSelectRes>> GetClientSourceDetailSelectList(string id);
/// <summary>
/// 更新任务台用户字段设置
/// </summary>
Task<DataResult> UpdateUserTaskPlatFieldSet(UserFieldSetUpdateReq req);
/// <summary>
/// 批量获取任务台用户字段设置
/// </summary>
Task<DataResult<List<SysFieldSetTaskPlatResultDto>>> GetUserTaskPlatFieldSet(SysFieldSetTaskPlatQueryDto query);
/// <summary>
/// 获取当前用户的可视权限范围
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="tenantDb"></param>
/// <returns></returns>
public Task<(ISugarQueryable<T> queryable, string? ruleScope)> GetVisibleDataRuleFilter<T>(SqlSugarScopeProvider tenantDb);
/// <summary>
/// 获取当前用户的可视权限范围
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="tenantDb"></param>
/// <returns></returns>
public Task<(List<IConditionalModel>? contidions, string? ruleScope, List<IConditionalModel>? otherContidions)> GetSpecialVisibleDataRuleFilter<T>(ISugarQueryable<T> queryable, SqlSugarScopeProvider tenantDb);
}