Forráskód Böngészése

feat:单点跳转第三方增加额外参数处理逻辑

韩帛霖 1 éve
szülő
commit
3a25d1ea8e

+ 10 - 12
zkqy-framework/src/main/java/com/zkqy/framework/sso_oauth2/controller/OauthController.java

@@ -116,7 +116,12 @@ public class OauthController {
         if (StringUtils.isNoneBlank(status)) {
             params = params + "&status=" + status;
         }
-//        request.getSession().setAttribute(Constants.SESSION_USER, sysUser);
+        // 放
+        request.getSession().setAttribute(Constants.SESSION_USER, sysUser);
+        // 取
+        SysUser user = (SysUser) request.getSession().getAttribute(Constants.SESSION_USER);
+        System.err.println(user);
+        System.err.println(sysUser);
         // 存放redis用户信息数据
         redisCache.setCacheObject(authorizationCode, sysUser);
         return AjaxResult.success(authorizationCode, params);
@@ -130,7 +135,8 @@ public class OauthController {
     public String getAuthorize(HttpServletRequest request) {
         String key = request.getParameter("key");
         String tenantCode = request.getParameter("tenantCode");
-        Object user = request.getParameter(Constants.SESSION_USER);
+        // 取
+        SysUser user = (SysUser) request.getSession().getAttribute(Constants.SESSION_USER);
         if (key != null && !key.isEmpty()) {
             SysUser sysUser = redisService.get(key);
             String clientIdStr = request.getParameter("client_id");
@@ -144,15 +150,14 @@ public class OauthController {
                 String queryString = url.getQuery();
                 // 解析查询参数
                 Map<String, String> params = parseQueryParameters(queryString);
-
                 // 修改或添加参数
                 params.put("code", authorizationCode);
                 params.put("status", status);
+                params.put("params", request.getParameter("params"));  // 增加第三方所需参数字段
                 // 封装新的查询参数为字符串
                 String newQueryString = buildQueryString(params);
-                // 构造新的URL(这里仅演示字符串拼接,不实际创建URL对象)
+                // 构造新的URL
                 UrlString = url.getProtocol() + "://" + url.getHost() + ":" + url.getPort() + url.getPath() + "?" + newQueryString;
-
                 // redisService.delete(key);
                 return "redirect:" + UrlString;
             } catch (MalformedURLException e) {
@@ -163,13 +168,6 @@ public class OauthController {
 
         } else {
             return "redirect:" + REDIRECT_URL + "/login?tenantCode=" + tenantCode;
-            /*
-            作为一个参数
-            redirect_uri:http://nbxl.tpddns.cn:4000/index?hideTitle=1&third=1
-            浏览器解析之后就变成两个参数了
-            redirect_uri:http://nbxl.tpddns.cn:4000/index?hideTitle=1
-            third:1
-             */
         }
     }
 

+ 4 - 4
zkqy-process-execution/src/main/java/com/zkqy/execution/produce/dispersed/runbpm/PreExecutionToolClass.java

@@ -557,10 +557,10 @@ public class PreExecutionToolClass<R> {
                 String sqlKey = taskNodeFromContentJson.get("sqlKey").toString();
                 //根据sqlKey查询表单数据
 
-//                if (!sqlKey.isEmpty()) {
-//                    Map<String, String> tableSqlBySqlKey = executeNodeFormMapper.getTableSqlBySqlKey(sqlKey);
-//                    hashMap.put("resultMap", tableSqlBySqlKey);
-//                }
+                // if (!sqlKey.isEmpty()) {
+                // Map<String, String> tableSqlBySqlKey = executeNodeFormMapper.getTableSqlBySqlKey(sqlKey);
+                // hashMap.put("resultMap", tableSqlBySqlKey);
+                // }
 
                 //得到【df_form_sql】
                 String dfFormSql = taskNodeFromContentJson.get("dfFormSql").toString();

+ 0 - 1
zkqy-process-execution/src/main/java/com/zkqy/execution/produce/dispersed/service/impl/BpmExecuteProcessServiceImpl.java

@@ -82,7 +82,6 @@ public class BpmExecuteProcessServiceImpl implements IBpmExecuteProcessService {
         if (StringUtils.isNotEmpty(dictDataList)) {
             Map<String, Object> objectMap = new HashMap<>();  // 查询执行管道的参数
             objectMap.putAll(convertEntityToMap(bpmExecuteProcess));
-
             if (!bpmExecuteProcess.getTaskProcessType().equals("1")) {  // 审批类型
                 dictDataList.forEach(item -> {
                     objectMap.put(item.getDictLabel(), item.getDictValue());

+ 1 - 0
zkqy-ui/src/layout/components/Sidebar/SidebarItem.vue

@@ -102,6 +102,7 @@ export default {
             query.key = window.localStorage.getItem("setoauthUUID" + this.userInfo.name);
             query.tenantCode = this.userInfo.tenant.tenantCode
             query.redirect_uri = encodeURIComponent(query.redirect_uri);
+            query.params = encodeURIComponent(query.params);
             console.log(query)
             let baseURL = this.basePath
             Object.keys(query).forEach((key, index) => {