From 6b134d3bc1be69028749c90b32a98cdcb8c9b30b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Fri, 10 Oct 2025 10:54:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/service/impl/IfsApiServiceImpl.java | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gaotao/modules/api/service/impl/IfsApiServiceImpl.java b/src/main/java/com/gaotao/modules/api/service/impl/IfsApiServiceImpl.java index d853282..3dbc63a 100644 --- a/src/main/java/com/gaotao/modules/api/service/impl/IfsApiServiceImpl.java +++ b/src/main/java/com/gaotao/modules/api/service/impl/IfsApiServiceImpl.java @@ -10,7 +10,10 @@ import com.gaotao.modules.api.service.IfsApiService; import com.gaotao.modules.base.entity.SOScheduledRoutingData; import com.gaotao.modules.notify.entity.vo.ShopOrderMaterialVo; import com.gaotao.modules.notify.entity.vo.ShopOrderVo; +import com.gaotao.modules.sys.entity.SysUserEntity; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -22,7 +25,8 @@ import java.util.Map; public class IfsApiServiceImpl implements IfsApiService { @Value("${custom.ifs-url}") private String ifsUrl; - + @Value("${ldap-control.control-flag:false}") + private Boolean ldapFlag; @Value("${custom.ifs-ifsDBName}") private String ifsDBName; @@ -32,7 +36,7 @@ public class IfsApiServiceImpl implements IfsApiService { public List getShopOrderFromIFSWithOrderNo(IfsShopOrder data)throws Exception { Map params = Map.of( "ifsDBName", ifsDBName, - "domainUserID", domainUserID, + "domainUserID", getCurrentDomainUserID(), "ifsSiteID", data.getSite(), "ifsOrderNo", data.getOrderNo(), "ifsReleaseNo", data.getReleaseNo(), @@ -52,7 +56,7 @@ public class IfsApiServiceImpl implements IfsApiService { public List getSoBomWithOrderNo(IfsShopOrder data) throws JsonProcessingException { Map params = Map.of( "ifsDBName", ifsDBName, - "domainUserID", domainUserID, + "domainUserID", getCurrentDomainUserID(), "ifsSiteID", data.getSite(), "ifsOrderNo", data.getOrderNo(), "ifsReleaseNo", data.getReleaseNo(), @@ -71,7 +75,7 @@ public class IfsApiServiceImpl implements IfsApiService { public List getIfsInventoryPart(IfsInventoryPart data) throws JsonProcessingException{ Map params = Map.of( "ifsDBName", ifsDBName, - "domainUserID", domainUserID, + "domainUserID", getCurrentDomainUserID(), "ifsSiteID", data.getSite(), "ifsPartNo", data.getPartNo() ); @@ -83,4 +87,19 @@ public class IfsApiServiceImpl implements IfsApiService { return mapper.readValue(ifsResponse, new TypeReference>() { }); } + + private String getCurrentDomainUserID() { + if (ldapFlag) { + try { + SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); + if (currentUser != null && StringUtils.isNotBlank(currentUser.getDomainAccount())) { + return currentUser.getDomainAccount(); + } + } catch (Exception e) { + // 如果获取当前用户失败,使用默认配置 + } + } + return domainUserID; + } + }