From 2d3b575ed96eee7ccd5b324baa3135d2236934ac Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 13 十一月 2026 16:39:37 +0800
Subject: [PATCH] 【市一】1、登录服务问题处理 2、电话挂断问题处理 3、查询报错问题处理
---
ruoyi-common/src/main/java/com/ruoyi/common/aspectj/SetOrgIdAspect.java | 44 +++++++++++++++++++++++++++++++++++---------
1 files changed, 35 insertions(+), 9 deletions(-)
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/aspectj/SetOrgIdAspect.java b/ruoyi-common/src/main/java/com/ruoyi/common/aspectj/SetOrgIdAspect.java
index 354ceeb..8fb88bc 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/aspectj/SetOrgIdAspect.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/aspectj/SetOrgIdAspect.java
@@ -2,13 +2,16 @@
import com.ruoyi.common.annotation.AddOrgId;
import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.core.service.IConfigService;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.lang.reflect.Field;
@@ -25,6 +28,9 @@
{
private static final Logger log = LoggerFactory.getLogger(SetOrgIdAspect.class);
+ @Autowired
+ private IConfigService sysConfigService;
+
@Before("@annotation(setOrgId)")
public void setOrgId(JoinPoint joinPoint, AddOrgId setOrgId) throws Throwable
{
@@ -36,6 +42,21 @@
{
String orgid = loginUser.getUser().getOrgid();
String campusid = loginUser.getUser().getCampusid();
+ boolean allCampusUser = false;
+ //鏄剧ず鎵�鏈夐櫌鍖烘潈闄�
+ String allCampus = sysConfigService.selectConfigByKey("sys.authority.campus.all");
+ if (StringUtils.isNotEmpty(allCampus)) {
+ String userName = loginUser.getUser().getUserName();
+ if (StringUtils.isNotEmpty(userName)) {
+ for (String item : allCampus.split("[,锛�;锛沑\s]+")) {
+ if (userName.equals(item.trim())) {
+ campusid = null;
+ allCampusUser = true;
+ break;
+ }
+ }
+ }
+ }
// 鑾峰彇鏂规硶鍙傛暟
Object[] args = joinPoint.getArgs();
@@ -62,17 +83,22 @@
}
// 濡傛灉闇�瑕佸悓鏃惰缃甤ampusid
- if (setOrgId.withCampusId() && campusid != null)
+ if (setOrgId.withCampusId())
{
String campusFieldName = setOrgId.campusField();
-
- // 妫�鏌ュ瓧娈垫槸鍚﹀凡缁忔湁鍊硷紝濡傛灉鏈変笖skipIfPresent涓簍rue锛屽垯璺宠繃璁剧疆
- Object currentValueCampus = getFieldValue(param, campusFieldName);
- if (setOrgId.skipIfPresent() && currentValueCampus != null && !currentValueCampus.toString().isEmpty()) {
- // 濡傛灉瀛楁宸茬粡鏈夊�间笖skipIfPresent涓簍rue锛屽垯璺宠繃璁剧疆
- log.debug("瀛楁 {} 宸叉湁鍊�: {}锛岃烦杩囪缃�", campusFieldName, currentValueCampus);
- } else {
- setFieldValue(param, campusFieldName, campusid);
+ if (allCampusUser) {
+ // 鍏ㄩ櫌鍖烘潈闄愬繀椤昏鐩栬姹傞噷鍙兘甯﹁繘鏉ョ殑 campusid锛�
+ // 鍚﹀垯鍓嶇浼� campusid=8 浼氶噸鏂版妸闄㈠尯鏉′欢鍔犲洖鍘汇��
+ setFieldValue(param, campusFieldName, null);
+ } else if (campusid != null) {
+ // 妫�鏌ュ瓧娈垫槸鍚﹀凡缁忔湁鍊硷紝濡傛灉鏈変笖skipIfPresent涓簍rue锛屽垯璺宠繃璁剧疆
+ Object currentValueCampus = getFieldValue(param, campusFieldName);
+ if (setOrgId.skipIfPresent() && currentValueCampus != null && !currentValueCampus.toString().isEmpty()) {
+ // 濡傛灉瀛楁宸茬粡鏈夊�间笖skipIfPresent涓簍rue锛屽垯璺宠繃璁剧疆
+ log.debug("瀛楁 {} 宸叉湁鍊�: {}锛岃烦杩囪缃�", campusFieldName, currentValueCampus);
+ } else {
+ setFieldValue(param, campusFieldName, campusid);
+ }
}
}
}
--
Gitblit v1.9.3