using Fuel.Core.Entity; using FuelServer.Core.Entity; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Fuel.Application.Service { public class UserService : IUserService { public readonly IFreeSql _fsql; public UserService(IFreeSql fsql) { _fsql = fsql; } public users ValidateCredentials(string username, string password) { return _fsql.Select().Where(_ => _.Account == username && _.Password == password).First(); } /// /// 获取权限 /// /// 1 超级管理员 /// public List GetUserPermissions(int userId = 1) { var Permission = _fsql.Select() .LeftJoin((a, b, c, d) => a.Id == b.UserId) .LeftJoin((a, b, c, d) => b.RoleId == c.RoleId) .LeftJoin((a, b, c, d) => c.PermissionId == d.Id) .Where((a, b, c, d) => a.Id == userId) .ToList((a, b, c, d) => new { d }); var permissionList = new List(); foreach (var permission in Permission) { if (permission.d != null) permissionList.Add(permission.d.Code); } permissionList.Add("Nozzle:uploadNozzle:POST"); permissionList.Add("Nozzle:UpdateNozzle:PUT"); permissionList.Add("Nozzle:DeleteNozzle:Delete"); permissionList.Add("Nozzle:UpdateNozzleStatus:PUT"); permissionList.Add("Nozzle:uploadProduct:POST"); permissionList.Add("Nozzle:UpdateProduct:Put"); permissionList.Add("Nozzle:DeleteProduct:Delete"); permissionList.Add("Nozzle:GetFuelNozzleInfoByExternalId:GET"); permissionList.Add("Nozzle:GetFuelNozzleInfoById:GET"); permissionList.Add("Nozzle:uploadTanks:POST"); permissionList.Add("Nozzle:UpdateTanks:Put"); permissionList.Add("Nozzle:DeleteTanks:Delete"); permissionList.Add("Nozzle:NozzleAuthorization:GET"); permissionList.Add("Nozzle:UpdateNozzleAuthorization:PUT"); permissionList.Add("Nozzle:UpdateCancelNozzleAuthorization:PUT"); permissionList.Add("Nozzle:CancelNozzleAuthorization:GET"); permissionList.Add("Transactions:CreateTransactions:POST"); permissionList.Add("Transactions:UnifiedOrder:POST"); permissionList.Add("Transactions:NozzleAuthorization:GET"); permissionList.Add("Transactions:GetMiniProgramTransactionsUnpaidQuery:GET"); permissionList.Add("Transactions:GetMiniProgramTransactionsUnpaidNozzle:GET"); permissionList.Add("Transactions:GetMiniProgramTransactionsPaidQuery:GET"); permissionList.Add("Transactions:RefundTrx:POST"); permissionList.Add("Transactions:WXFindOrders:GET"); permissionList.Add("Transactions:SendMessage:POST"); permissionList.Add("Transactions:GetTransactions:POST"); permissionList.Add("Transactions:GetPrepaymentTransactions:POST"); permissionList.Add("Site:AddMiniprogramUser:POST"); permissionList.Add("Site:GetSiteInfo:GET"); permissionList.Add("Site:GetSiteInformationAndConfiguration:GET"); permissionList.Add("Site:AddSite:POST"); return permissionList; } public List GetSitePermissions(string Appid) { var Permission = _fsql.Select() .LeftJoin((a, b, c, d, e) => a.Id == b.OauthApplyID) .LeftJoin((a, b, c, d, e) => b.OauthRoleID == c.Id) .LeftJoin((a, b, c, d, e) => c.Id == d.RoleId) .LeftJoin((a, b, c, d, e) => d.PermissionId == e.Id) .Where((a, b, c, d, e) => a.Appid == Appid) .ToList((a, b, c, d, e) => new { e }); var permissionList = new List(); foreach (var permission in Permission) { if (permission.e != null) permissionList.Add(permission.e.Code); } permissionList.Add("Nozzle:uploadNozzle:POST"); permissionList.Add("Nozzle:UpdateNozzle:PUT"); permissionList.Add("Nozzle:DeleteNozzle:Delete"); permissionList.Add("Nozzle:UpdateNozzleStatus:PUT"); permissionList.Add("Nozzle:uploadProduct:POST"); permissionList.Add("Nozzle:UpdateProduct:Put"); permissionList.Add("Nozzle:DeleteProduct:Delete"); permissionList.Add("Nozzle:GetFuelNozzleInfoByExternalId:GET"); permissionList.Add("Nozzle:GetFuelNozzleInfoById:GET"); permissionList.Add("Nozzle:uploadTanks:POST"); permissionList.Add("Nozzle:UpdateTanks:Put"); permissionList.Add("Nozzle:DeleteTanks:Delete"); permissionList.Add("Nozzle:NozzleAuthorization:GET"); permissionList.Add("Nozzle:UpdateNozzleAuthorization:PUT"); permissionList.Add("Nozzle:UpdateCancelNozzleAuthorization:PUT"); permissionList.Add("Nozzle:CancelNozzleAuthorization:GET"); permissionList.Add("Transactions:CreateTransactions:POST"); permissionList.Add("Transactions:UnifiedOrder:POST"); permissionList.Add("Transactions:NozzleAuthorization:GET"); permissionList.Add("Transactions:GetMiniProgramTransactionsUnpaidQuery:GET"); permissionList.Add("Transactions:GetMiniProgramTransactionsUnpaidNozzle:GET"); permissionList.Add("Transactions:GetMiniProgramTransactionsPaidQuery:GET"); permissionList.Add("Transactions:RefundTrx:POST"); permissionList.Add("Transactions:WXFindOrders:GET"); permissionList.Add("Transactions:SendMessage:POST"); permissionList.Add("Transactions:GetTransactions:POST"); permissionList.Add("Transactions:GetPrepaymentTransactions:POST"); permissionList.Add("Site:AddMiniprogramUser:POST"); permissionList.Add("Site:GetSiteInfo:GET"); permissionList.Add("Site:GetSiteInformationAndConfiguration:GET"); permissionList.Add("Site:AddSite:POST"); return permissionList; } public Task GetUsers() { return null; } } }