j/k naviguer • Ctrl+Home début

📊 Visualization ↑ Table of Contents

📊 Distribution by Severity

Number of issues per severity level (CRITICAL, HIGH, MEDIUM, LOW, INFO)

📂 Issues by Category

Number of issues per audit category (Security, Architecture, UI, UX, Maintenance) — not to be confused with severity above

📊 Findings by Language & Severity

Business Code vs Dependencies

🔬 Data flow path

📊 Findings par source

📈 Issues Evolution

HIGH / MEDIUM / LOW over 10 audits

Summary

73 High (HIGH)
1069 Medium (MEDIUM)
221 Low (LOW)

Trend

🔴567 new issues
0 resolved
796 persistent

Priority recommendations

P1 Fix the 73 high-risk vulnerabilities as a priority — short-term exploitation risk. Fix first: Path Traversal — tainted data used as a file path without validation (10 occurrence(s), verified exploitation flow), Secret logged (Java) (9 occurrence(s), verified exploitation flow), Open Redirect — tainted data used in redirect without URL validation (3 occurrence(s), verified exploitation flow).
P1 Vulnerabilities with verified exploitation path — absolute priority
P2 Plan correction of moderate risks in the next sprint
P2 Health score improving — maintain correction effort

📋 Summary ↑ Table of Contents

73
High (HIGH)
1069
Medium (MEDIUM)
221
Low (LOW)
176
Verified Good Practices
1363
📦 Business code
0
🔗 Dependencies
0%
🧪 Tests (0)
0%
🔬 Fixtures (0)
287.79s
⏱️ Audit Duration
Threat context (critical)
73 High (HIGH) — Time-to-Exploit (TTE): 4h (2024). Exposure window: 74 days (median MTTR). 28% of vulnerabilities exploited within 24h of disclosure.
General industry statistics (Zero Day Clock), not specific to this codebase. Source: Zero Day Clock (zerodayclock.com) — 83,000+ CVEs tracked
🔧 Technical Details
📋 Parameters

📋 Project

Name JeecgBoot v1.0.0
Description none
Identifier fc393c9d-2305-4f26-8b89-8be52f3f4d00
Path ~/JeecgBoot

📋 Audit Scope

Languages html, java, javascript, yaml
Scanned extensions javascript: .js, .jsx, .ts, .tsx, .mjs
html: .html, .htm, .xhtml, .shtml, .vue, .svelte, .ejs, .hbs, .njk, .jinja, .jinja2, .twig, .liquid, .mustache, .phtml, .erb, .jsp, .asp, .aspx, .cshtml
Analyzed directories . jeecg-boot-base-core/ jeecg-module-demo/ jeecg-module-system/ jeecg-server-cloud/
Excluded patterns **/node_modules/** **/__pycache__/** **/.venv/** **/venv/** **/vendor/** **/.git/** **/dist/** **/build/** **/src/main/resources/static/** **/bower_components/** **/*.min.js audit-reports/ audit-datas/
Mode Full
Filtered category all
Disabled rules none
Categories ✓ Security (×3) ✓ Architecture (×2) ✓ Interface (×1) ✓ User Experience (×1) ✓ Maintenance (×1)

⚙️ CLI Options

--quick Quick mode — security only
--fail-on-high Exit code 1 if HIGH vulnerabilities found
--sarif SARIF 2.1.0 export (GitHub Code Scanning, GitLab SAST)
--sbom CycloneDX SBOM generation (dependency inventory)
--lang Report language
--debug Debug logging (levels: info, detail, trace)
--with-tests Auto-detect and run project unit tests
--with-deps Dependency vulnerability scan (pip-audit, npm audit)
--severity Scan restricted to severity: {levels}

Top 10 Problematic Files

Ranked by severity score (CRITICAL×10, HIGH×5, MEDIUM×2, LOW×1)

1
.../org/jeecg/modules/system/controller/SysUserController.java
133
64 Medium5 Low
2
.../org/jeecg/modules/system/controller/SysPermissionController.java
105
52 Medium1 Low
3
...n/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java
88
1 High41 Medium1 Low
4
.../org/jeecg/modules/system/controller/CommonController.java
87
11 High16 Medium
5
...n/java/org/jeecg/common/system/query/QueryGenerator.java
73
33 Medium7 Low
6
.../org/jeecg/modules/system/controller/SysDictController.java
65
32 Medium1 Low
7
...rc/main/java/org/jeecg/common/aspect/DictAspect.java
53
26 Medium1 Low
8
.../src/main/java/org/jeecg/common/util/CommonUtils.java
51
2 High20 Medium1 Low
9
.../org/jeecg/modules/system/controller/SysCategoryController.java
51
25 Medium1 Low
10
.../org/jeecg/modules/system/controller/SysDepartController.java
50
24 Medium2 Low
📊

Comparison with baseline

2026-08-04-18-20 ↑ Table of Contents
📉
Regressed 567 added
Baseline 796
Current 1363
HIGH +30
Baseline 43
Current 73
MEDIUM +490
Baseline 579
Current 1069
LOW +47
Baseline 174
Current 221

➕ New issues 567

HIGH Path Traversal — tainted data used as a file path without validation jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:168
HIGH User-controlled input is used in an HTTP response header without sanitization — HTTP Response Splitting / Header Injection risk. jeecg-boot-base-core/src/main/java/org/jeecg/config/filter/WebsocketFilter.java:50
HIGH Unrestricted file upload (Java/Spring) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/oss/service/impl/OssFileServiceImpl.java:25
HIGH SQL Injection (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:283
HIGH Command Injection (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java:120
HIGH Command Injection (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java:141
HIGH Path Traversal — tainted data used as a file path without validation jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:101
HIGH Path Traversal — tainted data used as a file path without validation jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:139
HIGH Cross-Site Scripting — tainted data rendered in HTML without escaping jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:182
HIGH Path Traversal — tainted data used as a file path without validation jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:192
HIGH Path Traversal (FileInputStream) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:296
HIGH Unrestricted file upload (Java/Spring) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:145
HIGH Unrestricted file upload (Java/Spring) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:189
HIGH Path Traversal — tainted data used as a file path without validation jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:183
HIGH Path Traversal — tainted data used as a file path without validation jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:231
HIGH Path Traversal (FileInputStream) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:239
HIGH Path Traversal — tainted data used as a file path without validation jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:153
HIGH Unrestricted file upload (Java/Spring) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUploadController.java:53
HIGH Open Redirect — tainted data used in redirect without URL validation jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:415
HIGH Open Redirect — tainted data used in redirect without URL validation jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:352
HIGH Open Redirect — tainted data used in redirect without URL validation jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:75
HIGH cleartext_storage_class jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java:59
HIGH SQL injection via MyBatis ${} interpolation jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysDictMapper.java:98
HIGH cleartext_storage_class jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/model/SysLoginModel.java:17
HIGH Unrestricted file upload (Java/Spring) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:261
HIGH Path Traversal — tainted data used as a file path without validation jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:257
HIGH Unrestricted file upload (Java/Spring) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:145
HIGH Path Traversal — tainted data used as a file path without validation jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:269
HIGH Path Traversal — tainted data used as a file path without validation jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:140
HIGH SQL Injection — tainted data flows into a SQL query without parameterization jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobCodeController.java:77
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/PermissionDataAspect.java:71
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/controller/JeecgController.java:180
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:188
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:648
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:329
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:352
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestUtil.java:49
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SqlInjectionUtil.java:56
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/common/util/TokenUtils.java:70
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java:142
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/config/AutoPoiDictConfig.java:74
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/interceptor/DynamicDatasourceInterceptor.java:28
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthInterceptor.java:83
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthInterceptor.java:82
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthInterceptor.java:79
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthInterceptor.java:36
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java:44
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java:46
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/cloud/controller/JcloudDemoProviderController.java:29
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:254
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/online/OnlCgformDemoController.java:35
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/online/OnlCgformDemoController.java:85
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/online/OnlCgformDemoController.java:77
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/online/OnlCgformDemoController.java:84
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:220
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:76
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:302
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:304
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:74
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:320
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:307
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:305
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:303
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:75
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:251
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:308
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:321
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:322
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:73
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:319
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:252
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/config/FeignConfig.java:68
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java:758
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java:173
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java:172
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/controller/CasClientController.java:65
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/controller/CasClientController.java:61
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:52
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:43
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:73
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/monitor/service/impl/RedisServiceImpl.java:83
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ngalain/controller/NgAlainController.java:57
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ngalain/controller/NgAlainController.java:64
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ngalain/controller/NgAlainController.java:65
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ngalain/service/impl/NgAlainServiceImpl.java:56
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/oss/controller/OssFileController.java:58
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/oss/service/impl/OssFileServiceImpl.java:46
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:255
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:285
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:262
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:286
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:256
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:284
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:103
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/job/AsyncJob.java:29
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java:156
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java:172
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java:173
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java:157
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:203
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:256
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:202
MEDIUM toctou_race_condition jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:184
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:308
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:250
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:166
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:314
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:263
MEDIUM toctou_race_condition jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:140
MEDIUM toctou_race_condition jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:293
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:306
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:307
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:248
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:321
MEDIUM toctou_race_condition jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:232
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/DuplicateCheckController.java:97
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:203
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:527
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:533
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:309
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:532
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:384
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:105
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:360
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:146
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:438
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:318
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:445
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:145
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:352
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:352
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:439
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:504
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:212
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:288
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:108
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:87
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:90
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:88
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:89
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:107
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:362
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:131
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:288
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:302
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:344
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:308
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:297
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:271
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:383
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:345
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:532
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:531
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:301
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:384
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:361
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:270
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:533
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:363
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:278
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:276
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:290
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:303
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:130
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:382
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:343
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCommentController.java:101
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCommentController.java:100
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCommentController.java:99
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java:47
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java:48
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java:71
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java:46
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java:45
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java:72
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java:145
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java:124
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:190
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:91
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:302
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:166
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:446
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:573
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:293
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:165
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:189
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:90
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:447
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:303
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:498
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:445
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:499
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:118
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:138
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:139
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:572
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:119
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:164
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:452
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:292
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:421
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:243
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:212
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:268
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:270
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:242
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:300
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:224
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:223
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:299
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartRoleController.java:265
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartRoleController.java:277
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartRoleController.java:276
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:90
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:336
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:154
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:585
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:592
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:246
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:224
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:660
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:599
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:89
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:593
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:223
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:186
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:304
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:561
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:594
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:170
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:598
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:630
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:146
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:386
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:385
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:153
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:91
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:305
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:647
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:631
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:206
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:646
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:561
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:88
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:187
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictItemController.java:86
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictItemController.java:87
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysFillRuleController.java:195
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:73
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:72
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:75
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:74
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:352
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:392
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:983
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:371
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:141
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:142
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:414
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:193
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:522
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:170
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:499
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:205
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:354
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:391
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:434
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:923
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:922
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:541
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:353
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:985
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:888
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:413
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:567
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:569
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:961
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:521
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:432
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:207
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:941
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:464
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:902
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:889
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:465
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:307
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:455
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:942
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:433
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:456
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:169
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:113
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:960
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:372
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:500
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:540
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:903
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:206
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:228
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:229
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:306
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:112
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:305
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:227
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:160
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:161
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:273
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:280
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:274
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:117
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:232
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:116
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:275
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:356
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:357
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:454
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:407
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:362
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:278
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:355
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:146
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:453
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:302
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:419
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:147
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:418
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:299
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java:387
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java:388
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java:137
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java:138
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserAgentController.java:251
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserAgentController.java:258
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserAgentController.java:98
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserAgentController.java:99
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserAgentController.java:252
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:444
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:368
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:257
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:927
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:505
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1179
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:711
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1180
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:521
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:209
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1237
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:421
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1178
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1175
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:664
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1337
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:849
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:928
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:906
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:848
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:519
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:553
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1165
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1216
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1336
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:323
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1359
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1360
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1670
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1427
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1578
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:259
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:536
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:559
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:497
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:801
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1217
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:321
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:552
MEDIUM Excessive nesting depth (Java, 6+ levels) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:524
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:687
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:686
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:747
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:175
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:905
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:174
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1669
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:554
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:210
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:371
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:666
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:258
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:851
MEDIUM Excessive nesting depth (Java, 6+ levels) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:545
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:505
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:663
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:411
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:882
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:881
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1018
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:369
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:422
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:710
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1218
MEDIUM Non-constant public field (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java:43
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java:87
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java:57
MEDIUM Non-constant public field (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java:45
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java:116
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:382
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:418
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:376
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:413
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:83
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:136
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:80
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:422
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:74
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:351
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:71
MEDIUM Too many Java method parameters (6+) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysDictService.java:184
MEDIUM Too many Java method parameters (6+) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java:172
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java:54
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java:150
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java:79
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java:150
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:1034
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:222
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:337
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:637
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:982
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:425
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:402
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:499
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:567
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:566
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:673
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:122
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:476
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:355
MEDIUM Too many Java method parameters (6+) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:1014
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCategoryServiceImpl.java:229
MEDIUM Excessive nesting depth (Java, 6+ levels) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCheckRuleServiceImpl.java:76
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCheckRuleServiceImpl.java:52
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:282
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:94
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:232
MEDIUM toctou_race_condition jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:258
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java:52
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java:105
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java:53
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java:76
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java:106
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java:75
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartRolePermissionServiceImpl.java:34
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:862
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:69
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:806
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:795
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:497
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:595
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:523
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:862
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:595
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:792
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:84
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java:246
MEDIUM Too many Java method parameters (6+) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java:385
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java:286
MEDIUM Too many Java method parameters (6+) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java:308
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysGatewayRouteServiceImpl.java:90
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysGatewayRouteServiceImpl.java:87
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.java:123
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRolePermissionServiceImpl.java:65
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRolePermissionServiceImpl.java:39
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java:49
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java:51
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java:51
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java:49
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysTenantServiceImpl.java:442
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:90
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:300
MEDIUM Too many Java method parameters (6+) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:147
MEDIUM Too many Java method parameters (6+) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:246
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:193
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:286
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java:581
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java:397
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java:145
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserTenantServiceImpl.java:105
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserTenantServiceImpl.java:128
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:269
MEDIUM N+1 query (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:414
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:861
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:442
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:286
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:863
MEDIUM Excessive nesting depth (Java, 6+ levels) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:178
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:430
MEDIUM Excessive nesting depth (Java, 6+ levels) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:264
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:519
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:860
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:239
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:287
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:412
MEDIUM Excessive nesting depth (Java, 6+ levels) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:350
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:493
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:850
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:505
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:425
MEDIUM Excessive nesting depth (Java, 6+ levels) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:154
MEDIUM Verbose exception (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:852
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:265
MEDIUM Generic catch (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:849
MEDIUM Weak random (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/RandImageUtil.java:131
MEDIUM Weak Random (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/RandImageUtil.java:131
MEDIUM Weak Random (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/RandImageUtil.java:99
MEDIUM comparison_wider_type jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/RandImageUtil.java:113
MEDIUM Weak random (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/RandImageUtil.java:99
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/DegradeController.java:90
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/DegradeController.java:144
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/DegradeController.java:122
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/ParamFlowRuleController.java:207
MEDIUM Log Injection — tainted data written to logs without sanitization jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/ParamFlowRuleController.java:200
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java:1
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:1
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:1
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:169
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:127
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:1
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:1
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:214
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:199
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartRoleController.java:252
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:1
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictItemController.java:109
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:67
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:68
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:69
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:1
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:139
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:168
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:394
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java:1
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserAgentController.java:118
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1198
LOW System.out in production (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:385
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1414
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:412
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java:62
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:240
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:768
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:853
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:1
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:1
LOW System.out in production (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:283
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:598
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java:1
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.java:189
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysTenantServiceImpl.java:1
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:194
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java:321
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java:1
LOW Unresolved TODO/FIXME jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java:134
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:1
LOW File too long jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:1
LOW Java utility class without private constructor jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/PermissionDataUtil.java:14
LOW Java utility class without private constructor jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/RandImageUtil.java:16
LOW Java utility class without private constructor jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/XssUtils.java:12
LOW System.out in production (Java) jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/XssUtils.java:47

✅ Resolved issues 0

No resolved issues

🎓 Representative examples by category ↑ Table of Contents

The most frequent issue in each category, with a real instance detected in this project and the generic fix for this type of pattern.

🔒 Security & OWASP — Verbose exception (Java)

381 occurrence(s) detected in this category — jeecg-boot-base-core/src/main/java/org/jeecg/config/AutoPoiDictConfig.java:56

❌ Detected in your code
log.error(e.getMessage(),e);

💡 This rule flags a broader principle than just this snippet: Use a logging framework (SLF4J/Log4j2) with appropriate log levels. Never expose stack traces to users.. The example below illustrates the general fix principle, not necessarily your exact case.

✅ How to fix this type of pattern
logger.error("Error", e);
return Internal server error ;

🏗️ Architecture & Patterns — N+1 query (Java)

83 occurrence(s) detected in this category — jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:46

❌ Detected in your code
for (Field field : fields) {

💡 This rule flags a broader principle than just this snippet: Use batch fetching, JOIN FETCH, or @EntityGraph to load related entities in a single query.. The example below illustrates the general fix principle, not necessarily your exact case.

✅ How to fix this type of pattern
@EntityGraph(attributePaths = items )
List<Order> findAll(); // 1 query with JOIN

🔧 Maintenance & DRY — Generic catch (Java)

270 occurrence(s) detected in this category — jeecg-boot-base-core/src/main/java/org/jeecg/config/AutoPoiDictConfig.java:55

❌ Detected in your code
} catch (Exception e) {

💡 This rule flags a broader principle than just this snippet: Catch specific exception types. Use multi-catch if needed (catch (IOException | SQLException e)).. The example below illustrates the general fix principle, not necessarily your exact case.

✅ How to fix this type of pattern
catch (IOException e) { logger.error("IO error", e); }
🔍

Detected Issues 1363

↑ Table of Contents
💀

Critical (CRITICAL) 0 issue(s)

✅ No issues detected in this category.

🚨

High (HIGH) 73 issue(s)

📦

Business code

73
🛡️

Security & OWASP

73
Dockerfile runs as root 8
⚠️ Risk

Container runs as root user by default, increasing blast radius if compromised (CWE-250).

🛠️ Solution

Add a USER directive with a non-root user (e.g., USER appuser) after installing dependencies.

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Add a USER directive with a non-root user (e.g., USER appuser) after installing dependencies.
  3. ✅ Run the audit again to verify the finding is resolved

💡 Principle of least privilege, reduced container escape risk.

CWE-250 ISO A.8.2, A.8.9
🔧 Fix suggestion — Dockerfile runs as root
❌ Before
FROM node:20-alpine
RUN npm install
CMD ["node", app.js ]
✅ After
FROM node:20-alpine
RUN npm install
USER node
CMD ["node", app.js ]
Dockerfile runs as root 🛡️ Security & OWASP jeecg-server-cloud/jeecg-demo-cloud-start/Dockerfile:1 Dockerfile 🛡️ Builtin
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER jeecgos@163.com
Dockerfile runs as root 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/Dockerfile:1 Dockerfile 🛡️ Builtin
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER jeecgos@163.com
Dockerfile runs as root 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/Dockerfile:1 Dockerfile 🛡️ Builtin
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER jeecgos@163.com
Dockerfile runs as root 🛡️ Security & OWASP jeecg-server-cloud/jeecg-cloud-gateway/Dockerfile:1 Dockerfile 🛡️ Builtin
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER jeecgos@163.com
Dockerfile runs as root 🛡️ Security & OWASP jeecg-server-cloud/jeecg-system-cloud-start/Dockerfile:1 Dockerfile 🛡️ Builtin
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER jeecgos@163.com
Dockerfile runs as root 🛡️ Security & OWASP jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile:1 Dockerfile 🛡️ Builtin
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER jeecgos@163.com
Dockerfile runs as root 🛡️ Security & OWASP jeecg-module-system/jeecg-system-start/Dockerfile:1 Dockerfile 🛡️ Builtin
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER jeecgos@163.com
Dockerfile runs as root 🛡️ Security & OWASP db/Dockerfile:1 Dockerfile 🛡️ Builtin
FROM mysql:8.0.19
MAINTAINER jeecgos@163.com
Secret logged (Java) 9
⚠️ Risk

Logging passwords, tokens, or API keys exposes secrets in log files and monitoring systems.

🛠️ Solution

Never log sensitive data. Use placeholder values or mask secrets before logging.

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Never log sensitive data. Use placeholder values or mask secrets before logging.
  3. ✅ Run the audit again to verify the finding is resolved

💡 Secret protection in logs (OWASP A09, CWE-532).

CWE-532 A09:2021 ISO A.8.28, A.8.15, A.8.12
🔧 Fix suggestion — Secret logged (Java)
❌ Before
logger.info("Token: " + apiKey);
✅ After
logger.info("Token: [REDACTED]");
Secret logged (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/filter/WebsocketFilter.java:40 Java 🔬 Traced 🛡️ Builtin
String token = request.getHeader(TOKEN_KEY);
log.debug("Websocket连接 Token安全校验,Path = {},token:{}", request.getRequestURI(), token);
try {
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L38: String token = request.getHeader(TOKEN_KEY);
L38 String token = request.getHeader(TOKEN_KEY);
L40 log.debug("Websocket连接 Token安全校验,Path = {},token:{}", request.getRequestURI(), token);
🔴 Impact point L40: log.debug("Websocket连接 Token安全校验,Path = {},token:{}", request.getRequestURI(), token);
Secret logged (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/filter/WebsocketFilter.java:45 Java 🔬 Traced 🛡️ Builtin
TokenUtils.verifyToken(token, commonApi, redisUtil);
} catch (Exception exception) {
//log.error("Websocket连接 Token安全校验失败,IP:{}, Token:{}, Path = {},异常:{}", oConvertUtils.getIpAddrByRequest(request), token, request.getRequestURI(), exception.getMessage());
log.debug("Websocket连接 Token安全校验失败,IP:{}, Token:{}, Path = {},异常:{}", oConvertUtils.getIpAddrByRequest(request), token, request.getRequestURI(), exception.getMessage());
return;
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L38: String token = request.getHeader(TOKEN_KEY);
L38 String token = request.getHeader(TOKEN_KEY);
L45 //log.error("Websocket连接 Token安全校验失败,IP:{}, Token:{}, Path = {},异常:{}", oConvertUtils.getIpAddrByRequest(request), token, request.getRequestURI(), exception.getMessage());
🔴 Impact point L45: //log.error("Websocket连接 Token安全校验失败,IP:{}, Token:{}, Path = {},异常:{}", oConvertUtils.getIpAddrByRequest(request), token, request.getRequestURI(), exception.getMessage());
Secret logged (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/filter/WebsocketFilter.java:46 Java 🔬 Traced 🛡️ Builtin
} catch (Exception exception) {
//log.error("Websocket连接 Token安全校验失败,IP:{}, Token:{}, Path = {},异常:{}", oConvertUtils.getIpAddrByRequest(request), token, request.getRequestURI(), exception.getMessage());
log.debug("Websocket连接 Token安全校验失败,IP:{}, Token:{}, Path = {},异常:{}", oConvertUtils.getIpAddrByRequest(request), token, request.getRequestURI(), exception.getMessage());
return;
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L38: String token = request.getHeader(TOKEN_KEY);
L38 String token = request.getHeader(TOKEN_KEY);
L46 log.debug("Websocket连接 Token安全校验失败,IP:{}, Token:{}, Path = {},异常:{}", oConvertUtils.getIpAddrByRequest(request), token, request.getRequestURI(), exception.getMessage());
🔴 Impact point L46: log.debug("Websocket连接 Token安全校验失败,IP:{}, Token:{}, Path = {},异常:{}", oConvertUtils.getIpAddrByRequest(request), token, request.getRequestURI(), exception.getMessage());
Secret logged (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroRealm.java:126 Java 🛡️ Builtin
// 查询用户信息
log.debug("———校验token是否有效————checkUserTokenIsEffect——————— "+ token);
LoginUser loginUser = TokenUtils.getLoginUser(username, commonApi, redisUtil);
//LoginUser loginUser = commonApi.getUserByName(username);
Secret logged (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroRealm.java:203 Java 🛡️ Builtin
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, newAuthorization);
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME *2 / 1000);
log.debug("——————————用户在线操作,更新token保证不掉线—————————jwtTokenRefresh——————— "+ token);
}
//update-begin--Author:scott Date:20191005 for:解决每次请求,都重写redis中 token缓存问题
Secret logged (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/config/FeignConfig.java:74 Java 🛡️ Builtin
// token = request.getParameter("token");
// }
// log.info("Feign Login Request token: {}", token);
// requestTemplate.header(CommonConstant.X_ACCESS_TOKEN, token);
// }else{
Secret logged (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/config/FeignConfig.java:79 Java 🛡️ Builtin
// //解决后台任务、MQ中调用feign接口,无会话token的问题
// String token = UserTokenContext.getToken();
// log.info("Feign No Login token: {}", token);
// requestTemplate.header(CommonConstant.X_ACCESS_TOKEN, token);
// }
Secret logged (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/controller/CasClientController.java:74 Java 🔬 Traced 🛡️ Builtin
throw new Exception("No principal was found in the response from the CAS server.");
}
log.info("-------token----username---"+principal);
//1. 校验用户是否有效
SysUser sysUser = sysUserService.getUserByName(principal);
🔬 Data flow path (HTTP input)
🟢 Data entry point L55: CasClientController.validateLogin(ticket)
L55 CasClientController.validateLogin(ticket)
L74 log.info("-------token----username---"+principal);
🔴 Impact point L74: log.info("-------token----username---"+principal);
Secret logged (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/impl/EmailSendMsgHandle.java:156 Java 🛡️ Builtin
content = content.replace(CommonConstant.LOGIN_TOKEN, URLEncoder.encode(token, "UTF-8"));
} catch (UnsupportedEncodingException e) {
log.error("邮件消息token编码失败", e.getMessage());
}
}
cleartext_storage_class 9
⚠️ Risk

Storing a sensitive value (password, token, secret) as a plaintext String field in a class allows it to persist in JVM memory, heap dumps, thread dumps, and serialized objects — once stored in a String, the value cannot be zeroed from memory and may linger in the JVM string pool (CWE-499, CWE-312).

🛠️ Solution

Use char[] instead of String for sensitive data — char arrays can be zeroed after use (Arrays.fill(password, \0 )). Better yet, use a SecretKey object (javax.crypto.SecretKey) or avoid storing credentials in memory longer than necessary.

🔧 Fix suggestion — cleartext_storage_class
❌ Before
private String password;
✅ After
private char[] password;
// After use:
// Arrays.fill(password, \0 );
cleartext_storage_class 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/JwtToken.java:13 Java 🛡️ Builtin
private static final long serialVersionUID = 1L;
private String token;
public JwtToken(String token) {
cleartext_storage_class 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/LoginUser.java:49 Java 🛡️ Builtin
*/
@SensitiveField
private String password;
/**
cleartext_storage_class 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/model/XxlJobUser.java:12 Java 🛡️ Builtin
private int id;
private String username; // 账号
private String password; // 密码
private int role; // 角色:0-普通用户、1-管理员
private String permission; // 权限:执行器ID列表,多个逗号分割
cleartext_storage_class 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/NacosConfigProperties.java:24 Java 🛡️ Builtin
private String username;
private String password;
private String groupId;
cleartext_storage_class 🛡️ Security & OWASP jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/GatewayRoutersConfig.java:24 Java 🛡️ Builtin
public String routeGroup;
public String username;
public String password;
@Value("${jeecg.route.config.data-type:#{null}}")
cleartext_storage_class 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/init/CodeGenerateDbConfig.java:27 Java 🛡️ Builtin
private String username;
@Value("${spring.datasource.dynamic.datasource.master.password:}")
private String password;
@Value("${spring.datasource.dynamic.datasource.master.driver-class-name:}")
private String driverClassName;
cleartext_storage_class 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/SysUserOnlineVO.java:28 Java 🛡️ Builtin
* 会话编号
*/
private String token;
/**
cleartext_storage_class 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java:59 Java 🛡️ Builtin
*/
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String password;
/**
cleartext_storage_class 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/model/SysLoginModel.java:17 Java 🛡️ Builtin
private String username;
@ApiModelProperty(value = "密码")
private String password;
@ApiModelProperty(value = "验证码")
private String captcha;
SQL Injection (Java) 6
⚠️ Risk

SQL query executed in a file containing HTTP request parameters — potential SQL injection (CWE-89).

🛠️ Solution

Use parameterized queries with PreparedStatement and bound parameters.

🔧 Fix suggestion — SQL Injection (Java)
❌ Before
stmt.executeQuery("SELECT * FROM users WHERE id=" + id);
✅ After
PreparedStatement ps = conn.prepareStatement("SELECT * FROM users WHERE id=?");
ps.setInt(1, id);
SQL Injection (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/FillRuleUtil.java:50 Java 🛡️ Builtin
// 通过反射执行配置的类里的方法
IFillRuleHandler ruleHandler = (IFillRuleHandler) Class.forName(ruleClass).newInstance();
return ruleHandler.execute(params, formData);
} catch (Exception e) {
e.printStackTrace();
SQL Injection (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java:87 Java 🛡️ Builtin
// trigger
triggerPool_.execute(new Runnable() {
@Override
public void run() {
SQL Injection (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:73 Java 🛡️ Builtin
preparedStatement = conn.prepareStatement( "select * from xxl_job_lock where lock_name = 'schedule_lock' for update" );
preparedStatement.execute();
// tx start
SQL Injection (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:266 Java 🛡️ Builtin
// private void loadRoutesByDataBase() {
// List<GatewayRouteVo> routeList = jdbcTemplate.query(SELECT_ROUTES, new RowMapper<GatewayRouteVo>() {
// @Override
// public GatewayRouteVo mapRow(ResultSet rs, int i) throws SQLException {
SQL Injection (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/CasServiceUtil.java:43 Java 🛡️ Builtin
CloseableHttpClient httpclient = createHttpClientWithNoSsl();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
String res = readResponse(response);
return res == null ? null : (res == "" ? null : res);
SQL Injection (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:283 Java 🔬 Traced 🛡️ Builtin
}
try {
quartzJobService.execute(quartzJob);
} catch (Exception e) {
//e.printStackTrace();
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L177: public Result<Object> resumeJob(@RequestParam(name = "id") String id) {
L177 public Result<Object> resumeJob(@RequestParam(name = "id") String id) {
L283 quartzJobService.execute(quartzJob);
🔴 Impact point L283: quartzJobService.execute(quartzJob);
Unrestricted file upload (Java/Spring) 10
⚠️ Risk

Spring MultipartFile.transferTo() or getOriginalFilename() without file type validation allows uploading of web shells, malware, and executable files (CWE-434, OWASP A04).

🛠️ Solution

Validate file type via magic bytes (Apache Tika or Files.probeContentType), enforce a strict allowlist of extensions, and store files outside the web root with randomized names.

🔧 Fix suggestion — Unrestricted file upload (Java/Spring)
❌ Before
public String upload(@RequestParam MultipartFile file) {
file.transferTo(new File(UPLOAD_DIR + file.getOriginalFilename()));
return ok ;
}
✅ After
private static final Set<String> ALLOWED = Set.of(".jpg", .png , .pdf );
public String upload(@RequestParam MultipartFile file) {
String ext = FilenameUtils.getExtension(file.getOriginalFilename()).toLowerCase();
if (!ALLOWED.contains("." + ext)) throw new IllegalArgumentException("Type non autorisé");
String safe = UUID.randomUUID() + . + ext;
file.transferTo(new File(UPLOAD_DIR + safe));
return ok ;
}
Unrestricted file upload (Java/Spring) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MinioUtil.java:82 Java 🛡️ Builtin
InputStream stream = file.getInputStream();
// 获取文件名
String orgName = file.getOriginalFilename();
if("".equals(orgName)){
orgName=file.getName();
Unrestricted file upload (Java/Spring) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:160 Java 🛡️ Builtin
}
// 获取文件名
String orgName = mf.getOriginalFilename();
orgName = CommonUtils.getFileName(orgName);
if(orgName.indexOf(SymbolConstant.SPOT)!=-1){
Unrestricted file upload (Java/Spring) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java:117 Java 🛡️ Builtin
}
// 获取文件名
String orgName = file.getOriginalFilename();
if("" == orgName){
orgName=file.getName();
Unrestricted file upload (Java/Spring) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/filter/FileTypeFilter.java:137 Java 🛡️ Builtin
// 如果不是上述类型,则判断扩展名
if (StringUtils.isBlank(fileExtendName)) {
String fileName = file.getOriginalFilename();
// 如果无扩展名,则直接返回空串
if (-1 == fileName.indexOf(".")) {
Unrestricted file upload (Java/Spring) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUploadController.java:53 Java 🛡️ Builtin
MultipartFile file = multipartRequest.getFile("file");
// 获取文件名
String orgName = file.getOriginalFilename();
orgName = CommonUtils.getFileName(orgName);
String fileUrl = MinioUtil.upload(file,bizPath);
Unrestricted file upload (Java/Spring) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:145 Java 🛡️ Builtin
}
// 获取文件名
String orgName = mf.getOriginalFilename();
orgName = CommonUtils.getFileName(orgName);
if(orgName.indexOf(SymbolConstant.SPOT)!=-1){
Unrestricted file upload (Java/Spring) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:189 Java 🛡️ Builtin
// MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
// MultipartFile mf = multipartRequest.getFile("file");// 获取上传文件对象
// String orgName = mf.getOriginalFilename();// 获取文件名
// fileName = orgName.substring(0, orgName.lastIndexOf(".")) + "_" + System.currentTimeMillis() + orgName.substring(orgName.indexOf("."));
// String savePath = file.getPath() + File.separator + fileName;
Unrestricted file upload (Java/Spring) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:145 Java 🛡️ Builtin
}
String orgName = file.getOriginalFilename();
// 获取文件名
orgName = CommonUtils.getFileName(orgName);
Unrestricted file upload (Java/Spring) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:261 Java 🛡️ Builtin
file.mkdirs();// 创建文件根目录
}
String orgName = mf.getOriginalFilename();// 获取文件名
orgName = CommonUtils.getFileName(orgName);
if (orgName.indexOf(".") != -1) {
Unrestricted file upload (Java/Spring) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/oss/service/impl/OssFileServiceImpl.java:25 Java 🛡️ Builtin
@Override
public void upload(MultipartFile multipartFile) throws Exception {
String fileName = multipartFile.getOriginalFilename();
fileName = CommonUtils.getFileName(fileName);
OssFile ossFile = new OssFile();
Weak cryptography (Java) 2
⚠️ Risk

MD5 and SHA-1 are cryptographically broken — vulnerable to collision attacks.

🛠️ Solution

Use SHA-256 or SHA-3 (MessageDigest.getInstance("SHA-256")). For passwords, use BCrypt/Argon2.

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Use SHA-256 or SHA-3 (MessageDigest.getInstance("SHA-256")). For passwords, use BCrypt/Argon2.
  3. ✅ Run the audit again to verify the finding is resolved

💡 Strong cryptographic hashing (OWASP A02, CWE-328).

CWE-327 A02:2021 ISO A.8.24, A.8.28
🔧 Fix suggestion — Weak cryptography (Java)
❌ Before
Cipher.getInstance("DES");
✅ After
Cipher.getInstance("AES/GCM/NoPadding");
Weak cryptography (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/Md5Util.java:36 Java 🛡️ Builtin
try {
resultString = new String(origin);
MessageDigest md = MessageDigest.getInstance("MD5");
if (charsetname == null || "".equals(charsetname)) {
resultString = byteArrayToHexString(md.digest(resultString.getBytes()));
Weak cryptography (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteConsistentHash.java:34 Java 🛡️ Builtin
MessageDigest md5;
try {
md5 = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("MD5 not supported", e);
Command Injection (Java) 7
⚠️ Risk

System command executed in a file containing HTTP request parameters — potential command injection (CWE-78).

🛠️ Solution

Avoid passing user input to system commands. Use parameterized APIs instead of shell execution.

🔧 Fix suggestion — Command Injection (Java)
❌ Before
Runtime.getRuntime().exec("cmd " + userInput);
✅ After
ProcessBuilder pb = new ProcessBuilder("cmd", validatedArg);
pb.start();
Command Injection (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java:60 Java 🛡️ Builtin
//
// // admin registry monitor run
// JobRegistryMonitorHelper.getInstance().start();
//
// // admin monitor run
Command Injection (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java:63 Java 🛡️ Builtin
//
// // admin monitor run
// JobFailMonitorHelper.getInstance().start();
//
// // admin-server
Command Injection (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java:129 Java 🛡️ Builtin
public static void toStart() {
helper.start();
}
public static void toStop() {
Command Injection (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobInfoController.java:129 Java 🔬 Traced 🛡️ Builtin
@ResponseBody
public ReturnT<String> start(int id) {
return xxlJobService.start(id);
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L95: public Map<String, Object> pageList(@RequestParam(required = false, defaultValue = "0") int start,
L95 public Map<String, Object> pageList(@RequestParam(required = false, defaultValue = "0") int start,
L129 return xxlJobService.start(id);
🔴 Impact point L129: return xxlJobService.start(id);
Command Injection (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/DemoJobHandler.java:79 Java 🛡️ Builtin
try {
// command process
Process process = Runtime.getRuntime().exec(command);
BufferedInputStream bufferedInputStream = new BufferedInputStream(process.getInputStream());
bufferedReader = new BufferedReader(new InputStreamReader(bufferedInputStream));
Command Injection (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java:120 Java 🛡️ Builtin
scheduler.scheduleJob(jobDetail, trigger);
// 启动scheduler
scheduler.start();
}
Command Injection (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java:141 Java 🛡️ Builtin
try {
// 启动调度器
scheduler.start();
// 构建job信息
Unsafe deserialization (Java) 1
⚠️ Risk

ObjectInputStream.readObject() without validation allows arbitrary code running.

🛠️ Solution

Use ObjectInputFilter (Java 9+) or a whitelist of allowed classes. Prefer JSON/XML serialization.

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Use ObjectInputFilter (Java 9+) or a whitelist of allowed classes. Prefer JSON/XML serialization.
  3. ✅ Run the audit again to verify the finding is resolved

💡 Protection against deserialization attacks (OWASP A08, CWE-502).

CWE-502 A08:2021 ISO A.8.28, A.8.26, A.8.7
🔧 Fix suggestion — Unsafe deserialization (Java)
❌ Before
ObjectInputStream ois = new ObjectInputStream(stream);
Object obj = ois.readObject();
✅ After
// Use JSON or validated deserialization
Object obj = objectMapper.readValue(json, SafeType.class);
Unsafe deserialization (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:1649 Java 🛡️ Builtin
private void readObject(java.io.ObjectInputStream stream)
throws java.io.IOException, ClassNotFoundException {
Command injection (Java) 1
⚠️ Risk

Runtime.getRuntime() with user input allows arbitrary OS command running.

🛠️ Solution

Use ProcessBuilder with argument list (no shell interpretation). Validate and whitelist inputs.

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Use ProcessBuilder with argument list (no shell interpretation). Validate and whitelist inputs.
  3. ✅ Run the audit again to verify the finding is resolved

💡 Prevention of OS command injection (OWASP A03, CWE-78).

CWE-78 A03:2021 ISO A.8.28, A.8.26
🔧 Fix suggestion — Command injection (Java)
❌ Before
Runtime.getRuntime().exec("cmd " + userInput);
✅ After
ProcessBuilder pb = new ProcessBuilder("cmd", validatedArg);
pb.start();
Command injection (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/DemoJobHandler.java:79 Java 🛡️ Builtin
try {
// command process
Process process = Runtime.getRuntime().exec(command);
BufferedInputStream bufferedInputStream = new BufferedInputStream(process.getInputStream());
bufferedReader = new BufferedReader(new InputStreamReader(bufferedInputStream));
XXE injection 1
⚠️ Risk

DocumentBuilderFactory without setFeature allows XML External Entity attacks (file read, SSRF).

🛠️ Solution

Disable DTDs and external entities: factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true).

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Disable DTDs and external entities: factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true).
  3. ✅ Run the audit again to verify the finding is resolved

💡 Prevention of XXE attacks (OWASP A05, CWE-611).

CWE-611 A05:2021 ISO A.8.28, A.8.26
🔧 Fix suggestion — XXE injection
❌ Before
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.newDocumentBuilder().parse(input);
✅ After
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
dbf.newDocumentBuilder().parse(input);
XXE injection 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/XmlUtils.java:195 Java 🛡️ Builtin
public static Map<String, Object> extractCustomAttributes(final String xml) {
final SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
spf.setValidating(false);
SQL injection via MyBatis ${} interpolation 1
⚠️ Risk

${} in MyBatis annotations performs string interpolation (not parameterization), enabling SQL injection.

🛠️ Solution

Use

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Use #{} instead of ${} for parameter binding. ${} should only be used for table/column names.
  3. ✅ Run the audit again to verify the finding is resolved

💡 Prevention of SQL injection in MyBatis queries (OWASP A03, CWE-89).

CWE-89 A03:2021 ISO A.8.28, A.8.26
🔧 Fix suggestion — SQL injection via MyBatis ${} interpolation
❌ Before
stmt.executeQuery("SELECT * FROM users WHERE id=" + id);
✅ After
PreparedStatement ps = conn.prepareStatement("SELECT * FROM users WHERE id=?");
ps.setInt(1, id);
SQL injection via MyBatis ${} interpolation 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysDictMapper.java:98 Java 🛡️ Builtin
*/
@Deprecated
@Select("select ${key} as \"label\",${value} as \"value\" from ${table}")
public List<Map<String,String>> getDictByTableNgAlain(@Param("table") String table, @Param("key") String key, @Param("value") String value);
Path Traversal (FileInputStream) 2
⚠️ Risk

FileInputStream with user-controlled path allows directory traversal to read arbitrary files (CWE-22).

🛠️ Solution

Validate and canonicalize file paths. Use Path.normalize().startsWith(basePath) to restrict access.

🔧 Fix suggestion — Path Traversal (FileInputStream)
❌ Before
new FileInputStream(request.getParameter("file"));
✅ After
Path safe = Path.of(base, name).normalize();
if (safe.startsWith(base)) new FileInputStream(safe.toFile());
Path Traversal (FileInputStream) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:239 Java 🛡️ Builtin
response.setContentType("application/force-download");
response.addHeader("Content-Disposition", "attachment;fileName=" + new String(file.getName().getBytes("UTF-8"),"iso-8859-1"));
inputStream = new BufferedInputStream(new FileInputStream(filePath));
outputStream = response.getOutputStream();
byte[] buf = new byte[1024];
Path Traversal (FileInputStream) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:296 Java 🛡️ Builtin
// response.setContentType("application/force-download");// 设置强制下载不打开
// response.addHeader("Content-Disposition", "attachment;fileName=" + new String(file.getName().getBytes("UTF-8"),"iso-8859-1"));
// inputStream = new BufferedInputStream(new FileInputStream(file));
// outputStream = response.getOutputStream();
// byte[] buf = new byte[1024];
User-controlled input is used in an HTTP response header without sanitization — HTTP Response Splitting / Header Injection risk. 1
⚠️ Risk

An attacker can inject CRLF sequences (\r\n) into HTTP headers to split the response, inject additional headers, perform cache poisoning, or conduct cross-site scripting attacks.

🛠️ Solution

Strip CRLF characters (\r, \n) from user input before setting any HTTP response header.

🔧 Fix suggestion — taint_header_injection
❌ Before
response.headers['Location'] = request.args.get('url')
✅ After
url = request.args.get('url').replace('\r',  ).replace('\n',  )
response.headers['Location'] = url
User-controlled input is used in an HTTP response header without sanitization — HTTP Response Splitting / Header Injection risk. 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/filter/WebsocketFilter.java:50 Java 🔬 Traced 🛡️ Builtin
}
HttpServletResponse response = (HttpServletResponse)servletResponse;
response.setHeader(TOKEN_KEY, token);
filterChain.doFilter(servletRequest, servletResponse);
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L38: String token = request.getHeader(TOKEN_KEY);
L38 String token = request.getHeader(TOKEN_KEY);
L50 response.setHeader(TOKEN_KEY, token);
🔴 Impact point L50: response.setHeader(TOKEN_KEY, token);
Path Traversal — tainted data used as a file path without validation 10
⚠️ Risk

An attacker can read or write arbitrary files outside the intended directory.

🛠️ Solution

Validate file paths with os.path.realpath() and ensure they stay within the allowed directory.

🔧 Fix suggestion — Taint Path Traversal
❌ Before
filename = request.args.get("file")
content = open(os.path.join(BASE, filename)).read()
✅ After
filename = request.args.get("file")
safe = os.path.realpath(os.path.join(BASE, filename))
if not safe.startswith(os.path.realpath(BASE)):
abort(403)
content = open(safe).read()
Path Traversal — tainted data used as a file path without validation 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:168 Java 🔬 Traced 🛡️ Builtin
}
String savePath = file.getPath() + File.separator + fileName;
File savefile = new File(savePath);
FileCopyUtils.copy(mf.getBytes(), savefile);
String dbpath = null;
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L160: String orgName = mf.getOriginalFilename();
L160 String orgName = mf.getOriginalFilename();
L168 File savefile = new File(savePath);
🔴 Impact point L168: File savefile = new File(savePath);
Path Traversal — tainted data used as a file path without validation 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:139 Java 🔬 Traced 🛡️ Builtin
String ctxPath = uploadpath;
String fileName = null;
File file = new File(ctxPath + File.separator + bizPath + File.separator );
if (!file.exists()) {
// 创建文件根目录
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L73: String bizPath = request.getParameter("biz");
L73 String bizPath = request.getParameter("biz");
L139 File file = new File(ctxPath + File.separator + bizPath + File.separator );
🔴 Impact point L139: File file = new File(ctxPath + File.separator + bizPath + File.separator );
Path Traversal — tainted data used as a file path without validation 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:153 Java 🔬 Traced 🛡️ Builtin
}
String savePath = file.getPath() + File.separator + fileName;
File savefile = new File(savePath);
FileCopyUtils.copy(mf.getBytes(), savefile);
String dbpath = null;
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L73: String bizPath = request.getParameter("biz");
L73 String bizPath = request.getParameter("biz");
L153 File savefile = new File(savePath);
🔴 Impact point L153: File savefile = new File(savePath);
Path Traversal — tainted data used as a file path without validation 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:183 Java 🔬 Traced 🛡️ Builtin
// }
// String nowday = new SimpleDateFormat("yyyyMMdd").format(new Date());
// File file = new File(ctxPath + File.separator + bizPath + File.separator + nowday);
// if (!file.exists()) {
// file.mkdirs();// 创建文件根目录
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L73: String bizPath = request.getParameter("biz");
L73 String bizPath = request.getParameter("biz");
L183 // File file = new File(ctxPath + File.separator + bizPath + File.separator + nowday);
🔴 Impact point L183: // File file = new File(ctxPath + File.separator + bizPath + File.separator + nowday);
Path Traversal — tainted data used as a file path without validation 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:192 Java 🔬 Traced 🛡️ Builtin
// fileName = orgName.substring(0, orgName.lastIndexOf(".")) + "_" + System.currentTimeMillis() + orgName.substring(orgName.indexOf("."));
// String savePath = file.getPath() + File.separator + fileName;
// File savefile = new File(savePath);
// FileCopyUtils.copy(mf.getBytes(), savefile);
// String dbpath = bizPath + File.separator + nowday + File.separator + fileName;
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L73: String bizPath = request.getParameter("biz");
L73 String bizPath = request.getParameter("biz");
L192 // File savefile = new File(savePath);
🔴 Impact point L192: // File savefile = new File(savePath);
Path Traversal — tainted data used as a file path without validation 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:231 Java 🔬 Traced 🛡️ Builtin
}
String filePath = uploadpath + File.separator + imgPath;
File file = new File(filePath);
if(!file.exists()){
response.setStatus(404);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L73: String bizPath = request.getParameter("biz");
L73 String bizPath = request.getParameter("biz");
L231 File file = new File(filePath);
🔴 Impact point L231: File file = new File(filePath);
Path Traversal — tainted data used as a file path without validation 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:101 Java 🔬 Traced 🛡️ Builtin
//update-end-author:liusq date:20221102 for: 过滤上传文件类型
//update-begin-author:lvdandan date:20200928 for:修改JEditor编辑器本地上传
savePath = this.uploadLocal(file,bizPath);
//update-begin-author:lvdandan date:20200928 for:修改JEditor编辑器本地上传
/** 富文本编辑器及markdown本地上传时,采用返回链接方式
🔬 Data flow path (HTTP input)
🟢 Data entry point L73: String bizPath = request.getParameter("biz");
L73 String bizPath = request.getParameter("biz");
L101 this.uploadLocal(...) → File file = new File(ctxPath + File.separator + bizPath + File.separator ); this.uploadLocal(...) → File file = new File(ctxPath + File.separator + bizPath + File.separator );
L139 File file = new File(ctxPath + File.separator + bizPath + File.separator );
🔴 Impact point L101: savePath = this.uploadLocal(file,bizPath);
Path Traversal — tainted data used as a file path without validation 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:257 Java 🔬 Traced 🛡️ Builtin
String ctxPath = uploadpath;
String fileName = null;
File file = new File(ctxPath + File.separator + bizPath + File.separator);
if (!file.exists()) {
file.mkdirs();// 创建文件根目录
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L121: String bizPath = request.getParameter("biz");
L121 String bizPath = request.getParameter("biz");
L257 File file = new File(ctxPath + File.separator + bizPath + File.separator);
🔴 Impact point L257: File file = new File(ctxPath + File.separator + bizPath + File.separator);
Path Traversal — tainted data used as a file path without validation 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:269 Java 🔬 Traced 🛡️ Builtin
}
String savePath = file.getPath() + File.separator + fileName;
File savefile = new File(savePath);
FileCopyUtils.copy(mf.getBytes(), savefile);
String dbpath = null;
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L121: String bizPath = request.getParameter("biz");
L121 String bizPath = request.getParameter("biz");
L269 File savefile = new File(savePath);
🔴 Impact point L269: File savefile = new File(savePath);
Path Traversal — tainted data used as a file path without validation 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:140 Java 🔬 Traced 🛡️ Builtin
}
if (CommonConstant.UPLOAD_TYPE_LOCAL.equals(uploadType)) {
savePath = this.uploadLocal(file, bizPath);
} else {
savePath = CommonUtils.upload(file, bizPath, uploadType);
🔬 Data flow path (HTTP input)
🟢 Data entry point L121: String bizPath = request.getParameter("biz");
L121 String bizPath = request.getParameter("biz");
L140 this.uploadLocal(...) → File file = new File(ctxPath + File.separator + bizPath + File.separator); this.uploadLocal(...) → File file = new File(ctxPath + File.separator + bizPath + File.separator);
L257 File file = new File(ctxPath + File.separator + bizPath + File.separator);
🔴 Impact point L140: savePath = this.uploadLocal(file, bizPath);
SQL Injection — tainted data flows into a SQL query without parameterization 1
⚠️ Risk

An attacker can read, modify, or delete database records.

🛠️ Solution

Use parameterized queries with placeholders (%s, ?).

🔧 Fix suggestion — Taint SQL Injection
❌ Before
user_id = request.args.get("id")
db.execute(f"SELECT * FROM users WHERE id = {user_id}")
✅ After
user_id = request.args.get("id")
db.execute("SELECT * FROM users WHERE id = %s", (user_id,))
SQL Injection — tainted data flows into a SQL query without parameterization 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobCodeController.java:77 Java 🔬 Traced 🛡️ Builtin
exists_jobInfo.setUpdateTime(new Date());
xxlJobInfoDao.update(exists_jobInfo);
// log old code
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L58: public ReturnT<String> save(Model model, int id, String glueSource, String glueRemark) {
L58 public ReturnT<String> save(Model model, int id, String glueSource, String glueRemark) {
L77 xxlJobInfoDao.update(exists_jobInfo);
🔴 Impact point L77: xxlJobInfoDao.update(exists_jobInfo);
Cross-Site Scripting — tainted data rendered in HTML without escaping 1
⚠️ Risk

An attacker can inject malicious scripts that execute in other users' browsers.

🛠️ Solution

Escape all user input before rendering in HTML. Use framework auto-escaping or html.escape().

🔧 Fix suggestion — Taint XSS
❌ Before
name = request.args.get("name")
return Markup(f"<h1>Hello {name}</h1>")
✅ After
from markupsafe import escape
name = request.args.get("name")
return Markup(f"<h1>Hello {escape(name)}</h1>")
Cross-Site Scripting — tainted data rendered in HTML without escaping 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:182 Java 🔬 Traced 🛡️ Builtin
// bizPath = tempBizPath;
// }
// String nowday = new SimpleDateFormat("yyyyMMdd").format(new Date());
// File file = new File(ctxPath + File.separator + bizPath + File.separator + nowday);
// if (!file.exists()) {
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L73: String bizPath = request.getParameter("biz");
L73 String bizPath = request.getParameter("biz");
L182 // String nowday = new SimpleDateFormat("yyyyMMdd").format(new Date());
🔴 Impact point L182: // String nowday = new SimpleDateFormat("yyyyMMdd").format(new Date());
Open Redirect — tainted data used in redirect without URL validation 3
⚠️ Risk

An attacker can redirect users to a malicious site via a crafted URL.

🛠️ Solution

Validate redirect targets against an allowlist. Use url_for() for internal redirects.

🔧 Fix suggestion — Taint Open Redirect
❌ Before
next_url = request.args.get("next")
return redirect(next_url)
✅ After
next_url = request.args.get("next", / )
if not is_safe_url(next_url, request.host):
next_url = /
return redirect(next_url)
Open Redirect — tainted data used in redirect without URL validation 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:75 Java 🔬 Traced 🛡️ Builtin
String authorizeUrl = authRequest.authorize(AuthStateUtils.createState());
log.info("第三方登录认证地址:" + authorizeUrl);
response.sendRedirect(authorizeUrl);
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L70: public void render(@PathVariable("source") String source, HttpServletResponse response) throws IOException {
L70 public void render(@PathVariable("source") String source, HttpServletResponse response) throws IOException {
L75 response.sendRedirect(authorizeUrl);
🔴 Impact point L75: response.sendRedirect(authorizeUrl);
Open Redirect — tainted data used in redirect without URL validation 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:352 Java 🔬 Traced 🛡️ Builtin
}
log.info("oauth2 login url:" + url);
response.sendRedirect(url);
return "login…";
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L79: public String loginThird(@PathVariable("source") String source, AuthCallback callback,ModelMap modelMap) {
L79 public String loginThird(@PathVariable("source") String source, AuthCallback callback,ModelMap modelMap) {
L352 response.sendRedirect(url);
🔴 Impact point L352: response.sendRedirect(url);
Open Redirect — tainted data used in redirect without URL validation 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:415 Java 🔬 Traced 🛡️ Builtin
log.info("OAuth2登录重定向地址: " + state);
try {
response.sendRedirect(state);
return "ok";
} catch (IOException e) {
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L79: public String loginThird(@PathVariable("source") String source, AuthCallback callback,ModelMap modelMap) {
L79 public String loginThird(@PathVariable("source") String source, AuthCallback callback,ModelMap modelMap) {
L415 response.sendRedirect(state);
🔴 Impact point L415: response.sendRedirect(state);
🔗

Dependencies

0

No issues in dependencies.

⚠️

Medium (MEDIUM) 1069 issue(s)

📦

Business code

1069
🛡️

Security & OWASP

579
Verbose exception (Java) 381
⚠️ Risk

printStackTrace() exposes internal stack traces, class names, and paths to attackers.

🛠️ Solution

Use a logging framework (SLF4J/Log4j2) with appropriate log levels. Never expose stack traces to users.

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Use a logging framework (SLF4J/Log4j2) with appropriate log levels. Never expose stack traces to users.
  3. ✅ Run the audit again to verify the finding is resolved

💡 Prevention of information disclosure (OWASP A09, CWE-209).

CWE-209 A05:2021 ISO A.8.28, A.8.12
🔧 Fix suggestion — Verbose exception (Java)
❌ Before
return e.getStackTrace().toString();
✅ After
logger.error("Error", e);
return Internal server error ;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/AutoPoiDictConfig.java:56 Java 🛡️ Builtin
dictList = commonApi.queryTableDictItemsByCode(dicTable, dicText, dicCode);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:151 Java 🛡️ Builtin
}
} catch (Exception e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:178 Java 🛡️ Builtin
sysUser = SecurityUtils.getSubject().getPrincipal() != null ? (LoginUser) SecurityUtils.getSubject().getPrincipal() : null;
} catch (Exception e) {
//e.printStackTrace();
sysUser = null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java:86 Java 🛡️ Builtin
tenantId = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest());
} catch (Exception e) {
//e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/SignUtil.java:62 Java 🛡️ Builtin
return DigestUtils.md5DigestAsHex((paramsJsonStr + signatureSecret).getBytes("UTF-8")).toUpperCase();
} catch (UnsupportedEncodingException e) {
log.error(e.getMessage(),e);
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/BodyReaderHttpServletRequestWrapper.java:44 Java 🛡️ Builtin
}
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/BodyReaderHttpServletRequestWrapper.java:66 Java 🛡️ Builtin
byteArrayOutputStream.flush();
} catch (IOException e) {
e.printStackTrace();
}
return new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java:154 Java 🛡️ Builtin
param = URLDecoder.decode(request.getQueryString(), "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String[] params = param.split("&");
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java:178 Java 🛡️ Builtin
param = URLDecoder.decode(queryString, "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String[] params = param.split("&");
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroRealm.java:106 Java 🛡️ Builtin
loginUser = this.checkUserTokenIsEffect(token);
} catch (AuthenticationException e) {
JwtUtil.responseError(SpringContextUtils.getHttpServletResponse(),401,e.getMessage());
e.printStackTrace();
return null;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroRealm.java:107 Java 🛡️ Builtin
} catch (AuthenticationException e) {
JwtUtil.responseError(SpringContextUtils.getHttpServletResponse(),401,e.getMessage());
e.printStackTrace();
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/FillRuleUtil.java:52 Java 🛡️ Builtin
return ruleHandler.execute(params, formData);
} catch (Exception e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MyClassLoader.java:14 Java 🛡️ Builtin
myclass = Class.forName(className);
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw new RuntimeException(className+" not found!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MinioUtil.java:105 Java 🛡️ Builtin
fileUrl = minioUrl+newBucket+"/"+objectName;
}catch (Exception e){
log.error(e.getMessage(), e);
}
return fileUrl;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MinioUtil.java:134 Java 🛡️ Builtin
inputStream = minioClient.getObject(objectArgs);
} catch (Exception e) {
log.info("文件获取失败" + e.getMessage());
}
return inputStream;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MinioUtil.java:152 Java 🛡️ Builtin
minioClient.removeObject(objectArgs);
}catch (Exception e){
log.info("文件删除失败" + e.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MinioUtil.java:174 Java 🛡️ Builtin
return URLDecoder.decode(url,"UTF-8");
}catch (Exception e){
log.info("文件路径获取失败" + e.getMessage());
}
return null;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MinioUtil.java:194 Java 🛡️ Builtin
.build();
} catch (Exception e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DySmsHelper.java:99 Java 🛡️ Builtin
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
logger.info("短信接口返回的数据----------------");
logger.info("{Code:" + sendSmsResponse.getCode()+",Message:" + sendSmsResponse.getMessage()+",RequestId:"+ sendSmsResponse.getRequestId()+",BizId:"+sendSmsResponse.getBizId()+"}");
String ok = "OK";
if (ok.equals(sendSmsResponse.getCode())) {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PasswordUtil.java:75 Java 🛡️ Builtin
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:75 Java 🛡️ Builtin
}
} catch (Exception e) {
e.printStackTrace();
}
return dbPath;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:138 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return url;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:181 Java 🛡️ Builtin
return dbpath;
} catch (IOException e) {
log.error(e.getMessage(), e);
}catch (Exception e) {
log.error(e.getMessage(), e);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:183 Java 🛡️ Builtin
log.error(e.getMessage(), e);
}catch (Exception e) {
log.error(e.getMessage(), e);
}
return "";
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:201 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error(e.getMessage(),e);
}
return url;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:223 Java 🛡️ Builtin
return getDatabaseTypeByDataSource(dataSource);
} catch (SQLException e) {
//e.printStackTrace();
log.warn(e.getMessage(),e);
return "";
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:224 Java 🛡️ Builtin
} catch (SQLException e) {
//e.printStackTrace();
log.warn(e.getMessage(),e);
return "";
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:242 Java 🛡️ Builtin
return dbTypeEnum;
} catch (SQLException e) {
log.warn(e.getMessage(), e);
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:311 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}finally {
connection.close();
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PmsUtil.java:60 Java 🛡️ Builtin
bw.close();
} catch (Exception e) {
log.info("excel导入生成错误日志文件异常:" + e.getMessage());
}
return saveDir + name + ".txt";
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ReflectHelper.java:155 Java 🛡️ Builtin
o = clazz.newInstance();
} catch (Exception e) {
e.printStackTrace();
o = null;
return o;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ReflectHelper.java:190 Java 🛡️ Builtin
return value;
} catch (Exception e) {
e.printStackTrace();
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ReflectHelper.java:207 Java 🛡️ Builtin
return val;
} catch (Exception e) {
e.printStackTrace();
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java:171 Java 🛡️ Builtin
return date;
} catch (ParseException e) {
e.printStackTrace();
}
return null;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java:206 Java 🛡️ Builtin
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sformat.format(nowDate);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/TokenUtils.java:146 Java 🛡️ Builtin
SensitiveInfoUtil.handlerObject(loginUser, false);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} else {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ImportExcelUtil.java:51 Java 🛡️ Builtin
}
} catch (Exception e) {
String message = e.getMessage().toLowerCase();
int lineNumber = i + 1;
// 通过索引名判断出错信息
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ImportExcelUtil.java:64 Java 🛡️ Builtin
}else {
errorMessage.add("第 " + lineNumber + " 行:未知错误,忽略导入");
log.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ImportExcelUtil.java:79 Java 🛡️ Builtin
}
} catch (Exception e) {
String message = e.getMessage().toLowerCase();
int lineNumber = i + 1;
// 通过索引名判断出错信息
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ImportExcelUtil.java:92 Java 🛡️ Builtin
}else {
errorMessage.add("第 " + lineNumber + " 行:未知错误,忽略导入");
log.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:65 Java 🛡️ Builtin
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return strIn;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:83 Java 🛡️ Builtin
strOut = new String(b, targetCode);
} catch (Exception e) {
e.printStackTrace();
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:263 Java 🛡️ Builtin
} catch (UnknownHostException e) {
e.printStackTrace();
}
return ip;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:806 Java 🛡️ Builtin
json = IOUtils.toString(stream,"UTF-8");
} catch (IOException e) {
log.error(e.getMessage(),e);
}
return json;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/encryption/AesEncryptUtil.java:55 Java 🛡️ Builtin
} catch (Exception e) {
e.printStackTrace();
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/DynamicDBUtil.java:104 Java 🛡️ Builtin
}
} catch (SQLException e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/FreemarkerParseFactory.java:78 Java 🛡️ Builtin
//update-begin--Author:scott Date:20180320 for:解决问题 - 错误提示sql文件不存在,实际问题是sql freemarker用法错误-----
if (e instanceof ParseException) {
log.error(e.getMessage(), e.fillInStackTrace());
throw new Exception(e);
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/FreemarkerParseFactory.java:109 Java 🛡️ Builtin
return sql;
} catch (Exception e) {
log.error(e.getMessage(), e.fillInStackTrace());
log.error("发送一次的模板key:{ " + tplName + " }");
//System.err.println(e.getMessage());
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/FreemarkerParseFactory.java:111 Java 🛡️ Builtin
log.error(e.getMessage(), e.fillInStackTrace());
log.error("发送一次的模板key:{ " + tplName + " }");
//System.err.println(e.getMessage());
//System.err.println("模板名:{ "+ tplName +" }");
throw new RuntimeException("解析SQL模板异常");
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/FreemarkerParseFactory.java:144 Java 🛡️ Builtin
return sql;
} catch (Exception e) {
log.error(e.getMessage(), e.fillInStackTrace());
log.error("发送一次的模板key:{ " + tplContent + " }");
//System.err.println(e.getMessage());
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/FreemarkerParseFactory.java:146 Java 🛡️ Builtin
log.error(e.getMessage(), e.fillInStackTrace());
log.error("发送一次的模板key:{ " + tplContent + " }");
//System.err.println(e.getMessage());
//System.err.println("模板内容:{ "+ tplContent +" }");
throw new RuntimeException("解析SQL模板异常");
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/AbstractQueryBlackListHandler.java:49 Java 🛡️ Builtin
list = this.getQueryTableInfo(sql.toLowerCase());
} catch (Exception e) {
log.warn("校验sql语句,解析报错:{}",e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java:145 Java 🛡️ Builtin
}
} catch (IOException e) {
log.error(e.getMessage(),e);
return null;
}catch (Exception e) {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java:148 Java 🛡️ Builtin
return null;
}catch (Exception e) {
log.error(e.getMessage(),e);
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java:210 Java 🛡️ Builtin
}
} catch (IOException e) {
e.printStackTrace();
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java:273 Java 🛡️ Builtin
inputStream = new BufferedInputStream(ossObject.getObjectContent());
}catch (Exception e){
log.info("文件获取失败" + e.getMessage());
}
return inputStream;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java:308 Java 🛡️ Builtin
}
}catch (Exception e){
log.info("文件路径获取失败" + e.getMessage());
}
return null;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/filter/FileTypeFilter.java:149 Java 🛡️ Builtin
return fileExtendName;
} catch (Exception e) {
log.error(e.getMessage(), e);
return "";
}finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/util/SensitiveInfoUtil.java:121 Java 🛡️ Builtin
handlerObject(temp, isEncode);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java:64 Java 🛡️ Builtin
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/ResourceUtil.java:83 Java 🛡️ Builtin
}
}catch (Exception e){
log.error("获取枚举类字典数据异常", e.getMessage());
// e.printStackTrace();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/ResourceUtil.java:84 Java 🛡️ Builtin
}catch (Exception e){
log.error("获取枚举类字典数据异常", e.getMessage());
// e.printStackTrace();
}
return enumDictData;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:192 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:416 Java 🛡️ Builtin
log.error("--高级查询参数转码失败:" + superQueryParams, e);
} catch (Exception e) {
log.error("--高级查询拼接失败:" + e.getMessage());
e.printStackTrace();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:417 Java 🛡️ Builtin
} catch (Exception e) {
log.error("--高级查询拼接失败:" + e.getMessage());
e.printStackTrace();
}
// update-end--Author:sunjianlei Date:20200325 for:高级查询的条件要用括号括起来,防止和用户的其他条件冲突 -------
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:558 Java 🛡️ Builtin
return QueryGenerator.parseByType(v, type, rule);
} catch (ParseException e) {
e.printStackTrace();
return v;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:791 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return sqlRule;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:1204 Java 🛡️ Builtin
field = clazz.getDeclaredField(name);
} catch (NoSuchFieldException e) {
//e.printStackTrace();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:1232 Java 🛡️ Builtin
}
} catch (Exception e) {
e.printStackTrace();
}
return name;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/controller/JeecgController.java:151 Java 🛡️ Builtin
return PropertyUtils.getProperty(item, "id").toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/controller/JeecgController.java:185 Java 🛡️ Builtin
} catch (Exception e) {
//update-begin-author:taoyan date:20211124 for: 导入数据重复增加提示
String msg = e.getMessage();
log.error(msg, e);
if(msg!=null && msg.indexOf("Duplicate entry")>=0){
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/controller/JeecgController.java:190 Java 🛡️ Builtin
return Result.error("文件导入失败:有重复数据!");
}else{
return Result.error("文件导入失败:" + e.getMessage());
}
//update-end-author:taoyan date:20211124 for: 导入数据重复增加提示
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/controller/JeecgController.java:197 Java 🛡️ Builtin
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/ProvinceCityArea.java:161 Java 🛡️ Builtin
}
} catch (Exception e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:121 Java 🛡️ Builtin
//update-end--Author:zyf -- Date:20220531 ----for:【issues/#3629】 DictAspect Jackson序列化报错-----
} catch (JsonProcessingException e) {
log.error("json解析失败"+e.getMessage(),e);
}
//update-begin--Author:scott -- Date:20211223 ----for:【issues/3303】restcontroller返回json数据后key顺序错乱 -----
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:249 Java 🛡️ Builtin
list.add(new DictModel(data, text));
} catch (Exception e) {
log.warn(e.getMessage());
}
} else if (!needTranslDataTable.contains(data)) {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:263 Java 🛡️ Builtin
list.add(new DictModel(data, text));
} catch (Exception e) {
log.warn(e.getMessage());
}
} else if (!needTranslData.contains(data)) {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:293 Java 🛡️ Builtin
// update-end-author:taoyan date:20211012 for: 字典表翻译注解缓存未更新 issues/3061
} catch (Exception e) {
log.warn(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:321 Java 🛡️ Builtin
redisTemplate.opsForValue().set(redisKey, dict.getText());
} catch (Exception e) {
log.warn(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:383 Java 🛡️ Builtin
tmpValue = oConvertUtils.getString(redisTemplate.opsForValue().get(keyString));
} catch (Exception e) {
log.warn(e.getMessage());
}
}else {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:394 Java 🛡️ Builtin
tmpValue = oConvertUtils.getString(redisTemplate.opsForValue().get(keyString));
} catch (Exception e) {
log.warn(e.getMessage());
}
}else {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/es/JeecgElasticsearchTemplate.java:177 Java 🛡️ Builtin
log.warn("索引创建失败:" + indexName + " 已存在,无需再创建");
} else {
ex.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/es/JeecgElasticsearchTemplate.java:196 Java 🛡️ Builtin
log.warn("索引删除失败:" + indexName + " 不存在,无需删除");
} else {
ex.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/es/JeecgElasticsearchTemplate.java:251 Java 🛡️ Builtin
return RestUtil.get(url);
} catch (org.springframework.web.client.HttpClientErrorException e) {
String message = e.getMessage();
if (message != null && message.contains(URL_NOT_FOUND)) {
return null;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/es/JeecgElasticsearchTemplate.java:349 Java 🛡️ Builtin
}
} catch (Exception e) {
e.printStackTrace();
}
try {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/es/JeecgElasticsearchTemplate.java:355 Java 🛡️ Builtin
return "created".equals(result) || "updated".equals(result);
} catch (Exception e) {
log.error(e.getMessage() + "\n-- url: " + url + "\n-- data: " + data.toJSONString());
//TODO 打印接口返回异常json
return false;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:36 Java 🛡️ Builtin
@ExceptionHandler(JeecgBootException.class)
public Result<?> handleJeecgBootException(JeecgBootException e){
log.error(e.getMessage(), e);
return Result.error(e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:37 Java 🛡️ Builtin
public Result<?> handleJeecgBootException(JeecgBootException e){
log.error(e.getMessage(), e);
return Result.error(e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:45 Java 🛡️ Builtin
@ExceptionHandler(JeecgCloudException.class)
public Result<?> handleJeecgCloudException(JeecgCloudException e){
log.error(e.getMessage(), e);
return Result.error(e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:46 Java 🛡️ Builtin
public Result<?> handleJeecgCloudException(JeecgCloudException e){
log.error(e.getMessage(), e);
return Result.error(e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:55 Java 🛡️ Builtin
@ResponseStatus(HttpStatus.UNAUTHORIZED)
public Result<?> handleJeecgBoot401Exception(JeecgBoot401Exception e){
log.error(e.getMessage(), e);
return new Result(401,e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:56 Java 🛡️ Builtin
public Result<?> handleJeecgBoot401Exception(JeecgBoot401Exception e){
log.error(e.getMessage(), e);
return new Result(401,e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:61 Java 🛡️ Builtin
@ExceptionHandler(NoHandlerFoundException.class)
public Result<?> handlerNoFoundException(Exception e) {
log.error(e.getMessage(), e);
return Result.error(404, "路径不存在,请检查路径是否正确");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:67 Java 🛡️ Builtin
@ExceptionHandler(DuplicateKeyException.class)
public Result<?> handleDuplicateKeyException(DuplicateKeyException e){
log.error(e.getMessage(), e);
return Result.error("数据库中已存在该记录");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:73 Java 🛡️ Builtin
@ExceptionHandler({UnauthorizedException.class, AuthorizationException.class})
public Result<?> handleAuthorizationException(AuthorizationException e){
log.error(e.getMessage(), e);
return Result.noauth("没有权限,请联系管理员授权");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:79 Java 🛡️ Builtin
@ExceptionHandler(Exception.class)
public Result<?> handleException(Exception e){
log.error(e.getMessage(), e);
//update-begin---author:zyf ---date:20220411 for:处理Sentinel限流自定义异常
Throwable throwable = e.getCause();
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:87 Java 🛡️ Builtin
}
//update-end---author:zyf ---date:20220411 for:处理Sentinel限流自定义异常
return Result.error("操作失败,"+e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:119 Java 🛡️ Builtin
@ExceptionHandler(MaxUploadSizeExceededException.class)
public Result<?> handleMaxUploadSizeExceededException(MaxUploadSizeExceededException e) {
log.error(e.getMessage(), e);
return Result.error("文件大小超出10MB限制, 请压缩或降低文件质量! ");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:125 Java 🛡️ Builtin
@ExceptionHandler(DataIntegrityViolationException.class)
public Result<?> handleDataIntegrityViolationException(DataIntegrityViolationException e) {
log.error(e.getMessage(), e);
//【issues/3624】数据库执行异常handleDataIntegrityViolationException提示有误 #3624
return Result.error("执行数据库异常,违反了完整性例如:违反惟一约束、违反非空限制、字段内容超出长度等");
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java:132 Java 🛡️ Builtin
@ExceptionHandler(PoolException.class)
public Result<?> handlePoolException(PoolException e) {
log.error(e.getMessage(), e);
return Result.error("Redis 连接异常!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/service/impl/BaseCommonServiceImpl.java:41 Java 🛡️ Builtin
} catch (Exception e) {
log.warn(" LogContent length : "+logDTO.getLogContent().length());
log.warn(e.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/service/impl/BaseCommonServiceImpl.java:66 Java 🛡️ Builtin
user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
} catch (Exception e) {
//e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/service/impl/BaseCommonServiceImpl.java:79 Java 🛡️ Builtin
} catch (Exception e) {
log.warn(" LogContent length : "+sysLog.getLogContent().length());
log.warn(e.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JoaDemoController.java:91 Java 🛡️ Builtin
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JoaDemoController.java:193 Java 🛡️ Builtin
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JoaDemoController.java:232 Java 🛡️ Builtin
return Result.ok("文件导入成功!数据行数:" + listJoaDemos.size());
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败:"+e.getMessage());
} finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JoaDemoController.java:233 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败:"+e.getMessage());
} finally {
try {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JoaDemoController.java:238 Java 🛡️ Builtin
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgOrderMainController.java:242 Java 🛡️ Builtin
return Result.ok("文件导入成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("文件导入失败:" + e.getMessage());
} finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgOrderMainController.java:243 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("文件导入失败:" + e.getMessage());
} finally {
try {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgOrderMainController.java:248 Java 🛡️ Builtin
file.getInputStream().close();
} catch (Exception e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/MockController.java:147 Java 🛡️ Builtin
res.success("查询成功");
} catch (Exception e) {
res.error500("查询失败"+e.getMessage());
}
return res;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/MockController.java:215 Java 🛡️ Builtin
json = IOUtils.toString(stream,"UTF-8");
} catch (IOException e) {
log.error(e.getMessage(),e);
}
return json;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/websocket/VxeSocket.java:73 Java 🛡️ Builtin
this.session.getAsyncRemote().sendText(message);
} catch (Exception e) {
log.error("【vxeSocket】消息发送失败:" + e.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:255 Java 🛡️ Builtin
} catch (Exception e) {
log.error("-- 高级查询操作失败:" + superQueryParams, e);
e.printStackTrace();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:409 Java 🛡️ Builtin
}
} catch (IOException e) {
log.error(e.getMessage(), e);
}
return null;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/cloud/controller/JcloudDemoProviderController.java:28 Java 🛡️ Builtin
@GetMapping("/getMessage")
public String getMessage(@RequestParam String name) {
String msg = jcloudDemoService.getMessage(name);
log.info(" 微服务被调用:{} ",msg);
return msg;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:253 Java 🛡️ Builtin
} catch (Exception e) {
log.error("-- 高级查询操作失败:" + superQueryParams, e);
e.printStackTrace();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:407 Java 🛡️ Builtin
}
} catch (IOException e) {
log.error(e.getMessage(), e);
}
return null;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java:28 Java 🛡️ Builtin
idleBeatResult = executorBiz.idleBeat(new IdleBeatParam(triggerParam.getJobId()));
} catch (Exception e) {
logger.error(e.getMessage(), e);
idleBeatResult = new ReturnT<String>(ReturnT.FAIL_CODE, ""+e );
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java:28 Java 🛡️ Builtin
beatResult = executorBiz.beat();
} catch (Exception e) {
logger.error(e.getMessage(), e);
beatResult = new ReturnT<String>(ReturnT.FAIL_CODE, ""+e );
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/I18nUtil.java:40 Java 🛡️ Builtin
prop = PropertiesLoaderUtils.loadProperties(encodedResource);
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
return prop;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/FtlUtil.java:26 Java 🛡️ Builtin
return fileStatics;
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
return null;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/JacksonUtil.java:40 Java 🛡️ Builtin
return getInstance().writeValueAsString(obj);
} catch (JsonGenerationException e) {
logger.error(e.getMessage(), e);
} catch (JsonMappingException e) {
logger.error(e.getMessage(), e);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/JacksonUtil.java:42 Java 🛡️ Builtin
logger.error(e.getMessage(), e);
} catch (JsonMappingException e) {
logger.error(e.getMessage(), e);
} catch (IOException e) {
logger.error(e.getMessage(), e);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/JacksonUtil.java:44 Java 🛡️ Builtin
logger.error(e.getMessage(), e);
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
return null;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/JacksonUtil.java:61 Java 🛡️ Builtin
return getInstance().readValue(jsonStr, clazz);
} catch (JsonParseException e) {
logger.error(e.getMessage(), e);
} catch (JsonMappingException e) {
logger.error(e.getMessage(), e);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/JacksonUtil.java:63 Java 🛡️ Builtin
logger.error(e.getMessage(), e);
} catch (JsonMappingException e) {
logger.error(e.getMessage(), e);
} catch (IOException e) {
logger.error(e.getMessage(), e);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/JacksonUtil.java:65 Java 🛡️ Builtin
logger.error(e.getMessage(), e);
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
return null;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/JacksonUtil.java:84 Java 🛡️ Builtin
return getInstance().readValue(jsonStr, javaType);
} catch (JsonParseException e) {
logger.error(e.getMessage(), e);
} catch (JsonMappingException e) {
logger.error(e.getMessage(), e);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/JacksonUtil.java:86 Java 🛡️ Builtin
logger.error(e.getMessage(), e);
} catch (JsonMappingException e) {
logger.error(e.getMessage(), e);
} catch (IOException e) {
logger.error(e.getMessage(), e);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/JacksonUtil.java:88 Java 🛡️ Builtin
logger.error(e.getMessage(), e);
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
return null;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java:191 Java 🛡️ Builtin
//
// } catch (SchedulerException e) {
// logger.error(e.getMessage(), e);
// }
// }
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java:407 Java 🛡️ Builtin
//
// } catch (SchedulerException e) {
// logger.error(e.getMessage(), e);
// return null;
// }
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/alarm/JobAlarmer.java:54 Java 🛡️ Builtin
resultItem = alarm.doAlarm(info, jobLog);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
if (!resultItem) {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java:97 Java 🛡️ Builtin
XxlJobTrigger.trigger(jobId, triggerType, failRetryCount, executorShardingParam, executorParam, addressList);
} catch (Exception e) {
logger.error(e.getMessage(), e);
} finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java:69 Java 🛡️ Builtin
} catch (Exception e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java:91 Java 🛡️ Builtin
monitorThread.join();
} catch (InterruptedException e) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java:126 Java 🛡️ Builtin
} catch (Exception e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java:148 Java 🛡️ Builtin
logrThread.join();
} catch (InterruptedException e) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java:84 Java 🛡️ Builtin
} catch (Exception e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java:106 Java 🛡️ Builtin
monitorThread.join();
} catch (InterruptedException e) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:107 Java 🛡️ Builtin
registryThread.join();
} catch (InterruptedException e) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:48 Java 🛡️ Builtin
} catch (InterruptedException e) {
if (!scheduleThreadToStop) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:156 Java 🛡️ Builtin
} catch (SQLException e) {
if (!scheduleThreadToStop) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:163 Java 🛡️ Builtin
} catch (SQLException e) {
if (!scheduleThreadToStop) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:170 Java 🛡️ Builtin
} catch (SQLException e) {
if (!scheduleThreadToStop) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:181 Java 🛡️ Builtin
} catch (SQLException e) {
if (!scheduleThreadToStop) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:196 Java 🛡️ Builtin
} catch (InterruptedException e) {
if (!scheduleThreadToStop) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:221 Java 🛡️ Builtin
} catch (InterruptedException e) {
if (!ringThreadToStop) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:260 Java 🛡️ Builtin
} catch (InterruptedException e) {
if (!ringThreadToStop) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:303 Java 🛡️ Builtin
TimeUnit.SECONDS.sleep(1); // wait
} catch (InterruptedException e) {
logger.error(e.getMessage(), e);
}
if (scheduleThread.getState() != Thread.State.TERMINATED){
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:311 Java 🛡️ Builtin
scheduleThread.join();
} catch (InterruptedException e) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:330 Java 🛡️ Builtin
TimeUnit.SECONDS.sleep(8);
} catch (InterruptedException e) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:339 Java 🛡️ Builtin
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
logger.error(e.getMessage(), e);
}
if (ringThread.getState() != Thread.State.TERMINATED){
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:347 Java 🛡️ Builtin
ringThread.join();
} catch (InterruptedException e) {
logger.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobLogController.java:154 Java 🛡️ Builtin
return logResult;
} catch (Exception e) {
logger.error(e.getMessage(), e);
return new ReturnT<LogResult>(ReturnT.FAIL_CODE, e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobLogController.java:155 Java 🛡️ Builtin
} catch (Exception e) {
logger.error(e.getMessage(), e);
return new ReturnT<LogResult>(ReturnT.FAIL_CODE, e.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobLogController.java:178 Java 🔬 Traced 🛡️ Builtin
runResult = executorBiz.kill(new KillParam(jobInfo.getId()));
} catch (Exception e) {
logger.error(e.getMessage(), e);
runResult = new ReturnT<String>(500, e.getMessage());
}
🔬 Data flow path (HTTP input)
🟢 Data entry point L159: JobLogController.logKill(id)
L159 JobLogController.logKill(id)
L178 logger.error(e.getMessage(), e);
🔴 Impact point L178: logger.error(e.getMessage(), e);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobLogController.java:179 Java 🛡️ Builtin
} catch (Exception e) {
logger.error(e.getMessage(), e);
runResult = new ReturnT<String>(500, e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/resolver/WebExceptionResolver.java:53 Java 🛡️ Builtin
response.getWriter().print(JacksonUtil.writeValueAsString(errorResult));
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
return mv;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java:208 Java 🛡️ Builtin
nextTriggerTime = nextValidTime.getTime();
} catch (ParseException e) {
logger.error(e.getMessage(), e);
return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")+" | "+ e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java:209 Java 🛡️ Builtin
} catch (ParseException e) {
logger.error(e.getMessage(), e);
return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")+" | "+ e.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java:260 Java 🛡️ Builtin
nextTriggerTime = nextValidTime.getTime();
} catch (ParseException e) {
logger.error(e.getMessage(), e);
return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")+" | "+ e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java:261 Java 🛡️ Builtin
} catch (ParseException e) {
logger.error(e.getMessage(), e);
return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")+" | "+ e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/ParamFlowRuleController.java:95 Java 🛡️ Builtin
} catch (Throwable throwable) {
logger.error("Error when querying parameter flow rules", throwable);
return Result.ofFail(-1, throwable.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/ParamFlowRuleController.java:131 Java 🛡️ Builtin
} catch (Throwable throwable) {
logger.error("Error when adding new parameter flow rules", throwable);
return Result.ofFail(-1, throwable.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/ParamFlowRuleController.java:208 Java 🛡️ Builtin
} catch (Throwable throwable) {
logger.error("Error when updating parameter flow rules, id=" + id, throwable);
return Result.ofFail(-1, throwable.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/ParamFlowRuleController.java:236 Java 🛡️ Builtin
} catch (Throwable throwable) {
logger.error("Error when deleting parameter flow rules", throwable);
return Result.ofFail(-1, throwable.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/AuthorityRuleController.java:74 Java 🛡️ Builtin
} catch (Throwable throwable) {
logger.error("Error when querying authority rules", throwable);
return Result.ofFail(-1, throwable.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/AuthorityRuleController.java:170 Java 🛡️ Builtin
publishRules(oldEntity.getApp());
} catch (Exception e) {
return Result.ofFail(-1, e.getMessage());
}
return Result.ofSuccess(id);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/v2/FlowControllerV2.java:219 Java 🛡️ Builtin
publishRules(oldEntity.getApp());
} catch (Exception e) {
return Result.ofFail(-1, e.getMessage());
}
return Result.ofSuccess(id);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/base/BaseRuleController.java:23 Java 🛡️ Builtin
System.out.println("-------------睡100毫秒-----------");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/gateway/GatewayFlowRuleController.java:427 Java 🛡️ Builtin
} catch (Exception e) {
logger.error("publish rules error!");
e.printStackTrace();
return false;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/gateway/GatewayApiController.java:256 Java 🛡️ Builtin
} catch (Exception e) {
logger.error("publish api error!");
e.printStackTrace();
return false;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver1.java:55 Java 🛡️ Builtin
// System.out.println(" responseEntity :"+responseEntity.getBody());
}catch (Exception e){
e.printStackTrace();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/DemoJobHandler.java:93 Java 🛡️ Builtin
exitValue = process.exitValue();
} catch (Exception e) {
log.info(e.getMessage(),e);
} finally {
if (bufferedReader != null) {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/DemoJobHandler.java:199 Java 🛡️ Builtin
return ReturnT.SUCCESS;
} catch (Exception e) {
log.info(e.getMessage(),e);
return ReturnT.FAIL;
} finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/swagger/MySwaggerResourceProvider.java:125 Java 🛡️ Builtin
}
} catch (Exception e) {
e.printStackTrace();
}
return hasRoute;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:129 Java 🛡️ Builtin
} catch (NacosException e) {
log.error("初始化网关路由时发生错误", e);
e.printStackTrace();
}
for (RouteDefinition definition : routes) {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:158 Java 🛡️ Builtin
routes = getRoutesByJson(array);
} catch (URISyntaxException e) {
e.printStackTrace();
}
}else{
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/DynamicRouteService.java:49 Java 🛡️ Builtin
this.publisher.publishEvent(new RefreshRoutesEvent(this));
}catch (Exception e){
log.warn(e.getMessage(),e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/DynamicRouteService.java:85 Java 🛡️ Builtin
repository.save(Mono.just(definition)).subscribe();
} catch (Exception e) {
log.warn(e.getMessage(),e);
}
return "success";
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/config/FeignConfig.java:106 Java 🛡️ Builtin
// requestTemplate.header(CommonConstant.X_TIMESTAMP, String.valueOf(System.currentTimeMillis()));
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/fallback/SysBaseAPIFallback.java:84 Java 🛡️ Builtin
@Override
public List<DictModel> queryAllDict() {
log.error("fegin接口queryAllDict失败:"+cause.getMessage(), cause);
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/fallback/SysBaseAPIFallback.java:227 Java 🛡️ Builtin
@Override
public LoginUser getUserByName(String username) {
log.error("jeecg-system服务节点不通,导致获取登录用户信息失败: " + cause.getMessage(), cause);
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/codegenerate/JeecgOneToMainUtil.java:78 Java 🛡️ Builtin
new CodeGenerateOneToMany(mainTable,subTables).generateCodeFile(null);
} catch (Exception e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/init/CodeTemplateInitListener.java:33 Java 🛡️ Builtin
this.initJarConfigCodeGeneratorTemplate();
} catch (Exception e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/init/CodeGenerateDbConfig.java:41 Java 🛡️ Builtin
password = ConfigTools.decrypt(publicKey, password);
} catch (Exception e) {
e.printStackTrace();
log.error(" 代码生成器数据库连接,数据库密码解密失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java:59 Java 🛡️ Builtin
userInfo = sysBaseApi.getCacheUser(username);
} catch (Exception e) {
log.error("获取用户信息异常:"+ e.getMessage());
return map;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/XmlUtils.java:134 Java 🛡️ Builtin
reader.parse(new InputSource(new StringReader(xmlAsString)));
} catch (final Exception e) {
log.error(e.getMessage(), e);
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/XmlUtils.java:186 Java 🛡️ Builtin
reader.parse(new InputSource(new StringReader(xmlAsString)));
} catch (final Exception e) {
log.error(e.getMessage(), e);
return null;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/XmlUtils.java:206 Java 🛡️ Builtin
return handler.getAttributes();
} catch (final Exception e) {
log.error(e.getMessage(), e);
return Collections.emptyMap();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/CasServiceUtil.java:47 Java 🛡️ Builtin
return res == null ? null : (res == "" ? null : res);
} catch (Exception e) {
e.printStackTrace();
}
return "";
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/controller/CasClientController.java:104 Java 🛡️ Builtin
} catch (Exception e) {
//e.printStackTrace();
result.error500(e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/controller/CasClientController.java:105 Java 🛡️ Builtin
} catch (Exception e) {
//e.printStackTrace();
result.error500(e.getMessage());
}
return new HttpEntity<>(result);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/monitor/controller/ActuatorRedisController.java:118 Java 🛡️ Builtin
res.success("查询成功");
} catch (Exception e) {
res.error500("查询失败"+e.getMessage());
}
return res;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:54 Java 🛡️ Builtin
log.info("【系统 WebSocket】连接断开,总数为:" + sessionPool.size());
} catch (Exception e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:78 Java 🛡️ Builtin
//update-end-author:taoyan date:20211012 for: websocket报错 https://gitee.com/jeecg/jeecg-boot/issues/I4C0MU
} catch (Exception e) {
log.error(e.getMessage(),e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:93 Java 🛡️ Builtin
item.getValue().getAsyncRemote().sendText(message);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:98 Java 🛡️ Builtin
log.info("【系统 WebSocket】群发消息:" + message);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:133 Java 🛡️ Builtin
public void onError(Session session, Throwable t) {
log.warn("【系统 WebSocket】消息出现错误");
t.printStackTrace();
}
//==========【系统 WebSocket接受、推送消息等方法 —— 具体服务节点推送ws消息】========================================================================================
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/util/PushMsgUtil.java:61 Java 🛡️ Builtin
template.process(map, stringWriter);
} catch (IOException e) {
e.printStackTrace();
return false;
} catch (TemplateException e) {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/util/PushMsgUtil.java:64 Java 🛡️ Builtin
return false;
} catch (TemplateException e) {
e.printStackTrace();
return false;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/impl/EmailSendMsgHandle.java:73 Java 🛡️ Builtin
mailSender.send(message);
} catch (MessagingException e) {
e.printStackTrace();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/impl/EmailSendMsgHandle.java:135 Java 🛡️ Builtin
mailSender.send(message);
} catch (MessagingException e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/impl/EmailSendMsgHandle.java:156 Java 🛡️ Builtin
content = content.replace(CommonConstant.LOGIN_TOKEN, URLEncoder.encode(token, "UTF-8"));
} catch (UnsupportedEncodingException e) {
log.error("邮件消息token编码失败", e.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/controller/SysMessageTemplateController.java:176 Java 🛡️ Builtin
return result.success("消息发送成功!");
} catch (Exception e) {
log.error("发送消息出错", e.getMessage());
return result.error500("发送消息出错!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/job/SendMsgJob.java:59 Java 🛡️ Builtin
//update-end-author:taoyan date:2022-7-8 for: 模板消息发送测试调用方法修改
} catch (Exception e) {
e.printStackTrace();
// 发送消息出现异常
sysMessage.setEsSendStatus(SendMsgStatusEnum.FAIL.getCode());
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:154 Java 🛡️ Builtin
result.setResult(text);
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:187 Java 🛡️ Builtin
log.debug(result.toString());
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:224 Java 🛡️ Builtin
return result;
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:305 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:386 Java 🛡️ Builtin
result.success("保存成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:593 Java 🔬 Traced 🛡️ Builtin
return ImportExcelUtil.imporReturnRes(errorLines,successLines,errorMessage);
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败:"+e.getMessage());
} finally {
🔬 Data flow path (HTTP input)
🟢 Data entry point L546: MultipartFile file = entity.getValue();
L546 MultipartFile file = entity.getValue();
L593 log.error(e.getMessage(),e);
🔴 Impact point L593: log.error(e.getMessage(),e);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:594 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败:"+e.getMessage());
} finally {
try {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:599 Java 🛡️ Builtin
file.getInputStream().close();
} catch (Exception e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:631 Java 🛡️ Builtin
return Result.ok("删除成功!");
} catch (Exception e) {
e.printStackTrace();
return Result.error("删除失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:647 Java 🛡️ Builtin
return Result.ok("操作成功!");
} catch (Exception e) {
e.printStackTrace();
return Result.error("操作失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:660 Java 🛡️ Builtin
@ExceptionHandler(java.sql.SQLException.class)
public Result<?> handleSQLException(Exception e){
String msg = e.getMessage();
String extractvalue = "extractvalue";
String updatexml = "updatexml";
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:224 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error("SysDepartPermissionController.saveDatarule()发生异常:" + e.getMessage(),e);
return Result.error("保存失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:243 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:270 Java 🛡️ Builtin
} catch (Exception e) {
result.error500("授权失败!");
log.error(e.getMessage(), e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:300 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:117 Java 🛡️ Builtin
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:161 Java 🛡️ Builtin
sysPositionService.removeById(id);
} catch (Exception e) {
log.error("删除失败", e.getMessage());
return Result.error("删除失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:232 Java 🛡️ Builtin
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:274 Java 🛡️ Builtin
successLines+=(listSysPositions.size()-errorLines);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("文件导入失败:" + e.getMessage());
} finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:275 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("文件导入失败:" + e.getMessage());
} finally {
try {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:280 Java 🛡️ Builtin
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:91 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error(e.getMessage(),e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:119 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:139 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:165 Java 🛡️ Builtin
return Result.OK(data);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error(e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:166 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error(e.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:190 Java 🛡️ Builtin
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:293 Java 🛡️ Builtin
// return result;
// } catch (Exception e) {
// log.error(e.getMessage(),e);
// result.setSuccess(false);
// return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:303 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:446 Java 🛡️ Builtin
return ImportExcelUtil.imporReturnRes(errorMessageList.size(), listSysDeparts.size() - errorMessageList.size(), errorMessageList);
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败:"+e.getMessage());
} finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:447 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败:"+e.getMessage());
} finally {
try {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:452 Java 🛡️ Builtin
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:499 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:573 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:131 Java 🛡️ Builtin
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:290 Java 🛡️ Builtin
} catch (Exception e) {
errorLines++;
String message = e.getMessage().toLowerCase();
int lineNumber = i + 1;
// 通过索引名判断出错信息
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:297 Java 🛡️ Builtin
} else {
errorMessage.add("第 " + lineNumber + " 行:未知错误,忽略导入");
log.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:302 Java 🛡️ Builtin
}
} catch (Exception e) {
errorMessage.add("发生异常:" + e.getMessage());
log.error(e.getMessage(), e);
} finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:303 Java 🛡️ Builtin
} catch (Exception e) {
errorMessage.add("发生异常:" + e.getMessage());
log.error(e.getMessage(), e);
} finally {
try {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:308 Java 🛡️ Builtin
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:344 Java 🛡️ Builtin
}
} catch (Exception e) {
e.printStackTrace();
result.setMessage(e.getMessage());
result.setSuccess(false);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:345 Java 🛡️ Builtin
} catch (Exception e) {
e.printStackTrace();
result.setMessage(e.getMessage());
result.setSuccess(false);
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:362 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
e.printStackTrace();
result.setMessage(e.getMessage());
result.setSuccess(false);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:363 Java 🛡️ Builtin
} catch (Exception e) {
e.printStackTrace();
result.setMessage(e.getMessage());
result.setSuccess(false);
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:383 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
e.printStackTrace();
result.setMessage(e.getMessage());
result.setSuccess(false);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:384 Java 🛡️ Builtin
} catch (Exception e) {
e.printStackTrace();
result.setMessage(e.getMessage());
result.setSuccess(false);
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:532 Java 🛡️ Builtin
return Result.OK(pageList);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("批量查询子节点失败:" + e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:533 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("批量查询子节点失败:" + e.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:108 Java 🛡️ Builtin
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java:138 Java 🛡️ Builtin
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java:388 Java 🛡️ Builtin
result.setResult(map);
}catch(Exception e) {
log.error(e.getMessage(), e);
result.error500("查询失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java:72 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:113 Java 🛡️ Builtin
log.info("======获取全部菜单数据=====耗时:" + (System.currentTimeMillis() - start) + "毫秒");
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:142 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
log.info("======获取一级菜单数据=====耗时:" + (System.currentTimeMillis() - start) + "毫秒");
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:170 Java 🛡️ Builtin
result.setSuccess(true);
}catch (Exception e){
log.error(e.getMessage(), e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:206 Java 🛡️ Builtin
return Result.ok(listMap);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("批量查询子菜单失败:" + e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:207 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("批量查询子菜单失败:" + e.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:228 Java 🛡️ Builtin
// result.success("查询成功");
// } catch (Exception e) {
// result.error500("查询失败:" + e.getMessage());
// log.error(e.getMessage(), e);
// }
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:229 Java 🛡️ Builtin
// } catch (Exception e) {
// result.error500("查询失败:" + e.getMessage());
// log.error(e.getMessage(), e);
// }
// return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:306 Java 🛡️ Builtin
result.setResult(json);
} catch (Exception e) {
result.error500("查询失败:" + e.getMessage());
log.error(e.getMessage(), e);
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:307 Java 🛡️ Builtin
} catch (Exception e) {
result.error500("查询失败:" + e.getMessage());
log.error(e.getMessage(), e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:353 Java 🛡️ Builtin
return Result.OK(result);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("查询失败:" + e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:354 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("查询失败:" + e.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:372 Java 🛡️ Builtin
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:392 Java 🛡️ Builtin
result.success("修改成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:414 Java 🛡️ Builtin
return Result.error("访问路径不允许重复,请重定义!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:433 Java 🛡️ Builtin
result.success("删除成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500(e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:434 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500(e.getMessage());
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:455 Java 🛡️ Builtin
sysPermissionService.deletePermission(id);
} catch (JeecgBootException e) {
if(e.getMessage()!=null && e.getMessage().contains("未找到菜单信息")){
log.warn(e.getMessage());
}else{
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:456 Java 🛡️ Builtin
} catch (JeecgBootException e) {
if(e.getMessage()!=null && e.getMessage().contains("未找到菜单信息")){
log.warn(e.getMessage());
}else{
throw e;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:465 Java 🛡️ Builtin
result.success("删除成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("删除失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:500 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:522 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:541 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:569 Java 🛡️ Builtin
} catch (Exception e) {
result.error500("授权失败!");
log.error(e.getMessage(), e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:889 Java 🛡️ Builtin
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:903 Java 🛡️ Builtin
result.success("更新成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:923 Java 🛡️ Builtin
result.success("删除成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:942 Java 🛡️ Builtin
result.setResult(permRuleList);
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:961 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:985 Java 🛡️ Builtin
} catch (Exception e) {
result.error500("授权失败!");
log.error(e.getMessage(), e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:166 Java 🛡️ Builtin
return dbpath;
} catch (IOException e) {
log.error(e.getMessage(), e);
}
return "";
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:202 Java 🛡️ Builtin
// } catch (IOException e) {
// result.setSuccess(false);
// result.setMessage(e.getMessage());
// log.error(e.getMessage(), e);
// }
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:203 Java 🛡️ Builtin
// result.setSuccess(false);
// result.setMessage(e.getMessage());
// log.error(e.getMessage(), e);
// }
// return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:248 Java 🛡️ Builtin
response.flushBuffer();
} catch (IOException e) {
log.error("预览文件失败" + e.getMessage());
response.setStatus(404);
e.printStackTrace();
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:250 Java 🛡️ Builtin
log.error("预览文件失败" + e.getMessage());
response.setStatus(404);
e.printStackTrace();
} finally {
if (inputStream != null) {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:256 Java 🛡️ Builtin
inputStream.close();
} catch (IOException e) {
log.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:263 Java 🛡️ Builtin
outputStream.close();
} catch (IOException e) {
log.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:307 Java 🛡️ Builtin
//
// } catch (Exception e) {
// log.info("文件下载失败" + e.getMessage());
// // e.printStackTrace();
// } finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:308 Java 🛡️ Builtin
// } catch (Exception e) {
// log.info("文件下载失败" + e.getMessage());
// // e.printStackTrace();
// } finally {
// if (inputStream != null) {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:314 Java 🛡️ Builtin
// inputStream.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:321 Java 🛡️ Builtin
// outputStream.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCommentController.java:100 Java 🛡️ Builtin
return Result.OK("success");
} catch (Exception e) {
log.error("评论文件上传失败:{}", e.getMessage());
return Result.error("操作失败," + e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCommentController.java:101 Java 🛡️ Builtin
} catch (Exception e) {
log.error("评论文件上传失败:{}", e.getMessage());
return Result.error("操作失败," + e.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartRoleController.java:277 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error("SysRoleController.saveDatarule()发生异常:" + e.getMessage(),e);
return Result.error("保存失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserAgentController.java:99 Java 🛡️ Builtin
result.success("代理人设置成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserAgentController.java:252 Java 🛡️ Builtin
return Result.ok("文件导入成功!数据行数:" + listSysUserAgents.size());
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败!");
} finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserAgentController.java:258 Java 🛡️ Builtin
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:175 Java 🛡️ Builtin
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:210 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:258 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败"+e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:259 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败"+e.getMessage());
}
result.success("操作成功!");
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:323 Java 🛡️ Builtin
} catch (Exception e) {
result.setSuccess(false);
result.setMessage(e.getMessage());
return result;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:369 Java 🛡️ Builtin
return result;
} catch (Exception e) {
log.error(e.getMessage(), e);
result.setSuccess(false);
result.setMessage("查找过程中出现了异常: " + e.getMessage());
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:371 Java 🛡️ Builtin
log.error(e.getMessage(), e);
result.setSuccess(false);
result.setMessage("查找过程中出现了异常: " + e.getMessage());
return result;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:422 Java 🛡️ Builtin
return result;
} catch (Exception e) {
log.error(e.getMessage(), e);
result.setSuccess(false);
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:521 Java 🛡️ Builtin
} catch (Exception e) {
errorLines++;
String message = e.getMessage().toLowerCase();
int lineNumber = i + 1;
// 通过索引名判断出错信息
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:536 Java 🛡️ Builtin
} else {
errorMessage.add("第 " + lineNumber + " 行:未知错误,忽略导入");
log.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:553 Java 🛡️ Builtin
}
} catch (Exception e) {
errorMessage.add("发生异常:" + e.getMessage());
log.error(e.getMessage(), e);
} finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:554 Java 🛡️ Builtin
} catch (Exception e) {
errorMessage.add("发生异常:" + e.getMessage());
log.error(e.getMessage(), e);
} finally {
try {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:559 Java 🛡️ Builtin
file.getInputStream().close();
} catch (IOException e) {
log.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:664 Java 🛡️ Builtin
return result;
}catch(Exception e) {
log.error(e.getMessage(), e);
result.setSuccess(false);
result.setMessage("出错了: " + e.getMessage());
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:666 Java 🛡️ Builtin
log.error(e.getMessage(), e);
result.setSuccess(false);
result.setMessage("出错了: " + e.getMessage());
return result;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:687 Java 🛡️ Builtin
result.success("删除成功!");
}catch(Exception e) {
log.error(e.getMessage(), e);
result.error500("删除失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:711 Java 🛡️ Builtin
result.success("删除成功!");
}catch(Exception e) {
log.error(e.getMessage(), e);
result.error500("删除失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:849 Java 🛡️ Builtin
return result;
}catch(Exception e) {
log.error(e.getMessage(), e);
result.setSuccess(false);
result.setMessage("出错了: " + e.getMessage());
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:851 Java 🛡️ Builtin
log.error(e.getMessage(), e);
result.setSuccess(false);
result.setMessage("出错了: " + e.getMessage());
return result;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:882 Java 🛡️ Builtin
}
}catch(Exception e) {
log.error(e.getMessage(), e);
result.error500("删除失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:906 Java 🛡️ Builtin
result.success("删除成功!");
}catch(Exception e) {
log.error(e.getMessage(), e);
result.error500("删除失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:928 Java 🛡️ Builtin
result.setResult(map);
}catch(Exception e) {
log.error(e.getMessage(), e);
result.error500("查询失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1179 Java 🛡️ Builtin
return Result.ok(map);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error(500, "查询失败:" + e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1180 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error(500, "查询失败:" + e.getMessage());
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1217 Java 🛡️ Builtin
return Result.ok(res);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error(500, "查询失败:" + e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1218 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error(500, "查询失败:" + e.getMessage());
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1337 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("保存失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1360 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1670 Java 🛡️ Builtin
result.setMessage("操作成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:146 Java 🛡️ Builtin
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:439 Java 🛡️ Builtin
return Result.ok("文件导入成功!数据行数:" + listSysAnnouncements.size());
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败!");
} finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:445 Java 🛡️ Builtin
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java:124 Java 🛡️ Builtin
}catch (JeecgBootException e){
log.error(e.toString());
return Result.error("操作失败:" + e.getMessage());
}
//update-end-author:taoyan date:2022-8-10 for: jdbc连接地址漏洞问题
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java:145 Java 🛡️ Builtin
} catch (JeecgBootException e) {
log.error(e.toString());
return Result.error("操作失败:" + e.getMessage());
}
//update-end-author:taoyan date:2022-8-10 for: jdbc连接地址漏洞问题
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:418 Java 🛡️ Builtin
return "ok";
} catch (IOException e) {
e.printStackTrace();
return "重定向失败";
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:422 Java 🛡️ Builtin
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return "解码失败";
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:384 Java 🛡️ Builtin
} catch (ClientException e) {
e.printStackTrace();
result.error500(" 短信接口未配置,请联系管理员!");
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:533 Java 🛡️ Builtin
res.setResult(base64);
} catch (Exception e) {
log.error(e.getMessage(), e);
res.error500("获取验证码失败,请检查redis配置!");
return res;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/DuplicateCheckController.java:97 Java 🛡️ Builtin
@ExceptionHandler(java.sql.SQLException.class)
public Result<?> handleSQLException(Exception e){
String msg = e.getMessage();
String extractvalue = "extractvalue";
String updatexml = "updatexml";
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictItemController.java:87 Java 🛡️ Builtin
result.success("保存成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:147 Java 🛡️ Builtin
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:302 Java 🛡️ Builtin
result.setSuccess(false);
result.setResult(false);
result.setMessage(e.getMessage());
return result;
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:356 Java 🛡️ Builtin
return sysRoleService.importExcelCheckRoleCode(file, params);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("文件导入失败:" + e.getMessage());
} finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:357 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("文件导入失败:" + e.getMessage());
} finally {
try {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:362 Java 🛡️ Builtin
file.getInputStream().close();
} catch (IOException e) {
log.error(e.getMessage(), e);
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:419 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error("SysRoleController.saveDatarule()发生异常:" + e.getMessage(),e);
return Result.error("保存失败");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:454 Java 🛡️ Builtin
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:282 Java 🛡️ Builtin
return dbpath;
} catch (IOException e) {
log.error(e.getMessage(), e);
}
return "";
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java:53 Java 🛡️ Builtin
}
} catch (Exception e) {
e.printStackTrace();
}
return Result.OK("添加成功!");
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java:76 Java 🛡️ Builtin
}
} catch (Exception e) {
e.printStackTrace();
}
return Result.OK("编辑成功!");
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java:106 Java 🛡️ Builtin
ds.addDataSource(sysDataSource.getCode(), dataSource);
} catch (Exception e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysGatewayRouteServiceImpl.java:90 Java 🛡️ Builtin
log.error("路由配置解析失败", e);
resreshRouter(null);
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:493 Java 🛡️ Builtin
msg = e.getCause().getMessage();
} else {
msg = e.getMessage();
}
String str = String.format("用户 %s(%s) 同步失败!错误信息:%s", qwUser.getUserid(), qwUser.getName(), msg);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:505 Java 🛡️ Builtin
msg = e.getCause().getMessage();
} else {
msg = e.getMessage();
}
String str = String.format("部门 %s(%s) 同步失败!错误信息:%s", department.getName(), department.getId(), msg);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:850 Java 🛡️ Builtin
baseUrl = RestUtil.getBaseUrl();
} catch (Exception e) {
log.warn(e.getMessage());
baseUrl = jeecgBaseConfig.getDomainUrl().getPc();
//e.printStackTrace();
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:852 Java 🛡️ Builtin
log.warn(e.getMessage());
baseUrl = jeecgBaseConfig.getDomainUrl().getPc();
//e.printStackTrace();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:286 Java 🛡️ Builtin
msg = e.getCause().getMessage();
} else {
msg = e.getMessage();
}
String str = String.format("部门 %s(%s) 同步失败!错误信息:%s", department.getName(), department.getDept_id(), msg);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:519 Java 🛡️ Builtin
msg = e.getCause().getMessage();
} else {
msg = e.getMessage();
}
String str = String.format("用户 %s(%s) 同步失败!错误信息:%s", dtUser.getUserid(), dtUser.getName(), msg);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:861 Java 🛡️ Builtin
baseUrl = RestUtil.getBaseUrl();
} catch (Exception e) {
log.warn(e.getMessage());
baseUrl = jeecgBaseConfig.getDomainUrl().getPc();
//e.printStackTrace();
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:863 Java 🛡️ Builtin
log.warn(e.getMessage());
baseUrl = jeecgBaseConfig.getDomainUrl().getPc();
//e.printStackTrace();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:122 Java 🛡️ Builtin
SensitiveInfoUtil.handlerObject(user, false);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:222 Java 🛡️ Builtin
// SensitiveInfoUtil.handlerObject(user, false);
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// }
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:567 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}finally {
connection.close();
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java:173 Java 🛡️ Builtin
// Thread.sleep(10000);
// }catch (Exception e){
// e.printStackTrace();
// }
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java:758 Java 🛡️ Builtin
@ExceptionHandler(java.sql.SQLException.class)
public Result<?> handleSQLException(Exception e){
String msg = e.getMessage();
String extractvalue = "extractvalue";
String updatexml = "updatexml";
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ngalain/controller/NgAlainController.java:65 Java 🛡️ Builtin
// result.setResult(ls);
// } catch (Exception e) {
// log.error(e.getMessage(),e);
// result.error500("操作失败");
// return result;
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:103 Java 🛡️ Builtin
quartzJobService.editAndScheduleJob(quartzJob);
} catch (SchedulerException e) {
log.error(e.getMessage(),e);
return Result.error("更新定时任务失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:256 Java 🛡️ Builtin
successLines+=(listQuartzJobs.size()-errorLines);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("文件导入失败!");
} finally {
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:262 Java 🛡️ Builtin
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:285 Java 🛡️ Builtin
quartzJobService.execute(quartzJob);
} catch (Exception e) {
//e.printStackTrace();
log.info("定时任务 立即执行失败>>"+e.getMessage());
return Result.error("执行失败!");
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:286 Java 🛡️ Builtin
} catch (Exception e) {
//e.printStackTrace();
log.info("定时任务 立即执行失败>>"+e.getMessage());
return Result.error("执行失败!");
}
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/job/AsyncJob.java:29 Java 🛡️ Builtin
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//测试发现 每5秒执行一次
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java:156 Java 🛡️ Builtin
throw new JeecgBootException("创建定时任务失败", e);
} catch (RuntimeException e) {
throw new JeecgBootException(e.getMessage(), e);
}catch (Exception e) {
throw new JeecgBootException("后台找不到该类名:" + jobClassName, e);
Verbose exception (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java:173 Java 🛡️ Builtin
scheduler.deleteJob(JobKey.jobKey(id));
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new JeecgBootException("删除定时任务失败");
}
comparison_wider_type 76
⚠️ Risk

Comparing an int loop variable against a long or wider value (e.g., array.length cast to long) in a loop condition loses precision — if the long value exceeds Integer.MAX_VALUE, the int variable never reaches it, creating an infinite loop or off-by-one error exploitable for denial of service (CWE-190, CWE-197).

🛠️ Solution

Ensure both sides of the loop comparison have compatible types. Cast the wider type to int after validating it fits, or use a long loop variable if the range may exceed int bounds.

🔧 Fix suggestion — comparison_wider_type
❌ Before
for (int i = 0; i < data.length; i++) { process(data[i]); }
✅ After
if (data.length > Integer.MAX_VALUE) throw new IllegalArgumentException("Too large");
for (int i = 0; i < (int) data.length; i++) { process(data[i]); }
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SqlInjectionUtil.java:88 Java 🛡️ Builtin
String[] xssArr = XSS_STR.split("\\|");
for (int i = 0; i < xssArr.length; i++) {
if (value.indexOf(xssArr[i]) > -1) {
log.error("请注意,存在SQL注入关键词---> {}", xssArr[i]);
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SqlInjectionUtil.java:98 Java 🛡️ Builtin
if (customXssString != null) {
String[] xssArr2 = customXssString.split("\\|");
for (int i = 0; i < xssArr2.length; i++) {
if (value.indexOf(xssArr2[i]) > -1) {
log.error("请注意,存在SQL注入关键词---> {}", xssArr2[i]);
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SqlInjectionUtil.java:140 Java 🛡️ Builtin
//value = value.replaceAll("/\\*.*\\*/","");
for (int i = 0; i < xssArr.length; i++) {
if (value.indexOf(xssArr[i]) > -1) {
log.error("请注意,存在SQL注入关键词---> {}", xssArr[i]);
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SqlInjectionUtil.java:150 Java 🛡️ Builtin
if (customXssString != null) {
String[] xssArr2 = customXssString.split("\\|");
for (int i = 0; i < xssArr2.length; i++) {
if (value.indexOf(xssArr2[i]) > -1) {
log.error("请注意,存在SQL注入关键词---> {}", xssArr2[i]);
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SqlInjectionUtil.java:187 Java 🛡️ Builtin
//value = value.replaceAll("/\\*.*\\*/","");
for (int i = 0; i < xssArr.length; i++) {
if (value.indexOf(xssArr[i]) > -1 || value.startsWith(xssArr[i].trim())) {
log.error("请注意,存在SQL注入关键词---> {}", xssArr[i]);
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SqlInjectionUtil.java:221 Java 🛡️ Builtin
//value = value.replaceAll("/\\*.*\\*/"," ");
for (int i = 0; i < xssArr.length; i++) {
if (value.indexOf(xssArr[i]) > -1 || value.startsWith(xssArr[i].trim())) {
log.error("请注意,存在SQL注入关键词---> {}", xssArr[i]);
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SqlInjectionUtil.java:244 Java 🛡️ Builtin
public static boolean isClassField(String field, Class clazz){
Field[] fields = clazz.getDeclaredFields();
for(int i=0;i<fields.length;i++){
String fieldName = fields[i].getName();
String tableColumnName = oConvertUtils.camelToUnderline(fieldName);
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SqlInjectionUtil.java:264 Java 🛡️ Builtin
for(String field: fieldSet){
boolean exist = false;
for(int i=0;i<fields.length;i++){
String fieldName = fields[i].getName();
String tableColumnName = oConvertUtils.camelToUnderline(fieldName);
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PasswordUtil.java:153 Java 🛡️ Builtin
return null;
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v);
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/Md5Util.java:16 Java 🛡️ Builtin
public static String byteArrayToHexString(byte[] b) {
StringBuffer resultSb = new StringBuffer();
for (int i = 0; i < b.length; i++){
resultSb.append(byteToHexString(b[i]));
}
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ReflectHelper.java:218 Java 🛡️ Builtin
Field[] fields = o.getClass().getDeclaredFields();
String[] fieldNames = new String[fields.length];
for (int i = 0; i < fields.length; i++) {
//log.info(fields[i].getType());
fieldNames[i] = fields[i].getName();
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ReflectHelper.java:233 Java 🛡️ Builtin
List<Map> list = new ArrayList<Map>();
Map<String, Object> infoMap = null;
for (int i = 0; i < fields.length; i++) {
infoMap = new HashMap<>(5);
infoMap.put("type", fields[i].getType().toString());
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ReflectHelper.java:249 Java 🛡️ Builtin
String[] fieldNames = getFiledName(o);
Object[] value = new Object[fieldNames.length];
for (int i = 0; i < fieldNames.length; i++) {
value[i] = getFieldValueByName(fieldNames[i], o);
}
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ImportExcelUtil.java:44 Java 🛡️ Builtin
public static List<String> importDateSave(List<?> list, Class serviceClass, List<String> errorMessage, String errorFlag) {
IService bean =(IService) SpringContextUtils.getBean(serviceClass);
for (int i = 0; i < list.size(); i++) {
try {
boolean save = bean.save(list.get(i));
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:78 Java 🛡️ Builtin
try {
byte[] b = strIn.getBytes(sourceCode);
for (int i = 0; i < b.length; i++) {
System.out.print(b[i] + " ");
}
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:127 Java 🛡️ Builtin
}
Integer[] integer = new Integer[s.length];
for (int i = 0; i < s.length; i++) {
integer[i] = Integer.parseInt(s[i]);
}
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:365 Java 🛡️ Builtin
return false;
}
for (int i = 0; i < all.length; i++) {
String aSource = all[i];
if (aSource.equals(child)) {
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:583 Java 🛡️ Builtin
int temp=0;
//从第三个字符开始 避免命名不规范
for(int i=2;i<para.length();i++){
if(Character.isUpperCase(para.charAt(i))){
sb.insert(i+temp, "_");
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/filter/FileTypeFilter.java:170 Java 🛡️ Builtin
return null;
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v);
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/util/SensitiveInfoUtil.java:116 Java 🛡️ Builtin
Object first = list.get(0);
if(first.getClass().equals(entity)){
for(int i=0; i<list.size(); i++){
Object temp = list.get(i);
try {
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:136 Java 🛡️ Builtin
//定义实体字段和数据库字段名称的映射 高级查询中 只能获取实体字段 如果设置TableField注解 那么查询条件会出问题
Map<String,String> fieldColumnMap = new HashMap<>(5);
for (int i = 0; i < origDescriptors.length; i++) {
//aliasName = origDescriptors[i].getName(); mybatis 不存在实体属性 不用处理别名的情况
name = origDescriptors[i].getName();
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:168 Java 🛡️ Builtin
log.info("---查询过滤器,Query规则---field:{}, rule:{}, value:{}", field, "like", vals[0]);
j = j.like(field,vals[0]);
for (int k=1;k<vals.length;k++) {
j = j.or().like(field,vals[k]);
log.info("---查询过滤器,Query规则 .or()---field:{}, rule:{}, value:{}", field, "like", vals[k]);
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:353 Java 🛡️ Builtin
queryWrapper.and(andWrapper -> {
for (int i = 0; i < filterConditions.size(); i++) {
QueryCondition rule = filterConditions.get(i);
if (oConvertUtils.isNotEmpty(rule.getField())
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:737 Java 🛡️ Builtin
String[] values = dataRule.getRuleValue().split(",");
Object[] objs = new Object[values.length];
for (int i = 0; i < values.length; i++) {
objs[i] = NumberUtils.parseNumber(values[i], propertyType);
}
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:1061 Java 🛡️ Builtin
}
String name, column;
for (int i = 0; i < origDescriptors.length; i++) {
name = origDescriptors[i].getName();
if (judgedIsUselessField(name)) {
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:1105 Java 🛡️ Builtin
}
String name, column;
for (int i = 0; i < origDescriptors.length; i++) {
name = origDescriptors[i].getName();
if (judgedIsUselessField(name)) {
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:1183 Java 🛡️ Builtin
do{
fields = clazz.getDeclaredFields();
for(int i = 0;i<fields.length;i++){
list.add(fields[i]);
}
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/ProvinceCityArea.java:66 Java 🛡️ Builtin
String[] codes = new String[texts.length];
String code = null;
for (int i = 0; i < texts.length; i++) {
String text = texts[i];
Area area;
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/AutoLogAspect.java:145 Java 🛡️ Builtin
// https://my.oschina.net/mengzhang6/blog/2395893
Object[] arguments = new Object[paramsArray.length];
for (int i = 0; i < paramsArray.length; i++) {
if (paramsArray[i] instanceof BindingResult || paramsArray[i] instanceof ServletRequest || paramsArray[i] instanceof ServletResponse || paramsArray[i] instanceof MultipartFile) {
//ServletRequest不能序列化,从入参里排除,否则报异常:java.lang.IllegalStateException: It is illegal to
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/AutoLogAspect.java:175 Java 🛡️ Builtin
String[] paramNames = u.getParameterNames(method);
if (args != null && paramNames != null) {
for (int i = 0; i < args.length; i++) {
params += " " + paramNames[i] + ": " + args[i];
}
comparison_wider_type 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/es/JeecgElasticsearchTemplate.java:372 Java 🛡️ Builtin
String url = this.getBaseUrl().append("/_bulk").append("?refresh=wait_for").toString();
StringBuilder bodySb = new StringBuilder();
for (int i = 0; i < dataList.size(); i++) {
JSONObject data = dataList.getJSONObject(i);
String id = data.getString("id");
comparison_wider_type 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:393 Java 🛡️ Builtin
String dbId = "id";
String id = jsonObject.getString(dbId);
for (int i = 0; i < data.size(); i++) {
if(id.equals(data.getJSONObject(i).getString(dbId))){
data.set(i,jsonObject);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:410 Java 🛡️ Builtin
public JSONArray deleteNativeById(JSONArray data,String ids){
String dbId = "id";
for (int i = 0; i < data.size(); i++) {
//如果id包含直接清除data中的数据
if(ids.contains(data.getJSONObject(i).getString(dbId))){
comparison_wider_type 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/MockController.java:132 Java 🛡️ Builtin
List<Map<String,Object>> list = new ArrayList<>();
for (int i = 0; i < fs.length; i++) {
if(fs[i].getTotalSpace()==0) {
continue;
comparison_wider_type 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:383 Java 🛡️ Builtin
private void queryByParentId(JSONArray dataList, List<String> parentIds, JSONArray results) {
for (int i = 0; i < dataList.size(); i++) {
JSONObject data = dataList.getJSONObject(i);
JSONArray children = data.getJSONArray("children");
comparison_wider_type 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/online/OnlCgformDemoController.java:38 Java 🛡️ Builtin
JSONArray dataList = params.getJSONArray("dataList");
List<DictModel> dict = virtualDictData();
for (int i = 0; i < dataList.size(); i++) {
JSONObject record = dataList.getJSONObject(i);
String province = record.getString("province");
comparison_wider_type 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:381 Java 🛡️ Builtin
private void queryByParentId(JSONArray dataList, List<String> parentIds, JSONArray results) {
for (int i = 0; i < dataList.size(); i++) {
JSONObject data = dataList.getJSONObject(i);
JSONArray children = data.getJSONArray("children");
comparison_wider_type 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:958 Java 🛡️ Builtin
protected int skipWhiteSpace(int i, String s) {
for (; i < s.length() && (s.charAt(i) == ' ' || s.charAt(i) == '\t'); i++) {
}
comparison_wider_type 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:965 Java 🛡️ Builtin
protected int findNextWhiteSpace(int i, String s) {
for (; i < s.length() && (s.charAt(i) != ' ' || s.charAt(i) != '\t'); i++) {
}
comparison_wider_type 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/service/impl/AdminBizImpl.java:73 Java 🛡️ Builtin
String[] childJobIds = xxlJobInfo.getChildJobId().split(",");
for (int i = 0; i < childJobIds.length; i++) {
int childJobId = (childJobIds[i]!=null && childJobIds[i].trim().length()>0 && isNumeric(childJobIds[i]))?Integer.valueOf(childJobIds[i]):-1;
if (childJobId > 0) {
comparison_wider_type 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/SystemController.java:84 Java 🛡️ Builtin
private int countNotNullAndNotNegative(Number... values) {
int notNullCount = 0;
for (int i = 0; i < values.length; i++) {
if (values[i] != null && values[i].doubleValue() >= 0) {
notNullCount++;
comparison_wider_type 🛡️ Security & OWASP jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:195 Java 🛡️ Builtin
public static List<MyRouteDefinition> getRoutesByJson(JSONArray array) throws URISyntaxException {
List<MyRouteDefinition> ls = new ArrayList<>();
for (int i = 0; i < array.size(); i++) {
JSONObject obj = array.getJSONObject(i);
MyRouteDefinition route = new MyRouteDefinition();
comparison_wider_type 🛡️ Security & OWASP jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:219 Java 🛡️ Builtin
if(ArrayUtil.contains(GEN_KEY_ROUTERS,name)) {
JSONArray jsonArray = json.getJSONArray("args");
for (int j = 0; j < jsonArray.size(); j++) {
predicateDefinition.addArg("_genkey" + j, jsonArray.get(j).toString());
}
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/monitor/controller/ActuatorRedisController.java:103 Java 🛡️ Builtin
List<Map<String,Object>> list = new ArrayList<>();
for (int i = 0; i < fs.length; i++) {
if(fs[i].getTotalSpace()==0) {
continue;
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/impl/SystemSendMsgHandle.java:111 Java 🛡️ Builtin
String[] userIds = userId.split(",");
String anntId = announcement.getId();
for(int i=0;i<userIds.length;i++) {
if(oConvertUtils.isNotEmpty(userIds[i])) {
SysUser sysUser = userMapper.getUserByName(userIds[i]);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java:40 Java 🛡️ Builtin
List<DepartIdModel> idList = new ArrayList<DepartIdModel>();
List<SysDepartTreeModel> records = new ArrayList<>();
for (int i = 0; i < recordList.size(); i++) {
SysDepart depart = recordList.get(i);
records.add(new SysDepartTreeModel(depart));
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java:59 Java 🛡️ Builtin
List<DepartIdModel> idList = new ArrayList<DepartIdModel>();
List<SysDepartTreeModel> records = new ArrayList<>();
for (int i = 0; i < recordList.size(); i++) {
SysDepart depart = recordList.get(i);
records.add(new SysDepartTreeModel(depart));
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java:75 Java 🛡️ Builtin
List<SysDepartTreeModel> treeList = new ArrayList<>();
for (int i = 0; i < recordList.size(); i++) {
SysDepartTreeModel branch = recordList.get(i);
if (oConvertUtils.isEmpty(branch.getParentId())) {
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java:95 Java 🛡️ Builtin
private static void getGrandChildren(List<SysDepartTreeModel> treeList,List<SysDepartTreeModel> recordList,List<DepartIdModel> idList) {
for (int i = 0; i < treeList.size(); i++) {
SysDepartTreeModel model = treeList.get(i);
DepartIdModel idModel = idList.get(i);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java:98 Java 🛡️ Builtin
SysDepartTreeModel model = treeList.get(i);
DepartIdModel idModel = idList.get(i);
for (int i1 = 0; i1 < recordList.size(); i1++) {
SysDepartTreeModel m = recordList.get(i1);
if (m.getParentId()!=null && m.getParentId().equals(model.getId())) {
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java:118 Java 🛡️ Builtin
private static void setEmptyChildrenAsNull(List<SysDepartTreeModel> treeList) {
for (int i = 0; i < treeList.size(); i++) {
SysDepartTreeModel model = treeList.get(i);
if (model.getChildren().size() == 0) {
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/RandImageUtil.java:113 Java 🛡️ Builtin
}
// 取随机产生的认证码
for (int i = 0; i < resultCode.length(); i++) {
// 将认证码显示到图象中,调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成
// graphics.setColor(new Color(20 + random.nextInt(130), 20 + random
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:561 Java 🛡️ Builtin
List<String> errorMessage = new ArrayList<>();
int successLines = 0, errorLines = 0;
for (int i=0;i< list.size();i++) {
SysDict po = new SysDict();
BeanUtils.copyProperties(list.get(i), po);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:271 Java 🛡️ Builtin
Collections.sort(listSysCategorys);
log.info("排序后的list====>",listSysCategorys);
for (int i = 0; i < listSysCategorys.size(); i++) {
SysCategory sysCategoryExcel = listSysCategorys.get(i);
String code = sysCategoryExcel.getCode();
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysFillRuleController.java:195 Java 🛡️ Builtin
// 遍历 rules ,批量执行规则
JSONArray results = new JSONArray(rules.size());
for (int i = 0; i < rules.size(); i++) {
JSONObject rule = rules.getJSONObject(i);
String ruleCode = rule.getString("ruleCode");
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:505 Java 🛡️ Builtin
try {
List<SysUser> listSysUsers = ExcelImportUtil.importExcel(file.getInputStream(), SysUser.class, params);
for (int i = 0; i < listSysUsers.size(); i++) {
SysUser sysUserExcel = listSysUsers.get(i);
if (StringUtils.isBlank(sysUserExcel.getPassword())) {
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:212 Java 🛡️ Builtin
}else {
String[] id = ids.split(",");
for(int i=0;i<id.length;i++) {
SysAnnouncement announcement = sysAnnouncementService.getById(id[i]);
announcement.setDelFlag(CommonConstant.DEL_FLAG_1.toString());
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:352 Java 🛡️ Builtin
List<SysAnnouncement> announcements = sysAnnouncementService.list(querySaWrapper);
if(announcements.size()>0) {
for(int i=0;i<announcements.size();i++) {
//update-begin--Author:wangshuai Date:20200803 for: 通知公告消息重复LOWCOD-759--------------------
//因为websocket没有判断是否存在这个用户,要是判断会出现问题,故在此判断逻辑
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCheckRuleServiceImpl.java:52 Java 🛡️ Builtin
int beginIndex = 0;
JSONArray rules = JSON.parseArray(ruleJson);
for (int i = 0; i < rules.size(); i++) {
JSONObject result = new JSONObject();
JSONObject rule = rules.getJSONObject(i);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java:49 Java 🛡️ Builtin
// 去除 listSysRoles 中重复的数据
for (int i = 0; i < listSysRoles.size(); i++) {
String roleCodeI =((SysRole)listSysRoles.get(i)).getRoleCode();
for (int j = i + 1; j < listSysRoles.size(); j++) {
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java:51 Java 🛡️ Builtin
for (int i = 0; i < listSysRoles.size(); i++) {
String roleCodeI =((SysRole)listSysRoles.get(i)).getRoleCode();
for (int j = i + 1; j < listSysRoles.size(); j++) {
String roleCodeJ =((SysRole)listSysRoles.get(j)).getRoleCode();
// 发现重复数据
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:69 Java 🛡️ Builtin
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
String[] codeArr = this.getMyDeptParentOrgCode(departIds);
for(int i=0;i<codeArr.length;i++){
query.or().likeRight(SysDepart::getOrgCode,codeArr[i]);
}
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:84 Java 🛡️ Builtin
//将父节点ParentId设为null
List<SysDepart> listDepts = this.list(query);
for(int i=0;i<codeArr.length;i++){
for(SysDepart dept : listDepts){
if(dept.getOrgCode().equals(codeArr[i])){
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:523 Java 🛡️ Builtin
int min =str[0].length();
StringBuilder orgCodeBuilder = new StringBuilder(str[0]);
for(int i =1;i<str.length;i++){
if(str[i].length()<=min){
min = str[i].length();
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:595 Java 🛡️ Builtin
//update-end---author:wangshuai ---date:20220316 for:[JTC-119]在部门管理菜单下设置部门负责人 创建用户的时候不需要处理
List<SysDepartTreeModel> records = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
SysDepart depart = list.get(i);
SysDepartTreeModel treeModel = new SysDepartTreeModel(depart);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:862 Java 🛡️ Builtin
List<SysDepart> list = departMapper.queryBookDepTreeSync(parentId,tenantId,departName);
List<SysDepartTreeModel> records = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
SysDepart depart = list.get(i);
SysDepartTreeModel treeModel = new SysDepartTreeModel(depart);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysTenantServiceImpl.java:442 Java 🛡️ Builtin
String[] userIdArray = userIds.split(",");
String[] realNameArray = realNames.split(",");
for(int i=0;i<userIdArray.length;i++){
String userId = userIdArray[i];
String realName = realNameArray[i];
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java:54 Java 🛡️ Builtin
String anntId = sysAnnouncement.getId();
Date refDate = new Date();
for(int i=0;i<userIds.length;i++) {
SysAnnouncementSend announcementSend = new SysAnnouncementSend();
announcementSend.setAnntId(anntId);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java:79 Java 🛡️ Builtin
String anntId = sysAnnouncement.getId();
Date refDate = new Date();
for(int i=0;i<userIds.length;i++) {
LambdaQueryWrapper<SysAnnouncementSend> queryWrapper = new LambdaQueryWrapper<SysAnnouncementSend>();
queryWrapper.eq(SysAnnouncementSend::getAnntId, anntId);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java:150 Java 🛡️ Builtin
List<SysAnnouncement> announcements = this.list(querySaWrapper);
if(announcements.size()>0) {
for(int i=0;i<announcements.size();i++) {
//update-begin--Author:wangshuai Date:20200803 for: 通知公告消息重复LOWCOD-759--------------------
//因为websocket没有判断是否存在这个用户,要是判断会出现问题,故在此判断逻辑
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:402 Java 🛡️ Builtin
String[] userIds = userId.split(",");
String anntId = announcement.getId();
for(int i=0;i<userIds.length;i++) {
if(oConvertUtils.isNotEmpty(userIds[i])) {
SysUser sysUser = userMapper.getUserByName(userIds[i]);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:476 Java 🛡️ Builtin
String[] userIds = userId.split(",");
String anntId = announcement.getId();
for(int i=0;i<userIds.length;i++) {
if(oConvertUtils.isNotEmpty(userIds[i])) {
SysUser sysUser = userMapper.getUserByName(userIds[i]);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:637 Java 🛡️ Builtin
if(oConvertUtils.isNotEmpty(userIds)){
String[] temp = userIds.split(",");
for(int i = 0; i<temp.length;i++){
if(temp[i].equals(user.getId())){
model.setChecked(true);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:673 Java 🛡️ Builtin
model.setRoleCode(role.getRoleCode());
if(oConvertUtils.isNotEmpty(roleIds)) {
for (int i = 0; i < roleIds.length; i++) {
if (roleIds[i].equals(role.getId())) {
model.setChecked(true);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:982 Java 🛡️ Builtin
String[] userIds = userId.split(",");
String anntId = announcement.getId();
for(int i=0;i<userIds.length;i++) {
if(oConvertUtils.isNotEmpty(userIds[i])) {
SysUser sysUser = userMapper.getUserByName(userIds[i]);
comparison_wider_type 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:1034 Java 🛡️ Builtin
String[] userIds = userId.split(",");
String anntId = announcement.getId();
for(int i=0;i<userIds.length;i++) {
if(oConvertUtils.isNotEmpty(userIds[i])) {
SysUser sysUser = userMapper.getUserByName(userIds[i]);
toctou_race_condition 7
⚠️ Risk

Checking file existence or permissions before operating on the file introduces a TOCTOU (time-of-check time-of-use) race condition — an attacker with write access to the directory can replace the file with a symlink between the check and the operation, causing the application to operate on an unintended file (CWE-367).

🛠️ Solution

Use atomic file operations. Open the file directly and handle the FileNotFoundException/NoSuchFileException rather than pre-checking existence. Use Files.createFile() with StandardOpenOption.CREATE_NEW for atomic creation.

🔧 Fix suggestion — toctou_race_condition
❌ Before
if (file.exists()) {
processFile(file);
}
✅ After
try {
processFile(file);
} catch (NoSuchFileException e) {
// file did not exist
}
toctou_race_condition 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:58 Java 🛡️ Builtin
if(CommonConstant.UPLOAD_TYPE_LOCAL.equals(uploadType)){
File file = new File(basePath + File.separator + bizPath + File.separator );
if (!file.exists()) {
file.mkdirs();// 创建文件根目录
}
toctou_race_condition 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:155 Java 🛡️ Builtin
String fileName = null;
File file = new File(uploadpath + File.separator + bizPath + File.separator );
if (!file.exists()) {
// 创建文件根目录
file.mkdirs();
toctou_race_condition 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:140 Java 🛡️ Builtin
String fileName = null;
File file = new File(ctxPath + File.separator + bizPath + File.separator );
if (!file.exists()) {
// 创建文件根目录
file.mkdirs();
toctou_race_condition 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:184 Java 🛡️ Builtin
// String nowday = new SimpleDateFormat("yyyyMMdd").format(new Date());
// File file = new File(ctxPath + File.separator + bizPath + File.separator + nowday);
// if (!file.exists()) {
// file.mkdirs();// 创建文件根目录
// }
toctou_race_condition 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:232 Java 🛡️ Builtin
String filePath = uploadpath + File.separator + imgPath;
File file = new File(filePath);
if(!file.exists()){
response.setStatus(404);
throw new RuntimeException("文件["+imgPath+"]不存在..");
toctou_race_condition 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:293 Java 🛡️ Builtin
// String downloadFilePath = localPath + File.separator + filePath;
// File file = new File(downloadFilePath);
// if (file.exists()) {
// response.setContentType("application/force-download");// 设置强制下载不打开
// response.addHeader("Content-Disposition", "attachment;fileName=" + new String(file.getName().getBytes("UTF-8"),"iso-8859-1"));
toctou_race_condition 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:258 Java 🛡️ Builtin
String fileName = null;
File file = new File(ctxPath + File.separator + bizPath + File.separator);
if (!file.exists()) {
file.mkdirs();// 创建文件根目录
}
Weak Random (Java) 8
⚠️ Risk

java.util.Random is not cryptographically secure. Predictable values enable session hijacking or token forgery (CWE-330).

🛠️ Solution

Use java.security.SecureRandom for security-sensitive operations.

🔧 Fix suggestion — Weak Random (Java)
❌ Before
int token = new Random().nextInt();
✅ After
int token = SecureRandom.getInstanceStrong().nextInt();
Weak Random (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:53 Java 🛡️ Builtin
public static String uploadOnlineImage(byte[] data,String basePath,String bizPath,String uploadType){
String dbPath = null;
String fileName = "image" + Math.round(Math.random() * 100000000000L);
fileName += "." + PoiPublicUtil.getFileExtendName(data);
try {
Weak Random (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PmsUtil.java:38 Java 🛡️ Builtin
saveFile.mkdirs();
}
name += DateUtils.yyyymmddhhmmss.get().format(d) + Math.round(Math.random() * 10000);
String saveFilePath = saveFullDir + name + ".txt";
Weak Random (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:599 Java 🛡️ Builtin
String base = "qwertyuioplkjhgfdsazxcvbnmQAZWSXEDCRFVTGBYHNUJMIKLOP0123456789";
StringBuffer sb = new StringBuffer();
Random rd = new Random();
for(int i=0;i<place;i++) {
sb.append(base.charAt(rd.nextInt(base.length())));
Weak Random (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRandom.java:15 Java 🛡️ Builtin
public class ExecutorRouteRandom extends ExecutorRouter {
private static Random localRandom = new Random();
@Override
Weak Random (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java:28 Java 🛡️ Builtin
// count++
Integer count = routeCountEachJob.get(jobId);
count = (count==null || count>1000000)?(new Random().nextInt(100)):++count; // 初始化时主动Random一次,缓解首次压力
routeCountEachJob.put(jobId, count);
return count;
Weak Random (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java:41 Java 🛡️ Builtin
for (String address: addressList) {
if (!lfuItemMap.containsKey(address) || lfuItemMap.get(address) >1000000 ) {
lfuItemMap.put(address, new Random().nextInt(addressList.size())); // 初始化时主动Random一次,缓解首次压力
}
}
Weak Random (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/RandImageUtil.java:99 Java 🛡️ Builtin
graphics.drawRect(0, 0, WIDTH - 1, HEIGHT - 1);
final Random random = new Random();
// 随机产生干扰线,使图象中的认证码不易被其它程序探测到
for (int i = 0; i < COUNT; i++) {
Weak Random (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/RandImageUtil.java:131 Java 🛡️ Builtin
private static Color getRandColor(int fc, int bc) { // 取得给定范围随机颜色
final Random random = new Random();
int length = 255;
if (fc > length) {
Weak random (Java) 6
⚠️ Risk

java.util.Random is predictable — tokens, sessions, and keys generated with it can be guessed.

🛠️ Solution

Use java.security.SecureRandom for all security-sensitive random generation.

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Use java.security.SecureRandom for all security-sensitive random generation.
  3. ✅ Run the audit again to verify the finding is resolved

💡 Unpredictable token/key generation (OWASP A02, CWE-330).

CWE-330 A02:2021 ISO A.8.24, A.8.28
🔧 Fix suggestion — Weak random (Java)
❌ Before
int token = new Random().nextInt();
✅ After
int token = SecureRandom.getInstanceStrong().nextInt();
Weak random (Java) 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:599 Java 🛡️ Builtin
String base = "qwertyuioplkjhgfdsazxcvbnmQAZWSXEDCRFVTGBYHNUJMIKLOP0123456789";
StringBuffer sb = new StringBuffer();
Random rd = new Random();
for(int i=0;i<place;i++) {
sb.append(base.charAt(rd.nextInt(base.length())));
Weak random (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRandom.java:15 Java 🛡️ Builtin
public class ExecutorRouteRandom extends ExecutorRouter {
private static Random localRandom = new Random();
@Override
Weak random (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java:28 Java 🛡️ Builtin
// count++
Integer count = routeCountEachJob.get(jobId);
count = (count==null || count>1000000)?(new Random().nextInt(100)):++count; // 初始化时主动Random一次,缓解首次压力
routeCountEachJob.put(jobId, count);
return count;
Weak random (Java) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java:41 Java 🛡️ Builtin
for (String address: addressList) {
if (!lfuItemMap.containsKey(address) || lfuItemMap.get(address) >1000000 ) {
lfuItemMap.put(address, new Random().nextInt(addressList.size())); // 初始化时主动Random一次,缓解首次压力
}
}
Weak random (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/RandImageUtil.java:99 Java 🛡️ Builtin
graphics.drawRect(0, 0, WIDTH - 1, HEIGHT - 1);
final Random random = new Random();
// 随机产生干扰线,使图象中的认证码不易被其它程序探测到
for (int i = 0; i < COUNT; i++) {
Weak random (Java) 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/RandImageUtil.java:131 Java 🛡️ Builtin
private static Color getRandColor(int fc, int bc) { // 取得给定范围随机颜色
final Random random = new Random();
int length = 255;
if (fc > length) {
Insecure cookie (missing HttpOnly/Secure) 1
⚠️ Risk

Cookies without HttpOnly are accessible via JavaScript (XSS). Without Secure, they are sent over unencrypted HTTP (CWE-614, OWASP A05).

🛠️ Solution

Always set HttpOnly=True and Secure=True on session and authentication cookies.

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Always set HttpOnly=True and Secure=True on session and authentication cookies.
  3. ✅ Run the audit again to verify the finding is resolved

💡 Cookies protected against XSS theft and network interception.

CWE-614 A05:2021 ISO A.8.28, A.8.5
🔧 Fix suggestion — Insecure cookie (missing HttpOnly/Secure)
❌ Before
response.set_cookie("session_id", token)
✅ After
response.set_cookie(
session_id , token,
httponly=True, secure=True, samesite="Lax"
)
Insecure cookie (missing HttpOnly/Secure) 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java:41 Java 🛡️ Builtin
*/
private static void set(HttpServletResponse response, String key, String value, String domain, String path, int maxAge, boolean isHttpOnly) {
Cookie cookie = new Cookie(key, value);
if (domain != null) {
cookie.setDomain(domain);
Log Injection — tainted data written to logs without sanitization 100
⚠️ Risk

An attacker can forge log entries, hide traces, or exploit log processing tools.

🛠️ Solution

Sanitize user input before logging by removing newlines and control characters.

🔧 Fix suggestion — Taint Log Injection
❌ Before
user_agent = request.headers.get("User-Agent")
logger.info(f"Request from: {user_agent}")
✅ After
user_agent = request.headers.get("User-Agent",  )
safe_ua = user_agent.replace("\n",  ).replace("\r",  )
logger.info("Request from: %s", safe_ua)
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/AutoPoiDictConfig.java:74 Java 🔬 Traced 🛡️ Builtin
}
if (dictReplaces != null && dictReplaces.size() != 0) {
log.info("---AutoPoi--Get_DB_Dict------"+ dictReplaces.toString());
return dictReplaces.toArray(new String[dictReplaces.size()]);
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L65: String val = t.getValue().replace(EXCEL_SPLIT_TAG,TEMP_EXCEL_SPLIT_TAG);
L65 String val = t.getValue().replace(EXCEL_SPLIT_TAG,TEMP_EXCEL_SPLIT_TAG);
L74 log.info("---AutoPoi--Get_DB_Dict------"+ dictReplaces.toString());
🔴 Impact point L74: log.info("---AutoPoi--Get_DB_Dict------"+ dictReplaces.toString());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/interceptor/DynamicDatasourceInterceptor.java:28 Java 🔬 Traced 🛡️ Builtin
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
String requestURI = request.getRequestURI();
log.info("经过多数据源Interceptor,当前路径是{}", requestURI);
//获取动态数据源名称
String dsName = request.getParameter("dsName");
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L27: String requestURI = request.getRequestURI();
L27 String requestURI = request.getRequestURI();
L28 log.info("经过多数据源Interceptor,当前路径是{}", requestURI);
🔴 Impact point L28: log.info("经过多数据源Interceptor,当前路径是{}", requestURI);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthInterceptor.java:36 Java 🔬 Traced 🛡️ Builtin
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
log.info("Sign Interceptor request URI = " + request.getRequestURI());
HttpServletRequest requestWrapper = new BodyReaderHttpServletRequestWrapper(request);
//获取全部参数(包括URL和body上的)
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L36: log.info("Sign Interceptor request URI = " + request.getRequestURI());
L36 log.info("Sign Interceptor request URI = " + request.getRequestURI());
L36 log.info("Sign Interceptor request URI = " + request.getRequestURI());
🔴 Impact point L36: log.info("Sign Interceptor request URI = " + request.getRequestURI());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthInterceptor.java:79 Java 🔬 Traced 🛡️ Builtin
if (isSigned) {
log.debug("Sign 签名通过!Header Sign : {}",headerSign);
return true;
} else {
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L41: String headerSign = request.getHeader(CommonConstant.X_SIGN);
L41 String headerSign = request.getHeader(CommonConstant.X_SIGN);
L79 log.debug("Sign 签名通过!Header Sign : {}",headerSign);
🔴 Impact point L79: log.debug("Sign 签名通过!Header Sign : {}",headerSign);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthInterceptor.java:82 Java 🔬 Traced 🛡️ Builtin
return true;
} else {
log.error("request URI = " + request.getRequestURI());
log.error("Sign 签名校验失败!Header Sign : {}",headerSign);
//校验失败返回前端
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L82: log.error("request URI = " + request.getRequestURI());
L82 log.error("request URI = " + request.getRequestURI());
L82 log.error("request URI = " + request.getRequestURI());
🔴 Impact point L82: log.error("request URI = " + request.getRequestURI());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthInterceptor.java:83 Java 🔬 Traced 🛡️ Builtin
} else {
log.error("request URI = " + request.getRequestURI());
log.error("Sign 签名校验失败!Header Sign : {}",headerSign);
//校验失败返回前端
response.setCharacterEncoding("UTF-8");
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L41: String headerSign = request.getHeader(CommonConstant.X_SIGN);
L41 String headerSign = request.getHeader(CommonConstant.X_SIGN);
L83 log.error("Sign 签名校验失败!Header Sign : {}",headerSign);
🔴 Impact point L83: log.error("Sign 签名校验失败!Header Sign : {}",headerSign);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java:44 Java 🔬 Traced 🛡️ Builtin
String pathVariable = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/") + 1);
if (pathVariable.contains(SymbolConstant.COMMA)) {
log.info(" pathVariable: {}",pathVariable);
String deString = URLDecoder.decode(pathVariable, "UTF-8");
log.info(" pathVariable decode: {}",deString);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L42: String pathVariable = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/") + 1);
L42 String pathVariable = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/") + 1);
L44 log.info(" pathVariable: {}",pathVariable);
🔴 Impact point L44: log.info(" pathVariable: {}",pathVariable);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java:46 Java 🔬 Traced 🛡️ Builtin
log.info(" pathVariable: {}",pathVariable);
String deString = URLDecoder.decode(pathVariable, "UTF-8");
log.info(" pathVariable decode: {}",deString);
result.put(SignUtil.X_PATH_VARIABLE, deString);
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L42: String pathVariable = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/") + 1);
L42 String pathVariable = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/") + 1);
L46 log.info(" pathVariable decode: {}",deString);
🔴 Impact point L46: log.info(" pathVariable decode: {}",deString);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SqlInjectionUtil.java:56 Java 🔬 Traced 🛡️ Builtin
String javaSign = SecureUtil.md5(signStr);
if (!javaSign.equals(sign)) {
log.error("表字典,SQL注入漏洞签名校验失败 :" + sign + "!=" + javaSign+ ",dictCode=" + dictCode);
throw new JeecgBootException("无权限访问!");
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L52: String accessToken = request.getHeader("X-Access-Token");
L52 String accessToken = request.getHeader("X-Access-Token");
L56 log.error("表字典,SQL注入漏洞签名校验失败 :" + sign + "!=" + javaSign+ ",dictCode=" + dictCode);
🔴 Impact point L56: log.error("表字典,SQL注入漏洞签名校验失败 :" + sign + "!=" + javaSign+ ",dictCode=" + dictCode);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestUtil.java:49 Java 🔬 Traced 🛡️ Builtin
public static String getBaseUrl() {
String basepath = getDomain() + getPath();
log.info(" RestUtil.getBaseUrl: " + basepath);
return basepath;
}
🔬 Data flow path (HTTP input)
🟢 Data entry point L48: getDomain()
L48 getDomain()
L49 log.info(" RestUtil.getBaseUrl: " + basepath);
🔴 Impact point L49: log.info(" RestUtil.getBaseUrl: " + basepath);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/TokenUtils.java:70 Java 🔬 Traced 🛡️ Builtin
*/
public static boolean verifyToken(HttpServletRequest request, CommonAPI commonApi, RedisUtil redisUtil) {
log.debug(" -- url --" + request.getRequestURL());
String token = getTokenByRequest(request);
return TokenUtils.verifyToken(token, commonApi, redisUtil);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L70: log.debug(" -- url --" + request.getRequestURL());
L70 log.debug(" -- url --" + request.getRequestURL());
L70 log.debug(" -- url --" + request.getRequestURL());
🔴 Impact point L70: log.debug(" -- url --" + request.getRequestURL());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:329 Java 🔬 Traced 🛡️ Builtin
String xGatewayBasePath = request.getHeader(ServiceNameConstants.X_GATEWAY_BASE_PATH);
if(oConvertUtils.isNotEmpty(xGatewayBasePath)){
log.info("x_gateway_base_path = "+ xGatewayBasePath);
return xGatewayBasePath;
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L327: String xGatewayBasePath = request.getHeader(ServiceNameConstants.X_GATEWAY_BASE_PATH);
L327 String xGatewayBasePath = request.getHeader(ServiceNameConstants.X_GATEWAY_BASE_PATH);
L329 log.info("x_gateway_base_path = "+ xGatewayBasePath);
🔴 Impact point L329: log.info("x_gateway_base_path = "+ xGatewayBasePath);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:352 Java 🔬 Traced 🛡️ Builtin
baseDomainPath = scheme + "://" + serverName + ":" + serverPort + contextPath ;
}
log.debug("-----Common getBaseUrl----- : " + baseDomainPath);
return baseDomainPath;
}
🔬 Data flow path (HTTP input)
🟢 Data entry point L334: String scheme = request.getHeader(CommonConstant.X_FORWARDED_SCHEME);
L334 String scheme = request.getHeader(CommonConstant.X_FORWARDED_SCHEME);
L352 log.debug("-----Common getBaseUrl----- : " + baseDomainPath);
🔴 Impact point L352: log.debug("-----Common getBaseUrl----- : " + baseDomainPath);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java:142 Java 🔬 Traced 🛡️ Builtin
// ossClient.setBucketAcl(newBucket, CannedAccessControlList.PublicRead);
if (result != null) {
log.info("------OSS文件上传成功------" + fileUrl);
}
} catch (IOException e) {
🔬 Data flow path (HTTP input)
🟢 Data entry point L117: String orgName = file.getOriginalFilename();
L117 String orgName = file.getOriginalFilename();
L142 log.info("------OSS文件上传成功------" + fileUrl);
🔴 Impact point L142: log.info("------OSS文件上传成功------" + fileUrl);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/controller/JeecgController.java:180 Java 🔬 Traced 🛡️ Builtin
//400条 saveBatch消耗时间1592毫秒 循环插入消耗时间1947毫秒
//1200条 saveBatch消耗时间3687毫秒 循环插入消耗时间5212毫秒
log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
//update-end-author:taoyan date:20190528 for:批量插入数据
return Result.ok("文件导入成功!数据行数:" + list.size());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L168: MultipartFile file = entity.getValue();
L168 MultipartFile file = entity.getValue();
L180 log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
🔴 Impact point L180: log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/PermissionDataAspect.java:71 Java 🔬 Traced 🛡️ Builtin
}
//update-end-author:taoyan date:20211027 for:JTC-132【online报表权限】online报表带参数的菜单配置数据权限无效
log.info("拦截请求 >> {} ; 请求类型 >> {} . ", requestPath, requestMethod);
String username = JwtUtil.getUserNameByToken(request);
//查询数据权限信息
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L58: String requestPath = request.getRequestURI().substring(request.getContextPath().length());
L58 String requestPath = request.getRequestURI().substring(request.getContextPath().length());
L71 log.info("拦截请求 >> {} ; 请求类型 >> {} . ", requestPath, requestMethod);
🔴 Impact point L71: log.info("拦截请求 >> {} ; 请求类型 >> {} . ", requestPath, requestMethod);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/cloud/controller/JcloudDemoProviderController.java:29 Java 🔬 Traced 🛡️ Builtin
public String getMessage(@RequestParam String name) {
String msg = jcloudDemoService.getMessage(name);
log.info(" 微服务被调用:{} ",msg);
return msg;
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L27: public String getMessage(@RequestParam String name) {
L27 public String getMessage(@RequestParam String name) {
L29 log.info(" 微服务被调用:{} ",msg);
🔴 Impact point L29: log.info(" 微服务被调用:{} ",msg);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:73 Java 🔬 Traced 🛡️ Builtin
IPage<JeecgDemo> pageList = jeecgDemoService.page(page, queryWrapper);
log.info("查询当前页:" + pageList.getCurrent());
log.info("查询当前页数量:" + pageList.getSize());
log.info("查询结果数量:" + pageList.getRecords().size());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L66: public Result<?> list(JeecgDemo jeecgDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
L66 public Result<?> list(JeecgDemo jeecgDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
L73 log.info("查询当前页:" + pageList.getCurrent());
🔴 Impact point L73: log.info("查询当前页:" + pageList.getCurrent());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:74 Java 🔬 Traced 🛡️ Builtin
IPage<JeecgDemo> pageList = jeecgDemoService.page(page, queryWrapper);
log.info("查询当前页:" + pageList.getCurrent());
log.info("查询当前页数量:" + pageList.getSize());
log.info("查询结果数量:" + pageList.getRecords().size());
log.info("数据总数:" + pageList.getTotal());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L66: public Result<?> list(JeecgDemo jeecgDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
L66 public Result<?> list(JeecgDemo jeecgDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
L74 log.info("查询当前页数量:" + pageList.getSize());
🔴 Impact point L74: log.info("查询当前页数量:" + pageList.getSize());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:75 Java 🔬 Traced 🛡️ Builtin
log.info("查询当前页:" + pageList.getCurrent());
log.info("查询当前页数量:" + pageList.getSize());
log.info("查询结果数量:" + pageList.getRecords().size());
log.info("数据总数:" + pageList.getTotal());
return Result.OK(pageList);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L66: public Result<?> list(JeecgDemo jeecgDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
L66 public Result<?> list(JeecgDemo jeecgDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
L75 log.info("查询结果数量:" + pageList.getRecords().size());
🔴 Impact point L75: log.info("查询结果数量:" + pageList.getRecords().size());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:76 Java 🔬 Traced 🛡️ Builtin
log.info("查询当前页数量:" + pageList.getSize());
log.info("查询结果数量:" + pageList.getRecords().size());
log.info("数据总数:" + pageList.getTotal());
return Result.OK(pageList);
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L66: public Result<?> list(JeecgDemo jeecgDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
L66 public Result<?> list(JeecgDemo jeecgDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
L76 log.info("数据总数:" + pageList.getTotal());
🔴 Impact point L76: log.info("数据总数:" + pageList.getTotal());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:220 Java 🔬 Traced 🛡️ Builtin
public JeecgDemo redisGetJeecgDemo(@PathVariable("id") String id) {
JeecgDemo t = jeecgDemoService.getByIdCacheable(id);
log.info(t.toString());
return t;
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L218: public JeecgDemo redisGetJeecgDemo(@PathVariable("id") String id) {
L218 public JeecgDemo redisGetJeecgDemo(@PathVariable("id") String id) {
L220 log.info(t.toString());
🔴 Impact point L220: log.info(t.toString());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:251 Java 🔬 Traced 🛡️ Builtin
@PostMapping(value = "/testOnlineAdd")
public Result<?> testOnlineAdd(@RequestBody JSONObject json) {
log.info(json.toJSONString());
return Result.OK("添加成功!");
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L250: public Result<?> testOnlineAdd(@RequestBody JSONObject json) {
L250 public Result<?> testOnlineAdd(@RequestBody JSONObject json) {
L251 log.info(json.toJSONString());
🔴 Impact point L251: log.info(json.toJSONString());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:302 Java 🔬 Traced 🛡️ Builtin
@PostMapping("/enhanceJavaListHttp")
public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
log.info(" =========================================================== ");
log.info("params: " + params.toJSONString());
log.info("params.tableName: " + params.getString("tableName"));
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L301: public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L301 public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L302 log.info(" =========================================================== ");
🔴 Impact point L302: log.info(" =========================================================== ");
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:303 Java 🔬 Traced 🛡️ Builtin
public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
log.info(" =========================================================== ");
log.info("params: " + params.toJSONString());
log.info("params.tableName: " + params.getString("tableName"));
log.info("params.json: " + params.getJSONObject("json").toJSONString());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L301: public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L301 public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L303 log.info("params: " + params.toJSONString());
🔴 Impact point L303: log.info("params: " + params.toJSONString());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:304 Java 🔬 Traced 🛡️ Builtin
log.info(" =========================================================== ");
log.info("params: " + params.toJSONString());
log.info("params.tableName: " + params.getString("tableName"));
log.info("params.json: " + params.getJSONObject("json").toJSONString());
JSONArray dataList = params.getJSONArray("dataList");
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L301: public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L301 public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L304 log.info("params.tableName: " + params.getString("tableName"));
🔴 Impact point L304: log.info("params.tableName: " + params.getString("tableName"));
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:305 Java 🔬 Traced 🛡️ Builtin
log.info("params: " + params.toJSONString());
log.info("params.tableName: " + params.getString("tableName"));
log.info("params.json: " + params.getJSONObject("json").toJSONString());
JSONArray dataList = params.getJSONArray("dataList");
log.info("params.dataList: " + dataList.toJSONString());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L301: public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L301 public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L305 log.info("params.json: " + params.getJSONObject("json").toJSONString());
🔴 Impact point L305: log.info("params.json: " + params.getJSONObject("json").toJSONString());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:307 Java 🔬 Traced 🛡️ Builtin
log.info("params.json: " + params.getJSONObject("json").toJSONString());
JSONArray dataList = params.getJSONArray("dataList");
log.info("params.dataList: " + dataList.toJSONString());
log.info(" =========================================================== ");
return Result.OK(dataList);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L301: public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L301 public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L307 log.info("params.dataList: " + dataList.toJSONString());
🔴 Impact point L307: log.info("params.dataList: " + dataList.toJSONString());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:308 Java 🔬 Traced 🛡️ Builtin
JSONArray dataList = params.getJSONArray("dataList");
log.info("params.dataList: " + dataList.toJSONString());
log.info(" =========================================================== ");
return Result.OK(dataList);
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L301: public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L301 public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L308 log.info(" =========================================================== ");
🔴 Impact point L308: log.info(" =========================================================== ");
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:319 Java 🔬 Traced 🛡️ Builtin
@PostMapping("/enhanceJavaFormHttp")
public Result enhanceJavaFormHttp(@RequestBody JSONObject params) {
log.info(" =========================================================== ");
log.info("params: " + params.toJSONString());
log.info("params.tableName: " + params.getString("tableName"));
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L301: public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L301 public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L319 log.info(" =========================================================== ");
🔴 Impact point L319: log.info(" =========================================================== ");
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:320 Java 🔬 Traced 🛡️ Builtin
public Result enhanceJavaFormHttp(@RequestBody JSONObject params) {
log.info(" =========================================================== ");
log.info("params: " + params.toJSONString());
log.info("params.tableName: " + params.getString("tableName"));
log.info("params.json: " + params.getJSONObject("json").toJSONString());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L301: public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L301 public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L320 log.info("params: " + params.toJSONString());
🔴 Impact point L320: log.info("params: " + params.toJSONString());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:321 Java 🔬 Traced 🛡️ Builtin
log.info(" =========================================================== ");
log.info("params: " + params.toJSONString());
log.info("params.tableName: " + params.getString("tableName"));
log.info("params.json: " + params.getJSONObject("json").toJSONString());
log.info(" =========================================================== ");
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L301: public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L301 public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L321 log.info("params.tableName: " + params.getString("tableName"));
🔴 Impact point L321: log.info("params.tableName: " + params.getString("tableName"));
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java:322 Java 🔬 Traced 🛡️ Builtin
log.info("params: " + params.toJSONString());
log.info("params.tableName: " + params.getString("tableName"));
log.info("params.json: " + params.getJSONObject("json").toJSONString());
log.info(" =========================================================== ");
return Result.OK("1");
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L301: public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L301 public Result enhanceJavaListHttp(@RequestBody JSONObject params) {
L322 log.info("params.json: " + params.getJSONObject("json").toJSONString());
🔴 Impact point L322: log.info("params.json: " + params.getJSONObject("json").toJSONString());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/online/OnlCgformDemoController.java:35 Java 🔬 Traced 🛡️ Builtin
@PostMapping("/enhanceJavaListHttp")
public Result<?> enhanceJavaListHttp(@RequestBody JSONObject params) {
log.info(" --- params:" + params.toJSONString());
JSONArray dataList = params.getJSONArray("dataList");
List<DictModel> dict = virtualDictData();
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L34: public Result<?> enhanceJavaListHttp(@RequestBody JSONObject params) {
L34 public Result<?> enhanceJavaListHttp(@RequestBody JSONObject params) {
L35 log.info(" --- params:" + params.toJSONString());
🔴 Impact point L35: log.info(" --- params:" + params.toJSONString());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/online/OnlCgformDemoController.java:77 Java 🔬 Traced 🛡️ Builtin
@PostMapping("/enhanceJavaHttp")
public Result<?> enhanceJavaHttp(@RequestBody JSONObject params) {
log.info(" --- params:" + params.toJSONString());
String tableName = params.getString("tableName");
JSONObject record = params.getJSONObject("record");
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L34: public Result<?> enhanceJavaListHttp(@RequestBody JSONObject params) {
L34 public Result<?> enhanceJavaListHttp(@RequestBody JSONObject params) {
L77 log.info(" --- params:" + params.toJSONString());
🔴 Impact point L77: log.info(" --- params:" + params.toJSONString());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/online/OnlCgformDemoController.java:84 Java 🔬 Traced 🛡️ Builtin
* (比如:根据入库单,同步更改库存)
*/
log.info(" --- tableName:" + tableName);
log.info(" --- 行数据:" + record.toJSONString());
/*
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L34: public Result<?> enhanceJavaListHttp(@RequestBody JSONObject params) {
L34 public Result<?> enhanceJavaListHttp(@RequestBody JSONObject params) {
L84 log.info(" --- tableName:" + tableName);
🔴 Impact point L84: log.info(" --- tableName:" + tableName);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/online/OnlCgformDemoController.java:85 Java 🔬 Traced 🛡️ Builtin
*/
log.info(" --- tableName:" + tableName);
log.info(" --- 行数据:" + record.toJSONString());
/*
* 业务场景二: 保存数据之前进行数据的校验
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L34: public Result<?> enhanceJavaListHttp(@RequestBody JSONObject params) {
L34 public Result<?> enhanceJavaListHttp(@RequestBody JSONObject params) {
L85 log.info(" --- 行数据:" + record.toJSONString());
🔴 Impact point L85: log.info(" --- 行数据:" + record.toJSONString());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:648 Java 🔬 Traced 🛡️ Builtin
}
name = oConvertUtils.camelToUnderline(name);
log.info("---查询过滤器,Query规则---field:{}, rule:{}, value:{}",name,rule.getValue(),value);
switch (rule) {
case GT:
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L648: log.info("---查询过滤器,Query规则---field:{}, rule:{}, value:{}",name,rule.getValue(),value);
L648 log.info("---查询过滤器,Query规则---field:{}, rule:{}, value:{}",name,rule.getValue(),value);
L648 log.info("---查询过滤器,Query规则---field:{}, rule:{}, value:{}",name,rule.getValue(),value);
🔴 Impact point L648: log.info("---查询过滤器,Query规则---field:{}, rule:{}, value:{}",name,rule.getValue(),value);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:188 Java 🔬 Traced 🛡️ Builtin
//}
// add -end 添加判断为字符串时设为全模糊查询
addEasyQuery(queryWrapper, column, rule, value);
}
🔬 Data flow path (HTTP input)
🟢 Data entry point L181: replaceValue()
L181 replaceValue()
L188 addEasyQuery(...) → log.info("---查询过滤器,Query规则---field:{}, rule:{}, value:{}",name,rule.getValue(),value); addEasyQuery(...) → log.info("---查询过滤器,Query规则---field:{}, rule:{}, value:{}",name,rule.getValue(),value);
L648 log.info("---查询过滤器,Query规则---field:{}, rule:{}, value:{}",name,rule.getValue(),value);
🔴 Impact point L188: addEasyQuery(queryWrapper, column, rule, value);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:254 Java 🔬 Traced 🛡️ Builtin
System.out.println();
} catch (Exception e) {
log.error("-- 高级查询操作失败:" + superQueryParams, e);
e.printStackTrace();
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L212: public Result getMockDdjhData(
L212 public Result getMockDdjhData(
L254 log.error("-- 高级查询操作失败:" + superQueryParams, e);
🔴 Impact point L254: log.error("-- 高级查询操作失败:" + superQueryParams, e);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:252 Java 🔬 Traced 🛡️ Builtin
System.out.println();
} catch (Exception e) {
log.error("-- 高级查询操作失败:" + superQueryParams, e);
e.printStackTrace();
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L210: public Result getMockDdjhData(
L210 public Result getMockDdjhData(
L252 log.error("-- 高级查询操作失败:" + superQueryParams, e);
🔴 Impact point L252: log.error("-- 高级查询操作失败:" + superQueryParams, e);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/DegradeController.java:90 Java 🔬 Traced 🛡️ Builtin
publishRules(entity.getApp());
} catch (Throwable t) {
logger.error("Failed to add new degrade rule, app={}, ip={}", entity.getApp(), entity.getIp(), t);
return Result.ofThrowable(-1, t);
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L78: public Result<DegradeRuleEntity> apiAddRule(@RequestBody DegradeRuleEntity entity) {
L78 public Result<DegradeRuleEntity> apiAddRule(@RequestBody DegradeRuleEntity entity) {
L90 logger.error("Failed to add new degrade rule, app={}, ip={}", entity.getApp(), entity.getIp(), t);
🔴 Impact point L90: logger.error("Failed to add new degrade rule, app={}, ip={}", entity.getApp(), entity.getIp(), t);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/DegradeController.java:122 Java 🔬 Traced 🛡️ Builtin
publishRules(entity.getApp());
} catch (Throwable t) {
logger.error("Failed to save degrade rule, id={}, rule={}", id, entity, t);
return Result.ofThrowable(-1, t);
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L98: public Result<DegradeRuleEntity> apiUpdateRule(@PathVariable("id") Long id,
L98 public Result<DegradeRuleEntity> apiUpdateRule(@PathVariable("id") Long id,
L122 logger.error("Failed to save degrade rule, id={}, rule={}", id, entity, t);
🔴 Impact point L122: logger.error("Failed to save degrade rule, id={}, rule={}", id, entity, t);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/DegradeController.java:144 Java 🔬 Traced 🛡️ Builtin
publishRules(oldEntity.getApp());
} catch (Throwable throwable) {
logger.error("Failed to delete degrade rule, id={}", id, throwable);
return Result.ofThrowable(-1, throwable);
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L130: public Result<Long> delete(@PathVariable("id") Long id) {
L130 public Result<Long> delete(@PathVariable("id") Long id) {
L144 logger.error("Failed to delete degrade rule, id={}", id, throwable);
🔴 Impact point L144: logger.error("Failed to delete degrade rule, id={}", id, throwable);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/ParamFlowRuleController.java:200 Java 🔬 Traced 🛡️ Builtin
return Result.ofSuccess(entity);
} catch (ExecutionException ex) {
logger.error("Error when updating parameter flow rules, id=" + id, ex.getCause());
if (isNotSupported(ex.getCause())) {
return unsupportedVersion();
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L174: public Result<ParamFlowRuleEntity> apiUpdateParamFlowRule(@PathVariable("id") Long id,
L174 public Result<ParamFlowRuleEntity> apiUpdateParamFlowRule(@PathVariable("id") Long id,
L200 logger.error("Error when updating parameter flow rules, id=" + id, ex.getCause());
🔴 Impact point L200: logger.error("Error when updating parameter flow rules, id=" + id, ex.getCause());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/ParamFlowRuleController.java:207 Java 🔬 Traced 🛡️ Builtin
}
} catch (Throwable throwable) {
logger.error("Error when updating parameter flow rules, id=" + id, throwable);
return Result.ofFail(-1, throwable.getMessage());
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L174: public Result<ParamFlowRuleEntity> apiUpdateParamFlowRule(@PathVariable("id") Long id,
L174 public Result<ParamFlowRuleEntity> apiUpdateParamFlowRule(@PathVariable("id") Long id,
L207 logger.error("Error when updating parameter flow rules, id=" + id, throwable);
🔴 Impact point L207: logger.error("Error when updating parameter flow rules, id=" + id, throwable);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/config/FeignConfig.java:68 Java 🔬 Traced 🛡️ Builtin
// if (null != attributes) {
// HttpServletRequest request = attributes.getRequest();
// log.debug("Feign request: {}", request.getRequestURI());
// // 将token信息放入header中
// String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L68: // log.debug("Feign request: {}", request.getRequestURI());
L68 // log.debug("Feign request: {}", request.getRequestURI());
L68 // log.debug("Feign request: {}", request.getRequestURI());
🔴 Impact point L68: // log.debug("Feign request: {}", request.getRequestURI());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/controller/CasClientController.java:61 Java 🔬 Traced 🛡️ Builtin
HttpServletResponse response) throws Exception {
Result<JSONObject> result = new Result<JSONObject>();
log.info("Rest api login.");
try {
String validateUrl = prefixUrl+"/p3/serviceValidate";
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L56: public Object validateLogin(@RequestParam(name="ticket") String ticket,
L56 public Object validateLogin(@RequestParam(name="ticket") String ticket,
L61 log.info("Rest api login.");
🔴 Impact point L61: log.info("Rest api login.");
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/controller/CasClientController.java:65 Java 🔬 Traced 🛡️ Builtin
String validateUrl = prefixUrl+"/p3/serviceValidate";
String res = CasServiceUtil.getStValidate(validateUrl, ticket, service);
log.info("res."+res);
final String error = XmlUtils.getTextForElement(res, "authenticationFailure");
if(StringUtils.isNotEmpty(error)) {
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L56: public Object validateLogin(@RequestParam(name="ticket") String ticket,
L56 public Object validateLogin(@RequestParam(name="ticket") String ticket,
L65 log.info("res."+res);
🔴 Impact point L65: log.info("res."+res);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/monitor/service/impl/RedisServiceImpl.java:83 Java 🔬 Traced 🛡️ Builtin
}
}
log.debug("--getMemoryInfo--: " + map.toString());
return map;
}
🔬 Data flow path (HTTP input)
🟢 Data entry point L79: map.put("used_memory", entry.getValue());
L79 map.put("used_memory", entry.getValue());
L83 log.debug
🔴 Impact point L83: log.debug("--getMemoryInfo--: " + map.toString());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:43 Java 🔬 Traced 🛡️ Builtin
try {
sessionPool.put(userId, session);
log.info("【系统 WebSocket】有新的连接,总数为:" + sessionPool.size());
} catch (Exception e) {
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L40: public void onOpen(Session session, @PathParam(value = "userId") String userId) {
L40 public void onOpen(Session session, @PathParam(value = "userId") String userId) {
L43 log.info("【系统 WebSocket】有新的连接,总数为:" + sessionPool.size());
🔴 Impact point L43: log.info("【系统 WebSocket】有新的连接,总数为:" + sessionPool.size());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:52 Java 🔬 Traced 🛡️ Builtin
try {
sessionPool.remove(userId);
log.info("【系统 WebSocket】连接断开,总数为:" + sessionPool.size());
} catch (Exception e) {
e.printStackTrace();
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L40: public void onOpen(Session session, @PathParam(value = "userId") String userId) {
L40 public void onOpen(Session session, @PathParam(value = "userId") String userId) {
L52 log.info("【系统 WebSocket】连接断开,总数为:" + sessionPool.size());
🔴 Impact point L52: log.info("【系统 WebSocket】连接断开,总数为:" + sessionPool.size());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:73 Java 🔬 Traced 🛡️ Builtin
//update-begin-author:taoyan date:20211012 for: websocket报错 https://gitee.com/jeecg/jeecg-boot/issues/I4C0MU
synchronized (session){
log.info("【系统 WebSocket】推送单人消息:" + message);
session.getBasicRemote().sendText(message);
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L69: Session session = item.getValue();
L69 Session session = item.getValue();
L73 log.info("【系统 WebSocket】推送单人消息:" + message);
🔴 Impact point L73: log.info("【系统 WebSocket】推送单人消息:" + message);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:212 Java 🔬 Traced 🛡️ Builtin
String departId = jsonObject.getString("departId");
String dataRuleIds = jsonObject.getString("dataRuleIds");
log.info("保存数据规则>>"+"菜单ID:"+permissionId+"部门ID:"+ departId+"数据权限ID:"+dataRuleIds);
LambdaQueryWrapper<SysDepartPermission> query = new LambdaQueryWrapper<SysDepartPermission>()
.eq(SysDepartPermission::getPermissionId, permissionId)
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L207: public Result<?> saveDatarule(@RequestBody JSONObject jsonObject) {
L207 public Result<?> saveDatarule(@RequestBody JSONObject jsonObject) {
L212 log.info("保存数据规则>>"+"菜单ID:"+permissionId+"部门ID:"+ departId+"数据权限ID:"+dataRuleIds);
🔴 Impact point L212: log.info("保存数据规则>>"+"菜单ID:"+permissionId+"部门ID:"+ departId+"数据权限ID:"+dataRuleIds);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java:45 Java 🔬 Traced 🛡️ Builtin
Page<SysDataLog> page = new Page<SysDataLog>(pageNo, pageSize);
IPage<SysDataLog> pageList = service.page(page, queryWrapper);
log.info("查询当前页:"+pageList.getCurrent());
log.info("查询当前页数量:"+pageList.getSize());
log.info("查询结果数量:"+pageList.getRecords().size());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L38: public Result<IPage<SysDataLog>> queryPageList(SysDataLog dataLog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L38 public Result<IPage<SysDataLog>> queryPageList(SysDataLog dataLog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L45 log.info("查询当前页:"+pageList.getCurrent());
🔴 Impact point L45: log.info("查询当前页:"+pageList.getCurrent());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java:46 Java 🔬 Traced 🛡️ Builtin
IPage<SysDataLog> pageList = service.page(page, queryWrapper);
log.info("查询当前页:"+pageList.getCurrent());
log.info("查询当前页数量:"+pageList.getSize());
log.info("查询结果数量:"+pageList.getRecords().size());
log.info("数据总数:"+pageList.getTotal());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L38: public Result<IPage<SysDataLog>> queryPageList(SysDataLog dataLog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L38 public Result<IPage<SysDataLog>> queryPageList(SysDataLog dataLog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L46 log.info("查询当前页数量:"+pageList.getSize());
🔴 Impact point L46: log.info("查询当前页数量:"+pageList.getSize());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java:47 Java 🔬 Traced 🛡️ Builtin
log.info("查询当前页:"+pageList.getCurrent());
log.info("查询当前页数量:"+pageList.getSize());
log.info("查询结果数量:"+pageList.getRecords().size());
log.info("数据总数:"+pageList.getTotal());
result.setSuccess(true);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L38: public Result<IPage<SysDataLog>> queryPageList(SysDataLog dataLog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L38 public Result<IPage<SysDataLog>> queryPageList(SysDataLog dataLog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L47 log.info("查询结果数量:"+pageList.getRecords().size());
🔴 Impact point L47: log.info("查询结果数量:"+pageList.getRecords().size());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java:48 Java 🔬 Traced 🛡️ Builtin
log.info("查询当前页数量:"+pageList.getSize());
log.info("查询结果数量:"+pageList.getRecords().size());
log.info("数据总数:"+pageList.getTotal());
result.setSuccess(true);
result.setResult(pageList);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L38: public Result<IPage<SysDataLog>> queryPageList(SysDataLog dataLog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L38 public Result<IPage<SysDataLog>> queryPageList(SysDataLog dataLog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L48 log.info("数据总数:"+pageList.getTotal());
🔴 Impact point L48: log.info("数据总数:"+pageList.getTotal());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:87 Java 🔬 Traced 🛡️ Builtin
}
IPage<SysAnnouncementSend> pageList = sysAnnouncementSendService.page(page, queryWrapper);
//log.info("查询当前页:"+pageList.getCurrent());
//log.info("查询当前页数量:"+pageList.getSize());
//log.info("查询结果数量:"+pageList.getRecords().size());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L64: public Result<IPage<SysAnnouncementSend>> queryPageList(SysAnnouncementSend sysAnnouncementSend,
L64 public Result<IPage<SysAnnouncementSend>> queryPageList(SysAnnouncementSend sysAnnouncementSend,
L87 //log.info("查询当前页:"+pageList.getCurrent());
🔴 Impact point L87: //log.info("查询当前页:"+pageList.getCurrent());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:88 Java 🔬 Traced 🛡️ Builtin
IPage<SysAnnouncementSend> pageList = sysAnnouncementSendService.page(page, queryWrapper);
//log.info("查询当前页:"+pageList.getCurrent());
//log.info("查询当前页数量:"+pageList.getSize());
//log.info("查询结果数量:"+pageList.getRecords().size());
//log.info("数据总数:"+pageList.getTotal());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L64: public Result<IPage<SysAnnouncementSend>> queryPageList(SysAnnouncementSend sysAnnouncementSend,
L64 public Result<IPage<SysAnnouncementSend>> queryPageList(SysAnnouncementSend sysAnnouncementSend,
L88 //log.info("查询当前页数量:"+pageList.getSize());
🔴 Impact point L88: //log.info("查询当前页数量:"+pageList.getSize());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:89 Java 🔬 Traced 🛡️ Builtin
//log.info("查询当前页:"+pageList.getCurrent());
//log.info("查询当前页数量:"+pageList.getSize());
//log.info("查询结果数量:"+pageList.getRecords().size());
//log.info("数据总数:"+pageList.getTotal());
result.setSuccess(true);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L64: public Result<IPage<SysAnnouncementSend>> queryPageList(SysAnnouncementSend sysAnnouncementSend,
L64 public Result<IPage<SysAnnouncementSend>> queryPageList(SysAnnouncementSend sysAnnouncementSend,
L89 //log.info("查询结果数量:"+pageList.getRecords().size());
🔴 Impact point L89: //log.info("查询结果数量:"+pageList.getRecords().size());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:90 Java 🔬 Traced 🛡️ Builtin
//log.info("查询当前页数量:"+pageList.getSize());
//log.info("查询结果数量:"+pageList.getRecords().size());
//log.info("数据总数:"+pageList.getTotal());
result.setSuccess(true);
result.setResult(pageList);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L64: public Result<IPage<SysAnnouncementSend>> queryPageList(SysAnnouncementSend sysAnnouncementSend,
L64 public Result<IPage<SysAnnouncementSend>> queryPageList(SysAnnouncementSend sysAnnouncementSend,
L90 //log.info("数据总数:"+pageList.getTotal());
🔴 Impact point L90: //log.info("数据总数:"+pageList.getTotal());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:88 Java 🔬 Traced 🛡️ Builtin
Page<SysDict> page = new Page<SysDict>(pageNo, pageSize);
IPage<SysDict> pageList = sysDictService.page(page, queryWrapper);
log.debug("查询当前页:"+pageList.getCurrent());
log.debug("查询当前页数量:"+pageList.getSize());
log.debug("查询结果数量:"+pageList.getRecords().size());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L76: public Result<IPage<SysDict>> queryPageList(SysDict sysDict,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L76 public Result<IPage<SysDict>> queryPageList(SysDict sysDict,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L88 log.debug("查询当前页:"+pageList.getCurrent());
🔴 Impact point L88: log.debug("查询当前页:"+pageList.getCurrent());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:89 Java 🔬 Traced 🛡️ Builtin
IPage<SysDict> pageList = sysDictService.page(page, queryWrapper);
log.debug("查询当前页:"+pageList.getCurrent());
log.debug("查询当前页数量:"+pageList.getSize());
log.debug("查询结果数量:"+pageList.getRecords().size());
log.debug("数据总数:"+pageList.getTotal());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L76: public Result<IPage<SysDict>> queryPageList(SysDict sysDict,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L76 public Result<IPage<SysDict>> queryPageList(SysDict sysDict,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L89 log.debug("查询当前页数量:"+pageList.getSize());
🔴 Impact point L89: log.debug("查询当前页数量:"+pageList.getSize());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:90 Java 🔬 Traced 🛡️ Builtin
log.debug("查询当前页:"+pageList.getCurrent());
log.debug("查询当前页数量:"+pageList.getSize());
log.debug("查询结果数量:"+pageList.getRecords().size());
log.debug("数据总数:"+pageList.getTotal());
result.setSuccess(true);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L76: public Result<IPage<SysDict>> queryPageList(SysDict sysDict,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L76 public Result<IPage<SysDict>> queryPageList(SysDict sysDict,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L90 log.debug("查询结果数量:"+pageList.getRecords().size());
🔴 Impact point L90: log.debug("查询结果数量:"+pageList.getRecords().size());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:91 Java 🔬 Traced 🛡️ Builtin
log.debug("查询当前页数量:"+pageList.getSize());
log.debug("查询结果数量:"+pageList.getRecords().size());
log.debug("数据总数:"+pageList.getTotal());
result.setSuccess(true);
result.setResult(pageList);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L76: public Result<IPage<SysDict>> queryPageList(SysDict sysDict,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L76 public Result<IPage<SysDict>> queryPageList(SysDict sysDict,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L91 log.debug("数据总数:"+pageList.getTotal());
🔴 Impact point L91: log.debug("数据总数:"+pageList.getTotal());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:146 Java 🔬 Traced 🛡️ Builtin
@RequestMapping(value = "/getDictText/{dictCode}/{key}", method = RequestMethod.GET)
public Result<String> getDictText(@PathVariable("dictCode") String dictCode, @PathVariable("key") String key) {
log.info(" dictCode : "+ dictCode);
Result<String> result = new Result<String>();
String text = null;
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L145: public Result<String> getDictText(@PathVariable("dictCode") String dictCode, @PathVariable("key") String key) {
L145 public Result<String> getDictText(@PathVariable("dictCode") String dictCode, @PathVariable("key") String key) {
L146 log.info(" dictCode : "+ dictCode);
🔴 Impact point L146: log.info(" dictCode : "+ dictCode);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:170 Java 🔬 Traced 🛡️ Builtin
@RequestMapping(value = "/getDictItems/{dictCode}", method = RequestMethod.GET)
public Result<List<DictModel>> getDictItems(@PathVariable("dictCode") String dictCode, @RequestParam(value = "sign",required = false) String sign,HttpServletRequest request) {
log.info(" dictCode : "+ dictCode);
Result<List<DictModel>> result = new Result<List<DictModel>>();
//update-begin-author:taoyan date:20220317 for: VUEN-222【安全机制】字典接口、online报表、online图表等接口,加一些安全机制
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L169: public Result<List<DictModel>> getDictItems(@PathVariable("dictCode") String dictCode, @RequestParam(value = "sign",required = false) String sign,HttpServletRequest request) {
L169 public Result<List<DictModel>> getDictItems(@PathVariable("dictCode") String dictCode, @RequestParam(value = "sign",required = false) String sign,HttpServletRequest request) {
L170 log.info(" dictCode : "+ dictCode);
🔴 Impact point L170: log.info(" dictCode : "+ dictCode);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:206 Java 🔬 Traced 🛡️ Builtin
@RequestParam(value = "sign",required = false) String sign,
@RequestParam(value = "pageSize", required = false) Integer pageSize) {
log.info(" 加载字典表数据,加载关键字: "+ keyword);
Result<List<DictModel>> result = new Result<List<DictModel>>();
//update-begin-author:taoyan date:20220317 for: VUEN-222【安全机制】字典接口、online报表、online图表等接口,加一些安全机制
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L202: public Result<List<DictModel>> loadDict(@PathVariable("dictCode") String dictCode,
L202 public Result<List<DictModel>> loadDict(@PathVariable("dictCode") String dictCode,
L206 log.info(" 加载字典表数据,加载关键字: "+ keyword);
🔴 Impact point L206: log.info(" 加载字典表数据,加载关键字: "+ keyword);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:246 Java 🔬 Traced 🛡️ Builtin
@RequestParam(value = "pageSize", required = false) Integer pageSize) {
// 首次查询查出来用户选中的值,并且不分页
Result<List<DictModel>> firstRes = this.loadDict(dictCode, keyword, sign, null);
if (!firstRes.isSuccess()) {
return firstRes;
🔬 Data flow path (HTTP input)
🟢 Data entry point L239: SysDictController.loadDictOrderByValue(keyword)
L239 SysDictController.loadDictOrderByValue(keyword)
L246 this.loadDict(...) → log.info(" 加载字典表数据,加载关键字: "+ keyword); this.loadDict(...) → log.info(" 加载字典表数据,加载关键字: "+ keyword);
L206 log.info(" 加载字典表数据,加载关键字: "+ keyword);
🔴 Impact point L246: Result<List<DictModel>> firstRes = this.loadDict(dictCode, keyword, sign, null);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:336 Java 🔬 Traced 🛡️ Builtin
// SQL注入漏洞 sign签名校验(表名,label字段,val字段,条件)
String dictCode = tbname+","+text+","+code+","+condition;
SqlInjectionUtil.filterContent(dictCode);
List<TreeSelectModel> ls = sysDictService.queryTreeList(query,tbname, text, code, pidField, pid,hasChildField,converIsLeafVal);
result.setSuccess(true);
🔬 Data flow path (HTTP input)
🟢 Data entry point L319: SysDictController.loadTreeData(tbname)
L319 SysDictController.loadTreeData(tbname)
L336 SqlInjectionUtil.filterContent(...) → log.error("请注意,值可能存在SQL注入风险!---> {}", value); SqlInjectionUtil.filterContent(...) → log.error("请注意,值可能存在SQL注入风险!---> {}", value);
L143 log.error("请注意,值可能存在SQL注入风险!---> {}", value);
🔴 Impact point L336: SqlInjectionUtil.filterContent(dictCode);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:270 Java 🔬 Traced 🛡️ Builtin
//按照编码长度排序
Collections.sort(listSysCategorys);
log.info("排序后的list====>",listSysCategorys);
for (int i = 0; i < listSysCategorys.size(); i++) {
SysCategory sysCategoryExcel = listSysCategorys.get(i);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L261: MultipartFile file = entity.getValue();
L261 MultipartFile file = entity.getValue();
L270 log.info("排序后的list====>",listSysCategorys);
🔴 Impact point L270: log.info("排序后的list====>",listSysCategorys);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:276 Java 🔬 Traced 🛡️ Builtin
if(code.length()>3){
String pCode = sysCategoryExcel.getCode().substring(0,code.length()-3);
log.info("pCode====>",pCode);
String pId=sysCategoryService.queryIdByCode(pCode);
log.info("pId====>",pId);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L261: MultipartFile file = entity.getValue();
L261 MultipartFile file = entity.getValue();
L276 log.info("pCode====>",pCode);
🔴 Impact point L276: log.info("pCode====>",pCode);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:278 Java 🔬 Traced 🛡️ Builtin
log.info("pCode====>",pCode);
String pId=sysCategoryService.queryIdByCode(pCode);
log.info("pId====>",pId);
if(StringUtils.isNotBlank(pId)){
sysCategoryExcel.setPid(pId);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L261: MultipartFile file = entity.getValue();
L261 MultipartFile file = entity.getValue();
L278 log.info("pId====>",pId);
🔴 Impact point L278: log.info("pId====>",pId);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartRoleController.java:265 Java 🔬 Traced 🛡️ Builtin
String roleId = jsonObject.getString("roleId");
String dataRuleIds = jsonObject.getString("dataRuleIds");
log.info("保存数据规则>>"+"菜单ID:"+permissionId+"角色ID:"+ roleId+"数据权限ID:"+dataRuleIds);
LambdaQueryWrapper<SysDepartRolePermission> query = new LambdaQueryWrapper<SysDepartRolePermission>()
.eq(SysDepartRolePermission::getPermissionId, permissionId)
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L260: public Result<?> saveDatarule(@RequestBody JSONObject jsonObject) {
L260 public Result<?> saveDatarule(@RequestBody JSONObject jsonObject) {
L265 log.info("保存数据规则>>"+"菜单ID:"+permissionId+"角色ID:"+ roleId+"数据权限ID:"+dataRuleIds);
🔴 Impact point L265: log.info("保存数据规则>>"+"菜单ID:"+permissionId+"角色ID:"+ roleId+"数据权限ID:"+dataRuleIds);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java:116 Java 🔬 Traced 🛡️ Builtin
if(sysUser!=null) {
baseCommonService.addLog("强制: "+sysUser.getRealname()+"退出成功!", CommonConstant.LOG_TYPE_1, null,sysUser);
log.info(" 强制 "+sysUser.getRealname()+"退出成功! ");
//清空用户登录Token缓存
redisUtil.del(CommonConstant.PREFIX_USER_TOKEN + online.getToken());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L107: public Result<Object> forceLogout(@RequestBody SysUserOnlineVO online) {
L107 public Result<Object> forceLogout(@RequestBody SysUserOnlineVO online) {
L116 log.info(" 强制 "+sysUser.getRealname()+"退出成功! ");
🔴 Impact point L116: log.info(" 强制 "+sysUser.getRealname()+"退出成功! ");
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:72 Java 🔬 Traced 🛡️ Builtin
//创建时间/创建人的赋值
IPage<SysLog> pageList = sysLogService.page(page, queryWrapper);
log.info("查询当前页:"+pageList.getCurrent());
log.info("查询当前页数量:"+pageList.getSize());
log.info("查询结果数量:"+pageList.getRecords().size());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L57: public Result<IPage<SysLog>> queryPageList(SysLog syslog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L57 public Result<IPage<SysLog>> queryPageList(SysLog syslog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L72 log.info("查询当前页:"+pageList.getCurrent());
🔴 Impact point L72: log.info("查询当前页:"+pageList.getCurrent());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:73 Java 🔬 Traced 🛡️ Builtin
IPage<SysLog> pageList = sysLogService.page(page, queryWrapper);
log.info("查询当前页:"+pageList.getCurrent());
log.info("查询当前页数量:"+pageList.getSize());
log.info("查询结果数量:"+pageList.getRecords().size());
log.info("数据总数:"+pageList.getTotal());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L57: public Result<IPage<SysLog>> queryPageList(SysLog syslog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L57 public Result<IPage<SysLog>> queryPageList(SysLog syslog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L73 log.info("查询当前页数量:"+pageList.getSize());
🔴 Impact point L73: log.info("查询当前页数量:"+pageList.getSize());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:74 Java 🔬 Traced 🛡️ Builtin
log.info("查询当前页:"+pageList.getCurrent());
log.info("查询当前页数量:"+pageList.getSize());
log.info("查询结果数量:"+pageList.getRecords().size());
log.info("数据总数:"+pageList.getTotal());
result.setSuccess(true);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L57: public Result<IPage<SysLog>> queryPageList(SysLog syslog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L57 public Result<IPage<SysLog>> queryPageList(SysLog syslog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L74 log.info("查询结果数量:"+pageList.getRecords().size());
🔴 Impact point L74: log.info("查询结果数量:"+pageList.getRecords().size());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:75 Java 🔬 Traced 🛡️ Builtin
log.info("查询当前页数量:"+pageList.getSize());
log.info("查询结果数量:"+pageList.getRecords().size());
log.info("数据总数:"+pageList.getTotal());
result.setSuccess(true);
result.setResult(pageList);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L57: public Result<IPage<SysLog>> queryPageList(SysLog syslog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L57 public Result<IPage<SysLog>> queryPageList(SysLog syslog,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
L75 log.info("数据总数:"+pageList.getTotal());
🔴 Impact point L75: log.info("数据总数:"+pageList.getTotal());
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:71 Java 🔬 Traced 🛡️ Builtin
@RequestMapping("/render/{source}")
public void render(@PathVariable("source") String source, HttpServletResponse response) throws IOException {
log.info("第三方登录进入render:" + source);
AuthRequest authRequest = factory.get(source);
String authorizeUrl = authRequest.authorize(AuthStateUtils.createState());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L70: public void render(@PathVariable("source") String source, HttpServletResponse response) throws IOException {
L70 public void render(@PathVariable("source") String source, HttpServletResponse response) throws IOException {
L71 log.info("第三方登录进入render:" + source);
🔴 Impact point L71: log.info("第三方登录进入render:" + source);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:74 Java 🔬 Traced 🛡️ Builtin
AuthRequest authRequest = factory.get(source);
String authorizeUrl = authRequest.authorize(AuthStateUtils.createState());
log.info("第三方登录认证地址:" + authorizeUrl);
response.sendRedirect(authorizeUrl);
}
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L70: public void render(@PathVariable("source") String source, HttpServletResponse response) throws IOException {
L70 public void render(@PathVariable("source") String source, HttpServletResponse response) throws IOException {
L74 log.info("第三方登录认证地址:" + authorizeUrl);
🔴 Impact point L74: log.info("第三方登录认证地址:" + authorizeUrl);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:80 Java 🔬 Traced 🛡️ Builtin
@RequestMapping("/{source}/callback")
public String loginThird(@PathVariable("source") String source, AuthCallback callback,ModelMap modelMap) {
log.info("第三方登录进入callback:" + source + " params:" + JSONObject.toJSONString(callback));
AuthRequest authRequest = factory.get(source);
AuthResponse response = authRequest.login(callback);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L79: public String loginThird(@PathVariable("source") String source, AuthCallback callback,ModelMap modelMap) {
L79 public String loginThird(@PathVariable("source") String source, AuthCallback callback,ModelMap modelMap) {
L80 log.info("第三方登录进入callback:" + source + " params:" + JSONObject.toJSONString(callback));
🔴 Impact point L80: log.info("第三方登录进入callback:" + source + " params:" + JSONObject.toJSONString(callback));
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:83 Java 🔬 Traced 🛡️ Builtin
AuthRequest authRequest = factory.get(source);
AuthResponse response = authRequest.login(callback);
log.info(JSONObject.toJSONString(response));
Result<JSONObject> result = new Result<JSONObject>();
if(response.getCode()==2000) {
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L79: public String loginThird(@PathVariable("source") String source, AuthCallback callback,ModelMap modelMap) {
L79 public String loginThird(@PathVariable("source") String source, AuthCallback callback,ModelMap modelMap) {
L83 log.info(JSONObject.toJSONString(response));
🔴 Impact point L83: log.info(JSONObject.toJSONString(response));
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:136 Java 🔬 Traced 🛡️ Builtin
@ResponseBody
public Result<String> thirdUserCreate(@RequestBody ThirdLoginModel model) {
log.info("第三方登录创建新账号:" );
Result<String> res = new Result<>();
Object operateCode = redisUtil.get(CommonConstant.THIRD_LOGIN_CODE);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L135: public Result<String> thirdUserCreate(@RequestBody ThirdLoginModel model) {
L135 public Result<String> thirdUserCreate(@RequestBody ThirdLoginModel model) {
L136 log.info("第三方登录创建新账号:" );
🔴 Impact point L136: log.info("第三方登录创建新账号:" );
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:351 Java 🔬 Traced 🛡️ Builtin
return "不支持的source";
}
log.info("oauth2 login url:" + url);
response.sendRedirect(url);
return "login…";
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L302: public String oauth2LoginCallback(@PathVariable("source") String source, @RequestParam("state") String state, HttpServletRequest request, HttpServletResponse response) throws Exception {
L302 public String oauth2LoginCallback(@PathVariable("source") String source, @RequestParam("state") String state, HttpServletRequest request, HttpServletResponse response) throws Exception {
L351 log.info("oauth2 login url:" + url);
🔴 Impact point L351: log.info("oauth2 login url:" + url);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:376 Java 🔬 Traced 🛡️ Builtin
SysUser loginUser;
if (ThirdAppConfig.WECHAT_ENTERPRISE.equalsIgnoreCase(source)) {
log.info("【企业微信】OAuth2登录进入callback:code=" + code + ", state=" + state);
loginUser = thirdAppWechatEnterpriseService.oauth2Login(code);
if (loginUser == null) {
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L366: public String oauth2LoginCallback(
L366 public String oauth2LoginCallback(
L376 log.info("【企业微信】OAuth2登录进入callback:code=" + code + ", state=" + state);
🔴 Impact point L376: log.info("【企业微信】OAuth2登录进入callback:code=" + code + ", state=" + state);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:382 Java 🔬 Traced 🛡️ Builtin
}
} else if (ThirdAppConfig.DINGTALK.equalsIgnoreCase(source)) {
log.info("【钉钉】OAuth2登录进入callback:authCode=" + authCode + ", state=" + state);
loginUser = thirdAppDingtalkService.oauth2Login(authCode);
if (loginUser == null) {
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L366: public String oauth2LoginCallback(
L366 public String oauth2LoginCallback(
L382 log.info("【钉钉】OAuth2登录进入callback:authCode=" + authCode + ", state=" + state);
🔴 Impact point L382: log.info("【钉钉】OAuth2登录进入callback:authCode=" + authCode + ", state=" + state);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:413 Java 🔬 Traced 🛡️ Builtin
//update-end---author:wangshuai ---date:20220613 for:[issues/I5BOUF]oauth2 钉钉无法登录------------
log.info("OAuth2登录重定向地址: " + state);
try {
response.sendRedirect(state);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L366: public String oauth2LoginCallback(
L366 public String oauth2LoginCallback(
L413 log.info("OAuth2登录重定向地址: " + state);
🔴 Impact point L413: log.info("OAuth2登录重定向地址: " + state);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:360 Java 🔬 Traced 🛡️ Builtin
SysAnnouncementSend one = sysAnnouncementSendService.getOne(query);
if(null==one){
log.info("listByUser接口新增了SysAnnouncementSend:pageSize{}:"+pageSize);
SysAnnouncementSend announcementSend = new SysAnnouncementSend();
announcementSend.setAnntId(announcements.get(i).getId());
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L333: public Result<Map<String, Object>> listByUser(@RequestParam(required = false, defaultValue = "5") Integer pageSize) {
L333 public Result<Map<String, Object>> listByUser(@RequestParam(required = false, defaultValue = "5") Integer pageSize) {
L360 log.info("listByUser接口新增了SysAnnouncementSend:pageSize{}:"+pageSize);
🔴 Impact point L360: log.info("listByUser接口新增了SysAnnouncementSend:pageSize{}:"+pageSize);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:278 Java 🔬 Traced 🛡️ Builtin
//如果此参数为false则程序发生异常
result.setResult(true);
log.info("--验证角色编码是否唯一---id:"+id+"--roleCode:"+roleCode);
try {
SysRole role = null;
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L274: public Result<Boolean> checkUsername(String id,String roleCode) {
L274 public Result<Boolean> checkUsername(String id,String roleCode) {
L278 log.info("--验证角色编码是否唯一---id:"+id+"--roleCode:"+roleCode);
🔴 Impact point L278: log.info("--验证角色编码是否唯一---id:"+id+"--roleCode:"+roleCode);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:407 Java 🔬 Traced 🛡️ Builtin
String roleId = jsonObject.getString("roleId");
String dataRuleIds = jsonObject.getString("dataRuleIds");
log.info("保存数据规则>>"+"菜单ID:"+permissionId+"角色ID:"+ roleId+"数据权限ID:"+dataRuleIds);
LambdaQueryWrapper<SysRolePermission> query = new LambdaQueryWrapper<SysRolePermission>()
.eq(SysRolePermission::getPermissionId, permissionId)
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L402: public Result<?> saveDatarule(@RequestBody JSONObject jsonObject) {
L402 public Result<?> saveDatarule(@RequestBody JSONObject jsonObject) {
L407 log.info("保存数据规则>>"+"菜单ID:"+permissionId+"角色ID:"+ roleId+"数据权限ID:"+dataRuleIds);
🔴 Impact point L407: log.info("保存数据规则>>"+"菜单ID:"+permissionId+"角色ID:"+ roleId+"数据权限ID:"+dataRuleIds);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:105 Java 🔬 Traced 🛡️ Builtin
//当进入登录页时,有一定几率出现验证码错误 #1714
if(checkCode==null || !checkCode.toString().equals(lowerCaseCaptcha)) {
log.warn("验证码错误,key= {} , Ui checkCode= {}, Redis checkCode = {}", sysLoginModel.getCheckKey(), lowerCaseCaptcha, checkCode);
result.error500("验证码错误");
// 改成特殊的code 便于前端判断
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L76: public Result<JSONObject> login(@RequestBody SysLoginModel sysLoginModel){
L76 public Result<JSONObject> login(@RequestBody SysLoginModel sysLoginModel){
L105 log.warn("验证码错误,key= {} , Ui checkCode= {}, Redis checkCode = {}", sysLoginModel.getCheckKey(), lowerCaseCaptcha, checkCode);
🔴 Impact point L105: log.warn("验证码错误,key= {} , Ui checkCode= {}, Redis checkCode = {}", sysLoginModel.getCheckKey(), lowerCaseCaptcha, checkCode);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:203 Java 🔬 Traced 🛡️ Builtin
baseCommonService.addLog("用户名: "+sysUser.getRealname()+",退出成功!", CommonConstant.LOG_TYPE_1, null,sysUser);
//update-end--Author:wangshuai Date:20200714 for:登出日志没有记录人员
log.info(" 用户名: "+sysUser.getRealname()+",退出成功! ");
//清空用户登录Token缓存
redisUtil.del(CommonConstant.PREFIX_USER_TOKEN + token);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L193: String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN);
L193 String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN);
L203 log.info(" 用户名: "+sysUser.getRealname()+",退出成功! ");
🔴 Impact point L203: log.info(" 用户名: "+sysUser.getRealname()+",退出成功! ");
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:309 Java 🔬 Traced 🛡️ Builtin
//手机号模式 登录模式: "2" 注册模式: "1"
String smsmode=jsonObject.get("smsmode").toString();
log.info(mobile);
if(oConvertUtils.isEmpty(mobile)){
result.setMessage("手机号不允许为空!");
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L304: public Result<String> sms(@RequestBody JSONObject jsonObject) {
L304 public Result<String> sms(@RequestBody JSONObject jsonObject) {
L309 log.info(mobile);
🔴 Impact point L309: log.info(mobile);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:527 Java 🔬 Traced 🛡️ Builtin
redisUtil.set(realKey, lowerCaseCode, 60);
log.info("获取验证码,Redis key = {},checkCode = {}", realKey, code);
//返回前端
String base64 = RandImageUtil.generate(code);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L512: public Result<String> randomImage(HttpServletResponse response,@PathVariable("key") String key){
L512 public Result<String> randomImage(HttpServletResponse response,@PathVariable("key") String key){
L527 log.info("获取验证码,Redis key = {},checkCode = {}", realKey, code);
🔴 Impact point L527: log.info("获取验证码,Redis key = {},checkCode = {}", realKey, code);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1165 Java 🔬 Traced 🛡️ Builtin
}
log.debug(" ------ 通过令牌获取部分用户信息,当前用户: " + username);
// 根据用户名查询用户信息
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L1155: public Result<?> getUserSectionInfoByToken(HttpServletRequest request, @RequestParam(name = "token", required = false) String token) {
L1155 public Result<?> getUserSectionInfoByToken(HttpServletRequest request, @RequestParam(name = "token", required = false) String token) {
L1165 log.debug(" ------ 通过令牌获取部分用户信息,当前用户: " + username);
🔴 Impact point L1165: log.debug(" ------ 通过令牌获取部分用户信息,当前用户: " + username);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1175 Java 🔬 Traced 🛡️ Builtin
map.put("sysOrgCode", sysUser.getOrgCode()); // 当前登录用户部门编号
log.debug(" ------ 通过令牌获取部分用户信息,已获取的用户信息: " + map);
return Result.ok(map);
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L1155: public Result<?> getUserSectionInfoByToken(HttpServletRequest request, @RequestParam(name = "token", required = false) String token) {
L1155 public Result<?> getUserSectionInfoByToken(HttpServletRequest request, @RequestParam(name = "token", required = false) String token) {
L1175 log.debug(" ------ 通过令牌获取部分用户信息,已获取的用户信息: " + map);
🔴 Impact point L1175: log.debug(" ------ 通过令牌获取部分用户信息,已获取的用户信息: " + map);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:444 Java 🔬 Traced 🛡️ Builtin
//update-begin-author:taoyan date:2022-7-14 for: VUEN-1702【禁止问题】sql注入漏洞
String[] arr = new String[]{departId, realname, username, id};
SqlInjectionUtil.filterContent(arr, SymbolConstant.SINGLE_QUOTATION_MARK);
//update-end-author:taoyan date:2022-7-14 for: VUEN-1702【禁止问题】sql注入漏洞
IPage<SysUser> pageList = sysUserDepartService.queryDepartUserPageList(departId, username, realname, pageSize, pageNo,id);
🔬 Data flow path (HTTP input)
🟢 Data entry point L434: SysUserController.queryUserComponentData(departId)
L434 SysUserController.queryUserComponentData(departId)
L444 SqlInjectionUtil.filterContent(...) → log.error("请注意,值可能存在SQL注入风险!---> {}", value); SqlInjectionUtil.filterContent(...) → log.error("请注意,值可能存在SQL注入风险!---> {}", value);
L143 log.error("请注意,值可能存在SQL注入风险!---> {}", value);
🔴 Impact point L444: SqlInjectionUtil.filterContent(arr, SymbolConstant.SINGLE_QUOTATION_MARK);
Log Injection — tainted data written to logs without sanitization 🛡️ Security & OWASP jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ngalain/controller/NgAlainController.java:57 Java 🔬 Traced 🛡️ Builtin
// @RequestMapping(value = "/getDictItems/{dictCode}", method = RequestMethod.GET)
// public Object getDictItems(@PathVariable String dictCode) {
// log.info(" dictCode : "+ dictCode);
// Result<List<DictModel>> result = new Result<List<DictModel>>();
// List<DictModel> ls = null;
🔬 Data flow path (taint_kind_unknown)
🟢 Data entry point L56: // public Object getDictItems(@PathVariable String dictCode) {
L56 // public Object getDictItems(@PathVariable String dictCode) {
L57 // log.info(" dictCode : "+ dictCode);
🔴 Impact point L57: // log.info(" dictCode : "+ dictCode);
🏗️

Architecture & Patterns

106
N+1 query (Java) 83
⚠️ Risk

Database queries inside loops cause N+1 performance issues and heavy database load.

🛠️ Solution

Use batch fetching, JOIN FETCH, or @EntityGraph to load related entities in a single query.

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Use batch fetching, JOIN FETCH, or @EntityGraph to load related entities in a single query.
  3. ✅ Run the audit again to verify the finding is resolved

💡 Optimized database access, reduced query count and latency.

ISO A.8.28, A.8.27
🔧 Fix suggestion — N+1 query (Java)
❌ Before
for (Order o : orders) {
o.getItems(); // lazy load = N queries
}
✅ After
@EntityGraph(attributePaths = items )
List<Order> findAll(); // 1 query with JOIN
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:46 Java 🛡️ Builtin
LoginUser sysUser = this.getLoginUser();
Field[] fields = oConvertUtils.getAllFields(parameter);
for (Field field : fields) {
log.debug("------field.name------" + field.getName());
try {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:376 Java 🛡️ Builtin
*/
public static JSONObject mergeJSON(JSONObject target, JSONObject source) {
for (String key : source.keySet()) {
Object sourceItem = source.get(key);
// 是否是 JSONObject
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestUtil.java:248 Java 🛡️ Builtin
Iterator<String> it = source.keySet().iterator();
StringBuilder urlVariables = new StringBuilder();
while (it.hasNext()) {
String key = it.next();
String value = "";
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ImportExcelUtil.java:44 Java 🛡️ Builtin
public static List<String> importDateSave(List<?> list, Class serviceClass, List<String> errorMessage, String errorFlag) {
IService bean =(IService) SpringContextUtils.getBean(serviceClass);
for (int i = 0; i < list.size(); i++) {
try {
boolean save = bean.save(list.get(i));
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:631 Java 🛡️ Builtin
public static List<Map<String, Object>> toLowerCasePageList(List<Map<String, Object>> list){
List<Map<String, Object>> select = new ArrayList<>();
for (Map<String, Object> row : list) {
Map<String, Object> resultMap = new HashMap<>(5);
Set<String> keySet = row.keySet();
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/AbstractQueryBlackListHandler.java:57 Java 🛡️ Builtin
log.info("--获取sql信息--", list.toString());
boolean flag = true;
for (QueryTable table : list) {
String name = table.getName();
String fieldString = ruleMap.get(name);
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/filter/FileTypeFilter.java:125 Java 🛡️ Builtin
String fileTypeHex = String.valueOf(bytesToHexString(b));
Iterator<String> keyIter = FILE_TYPE_MAP.keySet().iterator();
while (keyIter.hasNext()) {
String key = keyIter.next();
// 验证前5个字符比较
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/util/SensitiveInfoUtil.java:31 Java 🛡️ Builtin
public static void handleNestedObject(Object obj, Class entity, boolean isEncode) throws IllegalAccessException {
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields) {
if(field.getType().isPrimitive()){
continue;
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/util/SensitiveInfoUtil.java:74 Java 🛡️ Builtin
// 判断是不是一个对象
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields) {
boolean isSensitiveField = field.isAnnotationPresent(SensitiveField.class);
if(isSensitiveField){
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/util/SensitiveInfoUtil.java:116 Java 🛡️ Builtin
Object first = list.get(0);
if(first.getClass().equals(entity)){
for(int i=0; i<list.size(); i++){
Object temp = list.get(i);
try {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/ResourceUtil.java:100 Java 🛡️ Builtin
}
Map<String, List<DictModel>> map = new HashMap<>();
for (String code : enumDictData.keySet()) {
if(dictCodeList.indexOf(code)>=0){
List<DictModel> dictItemList = enumDictData.get(code);
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:126 Java 🛡️ Builtin
//权限规则自定义SQL表达式
for (String c : ruleMap.keySet()) {
if(oConvertUtils.isNotEmpty(c) && c.startsWith(SQL_RULES_COLUMN)){
queryWrapper.and(i ->i.apply(getSqlRuleValue(ruleMap.get(c).getRuleValue())));
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:353 Java 🛡️ Builtin
queryWrapper.and(andWrapper -> {
for (int i = 0; i < filterConditions.size(); i++) {
QueryCondition rule = filterConditions.get(i);
if (oConvertUtils.isNotEmpty(rule.getField())
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:808 Java 🛡️ Builtin
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(sql);
while(m.find()){
String var = m.group();
varParams.add(var.substring(var.indexOf("{")+1,var.indexOf("}")));
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:1055 Java 🛡️ Builtin
PropertyDescriptor[] origDescriptors = PropertyUtils.getPropertyDescriptors(clazz);
String sqlAnd = " and ";
for (String c : ruleMap.keySet()) {
if(oConvertUtils.isNotEmpty(c) && c.startsWith(SQL_RULES_COLUMN)){
sb.append(sqlAnd+getSqlRuleValue(ruleMap.get(c).getRuleValue()));
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:1099 Java 🛡️ Builtin
Map<String,SysPermissionDataRuleModel> ruleMap = getRuleMap();
PropertyDescriptor[] origDescriptors = PropertyUtils.getPropertyDescriptors(clazz);
for (String c : ruleMap.keySet()) {
if(oConvertUtils.isNotEmpty(c) && c.startsWith(SQL_RULES_COLUMN)){
queryWrapper.and(i ->i.apply(getSqlRuleValue(ruleMap.get(c).getRuleValue())));
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:1138 Java 🛡️ Builtin
Map<String,SysPermissionDataRuleModel> ruleMap = getRuleMap();
String sqlAnd = " and ";
for (String c : ruleMap.keySet()) {
SysPermissionDataRuleModel dataRule = ruleMap.get(c);
String ruleValue = dataRule.getRuleValue();
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/ProvinceCityArea.java:37 Java 🛡️ Builtin
this.initAreaList();
if(areaList!=null && areaList.size()>0){
for(int i=areaList.size()-1;i>=0;i--){
//update-begin-author:taoyan date:2022-5-24 for:VUEN-1088 online 导入 省市区导入后 导入数据错乱 北京市/市辖区/西城区-->山西省/晋城市/城区
String areaText = areaList.get(i).getText();
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:229 Java 🛡️ Builtin
List<String> needTranslData = new ArrayList<>();
//step.1 先通过redis中获取缓存字典数据
for (String dictCode : dataListMap.keySet()) {
List<String> dataList = dataListMap.get(dictCode);
if (dataList.size() == 0) {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:236 Java 🛡️ Builtin
// 表字典需要翻译的数据
List<String> needTranslDataTable = new ArrayList<>();
for (String s : dataList) {
String data = s.trim();
if (data.length() == 0) {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:310 Java 🛡️ Builtin
Map<String, List<DictModel>> manyDict = commonApi.translateManyDict(dictCodes, values);
log.debug("translateManyDict.result:" + manyDict);
for (String dictCode : manyDict.keySet()) {
List<DictModel> list = translText.computeIfAbsent(dictCode, k -> new ArrayList<>());
List<DictModel> newList = manyDict.get(dictCode);
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:420 Java 🛡️ Builtin
private Boolean checkHasDict(List<Object> records){
if(oConvertUtils.isNotEmpty(records) && records.size()>0){
for (Field field : oConvertUtils.getAllFields(records.get(0))) {
if (oConvertUtils.isNotEmpty(field.getAnnotation(Dict.class))) {
return true;
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:230 Java 🛡️ Builtin
// 遍历输出到控制台
System.out.println("\ngetDdjhData - 普通查询条件:");
for (String key : parameterMap.keySet()) {
System.out.println("-- " + key + ": " + JSON.toJSONString(parameterMap.get(key)));
}
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:228 Java 🛡️ Builtin
// 遍历输出到控制台
System.out.println("\ngetDdjhData - 普通查询条件:");
for (String key : parameterMap.keySet()) {
System.out.println("-- " + key + ": " + JSON.toJSONString(parameterMap.get(key)));
}
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java:39 Java 🛡️ Builtin
// put new
for (String address: addressList) {
if (!lfuItemMap.containsKey(address) || lfuItemMap.get(address) >1000000 ) {
lfuItemMap.put(address, new Random().nextInt(addressList.size())); // 初始化时主动Random一次,缓解首次压力
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/LocalCacheUtil.java:123 Java 🛡️ Builtin
public static boolean cleanTimeoutCache(){
if (!cacheRepository.keySet().isEmpty()) {
for (String key: cacheRepository.keySet()) {
LocalCacheData localCacheData = cacheRepository.get(key);
if (localCacheData!=null && System.currentTimeMillis()>=localCacheData.getTimeoutTime()) {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java:43 Java 🛡️ Builtin
List<Long> failLogIds = XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().findFailJobLogIds(1000);
if (failLogIds!=null && !failLogIds.isEmpty()) {
for (long failLogId: failLogIds) {
// lock log
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:47 Java 🛡️ Builtin
List<XxlJobRegistry> list = XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryDao().findAll(RegistryConfig.DEAD_TIMEOUT, new Date());
if (list != null) {
for (XxlJobRegistry item: list) {
if (RegistryConfig.RegistType.EXECUTOR.name().equals(item.getRegistryGroup())) {
String appname = item.getRegistryKey();
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:64 Java 🛡️ Builtin
// fresh group address
for (XxlJobGroup group: groupList) {
List<String> registryList = appAddressMap.get(group.getAppname());
String addressListStr = null;
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:225 Java 🛡️ Builtin
}
while (!ringThreadToStop) {
try {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:318 Java 🛡️ Builtin
boolean hasRingData = false;
if (!ringData.isEmpty()) {
for (int second : ringData.keySet()) {
List<Integer> tmpData = ringData.get(second);
if (tmpData!=null && tmpData.size()>0) {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:1189 Java 🛡️ Builtin
boolean gotOne = false;
// loop until we've computed the next time, or we've past the endTime
while (!gotOne) {
//if (endTime != null && cl.getTime().after(endTime)) return null;
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobGroupController.java:137 Java 🛡️ Builtin
List<XxlJobRegistry> list = xxlJobRegistryDao.findAll(RegistryConfig.DEAD_TIMEOUT, new Date());
if (list != null) {
for (XxlJobRegistry item: list) {
if (RegistryConfig.RegistType.EXECUTOR.name().equals(item.getRegistryGroup())) {
String appname = item.getRegistryKey();
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:195 Java 🛡️ Builtin
public static List<MyRouteDefinition> getRoutesByJson(JSONArray array) throws URISyntaxException {
List<MyRouteDefinition> ls = new ArrayList<>();
for (int i = 0; i < array.size(); i++) {
JSONObject obj = array.getJSONObject(i);
MyRouteDefinition route = new MyRouteDefinition();
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:219 Java 🛡️ Builtin
if(ArrayUtil.contains(GEN_KEY_ROUTERS,name)) {
JSONArray jsonArray = json.getJSONArray("args");
for (int j = 0; j < jsonArray.size(); j++) {
predicateDefinition.addArg("_genkey" + j, jsonArray.get(j).toString());
}
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:244 Java 🛡️ Builtin
List<FilterDefinition> filterDefinitionList = new ArrayList<>();
if (ObjectUtil.isNotEmpty(list)) {
for (Object map : list) {
JSONObject json = (JSONObject) map;
JSONArray jsonArray = json.getJSONArray("args");
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:249 Java 🛡️ Builtin
String name = json.getString("name");
FilterDefinition filterDefinition = new FilterDefinition();
for (Object o : jsonArray) {
JSONObject params = (JSONObject) o;
filterDefinition.addArg(params.getString("key"), params.get("value").toString());
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/monitor/service/impl/RedisServiceImpl.java:99 Java 🛡️ Builtin
if(REDIS_MESSAGE.equals(type)){
List<RedisInfo> redisInfo = getRedisInfo();
for(RedisInfo info:redisInfo){
Map<String, Object> map= Maps.newHashMap();
BeanMap beanMap = BeanMap.create(info);
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/monitor/service/impl/RedisServiceImpl.java:102 Java 🛡️ Builtin
Map<String, Object> map= Maps.newHashMap();
BeanMap beanMap = BeanMap.create(info);
for (Object key : beanMap.keySet()) {
map.put(key+"", beanMap.get(key));
}
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/monitor/service/impl/RedisServiceImpl.java:111 Java 🛡️ Builtin
}
int length = 5;
for(int i = 0; i < length; i++){
JSONObject jo = new JSONObject();
Map<String, Object> map;
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/impl/SystemSendMsgHandle.java:76 Java 🛡️ Builtin
Map<String,Object> data = messageDTO.getData();
String[] arr = messageDTO.getToUser().split(",");
for(String username: arr){
doSend(title, content, fromUser, username, data);
}
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java:40 Java 🛡️ Builtin
List<DepartIdModel> idList = new ArrayList<DepartIdModel>();
List<SysDepartTreeModel> records = new ArrayList<>();
for (int i = 0; i < recordList.size(); i++) {
SysDepart depart = recordList.get(i);
records.add(new SysDepartTreeModel(depart));
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java:59 Java 🛡️ Builtin
List<DepartIdModel> idList = new ArrayList<DepartIdModel>();
List<SysDepartTreeModel> records = new ArrayList<>();
for (int i = 0; i < recordList.size(); i++) {
SysDepart depart = recordList.get(i);
records.add(new SysDepartTreeModel(depart));
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java:75 Java 🛡️ Builtin
List<SysDepartTreeModel> treeList = new ArrayList<>();
for (int i = 0; i < recordList.size(); i++) {
SysDepartTreeModel branch = recordList.get(i);
if (oConvertUtils.isEmpty(branch.getParentId())) {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java:95 Java 🛡️ Builtin
private static void getGrandChildren(List<SysDepartTreeModel> treeList,List<SysDepartTreeModel> recordList,List<DepartIdModel> idList) {
for (int i = 0; i < treeList.size(); i++) {
SysDepartTreeModel model = treeList.get(i);
DepartIdModel idModel = idList.get(i);
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java:98 Java 🛡️ Builtin
SysDepartTreeModel model = treeList.get(i);
DepartIdModel idModel = idList.get(i);
for (int i1 = 0; i1 < recordList.size(); i1++) {
SysDepartTreeModel m = recordList.get(i1);
if (m.getParentId()!=null && m.getParentId().equals(model.getId())) {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java:118 Java 🛡️ Builtin
private static void setEmptyChildrenAsNull(List<SysDepartTreeModel> treeList) {
for (int i = 0; i < treeList.size(); i++) {
SysDepartTreeModel model = treeList.get(i);
if (model.getChildren().size() == 0) {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:561 Java 🛡️ Builtin
List<String> errorMessage = new ArrayList<>();
int successLines = 0, errorLines = 0;
for (int i=0;i< list.size();i++) {
SysDict po = new SysDict();
BeanUtils.copyProperties(list.get(i), po);
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:193 Java 🛡️ Builtin
List<SysPermission> list = sysPermissionService.list(query);
Map<String, List<SysPermissionTree>> listMap = new HashMap(5);
for (SysPermission item : list) {
String pid = item.getParentId();
if (parentIdList.contains(pid)) {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:411 Java 🛡️ Builtin
if(userIds!=null && userIds.size()>0){
Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
userList.forEach(item->{
//TODO 临时借用这个字段用于页面展示
item.setOrgCodeTxt(useDepNames.get(item.getId()));
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:497 Java 🛡️ Builtin
List<String> errorMessage = new ArrayList<>();
int successLines = 0, errorLines = 0;
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象
ImportParams params = new ImportParams();
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:505 Java 🛡️ Builtin
try {
List<SysUser> listSysUsers = ExcelImportUtil.importExcel(file.getInputStream(), SysUser.class, params);
for (int i = 0; i < listSysUsers.size(); i++) {
SysUser sysUserExcel = listSysUsers.get(i);
if (StringUtils.isBlank(sysUserExcel.getPassword())) {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:747 Java 🛡️ Builtin
if(userIds!=null && userIds.size()>0){
Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
pageList.getRecords().forEach(item -> {
//批量查询用户的所属部门
item.setOrgCode(useDepNames.get(item.getId()));
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:801 Java 🛡️ Builtin
JSONArray resultJson = new JSONArray(list.size());
for (SysUserSysDepartModel item : list) {
String userId = item.getId();
// userId
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1237 Java 🛡️ Builtin
// step.2 通过 userIds,一次性查询用户的所属部门名字
Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
logicDeletedUserList.forEach(item -> item.setOrgCode(useDepNames.get(item.getId())));
}
return Result.ok(logicDeletedUserList);
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1427 Java 🛡️ Builtin
if(userIds!=null && userIds.size()>0){
Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
pageList.getRecords().forEach(item->{
item.setOrgCodeTxt(useDepNames.get(item.getId()));
});
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1578 Java 🛡️ Builtin
// step.2 通过 userIds,一次性查询用户的所属部门名字
Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
quitList.forEach(item -> item.setOrgCode(useDepNames.get(item.getId())));
}
return Result.ok(quitList);
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:352 Java 🛡️ Builtin
List<SysAnnouncement> announcements = sysAnnouncementService.list(querySaWrapper);
if(announcements.size()>0) {
for(int i=0;i<announcements.size();i++) {
//update-begin--Author:wangshuai Date:20200803 for: 通知公告消息重复LOWCOD-759--------------------
//因为websocket没有判断是否存在这个用户,要是判断会出现问题,故在此判断逻辑
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java:57 Java 🛡️ Builtin
Collection<String> keys = redisTemplate.keys(CommonConstant.PREFIX_USER_TOKEN + "*");
List<SysUserOnlineVO> onlineList = new ArrayList<SysUserOnlineVO>();
for (String key : keys) {
String token = (String)redisUtil.get(key);
if (StringUtils.isNotEmpty(token)) {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java:87 Java 🛡️ Builtin
// 计算当前页第一条数据的下标
int currId = pageNo > 1 ? (pageNo - 1) * pageSize : 0;
for (int i = 0; i < pageSize && i < count - currId; i++) {
pages.add(onlineList.get(currId + i));
}
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java:246 Java 🛡️ Builtin
// update-begin--author:sunjianlei--date:20210514--for:新增delNotExist参数,设为false不删除数据库里不存在的key ----
// 查询出来的顺序可能是乱的,需要排个序
for (String key : keyArray) {
List<DictModel> res = dicts.stream().filter(i -> key.equals(i.getValue())).collect(Collectors.toList());
if (res.size() > 0) {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCategoryServiceImpl.java:229 Java 🛡️ Builtin
} else {
textList = new ArrayList<>();
for (String id : idArray) {
List<SysCategory> res = list.stream().filter(i -> id.equals(i.getId())).collect(Collectors.toList());
textList.add(res.size() > 0 ? res.get(0).getName() : id);
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java:49 Java 🛡️ Builtin
// 去除 listSysRoles 中重复的数据
for (int i = 0; i < listSysRoles.size(); i++) {
String roleCodeI =((SysRole)listSysRoles.get(i)).getRoleCode();
for (int j = i + 1; j < listSysRoles.size(); j++) {
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java:51 Java 🛡️ Builtin
for (int i = 0; i < listSysRoles.size(); i++) {
String roleCodeI =((SysRole)listSysRoles.get(i)).getRoleCode();
for (int j = i + 1; j < listSysRoles.size(); j++) {
String roleCodeJ =((SysRole)listSysRoles.get(j)).getRoleCode();
// 发现重复数据
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:497 Java 🛡️ Builtin
Map<String,String> map = new HashMap(5);
//1.先将同一公司归类
for(SysDepart dept : list){
String code = dept.getOrgCode().substring(0,3);
if(map.containsKey(code)){
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:595 Java 🛡️ Builtin
//update-end---author:wangshuai ---date:20220316 for:[JTC-119]在部门管理菜单下设置部门负责人 创建用户的时候不需要处理
List<SysDepartTreeModel> records = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
SysDepart depart = list.get(i);
SysDepartTreeModel treeModel = new SysDepartTreeModel(depart);
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:792 Java 🛡️ Builtin
Map<String,Object> map = new HashMap(5);
//先循环一遍找到不同的负责部门id
for (SysUser user:users) {
String departIds = user.getDepartIds();
String[] departIdArray = departIds.split(",");
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:795 Java 🛡️ Builtin
String departIds = user.getDepartIds();
String[] departIdArray = departIds.split(",");
for (String departId:departIdArray) {
//mao中包含部门key,负责用户直接拼接
if(map.containsKey(departId)){
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:806 Java 🛡️ Builtin
}
//循环部门集合找到部门id对应的负责用户
for (SysDepart sysDepart:departList) {
if(map.containsKey(sysDepart.getId())){
sysDepart.setDirectorUserIds(map.get(sysDepart.getId()).toString());
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:862 Java 🛡️ Builtin
List<SysDepart> list = departMapper.queryBookDepTreeSync(parentId,tenantId,departName);
List<SysDepartTreeModel> records = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
SysDepart depart = list.get(i);
SysDepartTreeModel treeModel = new SysDepartTreeModel(depart);
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:94 Java 🛡️ Builtin
//获取用户信息
Map<String, UserAvatar> userAvatarMap = queryUserAvatar(personSet);
for(SysCommentVO vo: list){
String formId = vo.getFromUserId();
String toId = vo.getToUserId();
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCommentServiceImpl.java:232 Java 🛡️ Builtin
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(content);
while (m.find()) {
if (m.groupCount() == 3) {
String username = m.group(3);
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserTenantServiceImpl.java:105 Java 🛡️ Builtin
if (userIds != null && userIds.size() > 0) {
Map<String, String> useDepNames = this.getDepNamesByUserIds(userIds);
tenantPageList.forEach(item -> {
item.setOrgCodeTxt(useDepNames.get(item.getId()));
//查询用户的租户ids
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserTenantServiceImpl.java:128 Java 🛡️ Builtin
List<SysUserDepVo> list = userMapper.getDepNamesByUserIds(userIds);
Map<String, String> res = new HashMap(5);
list.forEach(item -> {
if (res.get(item.getUserId()) == null) {
res.put(item.getUserId(), item.getDepartName());
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:193 Java 🛡️ Builtin
// 查部门名称
Map<String,String> useDepNames = this.getDepNamesByUserIds(userIds);
userList.forEach(item->{
//TODO 临时借用这个字段用于页面展示
item.setOrgCodeTxt(useDepNames.get(item.getId()));
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:286 Java 🛡️ Builtin
if (userIds.size() > 0) {
Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
pageList.getRecords().forEach(item -> item.setOrgCodeTxt(useDepNames.get(item.getId())));
}
return pageList;
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:300 Java 🛡️ Builtin
Map<String, String> res = new HashMap(5);
list.forEach(item -> {
if (res.get(item.getUserId()) == null) {
res.put(item.getUserId(), item.getDepartName());
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java:145 Java 🛡️ Builtin
if (userIds != null && userIds.size() > 0) {
Map<String, String> useDepNames = this.getDepNamesByUserIds(userIds);
pageList.getRecords().forEach(item -> {
item.setOrgCodeTxt(useDepNames.get(item.getId()));
//查询用户的租户ids
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java:397 Java 🛡️ Builtin
Map<String, String> res = new HashMap(5);
list.forEach(item -> {
if (res.get(item.getUserId()) == null) {
res.put(item.getUserId(), item.getDepartName());
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.java:123 Java 🛡️ Builtin
this.remove(query);
// 再遍历刚才查出的集合, 根据每个对象,查找其是否仍有子级
for (int i = 0, len = permissionList.size(); i < len; i++) {
id = permissionList.get(i).getId();
Map map = new HashMap(5);
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:414 Java 🛡️ Builtin
Set<String> syncedUserIdSet = new HashSet<>();
for (User dtUserInfo : ddUserList) {
if (syncedUserIdSet.contains(dtUserInfo.getUserid())) {
continue;
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java:150 Java 🛡️ Builtin
List<SysAnnouncement> announcements = this.list(querySaWrapper);
if(announcements.size()>0) {
for(int i=0;i<announcements.size();i++) {
//update-begin--Author:wangshuai Date:20200803 for: 通知公告消息重复LOWCOD-759--------------------
//因为websocket没有判断是否存在这个用户,要是判断会出现问题,故在此判断逻辑
N+1 query (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ngalain/service/impl/NgAlainServiceImpl.java:56 Java 🛡️ Builtin
private JSONArray parseNgAlain(JSONArray jsonArray) {
JSONArray menulist=new JSONArray();
for (Object object : jsonArray) {
JSONObject jsonObject= (JSONObject) object;
String path= (String) jsonObject.get("path");
Non-constant public field (Java) 18
⚠️ Risk

A public non-constant field exposes the internal state of a class, breaking encapsulation. Any code can modify it directly, making invariants impossible to enforce and refactoring risky.

🛠️ Solution

Make the field private and provide getter/setter methods. For immutable fields, use private final with a constructor or builder. For constants, use public static final.

🔧 Fix suggestion — Non-constant public field (Java)
❌ Before
public class User {
public String name;
public int age;
}
✅ After
public class User {
private String name;
private int age;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
}
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:45 Java 🛡️ Builtin
private CommonAPI commonApi;
@Autowired
public RedisTemplate redisTemplate;
@Autowired
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:1667 Java 🛡️ Builtin
class ValueSet {
public int value;
public int pos;
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:1669 Java 🛡️ Builtin
public int value;
public int pos;
}
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobGroupController.java:30 Java 🛡️ Builtin
@Resource
public XxlJobInfoDao xxlJobInfoDao;
@Resource
public XxlJobGroupDao xxlJobGroupDao;
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobGroupController.java:32 Java 🛡️ Builtin
public XxlJobInfoDao xxlJobInfoDao;
@Resource
public XxlJobGroupDao xxlJobGroupDao;
@Resource
private XxlJobRegistryDao xxlJobRegistryDao;
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobLogController.java:45 Java 🛡️ Builtin
private XxlJobGroupDao xxlJobGroupDao;
@Resource
public XxlJobInfoDao xxlJobInfoDao;
@Resource
public XxlJobLogDao xxlJobLogDao;
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobLogController.java:47 Java 🛡️ Builtin
public XxlJobInfoDao xxlJobInfoDao;
@Resource
public XxlJobLogDao xxlJobLogDao;
@RequestMapping
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java:38 Java 🛡️ Builtin
private XxlJobInfoDao xxlJobInfoDao;
@Resource
public XxlJobLogDao xxlJobLogDao;
@Resource
private XxlJobLogGlueDao xxlJobLogGlueDao;
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/service/impl/AdminBizImpl.java:35 Java 🛡️ Builtin
@Resource
public XxlJobLogDao xxlJobLogDao;
@Resource
private XxlJobInfoDao xxlJobInfoDao;
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/GatewayRoutersConfig.java:18 Java 🛡️ Builtin
* 路由配置方式:database,yml,nacos
*/
public String dataType;
public String serverAddr;
public String namespace;
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/GatewayRoutersConfig.java:19 Java 🛡️ Builtin
*/
public String dataType;
public String serverAddr;
public String namespace;
public String dataId;
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/GatewayRoutersConfig.java:20 Java 🛡️ Builtin
public String dataType;
public String serverAddr;
public String namespace;
public String dataId;
public String routeGroup;
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/GatewayRoutersConfig.java:21 Java 🛡️ Builtin
public String serverAddr;
public String namespace;
public String dataId;
public String routeGroup;
public String username;
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/GatewayRoutersConfig.java:22 Java 🛡️ Builtin
public String namespace;
public String dataId;
public String routeGroup;
public String username;
public String password;
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/GatewayRoutersConfig.java:23 Java 🛡️ Builtin
public String dataId;
public String routeGroup;
public String username;
public String password;
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/GatewayRoutersConfig.java:24 Java 🛡️ Builtin
public String routeGroup;
public String username;
public String password;
@Value("${jeecg.route.config.data-type:#{null}}")
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java:43 Java 🛡️ Builtin
private RedisUtil redisUtil;
@Autowired
public RedisTemplate redisTemplate;
@Autowired
public ISysUserService userService;
Non-constant public field (Java) 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java:45 Java 🛡️ Builtin
public RedisTemplate redisTemplate;
@Autowired
public ISysUserService userService;
@Autowired
private SysBaseApiImpl sysBaseApi;
Unbounded query (Java) 5
⚠️ Risk

A repository.findAll() or getResultList() without pagination can return every row in the table. On large tables this causes out-of-memory errors, GC pressure, and request timeouts (CWE-770).

🛠️ Solution

Use Spring Data Pageable: repository.findAll(PageRequest.of(page, size)). For JPA: query.setMaxResults(100).setFirstResult(offset). Never call findAll() or getResultList() without a limit in production code.

🔧 Fix suggestion — Unbounded query (Java)
❌ Before
List<User> users = userRepository.findAll();
✅ After
Page<User> users = userRepository.findAll(PageRequest.of(page, PAGE_SIZE));
Unbounded query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobGroupController.java:165 Java 🛡️ Builtin
}
List<XxlJobGroup> allList = xxlJobGroupDao.findAll();
if (allList.size() == 1) {
return new ReturnT<String>(500, I18nUtil.getString("jobgroup_del_limit_1") );
Unbounded query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobLogController.java:53 Java 🛡️ Builtin
// 执行器列表
List<XxlJobGroup> jobGroupList_all = xxlJobGroupDao.findAll();
// filter group
Unbounded query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobInfoController.java:52 Java 🛡️ Builtin
// 执行器列表
List<XxlJobGroup> jobGroupList_all = xxlJobGroupDao.findAll();
// filter group
Unbounded query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/UserController.java:42 Java 🛡️ Builtin
// 执行器列表
List<XxlJobGroup> groupList = xxlJobGroupDao.findAll();
model.addAttribute("groupList", groupList);
Unbounded query (Java) 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java:300 Java 🛡️ Builtin
// executor count
Set<String> executorAddressSet = new HashSet<String>();
List<XxlJobGroup> groupList = xxlJobGroupDao.findAll();
if (groupList!=null && !groupList.isEmpty()) {
♻️

Maintenance & DRY

384
Generic catch (Java) 270
⚠️ Risk

catch(Exception e) swallows all exceptions including runtime errors, hiding bugs.

🛠️ Solution

Catch specific exception types. Use multi-catch if needed (catch (IOException | SQLException e)).

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Catch specific exception types. Use multi-catch if needed (catch (IOException | SQLException e)).
  3. ✅ Run the audit again to verify the finding is resolved

💡 Precise error handling, no hidden failures (CWE-396).

CWE-396 ISO A.8.28
🔧 Fix suggestion — Generic catch (Java)
❌ Before
catch (Exception e) { }
✅ After
catch (IOException e) { logger.error("IO error", e); }
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/AutoPoiDictConfig.java:55 Java 🛡️ Builtin
dicText = oConvertUtils.getString(dicText, dicCode);
dictList = commonApi.queryTableDictItemsByCode(dicTable, dicText, dicCode);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:104 Java 🛡️ Builtin
//------------------------------------------------------------------------------------------------
} catch (Exception e) {
}
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:150 Java 🛡️ Builtin
field.setAccessible(false);
}
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:177 Java 🛡️ Builtin
try {
sysUser = SecurityUtils.getSubject().getPrincipal() != null ? (LoginUser) SecurityUtils.getSubject().getPrincipal() : null;
} catch (Exception e) {
//e.printStackTrace();
sysUser = null;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java:85 Java 🛡️ Builtin
try {
tenantId = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest());
} catch (Exception e) {
//e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/thirdapp/ThirdAppConfig.java:64 Java 🛡️ Builtin
try {
return this.enabled && this.getWechatEnterprise().isEnabled();
} catch (Exception e) {
return false;
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/thirdapp/ThirdAppConfig.java:75 Java 🛡️ Builtin
try {
return this.enabled && this.getDingtalk().isEnabled();
} catch (Exception e) {
return false;
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/filter/WebsocketFilter.java:44 Java 🛡️ Builtin
try {
TokenUtils.verifyToken(token, commonApi, redisUtil);
} catch (Exception exception) {
//log.error("Websocket连接 Token安全校验失败,IP:{}, Token:{}, Path = {},异常:{}", oConvertUtils.getIpAddrByRequest(request), token, request.getRequestURI(), exception.getMessage());
log.debug("Websocket连接 Token安全校验失败,IP:{}, Token:{}, Path = {},异常:{}", oConvertUtils.getIpAddrByRequest(r
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/filters/JwtFilter.java:52 Java 🛡️ Builtin
executeLogin(request, response);
return true;
} catch (Exception e) {
JwtUtil.responseError(response,401,CommonConstant.TOKEN_IS_INVALID_MSG);
return false;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/FillRuleUtil.java:51 Java 🛡️ Builtin
IFillRuleHandler ruleHandler = (IFillRuleHandler) Class.forName(ruleClass).newInstance();
return ruleHandler.execute(params, formData);
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MyClassLoader.java:100 Java 🛡️ Builtin
try {
realPath = java.net.URLDecoder.decode(realPath, "utf-8");
} catch (Exception e) {
throw new RuntimeException(e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MinioUtil.java:104 Java 🛡️ Builtin
stream.close();
fileUrl = minioUrl+newBucket+"/"+objectName;
}catch (Exception e){
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MinioUtil.java:133 Java 🛡️ Builtin
.bucket(bucketName).build();
inputStream = minioClient.getObject(objectArgs);
} catch (Exception e) {
log.info("文件获取失败" + e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MinioUtil.java:151 Java 🛡️ Builtin
.bucket(bucketName).build();
minioClient.removeObject(objectArgs);
}catch (Exception e){
log.info("文件删除失败" + e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MinioUtil.java:173 Java 🛡️ Builtin
String url = minioClient.getPresignedObjectUrl(objectArgs);
return URLDecoder.decode(url,"UTF-8");
}catch (Exception e){
log.info("文件路径获取失败" + e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MinioUtil.java:193 Java 🛡️ Builtin
.credentials(minioName, minioPass)
.build();
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PasswordUtil.java:73 Java 🛡️ Builtin
// 生成密钥
secretKey = keyFactory.generateSecret(keySpec);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PasswordUtil.java:105 Java 🛡️ Builtin
encipheredData = cipher.doFinal(plaintext.getBytes("utf-8"));
//update-end-author:sccott date:20180815 for:中文作为用户名时,加密的密码windows和linux会得到不同的结果 gitee/issues/IZUD7
} catch (Exception e) {
}
return bytesToHexString(encipheredData);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PasswordUtil.java:135 Java 🛡️ Builtin
}
catch (Exception e) {
// TODO: handle exception
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:74 Java 🛡️ Builtin
}
}
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:137 Java 🛡️ Builtin
url = OssBootUtil.upload(file, bizPath);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:182 Java 🛡️ Builtin
} catch (IOException e) {
log.error(e.getMessage(), e);
}catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:200 Java 🛡️ Builtin
url = OssBootUtil.upload(file, bizPath, customBucket);
}
} catch (Exception e) {
log.error(e.getMessage(),e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:310 Java 🛡️ Builtin
//throw new JeecgBootException("数据库类型:["+dbType+"]不识别!");
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}finally {
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/Md5Util.java:42 Java 🛡️ Builtin
resultString = byteArrayToHexString(md.digest(resultString.getBytes(charsetname)));
}
} catch (Exception exception) {
}
return resultString;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/IpUtils.java:45 Java 🛡️ Builtin
ip = request.getRemoteAddr();
}
} catch (Exception e) {
logger.error("IPUtils ERROR ", e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PmsUtil.java:59 Java 🛡️ Builtin
bw.flush();
bw.close();
} catch (Exception e) {
log.info("excel导入生成错误日志文件异常:" + e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ReflectHelper.java:85 Java 🛡️ Builtin
m.invoke(obj, object);
return true;
} catch (Exception ex) {
log.info("invoke getter on " + property + " error: " + ex.toString());
return false;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ReflectHelper.java:106 Java 🛡️ Builtin
value = m.invoke(obj, new Object[]{});
} catch (Exception ex) {
log.info("invoke getter on " + property + " error: " + ex.toString());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ReflectHelper.java:154 Java 🛡️ Builtin
try {
o = clazz.newInstance();
} catch (Exception e) {
e.printStackTrace();
o = null;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ReflectHelper.java:189 Java 🛡️ Builtin
Object value = method.invoke(o, new Object[]{});
return value;
} catch (Exception e) {
e.printStackTrace();
return null;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ReflectHelper.java:206 Java 🛡️ Builtin
Object val = filed.get(o);
return val;
} catch (Exception e) {
e.printStackTrace();
return null;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java:682 Java 🛡️ Builtin
try {
return datetimeFormat.get().parse(str);
}catch (Exception e){
}
return null;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/UUIDGenerator.java:32 Java 🛡️ Builtin
try {
ipadd = toInt(InetAddress.getLocalHost().getAddress());
} catch (Exception e) {
ipadd = 0;
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ImportExcelUtil.java:50 Java 🛡️ Builtin
throw new Exception(errorFlag);
}
} catch (Exception e) {
String message = e.getMessage().toLowerCase();
int lineNumber = i + 1;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ImportExcelUtil.java:78 Java 🛡️ Builtin
throw new Exception(errorFlag);
}
} catch (Exception e) {
String message = e.getMessage().toLowerCase();
int lineNumber = i + 1;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:82 Java 🛡️ Builtin
}
strOut = new String(b, targetCode);
} catch (Exception e) {
e.printStackTrace();
return null;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:248 Java 🛡️ Builtin
try {
test = Long.valueOf(str);
} catch (Exception e) {
}
return test.longValue();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/encryption/AesEncryptUtil.java:54 Java 🛡️ Builtin
return Base64.encodeToString(encrypted);
} catch (Exception e) {
e.printStackTrace();
return null;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/FreemarkerParseFactory.java:75 Java 🛡️ Builtin
return false;
}
} catch (Exception e) {
//update-begin--Author:scott Date:20180320 for:解决问题 - 错误提示sql文件不存在,实际问题是sql freemarker用法错误-----
if (e instanceof ParseException) {
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/FreemarkerParseFactory.java:108 Java 🛡️ Builtin
paras.remove(MINI_DAO_FORMAT);
return sql;
} catch (Exception e) {
log.error(e.getMessage(), e.fillInStackTrace());
log.error("发送一次的模板key:{ " + tplName + " }");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/FreemarkerParseFactory.java:143 Java 🛡️ Builtin
paras.remove(MINI_DAO_FORMAT);
return sql;
} catch (Exception e) {
log.error(e.getMessage(), e.fillInStackTrace());
log.error("发送一次的模板key:{ " + tplContent + " }");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/AbstractQueryBlackListHandler.java:48 Java 🛡️ Builtin
try {
list = this.getQueryTableInfo(sql.toLowerCase());
} catch (Exception e) {
log.warn("校验sql语句,解析报错:{}",e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java:147 Java 🛡️ Builtin
log.error(e.getMessage(),e);
return null;
}catch (Exception e) {
log.error(e.getMessage(),e);
return null;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java:272 Java 🛡️ Builtin
OSSObject ossObject = ossClient.getObject(newBucket,objectName);
inputStream = new BufferedInputStream(ossObject.getObjectContent());
}catch (Exception e){
log.info("文件获取失败" + e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java:307 Java 🛡️ Builtin
return url.toString();
}
}catch (Exception e){
log.info("文件路径获取失败" + e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/filter/FileTypeFilter.java:148 Java 🛡️ Builtin
is.close();
return fileExtendName;
} catch (Exception e) {
log.error(e.getMessage(), e);
return "";
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/util/SensitiveInfoUtil.java:138 Java 🛡️ Builtin
try {
result = AesEncryptUtil.desEncrypt(data);
} catch (Exception exception) {
log.debug("数据解密错误,原数据:"+data);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/util/SensitiveInfoUtil.java:160 Java 🛡️ Builtin
try {
result = AesEncryptUtil.encrypt(data);
} catch (Exception exception) {
log.error("数据加密错误", exception.getMessage());
result = data;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java:83 Java 🛡️ Builtin
DecodedJWT jwt = verifier.verify(token);
return true;
} catch (Exception exception) {
return false;
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/ResourceUtil.java:82 Java 🛡️ Builtin
}
}
}catch (Exception e){
log.error("获取枚举类字典数据异常", e.getMessage());
// e.printStackTrace();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:191 Java 🛡️ Builtin
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:397 Java 🛡️ Builtin
default:
}
} catch (Exception e) {
log.error("高级查询值转换失败:", e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:415 Java 🛡️ Builtin
} catch (UnsupportedEncodingException e) {
log.error("--高级查询参数转码失败:" + superQueryParams, e);
} catch (Exception e) {
log.error("--高级查询拼接失败:" + e.getMessage());
e.printStackTrace();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:790 Java 🛡️ Builtin
sqlRule = sqlRule.replace("#{"+var+"}",tempValue);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:1231 Java 🛡️ Builtin
}
}
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/controller/JeecgController.java:150 Java 🛡️ Builtin
try {
return PropertyUtils.getProperty(item, "id").toString();
} catch (Exception e) {
e.printStackTrace();
return null;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/controller/JeecgController.java:183 Java 🛡️ Builtin
//update-end-author:taoyan date:20190528 for:批量插入数据
return Result.ok("文件导入成功!数据行数:" + list.size());
} catch (Exception e) {
//update-begin-author:taoyan date:20211124 for: 导入数据重复增加提示
String msg = e.getMessage();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/ProvinceCityArea.java:160 Java 🛡️ Builtin
}
}
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/ProvinceCityArea.java:176 Java 🛡️ Builtin
buffer.append(scanner.nextLine());
}
} catch (Exception e) {
} finally {
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:248 Java 🛡️ Builtin
List<DictModel> list = translText.computeIfAbsent(dictCode, k -> new ArrayList<>());
list.add(new DictModel(data, text));
} catch (Exception e) {
log.warn(e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:262 Java 🛡️ Builtin
List<DictModel> list = translText.computeIfAbsent(dictCode, k -> new ArrayList<>());
list.add(new DictModel(data, text));
} catch (Exception e) {
log.warn(e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:292 Java 🛡️ Builtin
redisTemplate.opsForValue().set(redisKey, dict.getText(), 300, TimeUnit.SECONDS);
// update-end-author:taoyan date:20211012 for: 字典表翻译注解缓存未更新 issues/3061
} catch (Exception e) {
log.warn(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:320 Java 🛡️ Builtin
try {
redisTemplate.opsForValue().set(redisKey, dict.getText());
} catch (Exception e) {
log.warn(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:382 Java 🛡️ Builtin
try {
tmpValue = oConvertUtils.getString(redisTemplate.opsForValue().get(keyString));
} catch (Exception e) {
log.warn(e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:393 Java 🛡️ Builtin
try {
tmpValue = oConvertUtils.getString(redisTemplate.opsForValue().get(keyString));
} catch (Exception e) {
log.warn(e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/es/JeecgElasticsearchTemplate.java:51 Java 🛡️ Builtin
log.info("ElasticSearch 服务连接成功");
log.info("ElasticSearch version: " + this.version);
} catch (Exception e) {
this.version = "";
log.warn("ElasticSearch 服务连接失败,原因:配置未通过。可能是BaseURL未配置或配置有误,也可能是Elasticsearch服务未启动。接下来将会拒绝执行任何方法!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/es/JeecgElasticsearchTemplate.java:348 Java 🛡️ Builtin
data.remove(key);
}
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/es/JeecgElasticsearchTemplate.java:354 Java 🛡️ Builtin
String result = RestUtil.put(url, data).getString("result");
return "created".equals(result) || "updated".equals(result);
} catch (Exception e) {
log.error(e.getMessage() + "\n-- url: " + url + "\n-- data: " + data.toJSONString());
//TODO 打印接口返回异常json
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/service/impl/BaseCommonServiceImpl.java:39 Java 🛡️ Builtin
logDTO.setCreateTime(new Date());
baseCommonMapper.saveLog(logDTO);
} catch (Exception e) {
log.warn(" LogContent length : "+logDTO.getLogContent().length());
log.warn(e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/service/impl/BaseCommonServiceImpl.java:58 Java 🛡️ Builtin
//设置IP地址
sysLog.setIp(IpUtils.getIpAddr(request));
} catch (Exception e) {
sysLog.setIp("127.0.0.1");
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/service/impl/BaseCommonServiceImpl.java:65 Java 🛡️ Builtin
try {
user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
} catch (Exception e) {
//e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/service/impl/BaseCommonServiceImpl.java:77 Java 🛡️ Builtin
try {
baseCommonMapper.saveLog(sysLog);
} catch (Exception e) {
log.warn(" LogContent length : "+sysLog.getLogContent().length());
log.warn(e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JoaDemoController.java:90 Java 🛡️ Builtin
joaDemoService.save(joaDemo);
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JoaDemoController.java:231 Java 🛡️ Builtin
}
return Result.ok("文件导入成功!数据行数:" + listJoaDemos.size());
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败:"+e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgOrderMainController.java:241 Java 🛡️ Builtin
}
return Result.ok("文件导入成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("文件导入失败:" + e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgOrderMainController.java:247 Java 🛡️ Builtin
try {
file.getInputStream().close();
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/MockController.java:146 Java 🛡️ Builtin
res.setResult(list);
res.success("查询成功");
} catch (Exception e) {
res.error500("查询失败"+e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/websocket/VxeSocket.java:72 Java 🛡️ Builtin
try {
this.session.getAsyncRemote().sendText(message);
} catch (Exception e) {
log.error("【vxeSocket】消息发送失败:" + e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/websocket/VxeSocket.java:159 Java 🛡️ Builtin
log.info("【vxeSocket】有新的连接,总数为:" + socketPool.size());
} catch (Exception ignored) {
}
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/websocket/VxeSocket.java:173 Java 🛡️ Builtin
log.info("【vxeSocket】连接断开,总数为:" + socketPool.size());
} catch (Exception ignored) {
}
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/websocket/VxeSocket.java:186 Java 🛡️ Builtin
try {
json = JSON.parseObject(message);
} catch (Exception e) {
log.warn("【vxeSocket】收到不合法的消息:" + message);
return;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:253 Java 🛡️ Builtin
}
System.out.println();
} catch (Exception e) {
log.error("-- 高级查询操作失败:" + superQueryParams, e);
e.printStackTrace();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:251 Java 🛡️ Builtin
}
System.out.println();
} catch (Exception e) {
log.error("-- 高级查询操作失败:" + superQueryParams, e);
e.printStackTrace();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java:212 Java 🛡️ Builtin
ExecutorBiz executorBiz = XxlJobScheduler.getExecutorBiz(address);
runResult = executorBiz.run(triggerParam);
} catch (Exception e) {
logger.error(">>>>>>>>>>> xxl-job trigger error, please check if the executor[{}] is running.", address, e);
runResult = new ReturnT<String>(ReturnT.FAIL_CODE, ThrowableUtil.toString(e));
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java:27 Java 🛡️ Builtin
ExecutorBiz executorBiz = XxlJobScheduler.getExecutorBiz(address);
idleBeatResult = executorBiz.idleBeat(new IdleBeatParam(triggerParam.getJobId()));
} catch (Exception e) {
logger.error(e.getMessage(), e);
idleBeatResult = new ReturnT<String>(ReturnT.FAIL_CODE, ""+e );
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java:27 Java 🛡️ Builtin
ExecutorBiz executorBiz = XxlJobScheduler.getExecutorBiz(address);
beatResult = executorBiz.beat();
} catch (Exception e) {
logger.error(e.getMessage(), e);
beatResult = new ReturnT<String>(ReturnT.FAIL_CODE, ""+e );
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/FtlUtil.java:25 Java 🛡️ Builtin
TemplateHashModel fileStatics = (TemplateHashModel) staticModels.get(packageName);
return fileStatics;
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/alarm/JobAlarmer.java:53 Java 🛡️ Builtin
try {
resultItem = alarm.doAlarm(info, jobLog);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/alarm/impl/EmailJobAlarm.java:75 Java 🛡️ Builtin
XxlJobAdminConfig.getAdminConfig().getMailSender().send(mimeMessage);
} catch (Exception e) {
logger.error(">>>>>>>>>>> xxl-job, job fail alarm email send error, JobLogId:{}", jobLog.getId(), e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java:96 Java 🛡️ Builtin
// do trigger
XxlJobTrigger.trigger(jobId, triggerType, failRetryCount, executorShardingParam, executorParam, addressList);
} catch (Exception e) {
logger.error(e.getMessage(), e);
} finally {
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java:59 Java 🛡️ Builtin
}
} catch (Exception e) {
if (!toStop) {
logger.error(">>>>>>>>>>> xxl-job, job fail monitor thread error:{}", e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java:67 Java 🛡️ Builtin
try {
TimeUnit.SECONDS.sleep(60);
} catch (Exception e) {
if (!toStop) {
logger.error(e.getMessage(), e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java:90 Java 🛡️ Builtin
}
} catch (Exception e) {
if (!toStop) {
logger.error(">>>>>>>>>>> xxl-job, job log report thread error:{}", e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java:124 Java 🛡️ Builtin
try {
TimeUnit.MINUTES.sleep(1);
} catch (Exception e) {
if (!toStop) {
logger.error(e.getMessage(), e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java:74 Java 🛡️ Builtin
}
} catch (Exception e) {
if (!toStop) {
logger.error(">>>>>>>>>>> xxl-job, job fail monitor thread error:{}", e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java:82 Java 🛡️ Builtin
try {
TimeUnit.SECONDS.sleep(10);
} catch (Exception e) {
if (!toStop) {
logger.error(e.getMessage(), e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:79 Java 🛡️ Builtin
}
}
} catch (Exception e) {
if (!toStop) {
logger.error(">>>>>>>>>>> xxl-job, job registry monitor thread error:{}", e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:144 Java 🛡️ Builtin
} catch (Exception e) {
if (!scheduleThreadToStop) {
logger.error(">>>>>>>>>>> xxl-job, JobScheduleHelper#scheduleThread error:{}", e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:249 Java 🛡️ Builtin
ringItemData.clear();
}
} catch (Exception e) {
if (!ringThreadToStop) {
logger.error(">>>>>>>>>>> xxl-job, JobScheduleHelper#ringThread error:{}", e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:521 Java 🛡️ Builtin
} catch (ParseException pe) {
throw pe;
} catch (Exception e) {
throw new ParseException("Illegal cron expression format ("
+ e.toString() + ")", 0);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:580 Java 🛡️ Builtin
throw new Exception();
}
} catch (Exception e) {
throw new ParseException(
"A numeric value between 1 and 5 must follow the '#' option",
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:775 Java 🛡️ Builtin
throw new Exception();
}
} catch (Exception e) {
throw new ParseException(
"A numeric value between 1 and 5 must follow the '#' option",
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:1655 Java 🛡️ Builtin
try {
buildExpression(cronExpression);
} catch (Exception ignore) {
} // never happens
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobLogController.java:153 Java 🛡️ Builtin
return logResult;
} catch (Exception e) {
logger.error(e.getMessage(), e);
return new ReturnT<LogResult>(ReturnT.FAIL_CODE, e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobLogController.java:177 Java 🛡️ Builtin
ExecutorBiz executorBiz = XxlJobScheduler.getExecutorBiz(log.getExecutorAddress());
runResult = executorBiz.kill(new KillParam(jobInfo.getId()));
} catch (Exception e) {
logger.error(e.getMessage(), e);
runResult = new ReturnT<String>(500, e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/service/LoginService.java:91 Java 🛡️ Builtin
try {
cookieUser = parseToken(cookieToken);
} catch (Exception e) {
logout(request, response);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/ParamFlowRuleController.java:60 Java 🛡️ Builtin
.orElse(true);
// If error occurred or cannot retrieve machine info, return true.
} catch (Exception ex) {
return true;
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/AuthorityRuleController.java:169 Java 🛡️ Builtin
repository.delete(id);
publishRules(oldEntity.getApp());
} catch (Exception e) {
return Result.ofFail(-1, e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/v2/FlowControllerV2.java:218 Java 🛡️ Builtin
repository.delete(id);
publishRules(oldEntity.getApp());
} catch (Exception e) {
return Result.ofFail(-1, e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/gateway/GatewayFlowRuleController.java:425 Java 🛡️ Builtin
delayTime();
return true;
} catch (Exception e) {
logger.error("publish rules error!");
e.printStackTrace();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/gateway/GatewayApiController.java:254 Java 🛡️ Builtin
delayTime();
return true;
} catch (Exception e) {
logger.error("publish api error!");
e.printStackTrace();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver1.java:54 Java 🛡️ Builtin
// ResponseEntity<String> responseEntity = restTemplate.postForEntity("http://localhost:7002/test/getMessage", requestEntity, String.class);
// System.out.println(" responseEntity :"+responseEntity.getBody());
}catch (Exception e){
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/DemoJobHandler.java:92 Java 🛡️ Builtin
process.waitFor();
exitValue = process.exitValue();
} catch (Exception e) {
log.info(e.getMessage(),e);
} finally {
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/DemoJobHandler.java:198 Java 🛡️ Builtin
log.info(responseMsg);
return ReturnT.SUCCESS;
} catch (Exception e) {
log.info(e.getMessage(),e);
return ReturnT.FAIL;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/DemoJobHandler.java:209 Java 🛡️ Builtin
connection.disconnect();
}
} catch (Exception e2) {
log.info(e2.getMessage(),e2);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/swagger/MySwaggerResourceProvider.java:124 Java 🛡️ Builtin
hasRoute = true;
}
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:333 Java 🛡️ Builtin
}
});
} catch (Exception e) {
log.error("从nacos接收动态路由配置出错!!!", e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:357 Java 🛡️ Builtin
}
return configService = NacosFactory.createConfigService(properties);
} catch (Exception e) {
log.error("创建ConfigService异常", e);
return null;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/DynamicRouteService.java:48 Java 🛡️ Builtin
repository.delete(Mono.just(id)).subscribe();
this.publisher.publishEvent(new RefreshRoutesEvent(this));
}catch (Exception e){
log.warn(e.getMessage(),e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/DynamicRouteService.java:62 Java 🛡️ Builtin
try {
log.info("gateway update route {}", definition);
} catch (Exception e) {
return "update fail,not find route routeId: " + definition.getId();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/DynamicRouteService.java:69 Java 🛡️ Builtin
this.publisher.publishEvent(new RefreshRoutesEvent(this));
return "success";
} catch (Exception e) {
return "update route fail";
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/DynamicRouteService.java:84 Java 🛡️ Builtin
try {
repository.save(Mono.just(definition)).subscribe();
} catch (Exception e) {
log.warn(e.getMessage(),e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/codegenerate/JeecgOneToMainUtil.java:77 Java 🛡️ Builtin
try {
new CodeGenerateOneToMany(mainTable,subTables).generateCodeFile(null);
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/init/CodeTemplateInitListener.java:32 Java 🛡️ Builtin
log.info(" Init Code Generate Template [ 检测如果是JAR启动环境,Copy模板到config目录 ] ");
this.initJarConfigCodeGeneratorTemplate();
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/init/CodeGenerateDbConfig.java:40 Java 🛡️ Builtin
try {
password = ConfigTools.decrypt(publicKey, password);
} catch (Exception e) {
e.printStackTrace();
log.error(" 代码生成器数据库连接,数据库密码解密失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java:58 Java 🛡️ Builtin
try {
userInfo = sysBaseApi.getCacheUser(username);
} catch (Exception e) {
log.error("获取用户信息异常:"+ e.getMessage());
return map;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/XmlUtils.java:61 Java 🛡️ Builtin
try {
return factory.newDocumentBuilder().parse(new InputSource(new StringReader(xml)));
} catch (Exception e) {
throw new RuntimeException("XML parsing error: " + e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/CasServiceUtil.java:46 Java 🛡️ Builtin
String res = readResponse(response);
return res == null ? null : (res == "" ? null : res);
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/controller/CasClientController.java:103 Java 🛡️ Builtin
result.success("登录成功");
} catch (Exception e) {
//e.printStackTrace();
result.error500(e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/monitor/controller/ActuatorRedisController.java:117 Java 🛡️ Builtin
res.setResult(list);
res.success("查询成功");
} catch (Exception e) {
res.error500("查询失败"+e.getMessage());
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:44 Java 🛡️ Builtin
sessionPool.put(userId, session);
log.info("【系统 WebSocket】有新的连接,总数为:" + sessionPool.size());
} catch (Exception e) {
}
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:53 Java 🛡️ Builtin
sessionPool.remove(userId);
log.info("【系统 WebSocket】连接断开,总数为:" + sessionPool.size());
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:77 Java 🛡️ Builtin
}
//update-end-author:taoyan date:20211012 for: websocket报错 https://gitee.com/jeecg/jeecg-boot/issues/I4C0MU
} catch (Exception e) {
log.error(e.getMessage(),e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:92 Java 🛡️ Builtin
try {
item.getValue().getAsyncRemote().sendText(message);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:97 Java 🛡️ Builtin
}
log.info("【系统 WebSocket】群发消息:" + message);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/controller/SysMessageTemplateController.java:175 Java 🛡️ Builtin
sysBaseApi.sendTemplateMessage(md);
return result.success("消息发送成功!");
} catch (Exception e) {
log.error("发送消息出错", e.getMessage());
return result.error500("发送消息出错!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/job/SendMsgJob.java:58 Java 🛡️ Builtin
sysMessage.setEsSendStatus(SendMsgStatusEnum.SUCCESS.getCode());
//update-end-author:taoyan date:2022-7-8 for: 模板消息发送测试调用方法修改
} catch (Exception e) {
e.printStackTrace();
// 发送消息出现异常
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:153 Java 🛡️ Builtin
result.setSuccess(true);
result.setResult(text);
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:186 Java 🛡️ Builtin
result.setResult(ls);
log.debug(result.toString());
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:223 Java 🛡️ Builtin
log.info(result.toString());
return result;
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:304 Java 🛡️ Builtin
result.error500("字典Code格式不正确!");
}
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:385 Java 🛡️ Builtin
sysDictService.save(sysDict);
result.success("保存成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:585 Java 🛡️ Builtin
//update-end---author:wangshuai ---date:20220209 for:[JTC-1168]字典编号不能为空------------
}
} catch (Exception e) {
errorLines++;
int lineNumber = i + 1;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:592 Java 🛡️ Builtin
}
return ImportExcelUtil.imporReturnRes(errorLines,successLines,errorMessage);
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败:"+e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:598 Java 🛡️ Builtin
try {
file.getInputStream().close();
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:630 Java 🛡️ Builtin
sysDictService.deleteOneDictPhysically(id);
return Result.ok("删除成功!");
} catch (Exception e) {
e.printStackTrace();
return Result.error("删除失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:646 Java 🛡️ Builtin
sysDictService.updateDictDelFlag(0,id);
return Result.ok("操作成功!");
} catch (Exception e) {
e.printStackTrace();
return Result.error("操作失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:223 Java 🛡️ Builtin
this.sysDepartPermissionService.updateById(sysDepartPermission);
}
} catch (Exception e) {
log.error("SysDepartPermissionController.saveDatarule()发生异常:" + e.getMessage(),e);
return Result.error("保存失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:242 Java 🛡️ Builtin
result.setResult(list.stream().map(sysDepartRolePermission -> String.valueOf(sysDepartRolePermission.getPermissionId())).collect(Collectors.toList()));
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:268 Java 🛡️ Builtin
//update-end---author:wangshuai ---date:20220316 for:[VUEN-234]部门角色授权添加敏感日志------------
log.info("======部门角色授权成功=====耗时:" + (System.currentTimeMillis() - start) + "毫秒");
} catch (Exception e) {
result.error500("授权失败!");
log.error(e.getMessage(), e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:299 Java 🛡️ Builtin
result.setResult(resMap);
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:116 Java 🛡️ Builtin
sysPositionService.save(sysPosition);
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:160 Java 🛡️ Builtin
try {
sysPositionService.removeById(id);
} catch (Exception e) {
log.error("删除失败", e.getMessage());
return Result.error("删除失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:273 Java 🛡️ Builtin
errorLines+=list.size();
successLines+=(listSysPositions.size()-errorLines);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("文件导入失败:" + e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:90 Java 🛡️ Builtin
result.setSuccess(true);
}
} catch (Exception e) {
log.error(e.getMessage(),e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:118 Java 🛡️ Builtin
}
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:138 Java 🛡️ Builtin
result.setResult(list);
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:164 Java 🛡️ Builtin
}
return Result.OK(data);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error(e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:189 Java 🛡️ Builtin
// FindsDepartsChildrenUtil.clearDepartIdModel();
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:292 Java 🛡️ Builtin
// }
// return result;
// } catch (Exception e) {
// log.error(e.getMessage(),e);
// result.setSuccess(false);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:302 Java 🛡️ Builtin
result.setResult(list);
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:421 Java 🛡️ Builtin
sysDepart.setParentId("");
}
}catch (Exception e) {
//没有查找到parentDept
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:445 Java 🛡️ Builtin
redisTemplate.delete(keys4);
return ImportExcelUtil.imporReturnRes(errorMessageList.size(), listSysDeparts.size() - errorMessageList.size(), errorMessageList);
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败:"+e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:498 Java 🛡️ Builtin
result.setResult(map);
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:572 Java 🛡️ Builtin
result.setResult(list);
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:130 Java 🛡️ Builtin
sysCategoryService.addSysCategory(sysCategory);
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:288 Java 🛡️ Builtin
sysCategoryService.save(sysCategoryExcel);
successLines++;
} catch (Exception e) {
errorLines++;
String message = e.getMessage().toLowerCase();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:301 Java 🛡️ Builtin
}
}
} catch (Exception e) {
errorMessage.add("发生异常:" + e.getMessage());
log.error(e.getMessage(), e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:343 Java 🛡️ Builtin
result.setResult(ls.get(0));
}
} catch (Exception e) {
e.printStackTrace();
result.setMessage(e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:361 Java 🛡️ Builtin
result.setResult(ls);
result.setSuccess(true);
} catch (Exception e) {
e.printStackTrace();
result.setMessage(e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:382 Java 🛡️ Builtin
result.setResult(ls);
result.setSuccess(true);
} catch (Exception e) {
e.printStackTrace();
result.setMessage(e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:531 Java 🛡️ Builtin
pageList.setRecords(list);
return Result.OK(pageList);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("批量查询子节点失败:" + e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:107 Java 🛡️ Builtin
sysAnnouncementSendService.save(sysAnnouncementSend);
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java:137 Java 🛡️ Builtin
sysTenantService.saveTenant(sysTenant);
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java:387 Java 🛡️ Builtin
result.setSuccess(true);
result.setResult(map);
}catch(Exception e) {
log.error(e.getMessage(), e);
result.error500("查询失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java:71 Java 🛡️ Builtin
result.setResult(list);
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:112 Java 🛡️ Builtin
result.setSuccess(true);
log.info("======获取全部菜单数据=====耗时:" + (System.currentTimeMillis() - start) + "毫秒");
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:141 Java 🛡️ Builtin
result.setResult(sysPermissionTreeList);
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:169 Java 🛡️ Builtin
result.setResult(sysPermissionTreeList);
result.setSuccess(true);
}catch (Exception e){
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:205 Java 🛡️ Builtin
}
return Result.ok(listMap);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("批量查询子菜单失败:" + e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:227 Java 🛡️ Builtin
// result.setResult(jsonArray);
// result.success("查询成功");
// } catch (Exception e) {
// result.error500("查询失败:" + e.getMessage());
// log.error(e.getMessage(), e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:305 Java 🛡️ Builtin
json.put("sysSafeMode", jeecgBaseConfig.getSafeMode());
result.setResult(json);
} catch (Exception e) {
result.error500("查询失败:" + e.getMessage());
log.error(e.getMessage(), e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:352 Java 🛡️ Builtin
result.put("sysSafeMode", jeecgBaseConfig.getSafeMode());
return Result.OK(result);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("查询失败:" + e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:371 Java 🛡️ Builtin
sysPermissionService.addPermission(permission);
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:391 Java 🛡️ Builtin
sysPermissionService.editPermission(permission);
result.success("修改成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:413 Java 🛡️ Builtin
}
return Result.error("访问路径不允许重复,请重定义!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:432 Java 🛡️ Builtin
sysPermissionService.deletePermission(id);
result.success("删除成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500(e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:464 Java 🛡️ Builtin
}
result.success("删除成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("删除失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:499 Java 🛡️ Builtin
result.setResult(resMap);
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:521 Java 🛡️ Builtin
result.setSuccess(true);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:540 Java 🛡️ Builtin
result.setResult(list.stream().map(sysRolePermission -> String.valueOf(sysRolePermission.getPermissionId())).collect(Collectors.toList()));
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:567 Java 🛡️ Builtin
result.success("保存成功!");
log.info("======角色授权成功=====耗时:" + (System.currentTimeMillis() - start) + "毫秒");
} catch (Exception e) {
result.error500("授权失败!");
log.error(e.getMessage(), e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:888 Java 🛡️ Builtin
sysPermissionDataRuleService.savePermissionDataRule(sysPermissionDataRule);
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:902 Java 🛡️ Builtin
sysPermissionDataRuleService.saveOrUpdate(sysPermissionDataRule);
result.success("更新成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:922 Java 🛡️ Builtin
sysPermissionDataRuleService.deletePermissionDataRule(id);
result.success("删除成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:941 Java 🛡️ Builtin
List<SysPermissionDataRule> permRuleList = sysPermissionDataRuleService.queryPermissionRule(sysPermissionDataRule);
result.setResult(permRuleList);
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:960 Java 🛡️ Builtin
result.setResult(list.stream().map(sysDepartPermission -> String.valueOf(sysDepartPermission.getPermissionId())).collect(Collectors.toList()));
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:983 Java 🛡️ Builtin
result.success("保存成功!");
log.info("======部门授权成功=====耗时:" + (System.currentTimeMillis() - start) + "毫秒");
} catch (Exception e) {
result.error500("授权失败!");
log.error(e.getMessage(), e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java:306 Java 🛡️ Builtin
// }
//
// } catch (Exception e) {
// log.info("文件下载失败" + e.getMessage());
// // e.printStackTrace();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCommentController.java:99 Java 🛡️ Builtin
sysCommentService.saveOneFileComment(request);
return Result.OK("success");
} catch (Exception e) {
log.error("评论文件上传失败:{}", e.getMessage());
return Result.error("操作失败," + e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartRoleController.java:276 Java 🛡️ Builtin
this.sysDepartRolePermissionService.updateById(sysRolePermission);
}
} catch (Exception e) {
log.error("SysRoleController.saveDatarule()发生异常:" + e.getMessage(),e);
return Result.error("保存失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserAgentController.java:98 Java 🛡️ Builtin
sysUserAgentService.save(sysUserAgent);
result.success("代理人设置成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserAgentController.java:251 Java 🛡️ Builtin
}
return Result.ok("文件导入成功!数据行数:" + listSysUserAgents.size());
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:174 Java 🛡️ Builtin
baseCommonService.addLog("添加用户,username: " +user.getUsername() ,CommonConstant.LOG_TYPE_2, 2);
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:209 Java 🛡️ Builtin
result.success("修改成功!");
}
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:257 Java 🛡️ Builtin
}
}
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败"+e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:321 Java 🛡️ Builtin
}
} catch (Exception e) {
result.setSuccess(false);
result.setMessage(e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:368 Java 🛡️ Builtin
}
return result;
} catch (Exception e) {
log.error(e.getMessage(), e);
result.setSuccess(false);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:421 Java 🛡️ Builtin
result.setResult(userList);
return result;
} catch (Exception e) {
log.error(e.getMessage(), e);
result.setSuccess(false);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:519 Java 🛡️ Builtin
sysUserService.save(sysUserExcel);
successLines++;
} catch (Exception e) {
errorLines++;
String message = e.getMessage().toLowerCase();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:552 Java 🛡️ Builtin
}
} catch (Exception e) {
errorMessage.add("发生异常:" + e.getMessage());
log.error(e.getMessage(), e);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:663 Java 🛡️ Builtin
result.setSuccess(true);
return result;
}catch(Exception e) {
log.error(e.getMessage(), e);
result.setSuccess(false);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:686 Java 🛡️ Builtin
sysUserRoleService.remove(queryWrapper);
result.success("删除成功!");
}catch(Exception e) {
log.error(e.getMessage(), e);
result.error500("删除失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:710 Java 🛡️ Builtin
sysUserRoleService.remove(queryWrapper);
result.success("删除成功!");
}catch(Exception e) {
log.error(e.getMessage(), e);
result.error500("删除失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:848 Java 🛡️ Builtin
result.setSuccess(true);
return result;
}catch(Exception e) {
log.error(e.getMessage(), e);
result.setSuccess(false);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:881 Java 🛡️ Builtin
result.error500("当前选中部门与用户无关联关系!");
}
}catch(Exception e) {
log.error(e.getMessage(), e);
result.error500("删除失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:905 Java 🛡️ Builtin
}
result.success("删除成功!");
}catch(Exception e) {
log.error(e.getMessage(), e);
result.error500("删除失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:927 Java 🛡️ Builtin
result.setSuccess(true);
result.setResult(map);
}catch(Exception e) {
log.error(e.getMessage(), e);
result.error500("查询失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1018 Java 🛡️ Builtin
sysUserService.addUserWithRole(user,null);
result.success("注册成功");
} catch (Exception e) {
result.error500("注册失败");
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1178 Java 🛡️ Builtin
return Result.ok(map);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error(500, "查询失败:" + e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1216 Java 🛡️ Builtin
IPage<SysUser> res = this.sysUserService.page(page, query);
return Result.ok(res);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error(500, "查询失败:" + e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1336 Java 🛡️ Builtin
sysUserService.updateById(sysUser);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("保存失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1359 Java 🛡️ Builtin
sysUserService.updateById(sysUser);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1669 Java 🛡️ Builtin
result.setSuccess(true);
result.setMessage("操作成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:145 Java 🛡️ Builtin
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:288 Java 🛡️ Builtin
sysAnnouncementService.updateById(sysAnnouncement);
}
} catch (Exception e) {
log.error("同步发送第三方APP消息失败:", e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:318 Java 🛡️ Builtin
try {
dingtalkService.recallMessage(sysAnnouncement.getDtTaskId());
} catch (Exception e) {
log.error("第三方APP撤回消息失败:", e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:438 Java 🛡️ Builtin
}
return Result.ok("文件导入成功!数据行数:" + listSysAnnouncements.size());
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:504 Java 🛡️ Builtin
// 验证Token有效性
tokenOk = TokenUtils.verifyToken(request, sysBaseApi, redisUtil);
} catch (Exception ignored) {
}
// 判断是否传递了Token,并且Token有效,如果传了就不做查看限制,直接返回
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:532 Java 🛡️ Builtin
res.setSuccess(true);
res.setResult(base64);
} catch (Exception e) {
log.error(e.getMessage(), e);
res.error500("获取验证码失败,请检查redis配置!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictItemController.java:86 Java 🛡️ Builtin
sysDictItemService.save(sysDictItem);
result.success("保存成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:146 Java 🛡️ Builtin
sysRoleService.save(role);
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:299 Java 🛡️ Builtin
}
}
} catch (Exception e) {
result.setSuccess(false);
result.setResult(false);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:355 Java 🛡️ Builtin
try {
return sysRoleService.importExcelCheckRoleCode(file, params);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("文件导入失败:" + e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:418 Java 🛡️ Builtin
this.sysRolePermissionService.updateById(sysRolePermission);
}
} catch (Exception e) {
log.error("SysRoleController.saveDatarule()发生异常:" + e.getMessage(),e);
return Result.error("保存失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:453 Java 🛡️ Builtin
result.setResult(resMap);
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java:286 Java 🛡️ Builtin
}
}
}catch(Exception e){
return insert;
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartRolePermissionServiceImpl.java:34 Java 🛡️ Builtin
//获取IP地址
ip = IpUtils.getIpAddr(request);
} catch (Exception e) {
ip = "127.0.0.1";
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRolePermissionServiceImpl.java:39 Java 🛡️ Builtin
//获取IP地址
ip = IpUtils.getIpAddr(request);
} catch (Exception e) {
ip = "127.0.0.1";
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysRolePermissionServiceImpl.java:65 Java 🛡️ Builtin
//获取IP地址
ip = IpUtils.getIpAddr(request);
} catch (Exception e) {
ip = "127.0.0.1";
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java:52 Java 🛡️ Builtin
//addDynamicDataSource(sysDataSource, dbPassword);
}
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java:75 Java 🛡️ Builtin
//addDynamicDataSource(sysDataSource,dbPassword);
}
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java:105 Java 🛡️ Builtin
try {
ds.addDataSource(sysDataSource.getCode(), dataSource);
} catch (Exception e) {
e.printStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:90 Java 🛡️ Builtin
return depIdModelList;
}
}catch(Exception e) {
e.fillInStackTrace();
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysGatewayRouteServiceImpl.java:87 Java 🛡️ Builtin
this.saveOrUpdate(route);
resreshRouter(null);
} catch (Exception e) {
log.error("路由配置解析失败", e);
resreshRouter(null);
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java:581 Java 🛡️ Builtin
dingtalkService.removeThirdAppUser(userIds);
wechatEnterpriseService.removeThirdAppUser(userIds);
} catch (Exception e) {
log.error("同步删除第三方App的用户失败:", e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:265 Java 🛡️ Builtin
String str = String.format("部门 %s 更新成功!", updateSysDepart.getDepartName());
syncInfo.addSuccessInfo(str);
} catch (Exception e) {
this.syncDepartCollectErrInfo(e, departmentTree, syncInfo);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:287 Java 🛡️ Builtin
String str = String.format("部门 %s 创建成功!", newSysDepart.getDepartName());
syncInfo.addSuccessInfo(str);
} catch (Exception e) {
this.syncDepartCollectErrInfo(e, departmentTree, syncInfo);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:412 Java 🛡️ Builtin
String str = String.format("用户 %s(%s) 更新成功!", updateSysUser.getRealname(), updateSysUser.getUsername());
syncInfo.addSuccessInfo(str);
} catch (Exception e) {
this.syncUserCollectErrInfo(e, qwUser, syncInfo);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:425 Java 🛡️ Builtin
String str = String.format("用户 %s(%s) 创建成功!", newSysUser.getRealname(), newSysUser.getUsername());
syncInfo.addSuccessInfo(str);
} catch (Exception e) {
this.syncUserCollectErrInfo(e, qwUser, syncInfo);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:849 Java 🛡️ Builtin
try {
baseUrl = RestUtil.getBaseUrl();
} catch (Exception e) {
log.warn(e.getMessage());
baseUrl = jeecgBaseConfig.getDomainUrl().getPc();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:239 Java 🛡️ Builtin
String str = String.format("部门 %s 更新成功!", updateSysDepart.getDepartName());
syncInfo.addSuccessInfo(str);
} catch (Exception e) {
this.syncDepartCollectErrInfo(e, departmentTree, syncInfo);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:269 Java 🛡️ Builtin
String str = String.format("部门 %s 创建成功!", newSysDepart.getDepartName());
syncInfo.addSuccessInfo(str);
} catch (Exception e) {
this.syncDepartCollectErrInfo(e, departmentTree, syncInfo);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:430 Java 🛡️ Builtin
String str = String.format("用户 %s(%s) 更新成功!", updateSysUser.getRealname(), updateSysUser.getUsername());
syncInfo.addSuccessInfo(str);
} catch (Exception e) {
this.syncUserCollectErrInfo(e, dtUserInfo, syncInfo);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:442 Java 🛡️ Builtin
String str = String.format("用户 %s(%s) 创建成功!", newSysUser.getRealname(), newSysUser.getUsername());
syncInfo.addSuccessInfo(str);
} catch (Exception e) {
this.syncUserCollectErrInfo(e, dtUserInfo, syncInfo);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:860 Java 🛡️ Builtin
try {
baseUrl = RestUtil.getBaseUrl();
} catch (Exception e) {
log.warn(e.getMessage());
baseUrl = jeecgBaseConfig.getDomainUrl().getPc();
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:337 Java 🛡️ Builtin
wechatEnterpriseService.sendMessage(message, true);
dingtalkService.sendMessage(message, true);
} catch (Exception e) {
log.error("同步发送第三方APP消息失败!", e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:355 Java 🛡️ Builtin
wechatEnterpriseService.sendMessage(message, true);
dingtalkService.sendMessage(message, true);
} catch (Exception e) {
log.error("同步发送第三方APP消息失败!", e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:425 Java 🛡️ Builtin
dingtalkService.sendActionCardMessage(announcement, true);
wechatEnterpriseService.sendTextCardMessage(announcement, true);
} catch (Exception e) {
log.error("同步发送第三方APP消息失败!", e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:499 Java 🛡️ Builtin
dingtalkService.sendActionCardMessage(announcement, true);
wechatEnterpriseService.sendTextCardMessage(announcement, true);
} catch (Exception e) {
log.error("同步发送第三方APP消息失败!", e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:566 Java 🛡️ Builtin
//throw new JeecgBootException("数据库类型:["+dbType+"]不识别!");
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}finally {
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/oss/controller/OssFileController.java:58 Java 🛡️ Builtin
result.success("上传成功!");
}
catch (Exception ex) {
log.info(ex.getMessage(), ex);
result.error500("上传失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/oss/service/impl/OssFileServiceImpl.java:46 Java 🛡️ Builtin
OssBootUtil.deleteUrl(ossFile.getUrl());
}
catch (Exception ex) {
log.error(ex.getMessage(),ex);
return false;
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java:172 Java 🛡️ Builtin
// //睡10秒,gateway网关5秒超时,会触发熔断降级操作
// Thread.sleep(10000);
// }catch (Exception e){
// e.printStackTrace();
// }
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ngalain/controller/NgAlainController.java:64 Java 🛡️ Builtin
// result.setSuccess(true);
// result.setResult(ls);
// } catch (Exception e) {
// log.error(e.getMessage(),e);
// result.error500("操作失败");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:255 Java 🛡️ Builtin
errorLines+=list.size();
successLines+=(listQuartzJobs.size()-errorLines);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("文件导入失败!");
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java:284 Java 🛡️ Builtin
try {
quartzJobService.execute(quartzJob);
} catch (Exception e) {
//e.printStackTrace();
log.info("定时任务 立即执行失败>>"+e.getMessage());
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java:157 Java 🛡️ Builtin
} catch (RuntimeException e) {
throw new JeecgBootException(e.getMessage(), e);
}catch (Exception e) {
throw new JeecgBootException("后台找不到该类名:" + jobClassName, e);
}
Generic catch (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java:172 Java 🛡️ Builtin
scheduler.unscheduleJob(TriggerKey.triggerKey(id));
scheduler.deleteJob(JobKey.jobKey(id));
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new JeecgBootException("删除定时任务失败");
Excessive nesting depth (Java, 6+ levels) 105
⚠️ Risk

Code nested more than 5 levels deep is extremely difficult to read, test, and maintain. Deep nesting is a symptom of code that tries to do too much in a single block.

🛠️ Solution

Apply early return / guard clauses to reduce nesting. Extract deeply nested logic into dedicated private methods.

🔧 Fix suggestion — Excessive nesting depth (Java, 6+ levels)
❌ Before
for (User u : users) {
if (u.isActive()) {
for (Order o : u.getOrders()) {
if (o.isPending()) {
if (o.getAmount() > 0) {
if (stock.isAvailable(o)) {
process(o);
}
}
}
}
}
}
✅ After
private void processOrder(Order order) {
if (!order.isPending() || order.getAmount() <= 0) return;
if (!stock.isAvailable(order)) return;
process(order);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:53 Java 🛡️ Builtin
Object localCreateBy = field.get(parameter);
field.setAccessible(false);
if (localCreateBy == null || "".equals(localCreateBy)) {
if (sysUser != null) {
// 登录人账号
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:54 Java 🛡️ Builtin
field.setAccessible(false);
if (localCreateBy == null || "".equals(localCreateBy)) {
if (sysUser != null) {
// 登录人账号
field.setAccessible(true);
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:67 Java 🛡️ Builtin
Object localCreateDate = field.get(parameter);
field.setAccessible(false);
if (localCreateDate == null || "".equals(localCreateDate)) {
field.setAccessible(true);
field.set(parameter, new Date());
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:78 Java 🛡️ Builtin
Object localSysOrgCode = field.get(parameter);
field.setAccessible(false);
if (localSysOrgCode == null || "".equals(localSysOrgCode)) {
// 获取登录用户信息
if (sysUser != null) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:80 Java 🛡️ Builtin
if (localSysOrgCode == null || "".equals(localSysOrgCode)) {
// 获取登录用户信息
if (sysUser != null) {
field.setAccessible(true);
field.set(parameter, sysUser.getOrgCode());
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:91 Java 🛡️ Builtin
//注入租户ID(是否开启系统管理模块的多租户数据隔离【SAAS多租户模式】)
if(MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL) {
if (TenantConstant.TENANT_ID.equals(field.getName())) {
field.setAccessible(true);
Object localTenantId = field.get(parameter);
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:95 Java 🛡️ Builtin
Object localTenantId = field.get(parameter);
field.setAccessible(false);
if (localTenantId == null) {
field.setAccessible(true);
field.set(parameter, oConvertUtils.getInt(TenantContext.getTenant(),0));
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:138 Java 🛡️ Builtin
if ("updateBy".equals(field.getName())) {
//获取登录用户信息
if (sysUser != null) {
// 登录账号
field.setAccessible(true);
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroRealm.java:160 Java 🛡️ Builtin
if (oConvertUtils.isNotEmpty(loginUserFromDb.getRelTenantIds())) {
String[] newArray = loginUserFromDb.getRelTenantIds().split(",");
if (oConvertUtils.isIn(contextTenantId, newArray)) {
isAuthorization = true;
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/AbstractQueryBlackListHandler.java:152 Java 🛡️ Builtin
// 使用表达式的列 只能判读字符串包含了
String aliasColumn = config;
if (alias != null && alias.length() > 0) {
aliasColumn = alias + "." + config;
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/AbstractQueryBlackListHandler.java:155 Java 🛡️ Builtin
aliasColumn = alias + "." + config;
}
if (exp.indexOf(aliasColumn) > 0) {
log.warn("sql黑名单校验,表【"+name+"】中字段【"+config+"】禁止查询");
return true;
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:168 Java 🛡️ Builtin
log.info("---查询过滤器,Query规则---field:{}, rule:{}, value:{}", field, "like", vals[0]);
j = j.like(field,vals[0]);
for (int k=1;k<vals.length;k++) {
j = j.or().like(field,vals[k]);
log.info("---查询过滤器,Query规则 .or()---field:{}, rule:{}, value:{}", field, "like", vals[k]);
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:355 Java 🛡️ Builtin
for (int i = 0; i < filterConditions.size(); i++) {
QueryCondition rule = filterConditions.get(i);
if (oConvertUtils.isNotEmpty(rule.getField())
&& oConvertUtils.isNotEmpty(rule.getRule())
&& oConvertUtils.isNotEmpty(rule.getVal())) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:370 Java 🛡️ Builtin
// update-begin--author:sunjianlei date:20210702 for:【/issues/I3VR8E】高级查询没有类型转换,查询参数都是字符串类型 ----
String dbType = rule.getDbType();
if (oConvertUtils.isNotEmpty(dbType)) {
try {
String valueStr = String.valueOf(queryValue);
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:371 Java 🛡️ Builtin
String dbType = rule.getDbType();
if (oConvertUtils.isNotEmpty(dbType)) {
try {
String valueStr = String.valueOf(queryValue);
switch (dbType.toLowerCase().trim()) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:373 Java 🛡️ Builtin
try {
String valueStr = String.valueOf(queryValue);
switch (dbType.toLowerCase().trim()) {
case "int":
queryValue = Integer.parseInt(valueStr);
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:406 Java 🛡️ Builtin
// 如果拼接方式是OR,就拼接OR
if (MatchTypeEnum.OR == matchType && i < (filterConditions.size() - 1)) {
andWrapper.or();
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:132 Java 🛡️ Builtin
for (Field field : oConvertUtils.getAllFields(record)) {
String value = item.getString(field.getName());
if (oConvertUtils.isEmpty(value)) {
continue;
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:136 Java 🛡️ Builtin
}
//update-end--Author:scott -- Date:20190603 ----for:解决继承实体字段无法翻译问题------
if (field.getAnnotation(Dict.class) != null) {
if (!dictFieldList.contains(field)) {
dictFieldList.add(field);
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:137 Java 🛡️ Builtin
//update-end--Author:scott -- Date:20190603 ----for:解决继承实体字段无法翻译问题------
if (field.getAnnotation(Dict.class) != null) {
if (!dictFieldList.contains(field)) {
dictFieldList.add(field);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:146 Java 🛡️ Builtin
List<String> dataList;
String dictCode = code;
if (!StringUtils.isEmpty(table)) {
dictCode = String.format("%s,%s,%s", table, text, code);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:174 Java 🛡️ Builtin
String fieldDictCode = code;
if (!StringUtils.isEmpty(table)) {
fieldDictCode = String.format("%s,%s,%s", table, text, code);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:179 Java 🛡️ Builtin
String value = record.getString(field.getName());
if (oConvertUtils.isNotEmpty(value)) {
List<DictModel> dictModels = translText.get(fieldDictCode);
if(dictModels==null || dictModels.size()==0){
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:244 Java 🛡️ Builtin
String keyString = String.format("sys:cache:dictTable::SimpleKey [%s,%s]", dictCode, data);
if (redisTemplate.hasKey(keyString)) {
try {
String text = oConvertUtils.getString(redisTemplate.opsForValue().get(keyString));
List<DictModel> list = translText.computeIfAbsent(dictCode, k -> new ArrayList<>());
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:258 Java 🛡️ Builtin
String keyString = String.format("sys:cache:dict::%s:%s", dictCode, data);
if (redisTemplate.hasKey(keyString)) {
try {
String text = oConvertUtils.getString(redisTemplate.opsForValue().get(keyString));
List<DictModel> list = translText.computeIfAbsent(dictCode, k -> new ArrayList<>());
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:296 Java 🛡️ Builtin
String subTug = subData.getString("tug");
if (StringUtils.isNotBlank(subTug)) {
for (String tug : tugs) {
if (tug.equals(subTug)) {
// 计算拖轮状态逻辑
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:297 Java 🛡️ Builtin
if (StringUtils.isNotBlank(subTug)) {
for (String tug : tugs) {
if (tug.equals(subTug)) {
// 计算拖轮状态逻辑
int statusCode = 0;
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:305 Java 🛡️ Builtin
// 有发船时间,状态 +1
String departureTime = subData.getString("departure_time");
if (StringUtils.isNotBlank(departureTime)) {
statusCode += 1;
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:310 Java 🛡️ Builtin
// 有作业开始时间,状态 +1
String workBeginTime = subData.getString("work_begin_time");
if (StringUtils.isNotBlank(workBeginTime)) {
statusCode += 1;
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:315 Java 🛡️ Builtin
// 有作业结束时间,状态 +1
String workEndTime = subData.getString("work_end_time");
if (StringUtils.isNotBlank(workEndTime)) {
statusCode += 1;
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:320 Java 🛡️ Builtin
// 有回船时间,状态 +1
String returnTime = subData.getString("return_time");
if (StringUtils.isNotBlank(returnTime)) {
statusCode += 1;
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:294 Java 🛡️ Builtin
String subTug = subData.getString("tug");
if (StringUtils.isNotBlank(subTug)) {
for (String tug : tugs) {
if (tug.equals(subTug)) {
// 计算拖轮状态逻辑
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:295 Java 🛡️ Builtin
if (StringUtils.isNotBlank(subTug)) {
for (String tug : tugs) {
if (tug.equals(subTug)) {
// 计算拖轮状态逻辑
int statusCode = 0;
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:303 Java 🛡️ Builtin
// 有发船时间,状态 +1
String departureTime = subData.getString("departure_time");
if (StringUtils.isNotBlank(departureTime)) {
statusCode += 1;
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:308 Java 🛡️ Builtin
// 有作业开始时间,状态 +1
String workBeginTime = subData.getString("work_begin_time");
if (StringUtils.isNotBlank(workBeginTime)) {
statusCode += 1;
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:313 Java 🛡️ Builtin
// 有作业结束时间,状态 +1
String workEndTime = subData.getString("work_end_time");
if (StringUtils.isNotBlank(workEndTime)) {
statusCode += 1;
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:318 Java 🛡️ Builtin
// 有回船时间,状态 +1
String returnTime = subData.getString("return_time");
if (StringUtils.isNotBlank(returnTime)) {
statusCode += 1;
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java:111 Java 🛡️ Builtin
if (cost > 500) { // ob-timeout threshold 500ms
AtomicInteger timeoutCount = jobTimeoutCountMap.putIfAbsent(jobId, new AtomicInteger(1));
if (timeoutCount != null) {
timeoutCount.incrementAndGet();
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java:45 Java 🛡️ Builtin
List<Long> losedJobIds = XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().findLostJobIds(losedTime);
if (losedJobIds!=null && losedJobIds.size()>0) {
for (Long logId: losedJobIds) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java:46 Java 🛡️ Builtin
if (losedJobIds!=null && losedJobIds.size()>0) {
for (Long logId: losedJobIds) {
XxlJobLog jobLog = new XxlJobLog();
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java:60 Java 🛡️ Builtin
}
} catch (Exception e) {
if (!toStop) {
logger.error(">>>>>>>>>>> xxl-job, job fail monitor thread error:{}", e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java:68 Java 🛡️ Builtin
TimeUnit.SECONDS.sleep(60);
} catch (Exception e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java:45 Java 🛡️ Builtin
try {
for (int i = 0; i < 3; i++) {
// today
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java:72 Java 🛡️ Builtin
Map<String, Object> triggerCountMap = XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().findLogReport(todayFrom, todayTo);
if (triggerCountMap!=null && triggerCountMap.size()>0) {
int triggerDayCount = triggerCountMap.containsKey("triggerDayCount")?Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCount"))):0;
int triggerDayCountRunning = triggerCountMap.containsKey("triggerDayCountRunning")?Integer.v
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java:85 Java 🛡️ Builtin
// do refresh
int ret = XxlJobAdminConfig.getAdminConfig().getXxlJobLogReportDao().update(xxlJobLogReport);
if (ret < 1) {
XxlJobAdminConfig.getAdminConfig().getXxlJobLogReportDao().save(xxlJobLogReport);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java:91 Java 🛡️ Builtin
} catch (Exception e) {
if (!toStop) {
logger.error(">>>>>>>>>>> xxl-job, job log report thread error:{}", e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java:113 Java 🛡️ Builtin
do {
logIds = XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().findClearLogIds(0, 0, clearBeforeTime, 0, 1000);
if (logIds!=null && logIds.size()>0) {
XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().clearLog(logIds);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java:125 Java 🛡️ Builtin
TimeUnit.MINUTES.sleep(1);
} catch (Exception e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java:42 Java 🛡️ Builtin
List<Long> failLogIds = XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().findFailJobLogIds(1000);
if (failLogIds!=null && !failLogIds.isEmpty()) {
for (long failLogId: failLogIds) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java:43 Java 🛡️ Builtin
List<Long> failLogIds = XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().findFailJobLogIds(1000);
if (failLogIds!=null && !failLogIds.isEmpty()) {
for (long failLogId: failLogIds) {
// lock log
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java:47 Java 🛡️ Builtin
// lock log
int lockRet = XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().updateAlarmStatus(failLogId, 0, -1);
if (lockRet < 1) {
continue;
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java:54 Java 🛡️ Builtin
// 1、fail retry monitor
if (log.getExecutorFailRetryCount() > 0) {
JobTriggerPoolHelper.trigger(log.getJobId(), TriggerTypeEnum.RETRY, (log.getExecutorFailRetryCount()-1), log.getExecutorShardingParam(), log.getExecutorParam(), null);
String retryMsg = "<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>"+ I18nUtil.getString("jobconf_trigger_type
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java:63 Java 🛡️ Builtin
// 2、fail alarm monitor
int newAlarmStatus = 0; // 告警状态:0-默认、-1=锁定状态、1-无需告警、2-告警成功、3-告警失败
if (info!=null && info.getAlarmEmail()!=null && info.getAlarmEmail().trim().length()>0) {
boolean alarmResult = XxlJobAdminConfig.getAdminConfig().getJobAlarmer().alarm(info, log);
newAlarmStatus = alarmResult?2:3;
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java:75 Java 🛡️ Builtin
} catch (Exception e) {
if (!toStop) {
logger.error(">>>>>>>>>>> xxl-job, job fail monitor thread error:{}", e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java:83 Java 🛡️ Builtin
TimeUnit.SECONDS.sleep(10);
} catch (Exception e) {
if (!toStop) {
logger.error(e.getMessage(), e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:35 Java 🛡️ Builtin
// auto registry group
List<XxlJobGroup> groupList = XxlJobAdminConfig.getAdminConfig().getXxlJobGroupDao().findByAddressType(0);
if (groupList!=null && !groupList.isEmpty()) {
// remove dead address (admin/executor)
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:39 Java 🛡️ Builtin
// remove dead address (admin/executor)
List<Integer> ids = XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryDao().findDead(RegistryConfig.DEAD_TIMEOUT, new Date());
if (ids!=null && ids.size()>0) {
XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryDao().removeDead(ids);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:46 Java 🛡️ Builtin
HashMap<String, List<String>> appAddressMap = new HashMap<String, List<String>>();
List<XxlJobRegistry> list = XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryDao().findAll(RegistryConfig.DEAD_TIMEOUT, new Date());
if (list != null) {
for (XxlJobRegistry item: list) {
if (RegistryConfig.RegistType.EXECUTOR.name().equals(item.getRegistryGroup())) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:47 Java 🛡️ Builtin
List<XxlJobRegistry> list = XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryDao().findAll(RegistryConfig.DEAD_TIMEOUT, new Date());
if (list != null) {
for (XxlJobRegistry item: list) {
if (RegistryConfig.RegistType.EXECUTOR.name().equals(item.getRegistryGroup())) {
String appname = item.getRegistryKey();
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:48 Java 🛡️ Builtin
if (list != null) {
for (XxlJobRegistry item: list) {
if (RegistryConfig.RegistType.EXECUTOR.name().equals(item.getRegistryGroup())) {
String appname = item.getRegistryKey();
List<String> registryList = appAddressMap.get(appname);
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:51 Java 🛡️ Builtin
String appname = item.getRegistryKey();
List<String> registryList = appAddressMap.get(appname);
if (registryList == null) {
registryList = new ArrayList<String>();
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:55 Java 🛡️ Builtin
}
if (!registryList.contains(item.getRegistryValue())) {
registryList.add(item.getRegistryValue());
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:64 Java 🛡️ Builtin
// fresh group address
for (XxlJobGroup group: groupList) {
List<String> registryList = appAddressMap.get(group.getAppname());
String addressListStr = null;
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:67 Java 🛡️ Builtin
List<String> registryList = appAddressMap.get(group.getAppname());
String addressListStr = null;
if (registryList!=null && !registryList.isEmpty()) {
Collections.sort(registryList);
addressListStr = "";
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:70 Java 🛡️ Builtin
Collections.sort(registryList);
addressListStr = "";
for (String item:registryList) {
addressListStr += item + ",";
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:80 Java 🛡️ Builtin
}
} catch (Exception e) {
if (!toStop) {
logger.error(">>>>>>>>>>> xxl-job, job registry monitor thread error:{}", e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:87 Java 🛡️ Builtin
TimeUnit.SECONDS.sleep(RegistryConfig.BEAT_TIMEOUT);
} catch (InterruptedException e) {
if (!toStop) {
logger.error(">>>>>>>>>>> xxl-job, job registry monitor thread error:{}", e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:80 Java 🛡️ Builtin
long nowTime = System.currentTimeMillis();
List<XxlJobInfo> scheduleList = XxlJobAdminConfig.getAdminConfig().getXxlJobInfoDao().scheduleJobQuery(nowTime + PRE_READ_MS, preReadCount);
if (scheduleList!=null && scheduleList.size()>0) {
// 2、push time-ring
for (XxlJobInfo jobInfo: scheduleList) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:82 Java 🛡️ Builtin
if (scheduleList!=null && scheduleList.size()>0) {
// 2、push time-ring
for (XxlJobInfo jobInfo: scheduleList) {
// time-ring jump
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:85 Java 🛡️ Builtin
// time-ring jump
if (nowTime > jobInfo.getTriggerNextTime() + PRE_READ_MS) {
// 2.1、trigger-expire > 5s:pass && make next-trigger-time
logger.warn(">>>>>>>>>>> xxl-job, schedule misfire, jobId = " + jobInfo.getId());
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:103 Java 🛡️ Builtin
// next-trigger-time in 5s, pre-read again
if (jobInfo.getTriggerStatus()==1 && nowTime + PRE_READ_MS > jobInfo.getTriggerNextTime()) {
// 1、make ring second
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:133 Java 🛡️ Builtin
// 3、update trigger info
for (XxlJobInfo jobInfo: scheduleList) {
XxlJobAdminConfig.getAdminConfig().getXxlJobInfoDao().scheduleUpdate(jobInfo);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:145 Java 🛡️ Builtin
} catch (Exception e) {
if (!scheduleThreadToStop) {
logger.error(">>>>>>>>>>> xxl-job, JobScheduleHelper#scheduleThread error:{}", e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:151 Java 🛡️ Builtin
// commit
if (conn != null) {
try {
conn.commit();
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:152 Java 🛡️ Builtin
// commit
if (conn != null) {
try {
conn.commit();
} catch (SQLException e) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:155 Java 🛡️ Builtin
conn.commit();
} catch (SQLException e) {
if (!scheduleThreadToStop) {
logger.error(e.getMessage(), e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:159 Java 🛡️ Builtin
}
}
try {
conn.setAutoCommit(connAutoCommit);
} catch (SQLException e) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:162 Java 🛡️ Builtin
conn.setAutoCommit(connAutoCommit);
} catch (SQLException e) {
if (!scheduleThreadToStop) {
logger.error(e.getMessage(), e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:166 Java 🛡️ Builtin
}
}
try {
conn.close();
} catch (SQLException e) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:169 Java 🛡️ Builtin
conn.close();
} catch (SQLException e) {
if (!scheduleThreadToStop) {
logger.error(e.getMessage(), e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:176 Java 🛡️ Builtin
// close PreparedStatement
if (null != preparedStatement) {
try {
preparedStatement.close();
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:177 Java 🛡️ Builtin
// close PreparedStatement
if (null != preparedStatement) {
try {
preparedStatement.close();
} catch (SQLException e) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:180 Java 🛡️ Builtin
preparedStatement.close();
} catch (SQLException e) {
if (!scheduleThreadToStop) {
logger.error(e.getMessage(), e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:191 Java 🛡️ Builtin
// Wait seconds, align second
if (cost < 1000) { // scan-overtime, not wait
try {
// pre-read period: success > scan each second; fail > skip this period;
TimeUnit.MILLISECONDS.sleep((preReadSuc?1000:PRE_READ_MS) - System.currentTimeMillis()%1000);
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:195 Java 🛡️ Builtin
TimeUnit.MILLISECONDS.sleep((preReadSuc?1000:PRE_READ_MS) - System.currentTimeMillis()%1000);
} catch (InterruptedException e) {
if (!scheduleThreadToStop) {
logger.error(e.getMessage(), e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:231 Java 🛡️ Builtin
List<Integer> ringItemData = new ArrayList<>();
int nowSecond = Calendar.getInstance().get(Calendar.SECOND); // 避免处理耗时太长,跨过刻度,向前校验一个刻度;
for (int i = 0; i < 2; i++) {
List<Integer> tmpData = ringData.remove( (nowSecond+60-i)%60 );
if (tmpData != null) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:233 Java 🛡️ Builtin
for (int i = 0; i < 2; i++) {
List<Integer> tmpData = ringData.remove( (nowSecond+60-i)%60 );
if (tmpData != null) {
ringItemData.addAll(tmpData);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:240 Java 🛡️ Builtin
// ring trigger
logger.debug(">>>>>>>>>>> xxl-job, time-ring beat : " + nowSecond + " = " + Arrays.asList(ringItemData) );
if (ringItemData.size() > 0) {
// do trigger
for (int jobId: ringItemData) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:242 Java 🛡️ Builtin
if (ringItemData.size() > 0) {
// do trigger
for (int jobId: ringItemData) {
// do trigger
JobTriggerPoolHelper.trigger(jobId, TriggerTypeEnum.CRON, -1, null, null, null);
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:250 Java 🛡️ Builtin
}
} catch (Exception e) {
if (!ringThreadToStop) {
logger.error(">>>>>>>>>>> xxl-job, JobScheduleHelper#ringThread error:{}", e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:259 Java 🛡️ Builtin
TimeUnit.MILLISECONDS.sleep(1000 - System.currentTimeMillis()%1000);
} catch (InterruptedException e) {
if (!ringThreadToStop) {
logger.error(e.getMessage(), e);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:551 Java 🛡️ Builtin
sub = s.substring(i, i + 3);
eval = getMonthNumber(sub) + 1;
if (eval <= 0) {
throw new ParseException("Invalid Month value: '" + sub + "'", i);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:568 Java 🛡️ Builtin
sub = s.substring(i, i + 3);
eval = getDayOfWeekNumber(sub);
if (eval < 0) {
throw new ParseException(
"Invalid Day-of-Week value: '" + sub
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:574 Java 🛡️ Builtin
}
} else if (c == '#') {
try {
i += 4;
nthdayOfWeek = Integer.parseInt(s.substring(i));
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:577 Java 🛡️ Builtin
i += 4;
nthdayOfWeek = Integer.parseInt(s.substring(i));
if (nthdayOfWeek < 1 || nthdayOfWeek > 5) {
throw new Exception();
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:219 Java 🛡️ Builtin
if(ArrayUtil.contains(GEN_KEY_ROUTERS,name)) {
JSONArray jsonArray = json.getJSONArray("args");
for (int j = 0; j < jsonArray.size(); j++) {
predicateDefinition.addArg("_genkey" + j, jsonArray.get(j).toString());
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:225 Java 🛡️ Builtin
JSONObject jsonObject = json.getJSONObject("args");
if(ObjectUtil.isNotEmpty(jsonObject)){
for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
Object valueObj=entry.getValue();
if(ObjectUtil.isNotEmpty(valueObj)) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java:249 Java 🛡️ Builtin
String name = json.getString("name");
FilterDefinition filterDefinition = new FilterDefinition();
for (Object o : jsonArray) {
JSONObject params = (JSONObject) o;
filterDefinition.addArg(params.getString("key"), params.get("value").toString());
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:524 Java 🛡️ Builtin
int lineNumber = i + 1;
// 通过索引名判断出错信息
if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_USERNAME)) {
errorMessage.add("第 " + lineNumber + " 行:用户名已经存在,忽略导入。");
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_WORK_NO)) {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:545 Java 🛡️ Builtin
String[] departIdArray = departIds.split(",");
List<SysUserDepart> userDepartList = new ArrayList<>(departIdArray.length);
for (String departId : departIdArray) {
userDepartList.add(new SysUserDepart(userId, departId));
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCheckRuleServiceImpl.java:76 Java 🛡️ Builtin
endIndex = endIndex > value.length() ? value.length() : endIndex;
// 如果开始下标大于结束下标,则说明用户还尚未输入到该位置,直接赋空值
if (beginIndex > endIndex) {
checkValue = "";
} else {
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:154 Java 🛡️ Builtin
// 本地有该部门,不删除
if (sysDepart != null) {
if (departmentTree.hasChildren()) {
this.deleteDepartRecursion(departmentTree.getChildren(), accessToken, true);
}
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:350 Java 🛡️ Builtin
// 手机号匹配失败,再尝试用username匹配
String username = sysUser.getUsername();
if (!(oConvertUtils.isEmpty(username) || username.equals(qwUserTemp.getUserid()))) {
// username 匹配失败,直接跳到下一次循环继续
continue;
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:178 Java 🛡️ Builtin
this.sysDepartToDtDepartment(depart, department, parent.getDept_id());
Response<JSONObject> response = JdtDepartmentAPI.update(department, accessToken);
if (response.isSuccess()) {
// 紧接着同步子级
this.syncDepartmentRecursion(depart.getChildren(), departments, department, accessToken, syncInfo);
Excessive nesting depth (Java, 6+ levels) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:264 Java 🛡️ Builtin
updateDtDepart.setSource_identifier(newSysDepart.getId());
Response response = JdtDepartmentAPI.update(updateDtDepart, accessToken);
if (!response.isSuccess()) {
throw new RuntimeException(response.getErrmsg());
}
Too many Java method parameters (6+) 9
⚠️ Risk

A method or constructor with 6 or more parameters is a strong signal of a design problem. It is hard to call correctly, hard to test, and often violates the Single Responsibility Principle.

🛠️ Solution

Group related parameters into a dedicated value object, record, or builder pattern. Alternatively, split the method into smaller, focused methods.

🔧 Fix suggestion — Too many Java method parameters (6+)
❌ Before
public User createUser(String name, String email, int age, String role, String address, String phone) {
return new User(name, email, age, role, address, phone);
}
✅ After
public User createUser(UserRequest request) {
return new User(request);
}
Too many Java method parameters (6+) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/controller/JeecgController.java:89 Java 🛡️ Builtin
* @param request
*/
protected ModelAndView exportXlsSheet(HttpServletRequest request, T object, Class<T> clazz, String title,String exportFields,Integer pageNum) {
// Step.1 组装查询条件
QueryWrapper<T> queryWrapper = QueryGenerator.initQueryWrapper(object, request.getParameterMap());
Too many Java method parameters (6+) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/impl/SystemSendMsgHandle.java:81 Java 🛡️ Builtin
}
private void doSend(String title, String msgContent, String fromUser, String toUser, Map<String, Object> data){
SysAnnouncement announcement = new SysAnnouncement();
if(data!=null){
Too many Java method parameters (6+) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysDictService.java:184 Java 🛡️ Builtin
*/
@Deprecated
public List<DictModel> queryLittleTableDictItems(String table, String text, String code, String condition, String keyword, int pageSize);
/**
Too many Java method parameters (6+) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java:308 Java 🛡️ Builtin
@Override
public List<DictModel> queryLittleTableDictItems(String table, String text, String code, String condition, String keyword, int pageSize) {
Page<DictModel> page = new Page<DictModel>(1, pageSize);
page.setSearchCount(false);
Too many Java method parameters (6+) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java:385 Java 🛡️ Builtin
@Override
public List<TreeSelectModel> queryTreeList(Map<String, String> query,String table, String text, String code, String pidField,String pid,String hasChildField,int converIsLeafVal) {
return baseMapper.queryTreeList(query, table, text, code, pidField, pid, hasChildField,converIsLeafVal);
}
Too many Java method parameters (6+) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:147 Java 🛡️ Builtin
@Override
public IPage<SysUser> queryDepartUserPageList(String departId, String username, String realname, int pageSize, int pageNo,String id) {
IPage<SysUser> pageList = null;
// 部门ID不存在 直接查询用户表即可
Too many Java method parameters (6+) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:246 Java 🛡️ Builtin
@Override
public IPage<SysUser> getUserInformation(Integer tenantId, String departId,String roleId, String keyword, Integer pageSize, Integer pageNo) {
IPage<SysUser> pageList = null;
// 部门ID不存在 直接查询用户表即可
Too many Java method parameters (6+) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java:172 Java 🛡️ Builtin
@Override
public List<SysAnnouncement> querySysMessageList(int pageSize, int pageNo, String fromUser, String starFlag, Date beginDate, Date endDate) {
//1. 补全send表的数据
completeAnnouncementSendInfo();
Too many Java method parameters (6+) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:1014 Java 🛡️ Builtin
* @param busId
*/
private void sendBusAnnouncement(String fromUser, String toUser, String title, String msgContent, String setMsgCategory, String busType, String busId) {
SysAnnouncement announcement = new SysAnnouncement();
announcement.setTitile(title);
🔗

Dependencies

0

No issues in dependencies.

ℹ️

Low (LOW) 221 issue(s)

📦

Business code

221
🏗️

Architecture & Patterns

78
Java utility class without private constructor 56
⚠️ Risk

A utility class (Utils, Helper, Constants) with a public constructor can be instantiated, which makes no semantic sense. Instantiating a utility class is a misuse of the API that can confuse developers.

🛠️ Solution

Add a private constructor to prevent instantiation. Consider making the class final to prevent subclassing.

🔧 Fix suggestion — Java utility class without private constructor
❌ Before
public class StringUtils {
public static String trim(String s) { return s.trim(); }
}
✅ After
public final class StringUtils {
private StringUtils() {
throw new UnsupportedOperationException("Classe utilitaire non instanciable");
}
public static String trim(String s) { return s.trim(); }
}
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/ThreadLocalDataHelper.java:13 Java 🛡️ Builtin
* @date: 2022年03月25日 11:42
*/
public class ThreadLocalDataHelper {
/**
* 线程的本地变量
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/SignUtil.java:23 Java 🛡️ Builtin
*/
@Slf4j
public class SignUtil {
public static final String X_PATH_VARIABLE = "x-path-variable";
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java:29 Java 🛡️ Builtin
*/
@Slf4j
public class HttpUtils {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/FillRuleUtil.java:19 Java 🛡️ Builtin
*/
@Slf4j
public class FillRuleUtil {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/MinioUtil.java:19 Java 🛡️ Builtin
*/
@Slf4j
public class MinioUtil {
private static String minioUrl;
private static String minioName;
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DySmsHelper.java:28 Java 🛡️ Builtin
* @author: jeecg-boot
*/
public class DySmsHelper {
private final static Logger logger=LoggerFactory.getLogger(DySmsHelper.class);
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/HTMLUtils.java:13 Java 🛡️ Builtin
*/
@SuppressWarnings("AlibabaClassNamingShouldBeCamel")
public class HTMLUtils {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SqlInjectionUtil.java:18 Java 🛡️ Builtin
*/
@Slf4j
public class SqlInjectionUtil {
/**
* sign 用于表字典加签的盐值【SQL漏洞】
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PasswordUtil.java:15 Java 🛡️ Builtin
* @author: jeecg-boot
*/
public class PasswordUtil {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java:38 Java 🛡️ Builtin
*/
@Slf4j
public class CommonUtils {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/Md5Util.java:9 Java 🛡️ Builtin
* @author: jeecg-boot
*/
public class Md5Util {
private static final String[] HEXDIGITS = { "0", "1", "2", "3", "4", "5",
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/SpringContextUtils.java:20 Java 🛡️ Builtin
*/
@Component
public class SpringContextUtils implements ApplicationContextAware {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/IpUtils.java:17 Java 🛡️ Builtin
* @Date 2019年01月14日
*/
public class IpUtils {
private static Logger logger = LoggerFactory.getLogger(IpUtils.class);
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PmsUtil.java:19 Java 🛡️ Builtin
@Slf4j
@Component
public class PmsUtil {
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestUtil.java:21 Java 🛡️ Builtin
*/
@Slf4j
public class RestUtil {
private static String domain = null;
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ReflectHelper.java:16 Java 🛡️ Builtin
*/
@Slf4j
public class ReflectHelper {
private Class cls;
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java:22 Java 🛡️ Builtin
* @Version 1.0
*/
public class DateUtils extends PropertyEditorSupport {
public static ThreadLocal<SimpleDateFormat> date_sdf = new ThreadLocal<SimpleDateFormat>() {
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestDesformUtil.java:15 Java 🛡️ Builtin
* @author sunjianlei
*/
public class RestDesformUtil {
private static String domain = null;
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/TokenUtils.java:22 Java 🛡️ Builtin
*/
@Slf4j
public class TokenUtils {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ImportExcelUtil.java:18 Java 🛡️ Builtin
*/
@Slf4j
public class ImportExcelUtil {
public static Result<?> imporReturnRes(int errorLines,int successLines,List<String> errorMessage) throws IOException {
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:32 Java 🛡️ Builtin
*/
@Slf4j
public class oConvertUtils {
public static boolean isEmpty(Object object) {
if (object == null) {
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/YouBianCodeUtil.java:12 Java 🛡️ Builtin
*
*/
public class YouBianCodeUtil {
// 数字位数(默认生成3位的数字)
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/BrowserUtils.java:15 Java 🛡️ Builtin
*
*/
public class BrowserUtils {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/encryption/AesEncryptUtil.java:14 Java 🛡️ Builtin
* @date: 2022/3/30 11:48
*/
public class AesEncryptUtil {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/DbTypeUtils.java:14 Java 🛡️ Builtin
* @author: jeecg-boot
*/
public class DbTypeUtils {
public static Map<String, String> dialectMap = new HashMap<String, String>();
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/DynamicDBUtil.java:28 Java 🛡️ Builtin
*/
@Slf4j
public class DynamicDBUtil {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/JdbcSecurityUtil.java:11 Java 🛡️ Builtin
* @Date 2022/8/10 18:15
**/
public class JdbcSecurityUtil {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/SecurityTools.java:20 Java 🛡️ Builtin
* @author: jeecg-boot
*/
public class SecurityTools {
public static final String ALGORITHM = "AES/ECB/PKCS5Padding";
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/superSearch/ObjectParseUtil.java:11 Java 🛡️ Builtin
// * @Date 2019年02月14日
// */
//public class ObjectParseUtil {
//
// /**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java:33 Java 🛡️ Builtin
*/
@Slf4j
public class OssBootUtil {
private static String endPoint;
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/desensitization/util/SensitiveInfoUtil.java:20 Java 🛡️ Builtin
**/
@Slf4j
public class SensitiveInfoUtil {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java:37 Java 🛡️ Builtin
* @Desc JWT工具类
**/
public class JwtUtil {
/**Token有效期为24小时(Token在reids中缓存时间乘以2)*/
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JeecgDataAutorUtils.java:19 Java 🛡️ Builtin
*
*/
public class JeecgDataAutorUtils {
public static final String MENU_DATA_AUTHOR_RULES = "MENU_DATA_AUTHOR_RULES";
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/ResourceUtil.java:26 Java 🛡️ Builtin
**/
@Slf4j
public class ResourceUtil {
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/SymbolConstant.java:8 Java 🛡️ Builtin
* @date: 2022年03月30日 17:44
*/
public class SymbolConstant {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/FillRuleConstant.java:8 Java 🛡️ Builtin
* @date: 2020年04月02日
*/
public class FillRuleConstant {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/DynamicTableConstant.java:9 Java 🛡️ Builtin
* @date: 2022年04月25日 22:30
*/
public class DynamicTableConstant {
/**
* 角色首页配置表
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/I18nUtil.java:22 Java 🛡️ Builtin
* @author xuxueli 2018-01-17 20:39:06
*/
public class I18nUtil {
private static Logger logger = LoggerFactory.getLogger(I18nUtil.class);
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/LocalCacheUtil.java:11 Java 🛡️ Builtin
* @author xuxueli 2018-01-22 21:37:34
*/
public class LocalCacheUtil {
private static ConcurrentMap<String, LocalCacheData> cacheRepository = new ConcurrentHashMap<String, LocalCacheData>(); // 类型建议用抽象父类,兼容性更好;
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java:12 Java 🛡️ Builtin
* @author xuxueli 2015-12-12 18:01:06
*/
public class CookieUtil {
// 默认缓存时间,单位/秒, 2H
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/FtlUtil.java:15 Java 🛡️ Builtin
* @author xuxueli 2018-01-17 20:37:48
*/
public class FtlUtil {
private static Logger logger = LoggerFactory.getLogger(FtlUtil.class);
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/util/JacksonUtil.java:21 Java 🛡️ Builtin
* @author xuxueli 2015-9-25 18:02:56
*/
public class JacksonUtil {
private static Logger logger = LoggerFactory.getLogger(JacksonUtil.class);
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java:17 Java 🛡️ Builtin
* @author xuxueli 2018-07-03 21:08:07
*/
public class JobTriggerPoolHelper {
private static Logger logger = LoggerFactory.getLogger(JobTriggerPoolHelper.class);
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java:20 Java 🛡️ Builtin
* @author xuxueli 2015-9-1 18:05:56
*/
public class JobLosedMonitorHelper {
private static Logger logger = LoggerFactory.getLogger(JobLosedMonitorHelper.class);
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java:19 Java 🛡️ Builtin
* @author xuxueli 2019-11-22
*/
public class JobLogReportHelper {
private static Logger logger = LoggerFactory.getLogger(JobLogReportHelper.class);
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java:19 Java 🛡️ Builtin
* @author xuxueli 2015-9-1 18:05:56
*/
public class JobFailMonitorHelper {
private static Logger logger = LoggerFactory.getLogger(JobFailMonitorHelper.class);
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java:17 Java 🛡️ Builtin
* @author xuxueli 2016-10-02 19:10:24
*/
public class JobRegistryMonitorHelper {
private static Logger logger = LoggerFactory.getLogger(JobRegistryMonitorHelper.class);
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java:21 Java 🛡️ Builtin
* @author xuxueli 2019-05-21
*/
public class JobScheduleHelper {
private static Logger logger = LoggerFactory.getLogger(JobScheduleHelper.class);
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/codegenerate/JeecgOneToMainUtil.java:16 Java 🛡️ Builtin
*
*/
public class JeecgOneToMainUtil {
/**
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/CasServiceUtil.java:23 Java 🛡️ Builtin
* @author: jeecg-boot
*/
public class CasServiceUtil {
public static void main(String[] args) {
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/util/PushMsgUtil.java:28 Java 🛡️ Builtin
@Component
public class PushMsgUtil {
@Autowired
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java:22 Java 🛡️ Builtin
* @Date: 2019-01-22
*/
public class FindsDepartsChildrenUtil {
//部门树信息-树结构
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/SecurityUtil.java:13 Java 🛡️ Builtin
* @date: 2020年09月07日 14:26
*/
public class SecurityUtil {
/**加密key*/
private static String key = "JEECGBOOT1423670";
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/XssUtils.java:12 Java 🛡️ Builtin
* @date: 2021年07月26日 19:13
*/
public class XssUtils {
private static Pattern[] patterns = new Pattern[]{
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/RandImageUtil.java:16 Java 🛡️ Builtin
* @author: jeecg-boot
*/
public class RandImageUtil {
public static final String KEY = "JEECG_LOGIN_KEY";
Java utility class without private constructor 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/PermissionDataUtil.java:14 Java 🛡️ Builtin
* @Date: 2019-04-03
*/
public class PermissionDataUtil {
/**
File too long 22
⚠️ Risk

Very long files are difficult to maintain and understand.

🛠️ Solution

Split into smaller, focused modules.

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Split into smaller, focused modules.
  3. ✅ Run the audit again to verify the finding is resolved

💡 Better maintainability, easier navigation.

CWE-1080 ISO A.8.28, A.8.25
🔧 Fix suggestion — File too long
❌ Before
class User: ...
def send_email(): ...
class OrderView: ...
✅ After
class User: ...
def send_email(): ...
class OrderView: ...
File too long 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java:1 Java 🛡️ Builtin
package org.jeecg.common.util;
import org.jeecg.common.constant.SymbolConstant;
File too long 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:1 Java 🛡️ Builtin
package org.jeecg.common.util;
import com.alibaba.fastjson.JSONArray;
File too long 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:1 Java 🛡️ Builtin
package org.jeecg.common.system.query;
import java.beans.PropertyDescriptor;
File too long 🏗️ Architecture & Patterns jeecg-boot-base-core/src/main/java/org/jeecg/common/es/JeecgElasticsearchTemplate.java:1 Java 🛡️ Builtin
package org.jeecg.common.es;
import com.alibaba.fastjson.JSONArray;
File too long 🏗️ Architecture & Patterns jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java:1 Java 🛡️ Builtin
/*
* All content copyright Terracotta, Inc., unless otherwise indicated. All rights reserved.
*
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java:1 Java 🛡️ Builtin
package org.jeecg.common.system.api;
import com.alibaba.fastjson.JSONObject;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictController.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.controller;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.controller;
import com.alibaba.fastjson.JSONObject;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.controller;
import com.alibaba.fastjson.JSON;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.controller;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.controller;
import cn.hutool.core.util.ObjectUtil;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.controller;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.controller;
import com.alibaba.fastjson.JSONArray;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.controller;
import cn.hutool.core.util.RandomUtil;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.service.impl;
import cn.hutool.core.util.RandomUtil;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.service.impl;
import com.alibaba.fastjson.JSONArray;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysTenantServiceImpl.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.service.impl;
import cn.hutool.core.util.RandomUtil;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.service.impl;
import cn.hutool.core.collection.CollectionUtil;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.service.impl;
import com.alibaba.fastjson.JSONObject;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.service.impl;
import com.alibaba.fastjson.JSON;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:1 Java 🛡️ Builtin
package org.jeecg.modules.system.service.impl;
import com.alibaba.fastjson.JSON;
File too long 🏗️ Architecture & Patterns jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java:1 Java 🛡️ Builtin
package org.jeecg.modules.api.controller;
import com.alibaba.fastjson.JSONObject;
♻️

Maintenance & DRY

143
Unresolved TODO/FIXME 53
⚠️ Risk

Unresolved TODOs indicate incomplete work.

🛠️ Solution

Resolve or create a ticket for tracking.

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Resolve or create a ticket for tracking.
  3. ✅ Run the audit again to verify the finding is resolved

💡 Clean codebase, tracked technical debt.

CWE-546 ISO A.8.25
🔧 Fix suggestion — Unresolved TODO/FIXME
❌ Before
data = get_data()
✅ After
data = get_data()
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/WebSocketConfig.java:33 Java 🛡️ Builtin
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter(websocketFilter());
//TODO 临时注释掉,测试下线上socket总断的问题
bean.addUrlPatterns("/websocket/*","/eoaSocket/*","/eoaNewChatSocket/*", "/newsWebsocket/*", "/vxeSocket/*");
return bean;
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java:165 Java 🛡️ Builtin
@Override
public void setProperties(Properties properties) {
// TODO Auto-generated method stub
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PasswordUtil.java:74 Java 🛡️ Builtin
secretKey = keyFactory.generateSecret(keySpec);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PasswordUtil.java:136 Java 🛡️ Builtin
catch (Exception e) {
// TODO: handle exception
}
return new String(passDec);
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java:205 Java 🛡️ Builtin
nowDate = sformat.parse(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:64 Java 🛡️ Builtin
strIn = new String(strIn.getBytes("ISO-8859-1"), "GBK");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/DbTypeUtils.java:23 Java 🛡️ Builtin
//oracle数据库 1
dialectMap.put("oracle", "org.hibernate.dialect.OracleDialect");
// TODO 没找到不确定
dialectMap.put("oracle12c", "org.hibernate.dialect.OracleDialect");
// db2数据库 1xx
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/security/AbstractQueryBlackListHandler.java:177 Java 🛡️ Builtin
public String getError(){
// TODO
return "系统设置了安全规则,敏感表和敏感字段禁止查询,联系管理员授权!";
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oss/OssBootUtil.java:239 Java 🛡️ Builtin
bucketUrl = "https://" + newBucket + "." + endPoint + SymbolConstant.SINGLE_SLASH;
}
//TODO 暂时不允许删除云存储的文件
//initOss(endPoint, accessKeyId, accessKeySecret);
url = url.replace(bucketUrl,"");
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java:215 Java 🛡️ Builtin
else if (key.equals(DataBaseConstant.SYS_MULTI_ORG_CODE)|| key.toLowerCase().equals(DataBaseConstant.SYS_MULTI_ORG_CODE_TABLE)) {
if(user==null){
//TODO 暂时使用用户登录部门,存在逻辑缺陷,不是用户所拥有的部门
returnValue = sysUser.getOrgCode();
}else{
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:159 Java 🛡️ Builtin
doIntervalQuery(queryWrapper, parameterMap, type, name, column);
//判断单值 参数带不同标识字符串 走不同的查询
//TODO 这种前后带逗号的支持分割后模糊查询(多选字段查询生效) 示例:,1,3,
if (null != value && value.toString().startsWith(COMMA) && value.toString().endsWith(COMMA)) {
String multiLikeval = value.toString().replace(",,", COMMA);
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:244 Java 🛡️ Builtin
//update-begin-author:scott date:2022-11-07 for:避免用户自定义表无默认字段{创建时间},导致排序报错
//TODO 避免用户自定义表无默认字段创建时间,导致排序报错
if(DataBaseConstant.CREATE_TIME.equals(column) && !fieldColumnMap.containsKey(DataBaseConstant.CREATE_TIME)){
column = "id";
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:443 Java 🛡️ Builtin
//update-begin--Author:scott Date:20190724 for:initQueryWrapper组装sql查询条件错误 #284-------------------
//TODO 此处规则,只适用于 le lt ge gt
// step 2 .>= =<
int length2 = 2;
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:478 Java 🛡️ Builtin
// step 4 in
if (rule == null && val.contains(COMMA)) {
//TODO in 查询这里应该有个bug 如果一字段本身就是多选 此时用in查询 未必能查询出来
rule = QueryRuleEnum.IN;
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:539 Java 🛡️ Builtin
//update-begin--Author:scott Date:20190724 for:initQueryWrapper组装sql查询条件错误 #284-------------------
if(val.startsWith(rule.getValue())){
//TODO 此处逻辑应该注释掉-> 如果查询内容中带有查询匹配规则符号,就会被截取的(比如:>=您好)
value = val.replaceFirst(rule.getValue(),"");
}else if(val.startsWith(rule.getCondition()+QUERY_SEPARATE_KEYWORD)){
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/query/QueryGenerator.java:628 Java 🛡️ Builtin
date = getTime().parse(value + " 23:59:59");
}
//TODO 日期类型比较特殊 可能oracle下不一定好使
}
if(date==null) {
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/DictAspect.java:189 Java 🛡️ Builtin
log.debug(" __翻译字典字段__ " + field.getName() + CommonConstant.DICT_TEXT_SUFFIX + ": " + textValue);
// TODO-sun 测试输出,待删
log.debug(" ---- dictCode: " + fieldDictCode);
log.debug(" ---- value: " + value);
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/PermissionDataAspect.java:62 Java 🛡️ Builtin
//update-begin-author:taoyan date:20211027 for:JTC-132【online报表权限】online报表带参数的菜单配置数据权限无效
//先判断是否online报表请求
// TODO 参数顺序调整有隐患
if(requestPath.indexOf(UrlMatchEnum.CGREPORT_DATA.getMatchUrl())>=0){
// 获取地址栏参数
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/PermissionDataAspect.java:74 Java 🛡️ Builtin
String username = JwtUtil.getUserNameByToken(request);
//查询数据权限信息
//TODO 微服务情况下也得支持缓存机制
List<SysPermissionDataRuleModel> dataRules = commonApi.queryPermissionDataRule(component, requestPath, username);
if(dataRules!=null && dataRules.size()>0) {
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/PermissionDataAspect.java:79 Java 🛡️ Builtin
//临时存储
JeecgDataAutorUtils.installDataSearchConditon(request, dataRules);
//TODO 微服务情况下也得支持缓存机制
SysUserCacheInfo userinfo = commonApi.getCacheUser(username);
JeecgDataAutorUtils.installUserInfo(request, userinfo);
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/es/JeecgElasticsearchTemplate.java:356 Java 🛡️ Builtin
} catch (Exception e) {
log.error(e.getMessage() + "\n-- url: " + url + "\n-- data: " + data.toJSONString());
//TODO 打印接口返回异常json
return false;
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JoaDemoController.java:110 Java 🛡️ Builtin
}else {
boolean ok = joaDemoService.updateById(joaDemo);
//TODO 返回false说明什么?
if(ok) {
result.success("修改成功!");
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/impl/JeecgOrderMainServiceImpl.java:115 Java 🛡️ Builtin
}
if(customers.getId().equals(customer.getId())){
//TODO 传过来的id和数据库id一至时,说明数据库存在该数据,走更新逻辑
jeecgOrderCustomerMapper.updateById(customer);
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/impl/JeecgOrderMainServiceImpl.java:139 Java 🛡️ Builtin
.contains(item.getId()))
.collect(Collectors.toList());
//TODO for循环删除id
for (JeecgOrderCustomer c:customersCollect){
jeecgOrderCustomerMapper.deleteById(c.getId());
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/online/OnlCgformDemoController.java:113 Java 🛡️ Builtin
// 将 record 返回以进行修改
res.put("record", record);
// TODO 不要 code 的概念
return Result.OK(res);
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java:67 Java 🛡️ Builtin
for (Map.Entry<String, Session> item : sessionPool.entrySet()) {
//userId key值= {用户id + "_"+ 登录token的md5串}
//TODO vue2未改key新规则,暂时不影响逻辑
if (item.getKey().contains(userId)) {
Session session = item.getValue();
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/impl/SmsSendMsgHandle.java:15 Java 🛡️ Builtin
@Override
public void sendMsg(String esReceiver, String esTitle, String esContent) {
// TODO Auto-generated method stub
log.info("发短信");
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/impl/WxSendMsgHandle.java:15 Java 🛡️ Builtin
@Override
public void sendMsg(String esReceiver, String esTitle, String esContent) {
// TODO Auto-generated method stub
log.info("发微信消息模板");
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java:199 Java 🛡️ Builtin
}
return Result.ok(map);
//TODO 以后按钮权限的查询也走这个请求 无非在map中多加两个key
}
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java:139 Java 🛡️ Builtin
} else {
boolean ok = sysPositionService.updateById(sysPosition);
//TODO 返回false说明什么?
if (ok) {
result.success("修改成功!");
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java:214 Java 🛡️ Builtin
} else {
boolean ok = sysDepartService.updateDepartDataById(sysDepart, username);
// TODO 返回false说明什么?
if (ok) {
//清除部门树内存
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java:127 Java 🛡️ Builtin
}else {
boolean ok = sysAnnouncementSendService.updateById(sysAnnouncementSend);
//TODO 返回false说明什么?
if(ok) {
result.success("操作成功!");
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartRoleController.java:252 Java 🛡️ Builtin
}
return Result.ok(map);
//TODO 以后按钮权限的查询也走这个请求 无非在map中多加两个key
}
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserAgentController.java:118 Java 🛡️ Builtin
}else {
boolean ok = sysUserAgentService.updateById(sysUserAgent);
//TODO 返回false说明什么?
if(ok) {
result.success("代理人设置成功!");
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:412 Java 🛡️ Builtin
Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
userList.forEach(item->{
//TODO 临时借用这个字段用于页面展示
item.setOrgCodeTxt(useDepNames.get(item.getId()));
});
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1198 Java 🛡️ Builtin
@RequestParam(name = "syncFlow", required = false) String syncFlow) {
try {
//TODO 从查询效率上将不要用mp的封装的page分页查询 建议自己写分页语句
LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<SysUser>();
if(oConvertUtils.isNotEmpty(syncFlow)){
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:1414 Java 🛡️ Builtin
Result<List<SysUser>> result = new Result<List<SysUser>>();
LambdaQueryWrapper<SysUser> queryWrapper =new LambdaQueryWrapper<SysUser>();
//TODO 外部模拟登陆临时账号,列表不显示
queryWrapper.ne(SysUser::getUsername,"_reserve_user_external");
if(StringUtils.isNotBlank(keyword)){
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java:169 Java 🛡️ Builtin
// update-end-author:liusq date:20210804 for:标题处理xss攻击的问题
boolean ok = sysAnnouncementService.upDateAnnouncement(sysAnnouncement);
//TODO 返回false说明什么?
if(ok) {
result.success("修改成功!");
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java:62 Java 🛡️ Builtin
SysUserOnlineVO online = new SysUserOnlineVO();
online.setToken(token);
//TODO 改成一次性查询
LoginUser loginUser = sysBaseApi.getUserByName(JwtUtil.getUsername(token));
if (loginUser != null) {
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java:240 Java 🛡️ Builtin
//update-end-author:wangshuai date:20201118 for:如果真实姓名和头像不存在就取第三方登录的
JSONObject obj = new JSONObject();
//TODO 第三方登确定登录租户和部门逻辑
//用户登录信息
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:67 Java 🛡️ Builtin
queryWrapper.like("log_content",keyWord);
}
//TODO 过滤逻辑处理
//TODO begin、end逻辑处理
//TODO 一个强大的功能,前端传一个字段字符串,后台只返回这些字符串对应的字段
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:68 Java 🛡️ Builtin
}
//TODO 过滤逻辑处理
//TODO begin、end逻辑处理
//TODO 一个强大的功能,前端传一个字段字符串,后台只返回这些字符串对应的字段
//创建时间/创建人的赋值
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java:69 Java 🛡️ Builtin
//TODO 过滤逻辑处理
//TODO begin、end逻辑处理
//TODO 一个强大的功能,前端传一个字段字符串,后台只返回这些字符串对应的字段
//创建时间/创建人的赋值
IPage<SysLog> pageList = sysLogService.page(page, queryWrapper);
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDictItemController.java:109 Java 🛡️ Builtin
sysDictItem.setUpdateTime(new Date());
boolean ok = sysDictItemService.updateById(sysDictItem);
//TODO 返回false说明什么?
if(ok) {
result.success("编辑成功!");
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:168 Java 🛡️ Builtin
role.setUpdateTime(new Date());
boolean ok = sysRoleService.updateById(role);
//TODO 返回false说明什么?
if(ok) {
result.success("修改成功!");
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java:394 Java 🛡️ Builtin
}
return Result.ok(map);
//TODO 以后按钮权限的查询也走这个请求 无非在map中多加两个key
}
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:598 Java 🛡️ Builtin
SysDepart depart = list.get(i);
SysDepartTreeModel treeModel = new SysDepartTreeModel(depart);
//TODO 异步树加载key拼接__+时间戳,以便于每次展开节点会刷新数据
//treeModel.setKey(treeModel.getKey()+"__"+System.currentTimeMillis());
records.add(treeModel);
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java:194 Java 🛡️ Builtin
Map<String,String> useDepNames = this.getDepNamesByUserIds(userIds);
userList.forEach(item->{
//TODO 临时借用这个字段用于页面展示
item.setOrgCodeTxt(useDepNames.get(item.getId()));
item.setSalt("");
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java:134 Java 🛡️ Builtin
//update-end-author:taoyan--date:20220104--for: JTC-372 【用户冻结问题】 online授权、用户组件,选择用户都能看到被冻结的用户
//TODO 外部模拟登陆临时账号,列表不显示
queryWrapper.ne("username", "_reserve_user_external");
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java:321 Java 🛡️ Builtin
List<SysPermission> permissionList = sysPermissionMapper.queryByUser(username);
for (SysPermission po : permissionList) {
// // TODO URL规则有问题?
// if (oConvertUtils.isNotEmpty(po.getUrl())) {
// permissionSet.add(po.getUrl());
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.java:189 Java 🛡️ Builtin
public void editPermission(SysPermission sysPermission) throws JeecgBootException {
SysPermission p = this.getById(sysPermission.getId());
//TODO 该节点判断是否还有子节点
if(p==null) {
throw new JeecgBootException("未找到菜单信息");
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:768 Java 🛡️ Builtin
obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_SIGN);
obj.put(WebsocketConst.MSG_USER_ID,userId);
//TODO 目前全部推送,后面修改
webSocket.sendMessage(obj.toJSONString());
}
Unresolved TODO/FIXME ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java:853 Java 🛡️ Builtin
List<SysPermission> permissionList = sysPermissionMapper.queryByUser(username);
for (SysPermission po : permissionList) {
// // TODO URL规则有问题?
// if (oConvertUtils.isNotEmpty(po.getUrl())) {
// permissionSet.add(po.getUrl());
System.out in production (Java) 88
⚠️ Risk

System.out/err.println bypasses logging framework — no log levels, no rotation, no monitoring.

🛠️ Solution

Use SLF4J/Log4j2 logger with appropriate log levels (debug, info, warn, error).

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Use SLF4J/Log4j2 logger with appropriate log levels (debug, info, warn, error).
  3. ✅ Run the audit again to verify the finding is resolved

💡 Structured, configurable logging with proper monitoring integration.

ISO A.8.12, A.8.15
🔧 Fix suggestion — System.out in production (Java)
❌ Before
System.out.println("Debug: " + data);
✅ After
logger.debug("Processing: {}", data);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroRealm.java:73 Java 🛡️ Builtin
// 设置用户拥有的角色集合,比如“admin,test”
Set<String> roleSet = commonApi.queryUserRoles(username);
//System.out.println(roleSet.toString());
info.setRoles(roleSet);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroRealm.java:79 Java 🛡️ Builtin
Set<String> permissionSet = commonApi.queryUserAuths(username);
info.addStringPermissions(permissionSet);
//System.out.println(permissionSet);
log.info("===============Shiro权限认证成功==============");
return info;
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:79 Java 🛡️ Builtin
byte[] b = strIn.getBytes(sourceCode);
for (int i = 0; i < b.length; i++) {
System.out.print(b[i] + " ");
}
strOut = new String(b, targetCode);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java:779 Java 🛡️ Builtin
// Integer a = null;
// Integer b = 1;
// System.out.println(oConvertUtils.isEqual(a, b));
// }
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/encryption/AesEncryptUtil.java:118 Java 🛡️ Builtin
// // /g2wzfqvMOeazgtsUVbq1kmJawROa6mcRAzwG1/GeJ4=
// data = encrypt(test, key, iv);
// System.out.println("数据:"+test);
// System.out.println("加密:"+data);
// String jiemi =desEncrypt(data, key, iv).trim();
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/encryption/AesEncryptUtil.java:119 Java 🛡️ Builtin
// data = encrypt(test, key, iv);
// System.out.println("数据:"+test);
// System.out.println("加密:"+data);
// String jiemi =desEncrypt(data, key, iv).trim();
// System.out.println("解密:"+jiemi);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/encryption/AesEncryptUtil.java:121 Java 🛡️ Builtin
// System.out.println("加密:"+data);
// String jiemi =desEncrypt(data, key, iv).trim();
// System.out.println("解密:"+jiemi);
// }
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/FreemarkerParseFactory.java:111 Java 🛡️ Builtin
log.error(e.getMessage(), e.fillInStackTrace());
log.error("发送一次的模板key:{ " + tplName + " }");
//System.err.println(e.getMessage());
//System.err.println("模板名:{ "+ tplName +" }");
throw new RuntimeException("解析SQL模板异常");
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/FreemarkerParseFactory.java:112 Java 🛡️ Builtin
log.error("发送一次的模板key:{ " + tplName + " }");
//System.err.println(e.getMessage());
//System.err.println("模板名:{ "+ tplName +" }");
throw new RuntimeException("解析SQL模板异常");
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/FreemarkerParseFactory.java:146 Java 🛡️ Builtin
log.error(e.getMessage(), e.fillInStackTrace());
log.error("发送一次的模板key:{ " + tplContent + " }");
//System.err.println(e.getMessage());
//System.err.println("模板内容:{ "+ tplContent +" }");
throw new RuntimeException("解析SQL模板异常");
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/dynamic/db/FreemarkerParseFactory.java:147 Java 🛡️ Builtin
log.error("发送一次的模板key:{ " + tplContent + " }");
//System.err.println(e.getMessage());
//System.err.println("模板内容:{ "+ tplContent +" }");
throw new RuntimeException("解析SQL模板异常");
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/util/filter/StrAttackFilter.java:23 Java 🛡️ Builtin
// public static void main(String[] args) {
// String filter = filter("@#jeecg/《》【bo】¥%……&*(o))))!@t<>,.,/?'\'~~`");
// System.out.println(filter);
// }
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java:248 Java 🛡️ Builtin
// public static void main(String[] args) {
// String token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1NjUzMzY1MTMsInVzZXJuYW1lIjoiYWRtaW4ifQ.xjhud_tWCNYBOg_aRlMgOdlZoWFFKB_givNElHNw3X0";
// System.out.println(JwtUtil.getUsername(token));
// }
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/ProvinceCityArea.java:128 Java 🛡️ Builtin
private void initAreaList(){
//System.out.println("=====================");
if(this.areaList==null || this.areaList.size()==0){
this.areaList = new ArrayList<Area>();
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/ProvinceCityArea.java:137 Java 🛡️ Builtin
JSONObject provinceJson = baseJson.getJSONObject("86");
for(String provinceKey: provinceJson.keySet()){
//System.out.println("===="+provinceKey);
Area province = new Area(provinceKey,provinceJson.getString(provinceKey),"86");
this.areaList.add(province);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/ProvinceCityArea.java:143 Java 🛡️ Builtin
JSONObject cityJson = baseJson.getJSONObject(provinceKey);
for(String cityKey:cityJson.keySet()){
//System.out.println("-----"+cityKey);
Area city = new Area(cityKey,cityJson.getString(cityKey),provinceKey);
this.areaList.add(city);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/ProvinceCityArea.java:150 Java 🛡️ Builtin
if(areaJson!=null){
for(String areaKey:areaJson.keySet()){
//System.out.println("········"+areaKey);
Area area = new Area(areaKey,areaJson.getString(areaKey),cityKey);
//update-begin-author:taoyan date:2022-5-24 for:VUEN-1088 online 导入 省市区导入后 导入数据错乱 北京市/市辖区/西城区-->山西省/晋城市/城区
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/aspect/UrlMatchEnum.java:64 Java 🛡️ Builtin
// * 转换匹配路由URL后(对应配置的菜单路径):/online/cgformList/81fcf7d8922d45069b0d5ba983612d3a
// */
// System.out.println(UrlMatchEnum.getMatchResultByUrl("/online/cgform/api/getData/81fcf7d8922d45069b0d5ba983612d3a"));
// }
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-boot-base-core/src/main/java/org/jeecg/common/es/JeecgElasticsearchTemplate.java:388 Java 🛡️ Builtin
bodySb.append(data.toJSONString()).append("\n");
}
System.out.println("+-+-+-: bodySb.toString(): " + bodySb.toString());
HttpHeaders headers = RestUtil.getHeaderApplicationJson();
RestUtil.request(url, HttpMethod.PUT, headers, null, bodySb, JSONObject.class);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/impl/JeecgDemoServiceImpl.java:68 Java 🛡️ Builtin
public JeecgDemo getByIdCacheable(String id) {
JeecgDemo t = jeecgDemoMapper.selectById(id);
System.err.println("---未读缓存,读取数据库---");
System.err.println(t);
return t;
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/impl/JeecgDemoServiceImpl.java:69 Java 🛡️ Builtin
JeecgDemo t = jeecgDemoMapper.selectById(id);
System.err.println("---未读缓存,读取数据库---");
System.err.println(t);
return t;
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:151 Java 🛡️ Builtin
@PutMapping("/immediateSaveRow")
public Result mockImmediateSaveRow(@RequestBody JSONObject rowData) throws Exception {
System.out.println("即时保存.rowData:" + rowData.toJSONString());
// 延时1.5秒,模拟网慢堵塞真实感
Thread.sleep(500);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:171 Java 🛡️ Builtin
// 3、新增的行是没有id的,通过这一点,就可以判断是否是新增的数据
System.out.println("即时保存.tableData:" + tableData.toJSONString());
// 延时1.5秒,模拟网慢堵塞真实感
Thread.sleep(1000);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:229 Java 🛡️ Builtin
Map<String, String[]> parameterMap = request.getParameterMap();
// 遍历输出到控制台
System.out.println("\ngetDdjhData - 普通查询条件:");
for (String key : parameterMap.keySet()) {
System.out.println("-- " + key + ": " + JSON.toJSONString(parameterMap.get(key)));
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:231 Java 🛡️ Builtin
System.out.println("\ngetDdjhData - 普通查询条件:");
for (String key : parameterMap.keySet()) {
System.out.println("-- " + key + ": " + JSON.toJSONString(parameterMap.get(key)));
}
// 输出高级查询
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:235 Java 🛡️ Builtin
// 输出高级查询
try {
System.out.println("\ngetDdjhData - 高级查询条件:");
// 高级查询模式
MatchTypeEnum matchType = MatchTypeEnum.getByValue(superQueryMatchType);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:239 Java 🛡️ Builtin
MatchTypeEnum matchType = MatchTypeEnum.getByValue(superQueryMatchType);
if (matchType == null) {
System.out.println("-- 高级查询模式:不识别(" + superQueryMatchType + ")");
} else {
System.out.println("-- 高级查询模式:" + matchType.getValue());
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:241 Java 🛡️ Builtin
System.out.println("-- 高级查询模式:不识别(" + superQueryMatchType + ")");
} else {
System.out.println("-- 高级查询模式:" + matchType.getValue());
}
superQueryParams = URLDecoder.decode(superQueryParams, "UTF-8");
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:247 Java 🛡️ Builtin
if (conditions != null) {
for (QueryCondition condition : conditions) {
System.out.println("-- " + JSON.toJSONString(condition));
}
} else {
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:250 Java 🛡️ Builtin
}
} else {
System.out.println("-- 没有传递任何高级查询条件");
}
System.out.println();
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:252 Java 🛡️ Builtin
System.out.println("-- 没有传递任何高级查询条件");
}
System.out.println();
} catch (Exception e) {
log.error("-- 高级查询操作失败:" + superQueryParams, e);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mock/vxe/controller/VxeMockController.java:264 Java 🛡️ Builtin
// 这个方法也会自动封装高级查询条件,但是高级查询参数名必须是superQueryParams和superQueryMatchType
QueryWrapper<MockEntity> queryWrapper = QueryGenerator.initQueryWrapper(mockEntity, parameterMap);
System.out.println("queryWrapper: " + queryWrapper.getCustomSqlSegment());
// 模拟JSON数据路径
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:149 Java 🛡️ Builtin
@PutMapping("/immediateSaveRow")
public Result mockImmediateSaveRow(@RequestBody JSONObject rowData) throws Exception {
System.out.println("即时保存.rowData:" + rowData.toJSONString());
// 延时1.5秒,模拟网慢堵塞真实感
Thread.sleep(500);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:169 Java 🛡️ Builtin
// 3、新增的行是没有id的,通过这一点,就可以判断是否是新增的数据
System.out.println("即时保存.tableData:" + tableData.toJSONString());
// 延时1.5秒,模拟网慢堵塞真实感
Thread.sleep(1000);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:227 Java 🛡️ Builtin
Map<String, String[]> parameterMap = request.getParameterMap();
// 遍历输出到控制台
System.out.println("\ngetDdjhData - 普通查询条件:");
for (String key : parameterMap.keySet()) {
System.out.println("-- " + key + ": " + JSON.toJSONString(parameterMap.get(key)));
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:229 Java 🛡️ Builtin
System.out.println("\ngetDdjhData - 普通查询条件:");
for (String key : parameterMap.keySet()) {
System.out.println("-- " + key + ": " + JSON.toJSONString(parameterMap.get(key)));
}
// 输出高级查询
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:233 Java 🛡️ Builtin
// 输出高级查询
try {
System.out.println("\ngetDdjhData - 高级查询条件:");
// 高级查询模式
MatchTypeEnum matchType = MatchTypeEnum.getByValue(superQueryMatchType);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:237 Java 🛡️ Builtin
MatchTypeEnum matchType = MatchTypeEnum.getByValue(superQueryMatchType);
if (matchType == null) {
System.out.println("-- 高级查询模式:不识别(" + superQueryMatchType + ")");
} else {
System.out.println("-- 高级查询模式:" + matchType.getValue());
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:239 Java 🛡️ Builtin
System.out.println("-- 高级查询模式:不识别(" + superQueryMatchType + ")");
} else {
System.out.println("-- 高级查询模式:" + matchType.getValue());
}
superQueryParams = URLDecoder.decode(superQueryParams, "UTF-8");
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:245 Java 🛡️ Builtin
if (conditions != null) {
for (QueryCondition condition : conditions) {
System.out.println("-- " + JSON.toJSONString(condition));
}
} else {
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:248 Java 🛡️ Builtin
}
} else {
System.out.println("-- 没有传递任何高级查询条件");
}
System.out.println();
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:250 Java 🛡️ Builtin
System.out.println("-- 没有传递任何高级查询条件");
}
System.out.println();
} catch (Exception e) {
log.error("-- 高级查询操作失败:" + superQueryParams, e);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-demo/src/main/java/org/jeecg/modules/dlglong/controller/DlMockController.java:262 Java 🛡️ Builtin
// 这个方法也会自动封装高级查询条件,但是高级查询参数名必须是superQueryParams和superQueryMatchType
QueryWrapper<MockEntity> queryWrapper = QueryGenerator.initQueryWrapper(mockEntity, parameterMap);
System.out.println("queryWrapper: " + queryWrapper.getCustomSqlSegment());
// 模拟JSON数据路径
System.out in production (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/base/BaseRuleController.java:21 Java 🛡️ Builtin
try {
TimeUnit.MILLISECONDS.sleep(100);
System.out.println("-------------睡100毫秒-----------");
} catch (InterruptedException e) {
e.printStackTrace();
System.out in production (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver1.java:53 Java 🛡️ Builtin
// //post
// ResponseEntity<String> responseEntity = restTemplate.postForEntity("http://localhost:7002/test/getMessage", requestEntity, String.class);
// System.out.println(" responseEntity :"+responseEntity.getBody());
}catch (Exception e){
e.printStackTrace();
System.out in production (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/JeecgGatewayApplication.java:35 Java 🛡️ Builtin
ConfigurableApplicationContext applicationContext = SpringApplication.run(JeecgGatewayApplication.class, args);
//String userName = applicationContext.getEnvironment().getProperty("jeecg.test");
//System.err.println("user name :" +userName);
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/TestMain.java:24 Java 🛡️ Builtin
HttpMethod method = HttpMethod.GET;
System.out.println("请求地址:" + url);
System.out.println("请求方式:" + method);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/TestMain.java:25 Java 🛡️ Builtin
System.out.println("请求地址:" + url);
System.out.println("请求方式:" + method);
// 利用 RestUtil 请求该url
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/TestMain.java:30 Java 🛡️ Builtin
ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, null, JSONObject.class);
if (result != null && result.getBody() != null) {
System.out.println("返回结果:" + result.getBody().toJSONString());
} else {
System.out.println("查询失败");
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/TestMain.java:32 Java 🛡️ Builtin
System.out.println("返回结果:" + result.getBody().toJSONString());
} else {
System.out.println("查询失败");
}
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/TestMain.java:37 Java 🛡️ Builtin
private static HttpHeaders getHeaders() {
String token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.50h-g6INOZRVnznExiawFb1U6PPjcVVA4POeYRA5a5Q";
System.out.println("请求Token:" + token);
HttpHeaders headers = new HttpHeaders();
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/SampleTest.java:32 Java 🛡️ Builtin
// @Test
// public void testSelect() {
// System.out.println(("----- selectAll method test ------"));
// List<JeecgDemo> userList = jeecgDemoMapper.selectList(null);
// Assert.assertEquals(5, userList.size());
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/SampleTest.java:40 Java 🛡️ Builtin
// @Test
// public void testXmlSql() {
// System.out.println(("----- selectAll method test ------"));
// List<JeecgDemo> userList = jeecgDemoMapper.getDemoByName("Sandy12");
// userList.forEach(System.out::println);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/SampleTest.java:58 Java 🛡️ Builtin
// @Test
// public void testDataLogSave() {
// System.out.println(("----- datalog test ------"));
// String tableName = "jeecg_demo";
// String dataId = "4028ef81550c1a7901550c1cd6e70001";
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:48 Java 🛡️ Builtin
HttpMethod method = HttpMethod.GET;
System.out.println("请求地址:" + url);
System.out.println("请求方式:" + method);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:49 Java 🛡️ Builtin
System.out.println("请求地址:" + url);
System.out.println("请求方式:" + method);
// 利用 RestUtil 请求该url
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:54 Java 🛡️ Builtin
ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, null, JSONObject.class);
if (result != null && result.getBody() != null) {
System.out.println("返回结果:" + result.getBody().toJSONString());
} else {
System.out.println("查询失败");
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:56 Java 🛡️ Builtin
System.out.println("返回结果:" + result.getBody().toJSONString());
} else {
System.out.println("查询失败");
}
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:72 Java 🛡️ Builtin
HttpMethod method = HttpMethod.POST;
System.out.println("请求地址:" + url);
System.out.println("请求方式:" + method);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:73 Java 🛡️ Builtin
System.out.println("请求地址:" + url);
System.out.println("请求方式:" + method);
JSONObject params = new JSONObject();
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:84 Java 🛡️ Builtin
params.put("workNo","0025");
System.out.println("请求参数:" + params.toJSONString());
// 利用 RestUtil 请求该url
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:89 Java 🛡️ Builtin
ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, params, JSONObject.class);
if (result != null && result.getBody() != null) {
System.out.println("返回结果:" + result.getBody().toJSONString());
} else {
System.out.println("查询失败");
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:91 Java 🛡️ Builtin
System.out.println("返回结果:" + result.getBody().toJSONString());
} else {
System.out.println("查询失败");
}
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:110 Java 🛡️ Builtin
HttpMethod method = HttpMethod.PUT;
System.out.println("请求地址:" + url);
System.out.println("请求方式:" + method);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:111 Java 🛡️ Builtin
System.out.println("请求地址:" + url);
System.out.println("请求方式:" + method);
JSONObject params = new JSONObject();
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:121 Java 🛡️ Builtin
params.put("id",dataId);
System.out.println("请求参数:" + params.toJSONString());
// 利用 RestUtil 请求该url
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:126 Java 🛡️ Builtin
ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, params, JSONObject.class);
if (result != null && result.getBody() != null) {
System.out.println("返回结果:" + result.getBody().toJSONString());
} else {
System.out.println("查询失败");
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:128 Java 🛡️ Builtin
System.out.println("返回结果:" + result.getBody().toJSONString());
} else {
System.out.println("查询失败");
}
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:147 Java 🛡️ Builtin
HttpMethod method = HttpMethod.DELETE;
System.out.println("请求地址:" + url);
System.out.println("请求方式:" + method);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:148 Java 🛡️ Builtin
System.out.println("请求地址:" + url);
System.out.println("请求方式:" + method);
// 利用 RestUtil 请求该url
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:153 Java 🛡️ Builtin
ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, null, JSONObject.class);
if (result != null && result.getBody() != null) {
System.out.println("返回结果:" + result.getBody().toJSONString());
} else {
System.out.println("查询失败");
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:155 Java 🛡️ Builtin
System.out.println("返回结果:" + result.getBody().toJSONString());
} else {
System.out.println("查询失败");
}
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/system/test/SysUserTest.java:169 Java 🛡️ Builtin
private HttpHeaders getHeaders() {
String token = this.getToken();
System.out.println("请求Token:" + token);
HttpHeaders headers = new HttpHeaders();
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/init/CodeTemplateInitListener.java:49 Java 🛡️ Builtin
URL url = re.getURL();
String filepath = url.getPath();
//System.out.println("native url= " + filepath);
filepath = java.net.URLDecoder.decode(filepath, "utf-8");
//System.out.println("decode url= " + filepath);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/init/CodeTemplateInitListener.java:51 Java 🛡️ Builtin
//System.out.println("native url= " + filepath);
filepath = java.net.URLDecoder.decode(filepath, "utf-8");
//System.out.println("decode url= " + filepath);
//2.在config下,创建jeecg/code-template-online/*模板
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/XmlUtils.java:295 Java 🛡️ Builtin
String error = XmlUtils.getTextForElement(errorRes, "authenticationFailure");
System.out.println("------"+error);
String error2 = XmlUtils.getTextForElement(result, "authenticationFailure");
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/XmlUtils.java:298 Java 🛡️ Builtin
String error2 = XmlUtils.getTextForElement(result, "authenticationFailure");
System.out.println("------"+error2);
String principal = XmlUtils.getTextForElement(result, "user");
System.out.println("---principal---"+principal);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/XmlUtils.java:300 Java 🛡️ Builtin
System.out.println("------"+error2);
String principal = XmlUtils.getTextForElement(result, "user");
System.out.println("---principal---"+principal);
Map<String, Object> attributes = XmlUtils.extractCustomAttributes(result);
System.out.println("---attributes---"+attributes);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/XmlUtils.java:302 Java 🛡️ Builtin
System.out.println("---principal---"+principal);
Map<String, Object> attributes = XmlUtils.extractCustomAttributes(result);
System.out.println("---attributes---"+attributes);
}
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/cas/util/CasServiceUtil.java:31 Java 🛡️ Builtin
String res = getStValidate(serviceUrl,ticket, service);
System.out.println("---------res-----"+res);
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/job/SendMsgJob.java:42 Java 🛡️ Builtin
.or(i -> i.eq("es_send_status", SendMsgStatusEnum.FAIL.getCode()).lt("es_send_num", 6));
List<SysMessage> sysMessages = sysMessageService.list(queryWrapper);
System.out.println(sysMessages);
// 2.根据不同的类型走不通的发送实现类
for (SysMessage sysMessage : sysMessages) {
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/aop/TenantPackUserLogAspect.java:39 Java 🛡️ Builtin
@Around("tenantLogPointCut()")
public Object aroundMethod(ProceedingJoinPoint joinPoint)throws Throwable {
//System.out.println("环绕通知>>>>>>>>>");
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/aop/TenantPackUserLogAspect.java:97 Java 🛡️ Builtin
@AfterThrowing("tenantLogPointCut()")
public void afterThrowing()throws Throwable{
System.out.println("异常通知");
}
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/SecurityUtil.java:45 Java 🛡️ Builtin
String content="test1111";
String encrypt = jiami(content);
System.out.println(encrypt);
//构建
String decrypt = jiemi(encrypt);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/SecurityUtil.java:49 Java 🛡️ Builtin
String decrypt = jiemi(encrypt);
//解密为字符串
System.out.println(decrypt);
}
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/util/XssUtils.java:47 Java 🛡️ Builtin
public static void main(String[] args) {
String s = scriptXss("<img src=x onload=alert(111).*?><script></script>javascript:eval()\\\\.");
System.err.println("s======>" + s);
}
}
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java:385 Java 🛡️ Builtin
public Result<String> generateUserId() {
Result<String> result = new Result<>();
System.out.println("我执行了,生成用户ID==============================");
String userId = UUID.randomUUID().toString().replace("-", "");
result.setSuccess(true);
System.out in production (Java) ♻️ Maintenance & DRY jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java:283 Java 🛡️ Builtin
*
* @Transactional public boolean removeDepartDataById(String id) {
* System.out.println("要删除的ID 为=============================>>>>>"+id); boolean
* flag = this.removeById(id); return flag; }
*/
Deprecated API (Java) 2
⚠️ Risk

Deprecated methods (Thread.stop, finalize, new Date(y,m,d)) may be removed in future JDK versions and have known issues.

🛠️ Solution

Replace with modern alternatives: Thread.interrupt(), try-with-resources, java.time API.

📋 Playbook
  1. 🔍 Locate the vulnerable code pattern in the file
  2. 🔧 Replace with modern alternatives: Thread.interrupt(), try-with-resources, java.time API.
  3. ✅ Run the audit again to verify the finding is resolved

💡 Future-proof code, better reliability and compatibility.

CWE-477 ISO A.8.8, A.8.28
🔧 Fix suggestion — Deprecated API (Java)
❌ Before
Date d = new Date();
✅ After
LocalDateTime d = LocalDateTime.now();
Deprecated API (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/old/XxlJobDynamicScheduler.java:117 Java 🛡️ Builtin
// }
// private void stopRpcProvider() throws Exception {
// XxlRpcInvokerFactory.getInstance().stop();
// }
// public static void invokeAdminService(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
Deprecated API (Java) ♻️ Maintenance & DRY jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java:132 Java 🛡️ Builtin
}
public static void toStop() {
helper.stop();
}
🔗

Dependencies

0

No issues in dependencies.

📝

Information (INFO) 0 issue(s)

✅ No issues detected in this category.

📜

Custom Rules 0

↑ Table of Contents
📜

No custom rules configured

Custom rules let you detect patterns specific to your codebase. Create your first rule with:

./run_audit.py . --create-rule

⏱️ SLA by Severity ↑ Table of Contents

👤 Findings by Author ↑ Table of Contents

📋

ISO 27001 Compliance Matrix 44/93

↑ Table of Contents

This matrix shows which Annex A controls are testable by static code analysis. It does not certify full compliance with ISO 27001 — organizational, physical and procedural controls require separate assessment.

SAST applicability rate 44/93 testable (47%)
Compliance among testable 32/44 clean (73%)
Common core compliance (shared with other frameworks) 23/34 clean (68%)
Framework-specific compliance (differentiating value) 9/10 clean (90%)

📋 Overall Coverage (%)

📊 Coverage by Theme (%)

📊 Controls Status (count)

🏢 Organizational Controls (A.5) 10/37

Control Name Status Rules Findings
A.5.1 Policies for information security Covered 1
A.5.10 Acceptable use of information and other associated assets Not applicable 0
A.5.11 Return of assets Not applicable 0
A.5.12 Classification of information Not applicable 0
A.5.13 Labelling of information Not applicable 0
A.5.14 Information transfer Covered 1
A.5.15 Access control Covered 1
A.5.16 Identity management Not applicable 0
A.5.17 Authentication information Not applicable 0
A.5.18 Access rights Covered 1
A.5.19 Information security in supplier relationships Not applicable 0
A.5.2 Information security roles and responsibilities Not applicable 0
A.5.20 Addressing information security within supplier agreements Not applicable 0
A.5.21 Managing information security in the ICT supply chain Covered 5
A.5.22 Monitoring, review and change management of supplier services Not applicable 0
A.5.23 Information security for use of cloud services Covered 1
A.5.24 Information security incident management planning and preparation Not applicable 0
A.5.25 Assessment and decision on information security events Not applicable 0
A.5.26 Response to information security incidents Not applicable 0
A.5.27 Learning from information security incidents Not applicable 0
A.5.28 Collection of evidence Not applicable 0
A.5.29 Information security during disruption Not applicable 0
A.5.3 Segregation of duties Not applicable 0
A.5.30 ICT readiness for business continuity Not applicable 0
A.5.31 Legal, statutory, regulatory and contractual requirements Not applicable 0
A.5.32 Intellectual property rights Covered 1
A.5.33 Protection of records Covered 1
A.5.34 Privacy and protection of PII Covered 2
A.5.35 Independent review of information security Not applicable 0
A.5.36 Compliance with policies, rules and standards for information security Not applicable 0
A.5.37 Documented operating procedures Covered 1
A.5.4 Management responsibilities Not applicable 0
A.5.5 Contact with authorities Not applicable 0
A.5.6 Contact with special interest groups Not applicable 0
A.5.7 Threat intelligence Not applicable 0
A.5.8 Information security in project management Not applicable 0
A.5.9 Inventory of information and other associated assets Not applicable 0

👥 People Controls (A.6) 0/8

Control Name Status Rules Findings
A.6.1 Screening Not applicable 0
A.6.2 Terms and conditions of employment Not applicable 0
A.6.3 Information security awareness, education and training Not applicable 0
A.6.4 Disciplinary process Not applicable 0
A.6.5 Responsibilities after termination or change of employment Not applicable 0
A.6.6 Confidentiality or non-disclosure agreements Not applicable 0
A.6.7 Remote working Not applicable 0
A.6.8 Information security event reporting Not applicable 0

🏗️ Physical Controls (A.7) 0/14

Control Name Status Rules Findings
A.7.1 Physical security perimeters Not applicable 0
A.7.10 Storage media Not applicable 0
A.7.11 Supporting utilities Not applicable 0
A.7.12 Cabling security Not applicable 0
A.7.13 Equipment maintenance Not applicable 0
A.7.14 Secure disposal or re-use of equipment Not applicable 0
A.7.2 Physical entry Not applicable 0
A.7.3 Securing offices, rooms and facilities Not applicable 0
A.7.4 Physical security monitoring Not applicable 0
A.7.5 Protecting against physical and environmental threats Not applicable 0
A.7.6 Working in secure areas Not applicable 0
A.7.7 Clear desk and clear screen Not applicable 0
A.7.8 Equipment siting and protection Not applicable 0
A.7.9 Security of assets off-premises Not applicable 0

💻 Technological Controls (A.8) 34/34

Control Name Status Rules Findings
A.8.1 User endpoint devices Covered 1
A.8.10 Information deletion Covered 1
A.8.11 Data masking Covered 1
A.8.12 Data leakage prevention Issues found 16 478
A.8.13 Information backup Covered 1
A.8.14 Redundancy of information processing facilities Covered 1
A.8.15 Logging Issues found 9 97
A.8.16 Monitoring activities Covered 1
A.8.17 Clock synchronization Covered 1
A.8.18 Use of privileged utility programs Covered 1
A.8.19 Installation of software on operational systems Covered 2
A.8.2 Privileged access rights Issues found 4 8
A.8.20 Networks security Covered 9
A.8.21 Security of network services Covered 1
A.8.22 Segregation of networks Covered 1
A.8.23 Web filtering Covered 1
A.8.24 Use of cryptography Issues found 14 8
A.8.25 Secure development life cycle Issues found 13 75
A.8.26 Application security requirements Issues found 61 4
A.8.27 Secure system architecture and engineering principles Issues found 5 83
A.8.28 Secure coding Issues found 119 780
A.8.29 Security testing in development and acceptance Covered 2
A.8.3 Information access restriction Covered 9
A.8.30 Outsourced development Covered 1
A.8.31 Separation of development, test and production environments Covered 4
A.8.32 Change management Covered 2
A.8.33 Test information Covered 1
A.8.34 Protection of information systems during audit testing Covered 1
A.8.4 Access to source code Covered 1
A.8.5 Secure authentication Issues found 4 1
A.8.6 Capacity management Covered 1
A.8.7 Protection against malware Issues found 6 1
A.8.8 Management of technical vulnerabilities Issues found 9 2
A.8.9 Configuration management Issues found 15 8
🔰

OWASP ASVS v5.0.0 Compliance 44/348

↑ Table of Contents

This matrix shows which ASVS requirements are testable by static code analysis (~24% SAST ceiling). It does not certify full ASVS compliance — runtime, infrastructure and procedural requirements need separate assessment.

SAST applicability rate 44/348 testable (13%)
Compliance among testable 36/44 clean (82%)
Common core compliance (shared with other frameworks) 23/31 clean (74%)
Framework-specific compliance (differentiating value) 13/13 clean (100%)

🔰 Overall Coverage (%)

📊 Coverage by Chapter (%)

📊 Requirements Status (count)

🛡️ V1 — Encoding, Sanitization and Sandboxing 16/30

Requirement Name Level Status Rules Findings
1.2.1 Verify that output encoding for HTML contexts prevents XSS L1 Covered 8
1.2.10 Verify that CSV injection is prevented L2 Covered 1
1.2.2 Verify that output encoding for JavaScript contexts prevents XSS L1 Not applicable 0
1.2.3 Verify that output encoding for URL contexts prevents injection L1 Not applicable 0
1.2.4 Verify that SQL queries use parameterized queries or ORM L1 Issues found 18 1
1.2.5 Verify that OS command injection is prevented L1 Issues found 3 1
1.2.6 Verify that LDAP injection is prevented L1 Covered 3
1.2.7 Verify that XML Path Language — Query language for XML documents; injection can allow unauthorized data access.">XPath or XML injection is prevented L1 Covered 4
1.3.10 Verify that format string vulnerabilities are prevented L2 Covered 1
1.3.11 Verify that SMTP header injection is prevented L2 Covered 2
1.3.12 Verify that ReDoS is prevented in regex patterns L2 Covered 1
1.3.2 Verify that dynamic code execution features are not used with untrusted data L1 Covered 2
1.3.4 Verify that XML-based vector image format for the web.">SVG scriptable content is handled safely L1 Covered 1
1.3.6 Verify that SSRF protections are implemented L1 Covered 5
1.3.7 Verify that template injection is prevented L1 Covered 3
1.3.8 Verify that API used for directory services; exploited in Log4Shell (CVE-2021-44228) for RCE.">JNDI injection is prevented L1 Covered 1
1.5.1 Verify that XML parsers are configured to prevent XXE L1 Issues found 3 1
1.5.2 Verify that deserialization of untrusted data is avoided L1 Issues found 4 1

✅ V2 — Validation and Business Logic 0/13

Not applicable

🌐 V3 — Web Frontend Security 11/31

Requirement Name Level Status Rules Findings
3.3.1 Verify that cookies have Secure attribute set L1 Issues found 1 1
3.4.1 Verify that HSTS header is set L1 Covered 1
3.4.2 Verify that CORS policy is restrictive L1 Covered 3
3.4.3 Verify that CSP header is configured L1 Covered 1
3.4.4 Verify that X-Content-Type-Options is set to nosniff L1 Covered 1
3.4.5 Verify that Referrer-Policy header is configured L2 Covered 1
3.4.6 Verify that clickjacking protection is implemented L1 Covered 1
3.5.1 Verify that CSRF protections are enabled L1 Covered 2
3.5.5 Verify that postMessage origin is validated L2 Covered 1
3.6.1 Verify that SRI is used for external scripts L2 Covered 1
3.7.2 Verify that open redirect vulnerabilities are prevented L1 Covered 3

🔌 V4 — API and Web Service Security 3/16

Requirement Name Level Status Rules Findings
4.3.1 Verify that GraphQL has depth and cost limits L2 Covered 1
4.3.2 Verify that GraphQL introspection is disabled in production L2 Covered 1
4.4.1 Verify that WebSocket connections use SSL).">TLS L1 Covered 1

📁 V5 — File Handling 2/13

Requirement Name Level Status Rules Findings
5.2.2 Verify that file uploads are validated for type and size L1 Covered 1
5.3.2 Verify that path traversal is prevented L1 Covered 4

🔑 V6 — Authentication 4/48

Requirement Name Level Status Rules Findings
6.2.1 Verify that passwords have a minimum length of 8 characters L1 Covered 1
6.3.2 Verify that default credentials are not used L1 Covered 1
6.3.3 Verify that MFA is available for sensitive operations L2 Covered 5
6.4.2 Verify that security questions are not used for authentication L1 Covered 1

🔒 V7 — Session Management 0/20

Not applicable

👤 V8 — Authorization 0/14

Not applicable

🎟️ V9 — Self-contained Tokens 2/7

Requirement Name Level Status Rules Findings
9.1.2 Verify that JWT none algorithm is rejected L1 Covered 1
9.1.3 Verify that JWT signing keys are not hardcoded L1 Covered 1

🔗 V10 — OAuth and OIDC 0/35

Not applicable

🔐 V11 — Cryptography 4/25

Requirement Name Level Status Rules Findings
11.2.3 Verify that key sizes meet minimum requirements L1 Covered 1
11.3.1 Verify that strong cryptographic algorithms are used L1 Issues found 4 2
11.3.2 Verify that deprecated algorithms are not used L1 Issues found 2 2
11.4.1 Verify that strong hash functions are used L1 Not applicable 0
11.5.1 Verify that cryptographically secure random generators are used L1 Issues found 4 6

📡 V12 — Secure Communication 1/12

Requirement Name Level Status Rules Findings
12.2.1 Verify that all connections use SSL).">TLS L1 Covered 2

⚙️ V13 — Configuration 0/21

Not applicable

💾 V14 — Data Protection 0/13

Not applicable

🏗️ V15 — Secure Coding and Architecture 0/21

Not applicable

📝 V16 — Security Logging and Error Handling 1/17

Requirement Name Level Status Rules Findings
16.3.2 Verify that log injection is prevented L2 Covered 1

📹 V17 — WebRTC 0/12

Not applicable

🛡️

NIST CSF 2.0 Compliance 17/24

↑ Table of Contents

Coverage indicates which CSF subcategories are checked by SCA rules. Findings indicate detected issues that should be addressed for compliance.

SAST applicability rate 17/24 testable (71%)
Compliance among testable 11/17 clean (65%)
Common core compliance (shared with other frameworks) 11/17 clean (65%)
Framework-specific compliance (differentiating value) 0/0 clean (N/A)

📋 Overall Coverage (%)

📊 Coverage by Function (%)

📊 Subcategories Status (count)

🏛️ GV — Govern 1/1

ID Subcategory Status Rules Findings
GV.SC-05 Supply chain risk assessment is performed Covered 4

🔍 ID — Identify 1/4

ID Subcategory Status Rules Findings
ID.AM-01 Hardware assets are inventoried Not applicable 0
ID.AM-02 Software assets are inventoried Not applicable 0
ID.RA-01 Vulnerabilities in assets are identified, validated, and recorded Covered 1
ID.RA-02 Cyber threat intelligence is received from forums and sources Not applicable 0

🛡️ PR — Protect 14/16

ID Subcategory Status Rules Findings
PR.AA-01 Identities and credentials are managed Covered 5
PR.AA-02 Identities are proofed and bound to credentials Not applicable 0
PR.AA-03 Users, services, and hardware are authenticated Covered 6
PR.AA-04 Identity assertions are protected, conveyed, and verified Issues found 2 1
PR.AA-05 Access permissions, entitlements, and authorizations are managed Covered 7
PR.AT-01 Personnel are provided awareness and training Not applicable 0
PR.DS-01 Data-at-rest is protected Issues found 17 14
PR.DS-02 Data-in-transit is protected Issues found 9 1
PR.DS-10 Confidentiality, integrity, and availability of data are protected Issues found 41 383
PR.IR-01 Networks and environments are protected Covered 14
PR.IR-02 Technology assets are managed to ensure availability Covered 6
PR.PS-01 Configuration management practices are established Covered 4
PR.PS-02 Software is maintained, replaced, and removed Issues found 7 2
PR.PS-04 Log records are generated and made available Covered 4
PR.PS-05 Installation and execution of unauthorized software is prevented Covered 4
PR.PS-06 Secure software development practices are used Issues found 32 2

📡 DE — Detect 1/3

ID Subcategory Status Rules Findings
DE.CM-01 Networks and network services are monitored Not applicable 0
DE.CM-06 External service provider activities are monitored Not applicable 0
DE.CM-09 Computing hardware and software are monitored Covered 3

Verified Good Practices 176

↑ Table of Contents

This section lists positive findings from the audit. Each item represents a verified security or architecture good practice in your code.

🛡️

Security & OWASP 149 passed check(s)

Prevents arbitrary code execution via malicious assembly loading.
Prevents sensitive data exposure via plaintext file storage.
Reduces attack surface and strengthens application security.
Prevents authentication bypass via user-controlled request parameter checks.
Prevents database reconnaissance and internal structure disclosure that enables targeted SQL injection attacks.
Prevents weakening of system-wide TLS trust by adding application-specific certificates to the root store.
Prevents data pattern leakage via ECB mode deterministic encryption.
Prevents excessive data exposure of private user information in API responses.
Prevents accidental exposure of sensitive data in API responses.
Prevents database credential exposure via hardcoded connection strings in source code.
Prevents encryption key exposure via source code and compiled assembly decompilation.
Ensures all SQL Server communications are encrypted and the server certificate is validated.
Ensures RSA keys meet minimum cryptographic strength requirements.
Prevents buffer overflow via unvalidated pointer arithmetic in unsafe code.
Ensures all sensitive controller actions require authentication before access is granted.
Prevents ReDoS attacks via user-controlled regular expression patterns.
Prevents unauthorized resource loading and code execution via user-controlled resource identifiers.
Prevents padding oracle attacks against RSA-encrypted data.
Ensures deserialized values undergo the same runtime validation as user-supplied input.
Prevents session fixation by invalidating the pre-login session after successful authentication.
Reduces attack surface and strengthens application security (CWE-89, OWASP A03).
Eliminates SQL injection via string.Format() by enforcing parameterized query usage.
Eliminates dynamic SQL injection vectors in stored procedure calls by enforcing parameterized execution.
Prevents format string injection that can cause exceptions and bypass security mechanisms.
Prevents arbitrary code execution via malicious serialized .NET objects.
Prevents XML injection attacks via user-controlled XML content.
Prevents XXE attacks via external entity resolution in XmlDocument.
Prevents path traversal attacks via malicious archive entry names.
Prevents denial-of-service via user-controlled array size allocation.
Prevents out-of-bounds array access via user-controlled index values.
Prevents sensitive data exposure via cookie content visible to clients and intermediaries.
Prevents credential exposure via source code and compiled class file decompilation.
Prevents authentication bypass via user-controlled security conditions.
Prevents OS command injection by using ProcessBuilder with explicit argument arrays.
Prevents database reconnaissance that enables targeted SQL injection and data extraction attacks.
Encrypts all data in transit between the Java application and the database, preventing credential theft and data interception.
Prevents command injection via externally controlled environment variables.
Prevents shell command injection via metacharacter injection in concatenated command strings.
Prevents arbitrary code execution via Groovy script injection.
Prevents database credential exposure via source code and version control history.
Prevents HTTP Response Splitting attacks via CRLF injection in header values.
Prevents denial-of-service via user-controlled loop termination conditions.
Prevents credential interception by ensuring authentication credentials are transmitted only over encrypted HTTPS.
Prevents EL injection via Bean Validation constraint message expressions.
Ensures SMTP credentials are transmitted only over encrypted connections.
Prevents LDAP credential interception over unencrypted network connections.
Prevents man-in-the-middle attacks replacing Maven artifacts with malicious code.
Ensures asymmetric keys meet minimum cryptographic strength requirements.
Prevents arbitrary code execution via JEXL expression injection.
Ensures JWT signature is cryptographically verified before trusting the claims.
Prevents arbitrary code execution via MVEL expression injection.
Prevents HTTP Response Splitting via CRLF injection in Netty HTTP headers.
Prevents NoSQL injection that bypasses authentication and authorization filters via injected query operators.
Prevents remote code execution via OGNL expression injection (Struts2-style attacks).
Prevents path traversal bypass via directory name prefix matching without separator.
One-way hashing with a strong KDF makes stored passwords practically irrecoverable even after a database breach.
Prevents denial-of-service via catastrophically backtracking regular expressions.
Ensures SecureRandom is seeded with true entropy, making generated values cryptographically unpredictable.
Ensures each encryption operation uses a unique IV, preventing pattern analysis and GCM authentication key exposure.
Eliminates stored procedure injection by enforcing parameterized procedure calls.
Prevents privilege escalation and authorization bypass through uncontrolled attribute writes.
Reduces attack surface and strengthens application security (CWE-501, OWASP A04).
Prevents privilege escalation via user-controlled permission check arguments.
Prevents server-side template injection leading to arbitrary code execution.
Prevents unauthorized access to internal application resources via RequestDispatcher forwarding.
Ensures all socket communication is encrypted with TLS, preventing network eavesdropping.
Prevents content injection via world-writable files being modified between write permission grant and read operation.
Prevents remote code execution via malicious XSLT extension functions.
Prevents resource loading from attacker-controlled domains via overly broad URL whitelists.
Replaces broken/obsolete ciphers with a modern, secure encryption algorithm.
Prevents source code exposure via build artifact source maps in production deployments.
Protects sensitive data at rest against unauthorized filesystem access.
Prevents client-side request forgery via DOM-derived request URLs.
Prevents authorization bypass via user-controlled security conditions.
Ensures all database communications are encrypted and the server identity is verified, preventing man-in-the-middle attacks.
Prevents security check bypass via attacker-controlled comparison of different request data kinds.
Ensures TLS certificate chain is validated, preventing man-in-the-middle attacks.
Prevents code injection via string-based setTimeout/setInterval usage.
Prevents MITM injection of malicious scripts via mixed HTTP/HTTPS content in Electron.
Prevents XSS in renderer from escalating to OS-level code execution via Node.js API access.
Maintains browser security boundaries preventing arbitrary cross-origin requests in Electron apps.
Ensures all services require authentication, preventing unauthorized access.
Prevents code injection via compromised or replaced external script sources.
Prevents man-in-the-middle injection of malicious scripts via external resource loading.
Prevents obfuscated backdoor code from hiding malicious intent via data encoding.
Reduces attack surface and strengthens application security (CWE-798, OWASP A07).
Prevents account takeover via Host header poisoning in transactional emails.
Prevents arbitrary file write via unvalidated HTTP response data.
Detects a documented persistence vector used in supply-chain attacks and blocks silent IDE reconfiguration.
Prevents code injection bypass via insufficient sanitization before eval.
Prevents XSS via HTML attribute injection including javascript: URIs and event handler injection.
Prevents XSS bypass via case variations of dangerous HTML/JavaScript sequences.
Ensures all occurrences of dangerous characters are replaced, not just the first.
Prevents XSS via alternative executable URL schemes bypassing incomplete scheme checks.
Prevents OS command injection via shell metacharacter injection in command strings.
Prevents man-in-the-middle attacks replacing npm dependencies with malicious code.
Prevents man-in-the-middle attacks replacing downloaded executables with malicious code.
Eliminates TOCTOU race condition on temporary file creation.
Ensures password hashes are computationally expensive to reverse, resisting brute-force attacks.
Ensures JWT signature is always cryptographically verified before trusting the payload.
Prevents denial-of-service via attacker-controlled loop iteration counts.
Closes a documented npm supply-chain attack vector and ensures npm registry advisories cover all installed code.
Prevents credential exposure via version control and configuration file leaks.
Prevents exposure of source code, secrets, and internal application files via static serving.
Prevents arbitrary Lua code injection into Redis, protecting data integrity and access controls.
Prevents ReDoS attacks and regex-based validation bypass.
Prevents prototype pollution and resource exhaustion via user-supplied object properties.
Prevents denial-of-service through unbounded memory allocation or CPU iteration.
Prevents second-order command injection via database-stored values used in shell commands.
Prevents denial-of-service via malformed input causing unhandled exceptions.
Prevents session fixation attacks by issuing a new session ID after login.
Prevents command injection via attacker-controlled environment variables.
Eliminates SQL injection in raw database calls by delegating value escaping to the database driver.
Prevents stored XSS by ensuring database-retrieved content is not rendered as raw HTML.
Prevents type confusion attacks that bypass security checks via unexpected parameter types.
Prevents unrestricted file upload attacks that could lead to remote code execution or web shell access (CWE-434).
Prevents arbitrary code execution via dynamic Function construction from user input.
Prevents remote code execution via dynamic method invocation with user-controlled property names.
Prevents XSS via unsafe regex-based HTML tag expansion.
Prevents arbitrary global function invocation via user-controlled property access.
Prevents XML bomb (Billion Laughs) denial-of-service attacks.
Prevents XPath injection enabling authentication bypass and unauthorized XML data extraction.
Prevents XSS via jQuery's .html() method with user-controlled content.
Prevents DOM-based XSS via attacker-controlled browser properties.
Prevents XSS from HTML constructed with user-controlled server data.
Eliminates stored procedure injection by enforcing parameterized calls in PHP.
Prevents PHP web shell uploads and arbitrary code execution via unrestricted file upload (CWE-434).
Ensures password hashes are computationally expensive to crack, making offline brute-force and dictionary attacks impractical (CWE-916).
Prevents credential exposure via source code and version control history.
Prevents attackers from using error messages to perform database reconnaissance and plan targeted attacks.
Encrypts all data in transit between the application and the database, preventing credential theft and data interception.
Reduces attack surface and strengthens application security (CWE-215, OWASP A05).
Prevents unauthorized data extraction and DoS via crafted Elasticsearch query DSL injections.
Reduces attack surface and strengthens application security (CWE-287, OWASP A07).
Reduces attack surface and strengthens application security (CWE-444, OWASP A04).
Prevents remote code execution via malicious payloads injected into database storage.
Prevents XSS attacks by ensuring all template variables are HTML-escaped by default.
Prevents server-side JavaScript execution and operator injection that bypass MongoDB authentication and authorization.
Ensures account status (expiry, lock) is checked after password verification.
Prevents SSRF attacks against internal services and cloud metadata endpoints.
One-way hashing ensures that stored passwords cannot be recovered even if the database is breached.
Reduces attack surface and strengthens application security (CWE-22, OWASP A01).
Prevents arbitrary Lua code execution and unauthorized access to Redis data via script injection.
Reduces attack surface and strengthens application security (CWE-400, OWASP A06).
Reduces attack surface and strengthens application security (CWE-312, OWASP A09).
Eliminates SQL injection via Python string formatting by delegating value escaping to the database driver.
Prevents ORDER BY injection that enables blind SQL injection and data extraction via crafted sort values.
Prevents OS command injection via shell metacharacter injection.
Reduces attack surface and strengthens application security (CWE-327, OWASP A02).
🏗️

Architecture & Patterns 1 passed check(s)

ARCH: no CRITICAL or HIGH finding — category within acceptable thresholds.
🔔

User Experience 6 passed check(s)

Compliance with WCAG 1.3.1 and 4.1.2 — keyboard navigation remains coherent and predictable for all users.
Compliance with WCAG 1.3.1 and 4.1.2 — all form controls have an accessible name understandable by assistive technologies.
Compliance with WCAG 1.2.2 — Captions (Prerecorded) — all synchronized media has captions for deaf and hard-of-hearing users.
Compliance with WCAG 1.4.4 — Resize text — ensures users can scale content up to 200% without loss of functionality.
Compliance with WCAG 1.1.1 — Non-text Content — all images have a textual alternative accessible to assistive technologies.
Compliance with WCAG 1.3.1 and 4.1.2 — clicking the label focuses the associated input, and screen readers announce the label when the input is focused.
♻️

Maintenance & DRY 3 passed check(s)

Every error is visible and traceable — production debugging becomes possible and monitoring alerts can fire.
Reduces technical debt and improves code quality.
MAINTENANCE: no CRITICAL or HIGH finding — category within acceptable thresholds.
🗄️

PostgreSQL Schema 1 passed check(s)

Enables database schema analysis and drift detection.
⚙️

CI/CD Pipelines 16 passed check(s)

Prevents arbitrary code execution from compromised or hijacked remote resources in the CI/CD pipeline (OWASP CI-CD-09).
Prevents container escape attacks and limits the blast radius of a compromised CI/CD job to the container rather than the host.
Detects potential reverse shells and data exfiltration channels embedded in CI/CD pipeline scripts.
Prevents execution of unverified external code during automated dependency updates, protecting the CI/CD pipeline from supply chain attacks.
Ensures published artifacts are built from source only, preventing supply chain attacks via cache poisoning (OWASP CI-CD-09).
Prevents auto-merge bypass attacks where an attacker impersonates a trusted bot to merge malicious code automatically.
Eliminates environment injection risk introduced by the deprecated workflow command API.
Strengthens CI/CD pipeline security and reliability.
Ensures GitHub App tokens follow the principle of least privilege by being automatically invalidated as soon as the workflow job finishes.
Prevents environment variable injection attacks that could affect all subsequent steps in the workflow.
Eliminates the attack surface introduced by insecure workflow commands without disabling modern alternatives.
Limits the blast radius of a compromised workflow step to only the secrets explicitly referenced, following the principle of least privilege.
Prevents secret leakage in CI/CD logs accessible to all repository contributors.
Ensures security vulnerabilities block the pipeline and cannot be silently ignored in production deployments.
Prevents credential leakage in CI/CD job logs that could be exploited for unauthorized repository or container registry access.
Eliminates credential exposure in version control history and CI/CD logs (OWASP CI-CD-04, CWE-798).

📖 Glossary ↑ Table of Contents

Acronyms and technical terms used in this report.

AcronymMeaningDescription
APIApplication Programming InterfaceCommunication interface between software systems.
ARIAAccessible Rich Internet ApplicationsHTML attributes that improve accessibility for assistive technologies.
ASVSApplication Security Verification StandardOWASP standard defining security requirements for web applications across 3 verification levels (L1/L2/L3).
CI/CDContinuous Integration / Continuous DeploymentAutomated pipeline that builds, tests and deploys code on every change.
CLICommand Line InterfaceText-based interface used to interact with a program via a terminal.
CORSCross-Origin Resource SharingSecurity mechanism controlling HTTP requests between different domains.
CSPContent Security PolicyHTTP header restricting allowed content sources on a web page.
CSRFCross-Site Request ForgeryAttack that forces an authenticated user to perform unwanted actions.
CSSCascading Style SheetsLanguage for styling and formatting web pages.
CVECommon Vulnerabilities and ExposuresUnique identifier for a known security vulnerability.
CVSSCommon Vulnerability Scoring SystemVulnerability severity rating system (score from 0 to 10).
CWECommon Weakness EnumerationStandardized catalog of software weakness types.
DOMDocument Object ModelTree representation of an HTML document in memory.
DRYDon't Repeat YourselfDesign principle that avoids code duplication.
FixtureTest FixtureCode sample (vulnerable or clean) used to validate that a detection rule fires correctly.
GDPRGeneral Data Protection RegulationEuropean regulation on personal data protection.
HSTSHTTP Strict Transport SecurityHTTP header that forces browsers to use HTTPS only, preventing downgrade attacks.
HTMLHyperText Markup LanguageMarkup language for structuring web pages.
HTTP/HTTPSHyperText Transfer Protocol (Secure)Web communication protocol. HTTPS adds encryption via TLS.
i18nInternationalizationAdapting software to support multiple languages and regions.
IDORInsecure Direct Object ReferenceAccess control flaw where an attacker can access resources by manipulating identifiers.
ISO 27001ISO/IEC 27001:2022International standard for information security management systems (ISMS). Annex A defines 93 controls across 4 themes.
JNDIJava Naming and Directory InterfaceJava API used for directory services; exploited in Log4Shell (CVE-2021-44228) for RCE.
JSJavaScriptProgramming language primarily used for web development.
JSONJavaScript Object NotationLightweight data interchange format.
JWTJSON Web TokenSigned authentication token in JSON format, used for sessions.
LDAPLightweight Directory Access ProtocolProtocol for accessing and maintaining directory services (user accounts, etc.).
MD5Message Digest 5Obsolete and insecure hashing algorithm — should no longer be used.
MFAMulti-Factor AuthenticationAuthentication requiring two or more verification factors (password + OTP, etc.).
NoSQLNot only SQLNon-relational databases (MongoDB, Redis, etc.) vulnerable to injection if queries are unsanitised.
ORMObject-Relational MappingAbstraction layer between object code and relational databases.
OWASPOpen Web Application Security ProjectGlobal reference for web application security best practices.
PIIPersonally Identifiable InformationAny data that can identify an individual (name, email, SSN, etc.). Must be protected under GDPR.
RCERemote Code ExecutionCritical vulnerability allowing an attacker to execute arbitrary code on the server.
RGPDRèglement Général sur la Protection des DonnéesEuropean data protection regulation (French name for GDPR).
SARIFStatic Analysis Results Interchange FormatStandardized JSON format (OASIS) for exchanging static analysis results between tools and CI/CD systems.
SASTStatic Application Security TestingSource code security analysis without running the application.
SBOMSoftware Bill of MaterialsComprehensive inventory of software components and dependencies in a project (CycloneDX format).
SCAStatic Code AuditAbbreviation for StaticCodeAudit, the tool that generated this report.
SHA-1Secure Hash Algorithm 1Obsolete hashing algorithm — vulnerable to collision attacks.
SLAService Level AgreementCommitment defining maximum resolution times per severity (e.g. CRITICAL: 24h, HIGH: 72h).
SMTPSimple Mail Transfer ProtocolStandard protocol for sending emails; injection vulnerabilities can allow email spoofing.
SQLStructured Query LanguageQuery language for relational databases.
SSHSecure ShellCryptographic protocol for secure remote access to servers.
SSLSecure Sockets LayerDeprecated predecessor of TLS. Its use indicates an outdated and insecure configuration.
SSRFServer-Side Request ForgeryAttack forcing a server to make requests to internal resources.
SSTIServer-Side Template InjectionInjection of malicious code into a server-side template engine, potentially leading to RCE.
SVGScalable Vector GraphicsXML-based vector image format for the web.
TaintTaint AnalysisData-flow tracking technique that follows untrusted input (source) to sensitive operations (sink) to detect injection vulnerabilities.
TLSTransport Layer SecurityNetwork communication encryption protocol (successor to SSL).
TOCTOUTime-of-Check to Time-of-UseRace condition vulnerability between checking and using a resource.
URLUniform Resource LocatorWeb address that identifies a resource on a network (e.g. https://example.com/path).
WCAGWeb Content Accessibility GuidelinesW3C web accessibility guidelines — international standard.
XMLeXtensible Markup LanguageStructured data format widely used in configuration files, APIs, and document exchange.
XPathXML Path LanguageQuery language for XML documents; injection can allow unauthorized data access.
XSSCross-Site ScriptingInjection of malicious scripts into a web page viewed by other users.
XXEXML External EntityXML injection attack that exploits external entity processing to read files or trigger SSRF.