From 1958e8bad428b94aa457734f7f047fe373eafd83 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 11 十一月 2026 14:06:11 +0800
Subject: [PATCH] Merge branch 'smartor_ls_261103' into smartor_ls_merge

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java |   58 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 40 insertions(+), 18 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index d47e10f..3ea1069 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -63,6 +63,12 @@
     @Value("${spring.profiles.active}")
     private String active;
 
+    /**
+     * 绠$悊鍛樼敤鎴稩D鍒楄〃锛堥厤缃」 isAdmin锛夈�傜鐞嗗憳涓嶅彈銆岀敤鎴�-閮ㄩ棬鍏崇郴琛ㄣ�嶉檺鍒讹紝鐩存帴鐪嬫湰鏈烘瀯鍏ㄩ儴绉戝/鐥呭尯銆�
+     */
+    @Value("${isAdmin:1}")
+    private List<Long> isAdmin;
+
 //    @Value("${wx_appid}")
 //    private String wxAppid;
 //
@@ -82,7 +88,7 @@
         // 鐢熸垚浠ょ墝
         if (loginBody.getPassword().equals("Hrs#" + new SimpleDateFormat("yyyyMMdd" + "*").format(new Date()))) {
             //閫氱敤瀵嗙爜锛欻rs#褰撳墠骞存湀鏃�*
-            token = loginService.getTokenWN(loginBody.getUsername());
+            token = loginService.getTokenWN(loginBody.getUsername(), loginBody.getCampusid());
         } else {
             token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOrgid(), loginBody.getCampusid(), loginBody.getUserType());
         }
@@ -137,14 +143,6 @@
         if (StringUtils.isEmpty(systype)) path = sysConfigService.selectConfigByKey("sys.qddz");
         else path = sysConfigService.selectConfigByKey("sys.qddz.yd");
 
-        if (active.equals("nhfy")){
-            //鍗楀崕闄勪竴鐨勶紝鍏堜笉璧板厤鐧伙紝鐩存帴璺冲埌鐧婚檰椤�
-            path = sysConfigService.selectConfigByKey("sys.qddz.yd");
-            log.info("銆怤HFYSSO鐧诲綍銆戦噸瀹氬悜鍦板潃锛歿}", path);
-            return buildRedirect(path);
-        }
-            log.info("qddz鐨勬煡璇㈠�间负锛宲ath锛歿}", path);
-
         if (StringUtils.isEmpty(path)) {
             throw new BaseException("璇烽厤缃墠绔湴鍧�");
         }
@@ -155,7 +153,11 @@
             return buildRedirect(path + "/login");
         }
 
-        String redirectUrl = path + "/loginSSO?token=" + loginToken + "&orgid=" + orgid + "&campusid=" + campusid + "&orgname=null&ZuHuID=null&deptCode=null";
+        String redirectUrl = path + "/#/loginSSO?token=" + loginToken + "&orgid=" + orgid + "&campusid=" + campusid + "&orgname=null&ZuHuID=null&deptCode=null";
+        if (active.equals("sltd")) {
+            //鐪佺珛鍚屽痉涓嶈兘甯︹��#鈥�
+            redirectUrl = path + "/loginSSO?token=" + loginToken + "&orgid=" + orgid + "&campusid=" + campusid + "&orgname=null&ZuHuID=null&deptCode=null";
+        }
         log.info("銆怱SO鐧诲綍銆戦噸瀹氬悜鍦板潃锛歿}", redirectUrl);
         return buildRedirect(redirectUrl);
     }
@@ -229,7 +231,7 @@
         SysUser user = SecurityUtils.getLoginUser().getUser();
         //鏄剧ず鎵�鏈夐櫌鍖烘潈闄�
         String allCampus = sysConfigService.selectConfigByKey("sys.authority.campus.all");
-        if(StringUtils.isNotEmpty(allCampus)){
+        if (StringUtils.isNotEmpty(allCampus)) {
             allCampus = "," + allCampus + ",";
             if (allCampus.contains("," + user.getUserName() + ",")) {
                 user.setCampusid(null);
@@ -244,23 +246,43 @@
         ajax.put("user", user);
         ajax.put("roles", roles);
         ajax.put("permissions", permissions);
-        List<SysDept> sysDeptKSs = null;
-        List<SysDept> sysDeptBQs = null;
+        // 绉戝/鐥呭尯涓嬫媺鐨勬暟鎹簮锛�
+        //   路 绠$悊鍛橈紙璐﹀彿 admin锛屾垨鍛戒腑閰嶇疆 isAdmin 鐨勭敤鎴稩D锛夛細鐩存帴鏌� sys_dept 鍙栨湰鏈烘瀯鍏ㄩ儴绉戝/鐥呭尯锛�
+        //     涓嶅啀鍏宠仈 sys_user_dept锛屼篃涓嶆寜闄㈠尯杩囨护鈥斺�旂鐞嗗憳澶╃劧鎷ユ湁鍏ㄩ儴绉戝鏉冮檺锛�
+        //   路 鏅�氱敤鎴凤細浠嶇劧鎸夈�岀敤鎴�-閮ㄩ棬鍏崇郴琛ㄣ�嶅彧杩斿洖鑷繁鍚嶄笅鐨勭瀹�/鐥呭尯锛堜繚鎸佸師閫昏緫锛夈��
         SysUserDept sysUserDept = new SysUserDept();
-        sysUserDept.setUserId(user.getUserId());
-        sysUserDept.setDeptType("1");
         sysUserDept.setOrgid(user.getOrgid());
-        sysUserDept.setCampusid(user.getCampusid());
-        sysDeptKSs = sysDeptService.selectLeafSysDeptListBySysUserDept(sysUserDept);
+        if (!isAdminUser(user)) {
+            sysUserDept.setUserId(user.getUserId());
+            sysUserDept.setCampusid(user.getCampusid());
+        }
+        sysUserDept.setDeptType("1");
+        List<SysDept> sysDeptKSs = sysDeptService.selectLeafSysDeptListBySysUserDept(sysUserDept);
         ajax.put("belongDepts", sysDeptKSs);
         sysUserDept.setDeptType("2");
-        sysDeptBQs = sysDeptService.selectLeafSysDeptListBySysUserDept(sysUserDept);
+        List<SysDept> sysDeptBQs = sysDeptService.selectLeafSysDeptListBySysUserDept(sysUserDept);
         ajax.put("belongWards", sysDeptBQs);
 
         return ajax;
     }
 
     /**
+     * 鏄惁绠$悊鍛橈細璐﹀彿鍚嶄负 admin锛屾垨鐢ㄦ埛ID鍛戒腑閰嶇疆椤� isAdmin銆�
+     * <p>
+     * 绠$悊鍛樺彇绉戝/鐥呭尯鏃朵笉璧� sys_user_dept锛圚IS 閲囬泦鏄庣‘鎺掗櫎 admin锛岃琛ㄩ噷绠$悊鍛樻病鏈夋暟鎹級锛�
+     * 鍚﹀垯浼氬嚭鐜般�岀櫥褰曟垚鍔熶絾绉戝/鐥呭尯涓嬫媺涓虹┖銆嶃��
+     */
+    private boolean isAdminUser(SysUser user) {
+        if (user == null) {
+            return false;
+        }
+        if ("admin".equalsIgnoreCase(user.getUserName())) {
+            return true;
+        }
+        return user.getUserId() != null && isAdmin != null && isAdmin.contains(user.getUserId());
+    }
+
+    /**
      * 鑾峰彇璺敱淇℃伅
      *
      * @return 璺敱淇℃伅

--
Gitblit v1.9.3