From 6f1e752bf00b584c8a17569578fa8e54cdb71b60 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 27 十月 2025 13:34:59 +0800
Subject: [PATCH] 处理选项不显示的问题
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 135 +++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 130 insertions(+), 5 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 918db98..4aebae5 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
@@ -4,21 +4,31 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.entity.SysUserDept;
import com.ruoyi.common.core.domain.model.LoginBody;
+import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.RSAPublicKeyExample;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.web.service.SysLoginService;
import com.ruoyi.framework.web.service.SysPermissionService;
+import com.ruoyi.system.service.ISysConfigService;
+import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysMenuService;
+import com.smartor.mapper.SysUserDeptMapper;
+import com.smartor.service.impl.ServiceSLTDHealthcareRecordServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.view.RedirectView;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.Set;
/**
@@ -36,7 +46,31 @@
private ISysMenuService menuService;
@Autowired
+ private ISysDeptService sysDeptService;
+
+ @Autowired
private SysPermissionService permissionService;
+
+ @Autowired
+ private ISysConfigService sysConfigService;
+
+
+ @Value("${pri_key}")
+ private String pri_key;
+
+ @Value("${isEncryp}")
+ private Integer isEncryp;
+
+
+ @Value("${sltd_pub_path}")
+ private String sltdPubPath;
+
+
+ @Value("${spring.profiles.active}")
+ private String active;
+
+ @Autowired
+ private SysUserDeptMapper sysUserDeptMapper;
/**
* 鐧诲綍鏂规硶
@@ -52,6 +86,72 @@
ajax.put(Constants.TOKEN, token);
return ajax;
}
+
+ /**
+ * 鍗曠偣鐧诲綍鏂规硶(闇�瑕侀厤缃甀P鐧藉悕鍗�)
+ * 闇�瑕佸湪sys_config琛ㄧ殑sys.ip.whitelis涓紝鍔犲叆IP鎵嶈兘璁块棶璇ユ柟娉�
+ * <p>
+ * 鍙傛暟鍚屾椂涓虹┖锛屼笉缁欐煡璇㈡暟鎹�
+ * <p>
+ * 銆愬叆鍙傝鍒欍��
+ * 濡傛灉userName涓嶄负绌猴紝閭rgid涔熶笉鑳戒负绌�
+ * 濡傛灉涓婇潰涓や釜涓虹┖锛岄偅token涓嶈兘涓虹┖
+ *
+ * @return 缁撴灉
+ */
+// @IpWhitelist
+ @GetMapping("/SSOLogin")
+ public RedirectView SSOLogin(@RequestParam(required = false) String userName, @RequestParam(required = false) String orgid, @RequestParam(required = false) String deptId, @RequestParam(required = false) String token) {
+ if (StringUtils.isEmpty(userName) && StringUtils.isEmpty(token)) {
+ throw new BaseException("鍙傛暟涓嶈兘涓虹┖");
+ }
+ log.info("--------杩涙柟娉曚簡鍚�?{}", token);
+ // 閲嶅畾鍚戝湴鍧�瀵硅薄(閲嶅畾鍚戝湴鍧�
+ RedirectView redirectView = new RedirectView();
+// if (active.equals("sltd")) {
+// Map<String, String> headers = buildRequestHeaders();
+// Map<String, String> requestParams = new HashMap<>();
+// requestParams.put("token", token);
+// String reqData = HttpUtil.postFormRequest(sltdPubPath + "/checkSsoTokenId", requestParams, headers, null);
+// log.info("銆�-----杩斿洖鐨勭粨鏋滀负銆戯細{}", reqData);
+// if (StringUtils.isEmpty(reqData)) {
+// throw new BaseException("token楠岃瘉澶辫触");
+// }
+//
+// Map<String, Object> map = JSONObject.parseObject(reqData, Map.class);
+// if (ObjectUtils.isEmpty(map) || (Integer) map.get("code") != 200) {
+// throw new BaseException("token楠岃瘉澶辫触");
+// }
+//
+// Map<String, Object> data = (Map<String, Object>) map.get("data");
+// //鍛樺伐缂栫爜
+// userName = (String) data.get("accountNo");
+// }
+ log.info("銆�-----------userName鐨勫�间负锛歿}銆�", userName);
+ // 鐢熸垚浠ょ墝
+ if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(orgid)) {
+ throw new BaseException("鐢ㄦ埛鍚嶆垨缁勭粐鏈烘瀯鎴栭儴闂ㄤ笉鑳戒负绌�");
+ }
+ if (isEncryp != null && isEncryp == 1) {
+ RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
+ userName = rsaPublicKeyExample.decryptedData(userName, pri_key);
+ }
+
+ String token2 = loginService.loginByUserName(userName + "&" + orgid + "&" + deptId);
+ if (StringUtils.isEmpty(token2)) {
+ throw new BaseException("鐧婚檰澶辫触");
+ }
+
+ String path = sysConfigService.selectConfigByKey("sys.qddz");
+ if (StringUtils.isEmpty(path)) {
+ throw new BaseException("璇烽厤缃墠绔湴鍧�");
+ }
+ log.info("鍗曠偣鐧婚檰閲嶅畾鍚戝湴鍧�涓猴細{}", path + "/loginSSO?token=" + token2 + "&orgid=" + orgid + "&orgname=''" + "&ZuHuID=''&deptCode=''");
+ redirectView.setUrl(path + "/loginSSO?token=" + token2 + "&orgid=" + orgid + "&orgname=null" + "&ZuHuID=null&deptCode=null");
+ redirectView.setStatusCode(HttpStatus.MOVED_PERMANENTLY);
+ return redirectView;
+ }
+
@GetMapping("/getToken")
public void getToken(HttpServletResponse response) throws IOException {
@@ -81,6 +181,18 @@
ajax.put("user", user);
ajax.put("roles", roles);
ajax.put("permissions", permissions);
+ List<SysUserDept> sysUserDeptKSs = null;
+ List<SysUserDept> sysUserDeptBQs = null;
+ SysUserDept sysUserDept = new SysUserDept();
+ sysUserDept.setUserId(user.getUserId());
+ sysUserDept.setDeptType("1");
+ sysUserDept.setOrgid(user.getOrgid());
+ sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+ ajax.put("belongDepts", sysUserDeptKSs);
+ sysUserDept.setDeptType("2");
+ sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+ ajax.put("belongWards", sysUserDeptBQs);
+
return ajax;
}
@@ -92,8 +204,21 @@
@GetMapping("getRouters")
public AjaxResult getRouters() {
Long userId = SecurityUtils.getUserId();
- log.error("----------getRouters鐨剈serId鍏ュ弬涓猴細{}", userId);
+ log.info("----------getRouters鐨剈serId鍏ュ弬涓猴細{}", userId);
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
return AjaxResult.success(menuService.buildMenus(menus));
}
+
+ @GetMapping("/getDept/{orgid}")
+ public AjaxResult getDept(@PathVariable String orgid) {
+ return AjaxResult.success(sysDeptService.selectDept(orgid));
+ }
+
+
+ private Map<String, String> buildRequestHeaders() {
+ Map<String, String> headers = new HashMap<>();
+// headers.put("Content-Type", "application/json");
+ headers.put("app-key", ServiceSLTDHealthcareRecordServiceImpl.APP_KEY);
+ return headers;
+ }
}
--
Gitblit v1.9.3