diff --git a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs index 9fdd5303..fa0744ae 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs @@ -3,13 +3,16 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Reflection; +using System.Security.Claims; using System.Text; using System.Threading.Tasks; using Aspose.Cells.Drawing; using JNPF; using JNPF.Common.Contracts; +using JNPF.Common.Core.Manager; using JNPF.Common.Enums; using JNPF.Common.Extension; +using JNPF.DataEncryption; using JNPF.DependencyInjection; using JNPF.DynamicApiController; using JNPF.Systems.Interfaces.System; @@ -49,6 +52,19 @@ namespace Tnb.WarehouseMgr } } } + + protected Task GetUserIdentity() + { + var claims = JWTEncryption.ReadJwtToken(UserManager.AsscessToken)?.Claims; + ClaimsIdentity toKen = new ClaimsIdentity(); + foreach (Claim item in claims) + { + toKen.AddClaim(item); + } + var curUser = new ClaimsPrincipal(toKen); + return Task.FromResult(curUser); + } + /// /// 判断最终目标库位是否可以放置当前载具 /// diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs index c6141429..4247c6bd 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs @@ -4,18 +4,24 @@ using System.Data; using System.Data.Common; using System.Linq; using System.Linq.Expressions; +using System.Net.Http; +using System.Security.Claims; using System.Text; using System.Threading.Tasks; using System.Transactions; using Aop.Api.Domain; +using JNPF; +using JNPF.Common.Const; using JNPF.Common.Core.Manager; using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Enums; using JNPF.Common.Extension; using JNPF.Common.Security; +using JNPF.DataEncryption; using JNPF.FriendlyException; using JNPF.LinqBuilder; using JNPF.Logging; +using JNPF.Systems.Entitys.Permission; using JNPF.Systems.Interfaces.System; using Mapster; using Microsoft.AspNetCore.Http; @@ -61,6 +67,9 @@ namespace Tnb.WarehouseMgr [HttpPost] public async Task KittingOutByAdd(CancellationTokenSource? cts = default) { + if (UserManager.AsscessToken.IsNullOrWhiteSpace()) return; + var curUser = await GetUserIdentity(); + var curDb = _db.CopyNew(); try { @@ -114,8 +123,8 @@ namespace Tnb.WarehouseMgr setSortingH.id = SnowflakeIdHelper.NextId(); setSortingH.kittingout_id = ko.id; setSortingH.seq = ko.seq; - setSortingH.org_id = _userManager.User.OrganizeId; - setSortingH.create_id = _userManager.UserId; + setSortingH.org_id = curUser.FindFirst(ClaimConst.CLAINMORGID)?.Value; + setSortingH.create_id = curUser.FindFirst(ClaimConst.CLAINMUSERID)?.Value; setSortingH.create_time = DateTime.Now; await curDb.Insertable(setSortingH).ExecuteCommandAsync(); diff --git a/common/Tnb.Common.Core/Manager/User/UserManager.cs b/common/Tnb.Common.Core/Manager/User/UserManager.cs index d71c492f..bc1e0a60 100644 --- a/common/Tnb.Common.Core/Manager/User/UserManager.cs +++ b/common/Tnb.Common.Core/Manager/User/UserManager.cs @@ -21,7 +21,7 @@ namespace JNPF.Common.Core.Manager; /// /// 用户管理 . /// -public class UserManager : IUserManager, IScoped +public partial class UserManager : IUserManager, IScoped { /// /// 用户表仓储. @@ -76,7 +76,6 @@ public class UserManager : IUserManager, IScoped public UserEntity User { get => _repository.GetSingle(u => u.Id == UserId); - } /// diff --git a/common/Tnb.Common.Core/Manager/User/UserManager.part.cs b/common/Tnb.Common.Core/Manager/User/UserManager.part.cs new file mode 100644 index 00000000..75597582 --- /dev/null +++ b/common/Tnb.Common.Core/Manager/User/UserManager.part.cs @@ -0,0 +1,27 @@ +using JNPF.Common.Const; +using JNPF.Common.Enums; +using JNPF.Common.Extension; +using JNPF.Common.Manager; +using JNPF.Common.Models.Authorize; +using JNPF.Common.Models.User; +using JNPF.Common.Net; +using JNPF.Common.Security; +using JNPF.DataEncryption; +using JNPF.DependencyInjection; +using JNPF.Systems.Entitys.Entity.Permission; +using JNPF.Systems.Entitys.Permission; +using JNPF.Systems.Entitys.System; +using Mapster; +using Microsoft.AspNetCore.Http; +using SqlSugar; +using System.Security.Claims; + +namespace JNPF.Common.Core.Manager; + +/// +/// 用户管理 . +/// +public partial class UserManager +{ + public static string AsscessToken { get; set; } +} \ No newline at end of file diff --git a/system/Tnb.OAuth/OAuthService.cs b/system/Tnb.OAuth/OAuthService.cs index 5ea3a5dc..018cdee3 100644 --- a/system/Tnb.OAuth/OAuthService.cs +++ b/system/Tnb.OAuth/OAuthService.cs @@ -41,7 +41,6 @@ using JNPF.Common.Core.Handlers; using JNPF.Message.Interfaces.Message; using JNPF.Extras.DatabaseAccessor.SqlSugar.Models; using Aop.Api.Domain; -using Tnb.WarehouseMgr; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; @@ -606,6 +605,8 @@ public class OAuthService : IDynamicApiController, ITransient { ClaimConst.LOGINTYPE,input.login_type} }, tokenTimeout); + //modify by ly on 20230804 + UserManager.AsscessToken = accessToken; // 单点登录标识缓存 if (_oauthOptions.Enabled) _cacheManager.Set("OnlineTicket_" + input.online_ticket, options.ConfigId); diff --git a/system/Tnb.OAuth/Tnb.OAuth.csproj b/system/Tnb.OAuth/Tnb.OAuth.csproj index 418136aa..af2ae6c7 100644 --- a/system/Tnb.OAuth/Tnb.OAuth.csproj +++ b/system/Tnb.OAuth/Tnb.OAuth.csproj @@ -12,7 +12,6 @@ -