From 9b6ce0074fbe254b4c5935376d647f558d1d6f06 Mon Sep 17 00:00:00 2001 From: 1332987 <13329870472@163.com> Date: Tue, 19 Apr 2022 13:15:04 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=20=E8=A7=A3=E5=86=B3=E4=BE=9D=E8=B5=96=E5=86=B2?= =?UTF-8?q?=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/FUNDING.yml | 1 - bin/clean.bat | 12 - bin/package.bat | 12 - bin/run-auth.bat | 14 - bin/run-gateway.bat | 14 - bin/run-modules-file.bat | 14 - bin/run-modules-gen.bat | 14 - bin/run-modules-job.bat | 14 - bin/run-modules-system.bat | 14 - bin/run-monitor.bat | 14 - pom.xml | 5 +- ruoyi-auth/pom.xml | 1 + ruoyi-common/ruoyi-common-datasource/pom.xml | 25 +- ruoyi-gateway/pom.xml | 1 + ruoyi-modules/ruoyi-file/pom.xml | 29 + ruoyi-modules/ruoyi-gen/pom.xml | 1 + ruoyi-modules/ruoyi-job/pom.xml | 1 + ruoyi-modules/ruoyi-system/pom.xml | 7 + ruoyi-visual/ruoyi-monitor/pom.xml | 1 + sql/quartz.sql | 174 ----- sql/ry_20210908.sql | 685 ------------------- sql/ry_config_20220114.sql | 216 ------ sql/ry_seata_20210128.sql | 80 --- 23 files changed, 68 insertions(+), 1281 deletions(-) delete mode 100644 .github/FUNDING.yml delete mode 100644 bin/clean.bat delete mode 100644 bin/package.bat delete mode 100644 bin/run-auth.bat delete mode 100644 bin/run-gateway.bat delete mode 100644 bin/run-modules-file.bat delete mode 100644 bin/run-modules-gen.bat delete mode 100644 bin/run-modules-job.bat delete mode 100644 bin/run-modules-system.bat delete mode 100644 bin/run-monitor.bat delete mode 100644 sql/quartz.sql delete mode 100644 sql/ry_20210908.sql delete mode 100644 sql/ry_config_20220114.sql delete mode 100644 sql/ry_seata_20210128.sql diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 06edc15f..00000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -custom: http://doc.ruoyi.vip/ruoyi-cloud/other/donate.html diff --git a/bin/clean.bat b/bin/clean.bat deleted file mode 100644 index af841d8e..00000000 --- a/bin/clean.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -echo. -echo [信息] 清理工程target生成路径。 -echo. - -%~d0 -cd %~dp0 - -cd .. -call mvn clean - -pause \ No newline at end of file diff --git a/bin/package.bat b/bin/package.bat deleted file mode 100644 index af8af8ec..00000000 --- a/bin/package.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -echo. -echo [信息] 打包Web工程,生成war/jar包文件。 -echo. - -%~d0 -cd %~dp0 - -cd .. -call mvn clean package -Dmaven.test.skip=true - -pause \ No newline at end of file diff --git a/bin/run-auth.bat b/bin/run-auth.bat deleted file mode 100644 index 4c09a743..00000000 --- a/bin/run-auth.bat +++ /dev/null @@ -1,14 +0,0 @@ -@echo off -echo. -echo [信息] 使用Jar命令运行Auth工程。 -echo. - -cd %~dp0 -cd ../ruoyi-auth/target - -set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m - -java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-auth.jar - -cd bin -pause \ No newline at end of file diff --git a/bin/run-gateway.bat b/bin/run-gateway.bat deleted file mode 100644 index d0d78af5..00000000 --- a/bin/run-gateway.bat +++ /dev/null @@ -1,14 +0,0 @@ -@echo off -echo. -echo [信息] 使用Jar命令运行Gateway工程。 -echo. - -cd %~dp0 -cd ../ruoyi-gateway/target - -set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m - -java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-gateway.jar - -cd bin -pause \ No newline at end of file diff --git a/bin/run-modules-file.bat b/bin/run-modules-file.bat deleted file mode 100644 index 61f89068..00000000 --- a/bin/run-modules-file.bat +++ /dev/null @@ -1,14 +0,0 @@ -@echo off -echo. -echo [信息] 使用Jar命令运行Modules-File工程。 -echo. - -cd %~dp0 -cd ../ruoyi-modules/ruoyi-file/target - -set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m - -java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-modules-file.jar - -cd bin -pause \ No newline at end of file diff --git a/bin/run-modules-gen.bat b/bin/run-modules-gen.bat deleted file mode 100644 index cbb7e7b2..00000000 --- a/bin/run-modules-gen.bat +++ /dev/null @@ -1,14 +0,0 @@ -@echo off -echo. -echo [信息] 使用Jar命令运行Modules-Gen工程。 -echo. - -cd %~dp0 -cd ../ruoyi-modules/ruoyi-gen/target - -set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m - -java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-modules-gen.jar - -cd bin -pause \ No newline at end of file diff --git a/bin/run-modules-job.bat b/bin/run-modules-job.bat deleted file mode 100644 index b419237a..00000000 --- a/bin/run-modules-job.bat +++ /dev/null @@ -1,14 +0,0 @@ -@echo off -echo. -echo [信息] 使用Jar命令运行Modules-Job工程。 -echo. - -cd %~dp0 -cd ../ruoyi-modules/ruoyi-job/target - -set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m - -java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-modules-job.jar - -cd bin -pause \ No newline at end of file diff --git a/bin/run-modules-system.bat b/bin/run-modules-system.bat deleted file mode 100644 index 0d232fef..00000000 --- a/bin/run-modules-system.bat +++ /dev/null @@ -1,14 +0,0 @@ -@echo off -echo. -echo [信息] 使用Jar命令运行Modules-System工程。 -echo. - -cd %~dp0 -cd ../ruoyi-modules/ruoyi-system/target - -set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m - -java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-modules-system.jar - -cd bin -pause \ No newline at end of file diff --git a/bin/run-monitor.bat b/bin/run-monitor.bat deleted file mode 100644 index 6149abd1..00000000 --- a/bin/run-monitor.bat +++ /dev/null @@ -1,14 +0,0 @@ -@echo off -echo. -echo [信息] 使用Jar命令运行Monitor工程。 -echo. - -cd %~dp0 -cd ../ruoyi-visual/ruoyi-monitor/target - -set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m - -java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-visual-monitor.jar - -cd bin -pause \ No newline at end of file diff --git a/pom.xml b/pom.xml index 83ea1903..f1ead2b9 100644 --- a/pom.xml +++ b/pom.xml @@ -29,13 +29,13 @@ 2.3.2 1.4.1 1.2.8 - 3.5.0 + 3.5.1 2.11.0 1.4 2.3 1.2.80 0.9.1 - 8.2.2 + 8.3.7 4.1.2 3.2.2 2.12.2 @@ -264,6 +264,7 @@ org.apache.maven.plugins maven-compiler-plugin + 3.10.1 ${java.version} ${java.version} diff --git a/ruoyi-auth/pom.xml b/ruoyi-auth/pom.xml index ee36ebc8..e2727b6e 100644 --- a/ruoyi-auth/pom.xml +++ b/ruoyi-auth/pom.xml @@ -60,6 +60,7 @@ org.springframework.boot spring-boot-maven-plugin + 2.6.6 diff --git a/ruoyi-common/ruoyi-common-datasource/pom.xml b/ruoyi-common/ruoyi-common-datasource/pom.xml index 178c5a62..21444bd9 100644 --- a/ruoyi-common/ruoyi-common-datasource/pom.xml +++ b/ruoyi-common/ruoyi-common-datasource/pom.xml @@ -35,7 +35,30 @@ com.alibaba.cloud spring-cloud-starter-alibaba-seata + + + checker-qual + org.checkerframework + + + druid + com.alibaba + + + error_prone_annotations + com.google.errorprone + + + + + org.checkerframework + checker-qual + 3.19.0 + + + com.google.errorprone + error_prone_annotations + 2.10.0 - \ No newline at end of file diff --git a/ruoyi-gateway/pom.xml b/ruoyi-gateway/pom.xml index c2a308ad..fd9fb43a 100644 --- a/ruoyi-gateway/pom.xml +++ b/ruoyi-gateway/pom.xml @@ -96,6 +96,7 @@ org.springframework.boot spring-boot-maven-plugin + 2.6.6 diff --git a/ruoyi-modules/ruoyi-file/pom.xml b/ruoyi-modules/ruoyi-file/pom.xml index 1250262c..c67b98bf 100644 --- a/ruoyi-modules/ruoyi-file/pom.xml +++ b/ruoyi-modules/ruoyi-file/pom.xml @@ -21,6 +21,12 @@ com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery + + + guava + com.google.guava + + @@ -52,12 +58,34 @@ io.minio minio ${minio.version} + + + bcprov-jdk15on + org.bouncycastle + + + okhttp + com.squareup.okhttp3 + + + + + + com.squareup.okhttp3 + okhttp + 4.8.1 com.ruoyi ruoyi-api-system + + + commons-compress + org.apache.commons + + @@ -74,6 +102,7 @@ org.springframework.boot spring-boot-maven-plugin + 2.6.6 diff --git a/ruoyi-modules/ruoyi-gen/pom.xml b/ruoyi-modules/ruoyi-gen/pom.xml index 4a9bd404..83465c64 100644 --- a/ruoyi-modules/ruoyi-gen/pom.xml +++ b/ruoyi-modules/ruoyi-gen/pom.xml @@ -86,6 +86,7 @@ org.springframework.boot spring-boot-maven-plugin + 2.6.6 diff --git a/ruoyi-modules/ruoyi-job/pom.xml b/ruoyi-modules/ruoyi-job/pom.xml index dfefc570..4accc768 100644 --- a/ruoyi-modules/ruoyi-job/pom.xml +++ b/ruoyi-modules/ruoyi-job/pom.xml @@ -86,6 +86,7 @@ org.springframework.boot spring-boot-maven-plugin + 2.6.6 diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml index c3199bbc..3e676152 100644 --- a/ruoyi-modules/ruoyi-system/pom.xml +++ b/ruoyi-modules/ruoyi-system/pom.xml @@ -21,6 +21,12 @@ com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery + + + guava + com.google.guava + + @@ -86,6 +92,7 @@ org.springframework.boot spring-boot-maven-plugin + 2.6.6 diff --git a/ruoyi-visual/ruoyi-monitor/pom.xml b/ruoyi-visual/ruoyi-monitor/pom.xml index 1fee5ace..cb567625 100644 --- a/ruoyi-visual/ruoyi-monitor/pom.xml +++ b/ruoyi-visual/ruoyi-monitor/pom.xml @@ -61,6 +61,7 @@ org.springframework.boot spring-boot-maven-plugin + 2.6.6 diff --git a/sql/quartz.sql b/sql/quartz.sql deleted file mode 100644 index 5f99bfb5..00000000 --- a/sql/quartz.sql +++ /dev/null @@ -1,174 +0,0 @@ -DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; -DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE; -DROP TABLE IF EXISTS QRTZ_LOCKS; -DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_JOB_DETAILS; -DROP TABLE IF EXISTS QRTZ_CALENDARS; - --- ---------------------------- --- 1銆佸瓨鍌ㄦ瘡涓涓凡閰嶇疆鐨 jobDetail 鐨勮缁嗕俊鎭 --- ---------------------------- -create table QRTZ_JOB_DETAILS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - job_name varchar(200) not null comment '浠诲姟鍚嶇О', - job_group varchar(200) not null comment '浠诲姟缁勫悕', - description varchar(250) null comment '鐩稿叧浠嬬粛', - job_class_name varchar(250) not null comment '鎵ц浠诲姟绫诲悕绉', - is_durable varchar(1) not null comment '鏄惁鎸佷箙鍖', - is_nonconcurrent varchar(1) not null comment '鏄惁骞跺彂', - is_update_data varchar(1) not null comment '鏄惁鏇存柊鏁版嵁', - requests_recovery varchar(1) not null comment '鏄惁鎺ュ彈鎭㈠鎵ц', - job_data blob null comment '瀛樻斁鎸佷箙鍖杍ob瀵硅薄', - primary key (sched_name, job_name, job_group) -) engine=innodb comment = '浠诲姟璇︾粏淇℃伅琛'; - --- ---------------------------- --- 2銆 瀛樺偍宸查厤缃殑 Trigger 鐨勪俊鎭 --- ---------------------------- -create table QRTZ_TRIGGERS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - trigger_name varchar(200) not null comment '瑙﹀彂鍣ㄧ殑鍚嶅瓧', - trigger_group varchar(200) not null comment '瑙﹀彂鍣ㄦ墍灞炵粍鐨勫悕瀛', - job_name varchar(200) not null comment 'qrtz_job_details琛╦ob_name鐨勫閿', - job_group varchar(200) not null comment 'qrtz_job_details琛╦ob_group鐨勫閿', - description varchar(250) null comment '鐩稿叧浠嬬粛', - next_fire_time bigint(13) null comment '涓婁竴娆¤Е鍙戞椂闂达紙姣锛', - prev_fire_time bigint(13) null comment '涓嬩竴娆¤Е鍙戞椂闂达紙榛樿涓-1琛ㄧず涓嶈Е鍙戯級', - priority integer null comment '浼樺厛绾', - trigger_state varchar(16) not null comment '瑙﹀彂鍣ㄧ姸鎬', - trigger_type varchar(8) not null comment '瑙﹀彂鍣ㄧ殑绫诲瀷', - start_time bigint(13) not null comment '寮濮嬫椂闂', - end_time bigint(13) null comment '缁撴潫鏃堕棿', - calendar_name varchar(200) null comment '鏃ョ▼琛ㄥ悕绉', - misfire_instr smallint(2) null comment '琛ュ伩鎵ц鐨勭瓥鐣', - job_data blob null comment '瀛樻斁鎸佷箙鍖杍ob瀵硅薄', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, job_name, job_group) references QRTZ_JOB_DETAILS(sched_name, job_name, job_group) -) engine=innodb comment = '瑙﹀彂鍣ㄨ缁嗕俊鎭〃'; - --- ---------------------------- --- 3銆 瀛樺偍绠鍗曠殑 Trigger锛屽寘鎷噸澶嶆鏁帮紝闂撮殧锛屼互鍙婂凡瑙﹀彂鐨勬鏁 --- ---------------------------- -create table QRTZ_SIMPLE_TRIGGERS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - trigger_name varchar(200) not null comment 'qrtz_triggers琛╰rigger_name鐨勫閿', - trigger_group varchar(200) not null comment 'qrtz_triggers琛╰rigger_group鐨勫閿', - repeat_count bigint(7) not null comment '閲嶅鐨勬鏁扮粺璁', - repeat_interval bigint(12) not null comment '閲嶅鐨勯棿闅旀椂闂', - times_triggered bigint(10) not null comment '宸茬粡瑙﹀彂鐨勬鏁', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -) engine=innodb comment = '绠鍗曡Е鍙戝櫒鐨勪俊鎭〃'; - --- ---------------------------- --- 4銆 瀛樺偍 Cron Trigger锛屽寘鎷 Cron 琛ㄨ揪寮忓拰鏃跺尯淇℃伅 --- ---------------------------- -create table QRTZ_CRON_TRIGGERS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - trigger_name varchar(200) not null comment 'qrtz_triggers琛╰rigger_name鐨勫閿', - trigger_group varchar(200) not null comment 'qrtz_triggers琛╰rigger_group鐨勫閿', - cron_expression varchar(200) not null comment 'cron琛ㄨ揪寮', - time_zone_id varchar(80) comment '鏃跺尯', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -) engine=innodb comment = 'Cron绫诲瀷鐨勮Е鍙戝櫒琛'; - --- ---------------------------- --- 5銆 Trigger 浣滀负 Blob 绫诲瀷瀛樺偍(鐢ㄤ簬 Quartz 鐢ㄦ埛鐢 JDBC 鍒涘缓浠栦滑鑷繁瀹氬埗鐨 Trigger 绫诲瀷锛孞obStore 骞朵笉鐭ラ亾濡備綍瀛樺偍瀹炰緥鐨勬椂鍊) --- ---------------------------- -create table QRTZ_BLOB_TRIGGERS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - trigger_name varchar(200) not null comment 'qrtz_triggers琛╰rigger_name鐨勫閿', - trigger_group varchar(200) not null comment 'qrtz_triggers琛╰rigger_group鐨勫閿', - blob_data blob null comment '瀛樻斁鎸佷箙鍖朤rigger瀵硅薄', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -) engine=innodb comment = 'Blob绫诲瀷鐨勮Е鍙戝櫒琛'; - --- ---------------------------- --- 6銆 浠 Blob 绫诲瀷瀛樺偍瀛樻斁鏃ュ巻淇℃伅锛 quartz鍙厤缃竴涓棩鍘嗘潵鎸囧畾涓涓椂闂磋寖鍥 --- ---------------------------- -create table QRTZ_CALENDARS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - calendar_name varchar(200) not null comment '鏃ュ巻鍚嶇О', - calendar blob not null comment '瀛樻斁鎸佷箙鍖朿alendar瀵硅薄', - primary key (sched_name, calendar_name) -) engine=innodb comment = '鏃ュ巻淇℃伅琛'; - --- ---------------------------- --- 7銆 瀛樺偍宸叉殏鍋滅殑 Trigger 缁勭殑淇℃伅 --- ---------------------------- -create table QRTZ_PAUSED_TRIGGER_GRPS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - trigger_group varchar(200) not null comment 'qrtz_triggers琛╰rigger_group鐨勫閿', - primary key (sched_name, trigger_group) -) engine=innodb comment = '鏆傚仠鐨勮Е鍙戝櫒琛'; - --- ---------------------------- --- 8銆 瀛樺偍涓庡凡瑙﹀彂鐨 Trigger 鐩稿叧鐨勭姸鎬佷俊鎭紝浠ュ強鐩歌仈 Job 鐨勬墽琛屼俊鎭 --- ---------------------------- -create table QRTZ_FIRED_TRIGGERS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - entry_id varchar(95) not null comment '璋冨害鍣ㄥ疄渚媔d', - trigger_name varchar(200) not null comment 'qrtz_triggers琛╰rigger_name鐨勫閿', - trigger_group varchar(200) not null comment 'qrtz_triggers琛╰rigger_group鐨勫閿', - instance_name varchar(200) not null comment '璋冨害鍣ㄥ疄渚嬪悕', - fired_time bigint(13) not null comment '瑙﹀彂鐨勬椂闂', - sched_time bigint(13) not null comment '瀹氭椂鍣ㄥ埗瀹氱殑鏃堕棿', - priority integer not null comment '浼樺厛绾', - state varchar(16) not null comment '鐘舵', - job_name varchar(200) null comment '浠诲姟鍚嶇О', - job_group varchar(200) null comment '浠诲姟缁勫悕', - is_nonconcurrent varchar(1) null comment '鏄惁骞跺彂', - requests_recovery varchar(1) null comment '鏄惁鎺ュ彈鎭㈠鎵ц', - primary key (sched_name, entry_id) -) engine=innodb comment = '宸茶Е鍙戠殑瑙﹀彂鍣ㄨ〃'; - --- ---------------------------- --- 9銆 瀛樺偍灏戦噺鐨勬湁鍏 Scheduler 鐨勭姸鎬佷俊鎭紝鍋囧鏄敤浜庨泦缇や腑锛屽彲浠ョ湅鍒板叾浠栫殑 Scheduler 瀹炰緥 --- ---------------------------- -create table QRTZ_SCHEDULER_STATE ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - instance_name varchar(200) not null comment '瀹炰緥鍚嶇О', - last_checkin_time bigint(13) not null comment '涓婃妫鏌ユ椂闂', - checkin_interval bigint(13) not null comment '妫鏌ラ棿闅旀椂闂', - primary key (sched_name, instance_name) -) engine=innodb comment = '璋冨害鍣ㄧ姸鎬佽〃'; - --- ---------------------------- --- 10銆 瀛樺偍绋嬪簭鐨勬偛瑙傞攣鐨勪俊鎭(鍋囧浣跨敤浜嗘偛瑙傞攣) --- ---------------------------- -create table QRTZ_LOCKS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - lock_name varchar(40) not null comment '鎮茶閿佸悕绉', - primary key (sched_name, lock_name) -) engine=innodb comment = '瀛樺偍鐨勬偛瑙傞攣淇℃伅琛'; - --- ---------------------------- --- 11銆 Quartz闆嗙兢瀹炵幇鍚屾鏈哄埗鐨勮閿佽〃 --- ---------------------------- -create table QRTZ_SIMPROP_TRIGGERS ( - sched_name varchar(120) not null comment '璋冨害鍚嶇О', - trigger_name varchar(200) not null comment 'qrtz_triggers琛╰rigger_name鐨勫閿', - trigger_group varchar(200) not null comment 'qrtz_triggers琛╰rigger_group鐨勫閿', - str_prop_1 varchar(512) null comment 'String绫诲瀷鐨則rigger鐨勭涓涓弬鏁', - str_prop_2 varchar(512) null comment 'String绫诲瀷鐨則rigger鐨勭浜屼釜鍙傛暟', - str_prop_3 varchar(512) null comment 'String绫诲瀷鐨則rigger鐨勭涓変釜鍙傛暟', - int_prop_1 int null comment 'int绫诲瀷鐨則rigger鐨勭涓涓弬鏁', - int_prop_2 int null comment 'int绫诲瀷鐨則rigger鐨勭浜屼釜鍙傛暟', - long_prop_1 bigint null comment 'long绫诲瀷鐨則rigger鐨勭涓涓弬鏁', - long_prop_2 bigint null comment 'long绫诲瀷鐨則rigger鐨勭浜屼釜鍙傛暟', - dec_prop_1 numeric(13,4) null comment 'decimal绫诲瀷鐨則rigger鐨勭涓涓弬鏁', - dec_prop_2 numeric(13,4) null comment 'decimal绫诲瀷鐨則rigger鐨勭浜屼釜鍙傛暟', - bool_prop_1 varchar(1) null comment 'Boolean绫诲瀷鐨則rigger鐨勭涓涓弬鏁', - bool_prop_2 varchar(1) null comment 'Boolean绫诲瀷鐨則rigger鐨勭浜屼釜鍙傛暟', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -) engine=innodb comment = '鍚屾鏈哄埗鐨勮閿佽〃'; - -commit; \ No newline at end of file diff --git a/sql/ry_20210908.sql b/sql/ry_20210908.sql deleted file mode 100644 index d01ecea5..00000000 --- a/sql/ry_20210908.sql +++ /dev/null @@ -1,685 +0,0 @@ -SET NAMES utf8mb4; - --- ---------------------------- --- 1銆侀儴闂ㄨ〃 --- ---------------------------- -drop table if exists sys_dept; -create table sys_dept ( - dept_id bigint(20) not null auto_increment comment '閮ㄩ棬id', - parent_id bigint(20) default 0 comment '鐖堕儴闂╥d', - ancestors varchar(50) default '' comment '绁栫骇鍒楄〃', - dept_name varchar(30) default '' comment '閮ㄩ棬鍚嶇О', - order_num int(4) default 0 comment '鏄剧ず椤哄簭', - leader varchar(20) default null comment '璐熻矗浜', - phone varchar(11) default null comment '鑱旂郴鐢佃瘽', - email varchar(50) default null comment '閭', - status char(1) default '0' comment '閮ㄩ棬鐘舵侊紙0姝e父 1鍋滅敤锛', - del_flag char(1) default '0' comment '鍒犻櫎鏍囧織锛0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛', - create_by varchar(64) default '' comment '鍒涘缓鑰', - create_time datetime comment '鍒涘缓鏃堕棿', - update_by varchar(64) default '' comment '鏇存柊鑰', - update_time datetime comment '鏇存柊鏃堕棿', - primary key (dept_id) -) engine=innodb auto_increment=200 comment = '閮ㄩ棬琛'; - --- ---------------------------- --- 鍒濆鍖-閮ㄩ棬琛ㄦ暟鎹 --- ---------------------------- -insert into sys_dept values(100, 0, '0', '鑻ヤ緷绉戞妧', 0, '鑻ヤ緷', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(101, 100, '0,100', '娣卞湷鎬诲叕鍙', 1, '鑻ヤ緷', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(102, 100, '0,100', '闀挎矙鍒嗗叕鍙', 2, '鑻ヤ緷', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(103, 101, '0,100,101', '鐮斿彂閮ㄩ棬', 1, '鑻ヤ緷', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(104, 101, '0,100,101', '甯傚満閮ㄩ棬', 2, '鑻ヤ緷', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(105, 101, '0,100,101', '娴嬭瘯閮ㄩ棬', 3, '鑻ヤ緷', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(106, 101, '0,100,101', '璐㈠姟閮ㄩ棬', 4, '鑻ヤ緷', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(107, 101, '0,100,101', '杩愮淮閮ㄩ棬', 5, '鑻ヤ緷', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(108, 102, '0,100,102', '甯傚満閮ㄩ棬', 1, '鑻ヤ緷', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(109, 102, '0,100,102', '璐㈠姟閮ㄩ棬', 2, '鑻ヤ緷', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); - - --- ---------------------------- --- 2銆佺敤鎴蜂俊鎭〃 --- ---------------------------- -drop table if exists sys_user; -create table sys_user ( - user_id bigint(20) not null auto_increment comment '鐢ㄦ埛ID', - dept_id bigint(20) default null comment '閮ㄩ棬ID', - user_name varchar(30) not null comment '鐢ㄦ埛璐﹀彿', - nick_name varchar(30) not null comment '鐢ㄦ埛鏄电О', - user_type varchar(2) default '00' comment '鐢ㄦ埛绫诲瀷锛00绯荤粺鐢ㄦ埛锛', - email varchar(50) default '' comment '鐢ㄦ埛閭', - phonenumber varchar(11) default '' comment '鎵嬫満鍙风爜', - sex char(1) default '0' comment '鐢ㄦ埛鎬у埆锛0鐢 1濂 2鏈煡锛', - avatar varchar(100) default '' comment '澶村儚鍦板潃', - password varchar(100) default '' comment '瀵嗙爜', - status char(1) default '0' comment '甯愬彿鐘舵侊紙0姝e父 1鍋滅敤锛', - del_flag char(1) default '0' comment '鍒犻櫎鏍囧織锛0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛', - login_ip varchar(128) default '' comment '鏈鍚庣櫥褰旾P', - login_date datetime comment '鏈鍚庣櫥褰曟椂闂', - create_by varchar(64) default '' comment '鍒涘缓鑰', - create_time datetime comment '鍒涘缓鏃堕棿', - update_by varchar(64) default '' comment '鏇存柊鑰', - update_time datetime comment '鏇存柊鏃堕棿', - remark varchar(500) default null comment '澶囨敞', - primary key (user_id) -) engine=innodb auto_increment=100 comment = '鐢ㄦ埛淇℃伅琛'; - --- ---------------------------- --- 鍒濆鍖-鐢ㄦ埛淇℃伅琛ㄦ暟鎹 --- ---------------------------- -insert into sys_user values(1, 103, 'admin', '鑻ヤ緷', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), 'admin', sysdate(), '', null, '绠$悊鍛'); -insert into sys_user values(2, 105, 'ry', '鑻ヤ緷', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), 'admin', sysdate(), '', null, '娴嬭瘯鍛'); - - --- ---------------------------- --- 3銆佸矖浣嶄俊鎭〃 --- ---------------------------- -drop table if exists sys_post; -create table sys_post -( - post_id bigint(20) not null auto_increment comment '宀椾綅ID', - post_code varchar(64) not null comment '宀椾綅缂栫爜', - post_name varchar(50) not null comment '宀椾綅鍚嶇О', - post_sort int(4) not null comment '鏄剧ず椤哄簭', - status char(1) not null comment '鐘舵侊紙0姝e父 1鍋滅敤锛', - create_by varchar(64) default '' comment '鍒涘缓鑰', - create_time datetime comment '鍒涘缓鏃堕棿', - update_by varchar(64) default '' comment '鏇存柊鑰', - update_time datetime comment '鏇存柊鏃堕棿', - remark varchar(500) default null comment '澶囨敞', - primary key (post_id) -) engine=innodb comment = '宀椾綅淇℃伅琛'; - --- ---------------------------- --- 鍒濆鍖-宀椾綅淇℃伅琛ㄦ暟鎹 --- ---------------------------- -insert into sys_post values(1, 'ceo', '钁d簨闀', 1, '0', 'admin', sysdate(), '', null, ''); -insert into sys_post values(2, 'se', '椤圭洰缁忕悊', 2, '0', 'admin', sysdate(), '', null, ''); -insert into sys_post values(3, 'hr', '浜哄姏璧勬簮', 3, '0', 'admin', sysdate(), '', null, ''); -insert into sys_post values(4, 'user', '鏅氬憳宸', 4, '0', 'admin', sysdate(), '', null, ''); - - --- ---------------------------- --- 4銆佽鑹蹭俊鎭〃 --- ---------------------------- -drop table if exists sys_role; -create table sys_role ( - role_id bigint(20) not null auto_increment comment '瑙掕壊ID', - role_name varchar(30) not null comment '瑙掕壊鍚嶇О', - role_key varchar(100) not null comment '瑙掕壊鏉冮檺瀛楃涓', - role_sort int(4) not null comment '鏄剧ず椤哄簭', - data_scope char(1) default '1' comment '鏁版嵁鑼冨洿锛1锛氬叏閮ㄦ暟鎹潈闄 2锛氳嚜瀹氭暟鎹潈闄 3锛氭湰閮ㄩ棬鏁版嵁鏉冮檺 4锛氭湰閮ㄩ棬鍙婁互涓嬫暟鎹潈闄愶級', - menu_check_strictly tinyint(1) default 1 comment '鑿滃崟鏍戦夋嫨椤规槸鍚﹀叧鑱旀樉绀', - dept_check_strictly tinyint(1) default 1 comment '閮ㄩ棬鏍戦夋嫨椤规槸鍚﹀叧鑱旀樉绀', - status char(1) not null comment '瑙掕壊鐘舵侊紙0姝e父 1鍋滅敤锛', - del_flag char(1) default '0' comment '鍒犻櫎鏍囧織锛0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛', - create_by varchar(64) default '' comment '鍒涘缓鑰', - create_time datetime comment '鍒涘缓鏃堕棿', - update_by varchar(64) default '' comment '鏇存柊鑰', - update_time datetime comment '鏇存柊鏃堕棿', - remark varchar(500) default null comment '澶囨敞', - primary key (role_id) -) engine=innodb auto_increment=100 comment = '瑙掕壊淇℃伅琛'; - --- ---------------------------- --- 鍒濆鍖-瑙掕壊淇℃伅琛ㄦ暟鎹 --- ---------------------------- -insert into sys_role values('1', '瓒呯骇绠$悊鍛', 'admin', 1, 1, 1, 1, '0', '0', 'admin', sysdate(), '', null, '瓒呯骇绠$悊鍛'); -insert into sys_role values('2', '鏅氳鑹', 'common', 2, 2, 1, 1, '0', '0', 'admin', sysdate(), '', null, '鏅氳鑹'); - - --- ---------------------------- --- 5銆佽彍鍗曟潈闄愯〃 --- ---------------------------- -drop table if exists sys_menu; -create table sys_menu ( - menu_id bigint(20) not null auto_increment comment '鑿滃崟ID', - menu_name varchar(50) not null comment '鑿滃崟鍚嶇О', - parent_id bigint(20) default 0 comment '鐖惰彍鍗旾D', - order_num int(4) default 0 comment '鏄剧ず椤哄簭', - path varchar(200) default '' comment '璺敱鍦板潃', - component varchar(255) default null comment '缁勪欢璺緞', - query varchar(255) default null comment '璺敱鍙傛暟', - is_frame int(1) default 1 comment '鏄惁涓哄閾撅紙0鏄 1鍚︼級', - is_cache int(1) default 0 comment '鏄惁缂撳瓨锛0缂撳瓨 1涓嶇紦瀛橈級', - menu_type char(1) default '' comment '鑿滃崟绫诲瀷锛圡鐩綍 C鑿滃崟 F鎸夐挳锛', - visible char(1) default 0 comment '鑿滃崟鐘舵侊紙0鏄剧ず 1闅愯棌锛', - status char(1) default 0 comment '鑿滃崟鐘舵侊紙0姝e父 1鍋滅敤锛', - perms varchar(100) default null comment '鏉冮檺鏍囪瘑', - icon varchar(100) default '#' comment '鑿滃崟鍥炬爣', - create_by varchar(64) default '' comment '鍒涘缓鑰', - create_time datetime comment '鍒涘缓鏃堕棿', - update_by varchar(64) default '' comment '鏇存柊鑰', - update_time datetime comment '鏇存柊鏃堕棿', - remark varchar(500) default '' comment '澶囨敞', - primary key (menu_id) -) engine=innodb auto_increment=2000 comment = '鑿滃崟鏉冮檺琛'; - --- ---------------------------- --- 鍒濆鍖-鑿滃崟淇℃伅琛ㄦ暟鎹 --- ---------------------------- --- 涓绾ц彍鍗 -insert into sys_menu values('1', '绯荤粺绠$悊', '0', '1', 'system', null, '', 1, 0, 'M', '0', '0', '', 'system', 'admin', sysdate(), '', null, '绯荤粺绠$悊鐩綍'); -insert into sys_menu values('2', '绯荤粺鐩戞帶', '0', '2', 'monitor', null, '', 1, 0, 'M', '0', '0', '', 'monitor', 'admin', sysdate(), '', null, '绯荤粺鐩戞帶鐩綍'); -insert into sys_menu values('3', '绯荤粺宸ュ叿', '0', '3', 'tool', null, '', 1, 0, 'M', '0', '0', '', 'tool', 'admin', sysdate(), '', null, '绯荤粺宸ュ叿鐩綍'); -insert into sys_menu values('4', '鑻ヤ緷瀹樼綉', '0', '4', 'http://ruoyi.vip', null, '', 0, 0, 'M', '0', '0', '', 'guide', 'admin', sysdate(), '', null, '鑻ヤ緷瀹樼綉鍦板潃'); --- 浜岀骇鑿滃崟 -insert into sys_menu values('100', '鐢ㄦ埛绠$悊', '1', '1', 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', sysdate(), '', null, '鐢ㄦ埛绠$悊鑿滃崟'); -insert into sys_menu values('101', '瑙掕壊绠$悊', '1', '2', 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', sysdate(), '', null, '瑙掕壊绠$悊鑿滃崟'); -insert into sys_menu values('102', '鑿滃崟绠$悊', '1', '3', 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', sysdate(), '', null, '鑿滃崟绠$悊鑿滃崟'); -insert into sys_menu values('103', '閮ㄩ棬绠$悊', '1', '4', 'dept', 'system/dept/index', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'tree', 'admin', sysdate(), '', null, '閮ㄩ棬绠$悊鑿滃崟'); -insert into sys_menu values('104', '宀椾綅绠$悊', '1', '5', 'post', 'system/post/index', '', 1, 0, 'C', '0', '0', 'system:post:list', 'post', 'admin', sysdate(), '', null, '宀椾綅绠$悊鑿滃崟'); -insert into sys_menu values('105', '瀛楀吀绠$悊', '1', '6', 'dict', 'system/dict/index', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 'admin', sysdate(), '', null, '瀛楀吀绠$悊鑿滃崟'); -insert into sys_menu values('106', '鍙傛暟璁剧疆', '1', '7', 'config', 'system/config/index', '', 1, 0, 'C', '0', '0', 'system:config:list', 'edit', 'admin', sysdate(), '', null, '鍙傛暟璁剧疆鑿滃崟'); -insert into sys_menu values('107', '閫氱煡鍏憡', '1', '8', 'notice', 'system/notice/index', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'message', 'admin', sysdate(), '', null, '閫氱煡鍏憡鑿滃崟'); -insert into sys_menu values('108', '鏃ュ織绠$悊', '1', '9', 'log', '', '', 1, 0, 'M', '0', '0', '', 'log', 'admin', sysdate(), '', null, '鏃ュ織绠$悊鑿滃崟'); -insert into sys_menu values('109', '鍦ㄧ嚎鐢ㄦ埛', '2', '1', 'online', 'monitor/online/index', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 'admin', sysdate(), '', null, '鍦ㄧ嚎鐢ㄦ埛鑿滃崟'); -insert into sys_menu values('110', '瀹氭椂浠诲姟', '2', '2', 'job', 'monitor/job/index', '', 1, 0, 'C', '0', '0', 'monitor:job:list', 'job', 'admin', sysdate(), '', null, '瀹氭椂浠诲姟鑿滃崟'); -insert into sys_menu values('111', 'Sentinel鎺у埗鍙', '2', '3', 'http://localhost:8718', '', '', 0, 0, 'C', '0', '0', 'monitor:sentinel:list', 'sentinel', 'admin', sysdate(), '', null, '娴侀噺鎺у埗鑿滃崟'); -insert into sys_menu values('112', 'Nacos鎺у埗鍙', '2', '4', 'http://localhost:8848/nacos', '', '', 0, 0, 'C', '0', '0', 'monitor:nacos:list', 'nacos', 'admin', sysdate(), '', null, '鏈嶅姟娌荤悊鑿滃崟'); -insert into sys_menu values('113', 'Admin鎺у埗鍙', '2', '5', 'http://localhost:9100/login', '', '', 0, 0, 'C', '0', '0', 'monitor:server:list', 'server', 'admin', sysdate(), '', null, '鏈嶅姟鐩戞帶鑿滃崟'); -insert into sys_menu values('114', '琛ㄥ崟鏋勫缓', '3', '1', 'build', 'tool/build/index', '', 1, 0, 'C', '0', '0', 'tool:build:list', 'build', 'admin', sysdate(), '', null, '琛ㄥ崟鏋勫缓鑿滃崟'); -insert into sys_menu values('115', '浠g爜鐢熸垚', '3', '2', 'gen', 'tool/gen/index', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', sysdate(), '', null, '浠g爜鐢熸垚鑿滃崟'); -insert into sys_menu values('116', '绯荤粺鎺ュ彛', '3', '3', 'http://localhost:8080/swagger-ui/index.html', '', '', 0, 0, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', sysdate(), '', null, '绯荤粺鎺ュ彛鑿滃崟'); --- 涓夌骇鑿滃崟 -insert into sys_menu values('500', '鎿嶄綔鏃ュ織', '108', '1', 'operlog', 'system/operlog/index', '', 1, 0, 'C', '0', '0', 'system:operlog:list', 'form', 'admin', sysdate(), '', null, '鎿嶄綔鏃ュ織鑿滃崟'); -insert into sys_menu values('501', '鐧诲綍鏃ュ織', '108', '2', 'logininfor', 'system/logininfor/index', '', 1, 0, 'C', '0', '0', 'system:logininfor:list', 'logininfor', 'admin', sysdate(), '', null, '鐧诲綍鏃ュ織鑿滃崟'); --- 鐢ㄦ埛绠$悊鎸夐挳 -insert into sys_menu values('1001', '鐢ㄦ埛鏌ヨ', '100', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1002', '鐢ㄦ埛鏂板', '100', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1003', '鐢ㄦ埛淇敼', '100', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1004', '鐢ㄦ埛鍒犻櫎', '100', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1005', '鐢ㄦ埛瀵煎嚭', '100', '5', '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1006', '鐢ㄦ埛瀵煎叆', '100', '6', '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1007', '閲嶇疆瀵嗙爜', '100', '7', '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', sysdate(), '', null, ''); --- 瑙掕壊绠$悊鎸夐挳 -insert into sys_menu values('1008', '瑙掕壊鏌ヨ', '101', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1009', '瑙掕壊鏂板', '101', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1010', '瑙掕壊淇敼', '101', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1011', '瑙掕壊鍒犻櫎', '101', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1012', '瑙掕壊瀵煎嚭', '101', '5', '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 'admin', sysdate(), '', null, ''); --- 鑿滃崟绠$悊鎸夐挳 -insert into sys_menu values('1013', '鑿滃崟鏌ヨ', '102', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1014', '鑿滃崟鏂板', '102', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1015', '鑿滃崟淇敼', '102', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1016', '鑿滃崟鍒犻櫎', '102', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 'admin', sysdate(), '', null, ''); --- 閮ㄩ棬绠$悊鎸夐挳 -insert into sys_menu values('1017', '閮ㄩ棬鏌ヨ', '103', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1018', '閮ㄩ棬鏂板', '103', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1019', '閮ㄩ棬淇敼', '103', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1020', '閮ㄩ棬鍒犻櫎', '103', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 'admin', sysdate(), '', null, ''); --- 宀椾綅绠$悊鎸夐挳 -insert into sys_menu values('1021', '宀椾綅鏌ヨ', '104', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1022', '宀椾綅鏂板', '104', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1023', '宀椾綅淇敼', '104', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1024', '宀椾綅鍒犻櫎', '104', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1025', '宀椾綅瀵煎嚭', '104', '5', '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 'admin', sysdate(), '', null, ''); --- 瀛楀吀绠$悊鎸夐挳 -insert into sys_menu values('1026', '瀛楀吀鏌ヨ', '105', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1027', '瀛楀吀鏂板', '105', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1028', '瀛楀吀淇敼', '105', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1029', '瀛楀吀鍒犻櫎', '105', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1030', '瀛楀吀瀵煎嚭', '105', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 'admin', sysdate(), '', null, ''); --- 鍙傛暟璁剧疆鎸夐挳 -insert into sys_menu values('1031', '鍙傛暟鏌ヨ', '106', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1032', '鍙傛暟鏂板', '106', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1033', '鍙傛暟淇敼', '106', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1034', '鍙傛暟鍒犻櫎', '106', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1035', '鍙傛暟瀵煎嚭', '106', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 'admin', sysdate(), '', null, ''); --- 閫氱煡鍏憡鎸夐挳 -insert into sys_menu values('1036', '鍏憡鏌ヨ', '107', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1037', '鍏憡鏂板', '107', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1038', '鍏憡淇敼', '107', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1039', '鍏憡鍒犻櫎', '107', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 'admin', sysdate(), '', null, ''); --- 鎿嶄綔鏃ュ織鎸夐挳 -insert into sys_menu values('1040', '鎿嶄綔鏌ヨ', '500', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:operlog:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1041', '鎿嶄綔鍒犻櫎', '500', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:operlog:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1042', '鏃ュ織瀵煎嚭', '500', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:operlog:export', '#', 'admin', sysdate(), '', null, ''); --- 鐧诲綍鏃ュ織鎸夐挳 -insert into sys_menu values('1043', '鐧诲綍鏌ヨ', '501', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:logininfor:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1044', '鐧诲綍鍒犻櫎', '501', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:logininfor:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1045', '鏃ュ織瀵煎嚭', '501', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:logininfor:export', '#', 'admin', sysdate(), '', null, ''); --- 鍦ㄧ嚎鐢ㄦ埛鎸夐挳 -insert into sys_menu values('1046', '鍦ㄧ嚎鏌ヨ', '109', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1047', '鎵归噺寮洪', '109', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1048', '鍗曟潯寮洪', '109', '3', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', sysdate(), '', null, ''); --- 瀹氭椂浠诲姟鎸夐挳 -insert into sys_menu values('1049', '浠诲姟鏌ヨ', '110', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1050', '浠诲姟鏂板', '110', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1051', '浠诲姟淇敼', '110', '3', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1052', '浠诲姟鍒犻櫎', '110', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1053', '鐘舵佷慨鏀', '110', '5', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:changeStatus', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1054', '浠诲姟瀵煎嚭', '110', '7', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:export', '#', 'admin', sysdate(), '', null, ''); --- 浠g爜鐢熸垚鎸夐挳 -insert into sys_menu values('1055', '鐢熸垚鏌ヨ', '115', '1', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1056', '鐢熸垚淇敼', '115', '2', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1057', '鐢熸垚鍒犻櫎', '115', '3', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1058', '瀵煎叆浠g爜', '115', '2', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1059', '棰勮浠g爜', '115', '4', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1060', '鐢熸垚浠g爜', '115', '5', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 'admin', sysdate(), '', null, ''); - - --- ---------------------------- --- 6銆佺敤鎴峰拰瑙掕壊鍏宠仈琛 鐢ㄦ埛N-1瑙掕壊 --- ---------------------------- -drop table if exists sys_user_role; -create table sys_user_role ( - user_id bigint(20) not null comment '鐢ㄦ埛ID', - role_id bigint(20) not null comment '瑙掕壊ID', - primary key(user_id, role_id) -) engine=innodb comment = '鐢ㄦ埛鍜岃鑹插叧鑱旇〃'; - --- ---------------------------- --- 鍒濆鍖-鐢ㄦ埛鍜岃鑹插叧鑱旇〃鏁版嵁 --- ---------------------------- -insert into sys_user_role values ('1', '1'); -insert into sys_user_role values ('2', '2'); - - --- ---------------------------- --- 7銆佽鑹插拰鑿滃崟鍏宠仈琛 瑙掕壊1-N鑿滃崟 --- ---------------------------- -drop table if exists sys_role_menu; -create table sys_role_menu ( - role_id bigint(20) not null comment '瑙掕壊ID', - menu_id bigint(20) not null comment '鑿滃崟ID', - primary key(role_id, menu_id) -) engine=innodb comment = '瑙掕壊鍜岃彍鍗曞叧鑱旇〃'; - --- ---------------------------- --- 鍒濆鍖-瑙掕壊鍜岃彍鍗曞叧鑱旇〃鏁版嵁 --- ---------------------------- -insert into sys_role_menu values ('2', '1'); -insert into sys_role_menu values ('2', '2'); -insert into sys_role_menu values ('2', '3'); -insert into sys_role_menu values ('2', '4'); -insert into sys_role_menu values ('2', '100'); -insert into sys_role_menu values ('2', '101'); -insert into sys_role_menu values ('2', '102'); -insert into sys_role_menu values ('2', '103'); -insert into sys_role_menu values ('2', '104'); -insert into sys_role_menu values ('2', '105'); -insert into sys_role_menu values ('2', '106'); -insert into sys_role_menu values ('2', '107'); -insert into sys_role_menu values ('2', '108'); -insert into sys_role_menu values ('2', '109'); -insert into sys_role_menu values ('2', '110'); -insert into sys_role_menu values ('2', '111'); -insert into sys_role_menu values ('2', '112'); -insert into sys_role_menu values ('2', '113'); -insert into sys_role_menu values ('2', '114'); -insert into sys_role_menu values ('2', '115'); -insert into sys_role_menu values ('2', '116'); -insert into sys_role_menu values ('2', '500'); -insert into sys_role_menu values ('2', '501'); -insert into sys_role_menu values ('2', '1000'); -insert into sys_role_menu values ('2', '1001'); -insert into sys_role_menu values ('2', '1002'); -insert into sys_role_menu values ('2', '1003'); -insert into sys_role_menu values ('2', '1004'); -insert into sys_role_menu values ('2', '1005'); -insert into sys_role_menu values ('2', '1006'); -insert into sys_role_menu values ('2', '1007'); -insert into sys_role_menu values ('2', '1008'); -insert into sys_role_menu values ('2', '1009'); -insert into sys_role_menu values ('2', '1010'); -insert into sys_role_menu values ('2', '1011'); -insert into sys_role_menu values ('2', '1012'); -insert into sys_role_menu values ('2', '1013'); -insert into sys_role_menu values ('2', '1014'); -insert into sys_role_menu values ('2', '1015'); -insert into sys_role_menu values ('2', '1016'); -insert into sys_role_menu values ('2', '1017'); -insert into sys_role_menu values ('2', '1018'); -insert into sys_role_menu values ('2', '1019'); -insert into sys_role_menu values ('2', '1020'); -insert into sys_role_menu values ('2', '1021'); -insert into sys_role_menu values ('2', '1022'); -insert into sys_role_menu values ('2', '1023'); -insert into sys_role_menu values ('2', '1024'); -insert into sys_role_menu values ('2', '1025'); -insert into sys_role_menu values ('2', '1026'); -insert into sys_role_menu values ('2', '1027'); -insert into sys_role_menu values ('2', '1028'); -insert into sys_role_menu values ('2', '1029'); -insert into sys_role_menu values ('2', '1030'); -insert into sys_role_menu values ('2', '1031'); -insert into sys_role_menu values ('2', '1032'); -insert into sys_role_menu values ('2', '1033'); -insert into sys_role_menu values ('2', '1034'); -insert into sys_role_menu values ('2', '1035'); -insert into sys_role_menu values ('2', '1036'); -insert into sys_role_menu values ('2', '1037'); -insert into sys_role_menu values ('2', '1038'); -insert into sys_role_menu values ('2', '1039'); -insert into sys_role_menu values ('2', '1040'); -insert into sys_role_menu values ('2', '1041'); -insert into sys_role_menu values ('2', '1042'); -insert into sys_role_menu values ('2', '1043'); -insert into sys_role_menu values ('2', '1044'); -insert into sys_role_menu values ('2', '1045'); -insert into sys_role_menu values ('2', '1046'); -insert into sys_role_menu values ('2', '1047'); -insert into sys_role_menu values ('2', '1048'); -insert into sys_role_menu values ('2', '1049'); -insert into sys_role_menu values ('2', '1050'); -insert into sys_role_menu values ('2', '1051'); -insert into sys_role_menu values ('2', '1052'); -insert into sys_role_menu values ('2', '1053'); -insert into sys_role_menu values ('2', '1054'); -insert into sys_role_menu values ('2', '1055'); -insert into sys_role_menu values ('2', '1056'); -insert into sys_role_menu values ('2', '1057'); -insert into sys_role_menu values ('2', '1058'); -insert into sys_role_menu values ('2', '1059'); -insert into sys_role_menu values ('2', '1060'); - --- ---------------------------- --- 8銆佽鑹插拰閮ㄩ棬鍏宠仈琛 瑙掕壊1-N閮ㄩ棬 --- ---------------------------- -drop table if exists sys_role_dept; -create table sys_role_dept ( - role_id bigint(20) not null comment '瑙掕壊ID', - dept_id bigint(20) not null comment '閮ㄩ棬ID', - primary key(role_id, dept_id) -) engine=innodb comment = '瑙掕壊鍜岄儴闂ㄥ叧鑱旇〃'; - --- ---------------------------- --- 鍒濆鍖-瑙掕壊鍜岄儴闂ㄥ叧鑱旇〃鏁版嵁 --- ---------------------------- -insert into sys_role_dept values ('2', '100'); -insert into sys_role_dept values ('2', '101'); -insert into sys_role_dept values ('2', '105'); - - --- ---------------------------- --- 9銆佺敤鎴蜂笌宀椾綅鍏宠仈琛 鐢ㄦ埛1-N宀椾綅 --- ---------------------------- -drop table if exists sys_user_post; -create table sys_user_post -( - user_id bigint(20) not null comment '鐢ㄦ埛ID', - post_id bigint(20) not null comment '宀椾綅ID', - primary key (user_id, post_id) -) engine=innodb comment = '鐢ㄦ埛涓庡矖浣嶅叧鑱旇〃'; - --- ---------------------------- --- 鍒濆鍖-鐢ㄦ埛涓庡矖浣嶅叧鑱旇〃鏁版嵁 --- ---------------------------- -insert into sys_user_post values ('1', '1'); -insert into sys_user_post values ('2', '2'); - - --- ---------------------------- --- 10銆佹搷浣滄棩蹇楄褰 --- ---------------------------- -drop table if exists sys_oper_log; -create table sys_oper_log ( - oper_id bigint(20) not null auto_increment comment '鏃ュ織涓婚敭', - title varchar(50) default '' comment '妯″潡鏍囬', - business_type int(2) default 0 comment '涓氬姟绫诲瀷锛0鍏跺畠 1鏂板 2淇敼 3鍒犻櫎锛', - method varchar(100) default '' comment '鏂规硶鍚嶇О', - request_method varchar(10) default '' comment '璇锋眰鏂瑰紡', - operator_type int(1) default 0 comment '鎿嶄綔绫诲埆锛0鍏跺畠 1鍚庡彴鐢ㄦ埛 2鎵嬫満绔敤鎴凤級', - oper_name varchar(50) default '' comment '鎿嶄綔浜哄憳', - dept_name varchar(50) default '' comment '閮ㄩ棬鍚嶇О', - oper_url varchar(255) default '' comment '璇锋眰URL', - oper_ip varchar(128) default '' comment '涓绘満鍦板潃', - oper_location varchar(255) default '' comment '鎿嶄綔鍦扮偣', - oper_param varchar(2000) default '' comment '璇锋眰鍙傛暟', - json_result varchar(2000) default '' comment '杩斿洖鍙傛暟', - status int(1) default 0 comment '鎿嶄綔鐘舵侊紙0姝e父 1寮傚父锛', - error_msg varchar(2000) default '' comment '閿欒娑堟伅', - oper_time datetime comment '鎿嶄綔鏃堕棿', - primary key (oper_id) -) engine=innodb auto_increment=100 comment = '鎿嶄綔鏃ュ織璁板綍'; - - --- ---------------------------- --- 11銆佸瓧鍏哥被鍨嬭〃 --- ---------------------------- -drop table if exists sys_dict_type; -create table sys_dict_type -( - dict_id bigint(20) not null auto_increment comment '瀛楀吀涓婚敭', - dict_name varchar(100) default '' comment '瀛楀吀鍚嶇О', - dict_type varchar(100) default '' comment '瀛楀吀绫诲瀷', - status char(1) default '0' comment '鐘舵侊紙0姝e父 1鍋滅敤锛', - create_by varchar(64) default '' comment '鍒涘缓鑰', - create_time datetime comment '鍒涘缓鏃堕棿', - update_by varchar(64) default '' comment '鏇存柊鑰', - update_time datetime comment '鏇存柊鏃堕棿', - remark varchar(500) default null comment '澶囨敞', - primary key (dict_id), - unique (dict_type) -) engine=innodb auto_increment=100 comment = '瀛楀吀绫诲瀷琛'; - -insert into sys_dict_type values(1, '鐢ㄦ埛鎬у埆', 'sys_user_sex', '0', 'admin', sysdate(), '', null, '鐢ㄦ埛鎬у埆鍒楄〃'); -insert into sys_dict_type values(2, '鑿滃崟鐘舵', 'sys_show_hide', '0', 'admin', sysdate(), '', null, '鑿滃崟鐘舵佸垪琛'); -insert into sys_dict_type values(3, '绯荤粺寮鍏', 'sys_normal_disable', '0', 'admin', sysdate(), '', null, '绯荤粺寮鍏冲垪琛'); -insert into sys_dict_type values(4, '浠诲姟鐘舵', 'sys_job_status', '0', 'admin', sysdate(), '', null, '浠诲姟鐘舵佸垪琛'); -insert into sys_dict_type values(5, '浠诲姟鍒嗙粍', 'sys_job_group', '0', 'admin', sysdate(), '', null, '浠诲姟鍒嗙粍鍒楄〃'); -insert into sys_dict_type values(6, '绯荤粺鏄惁', 'sys_yes_no', '0', 'admin', sysdate(), '', null, '绯荤粺鏄惁鍒楄〃'); -insert into sys_dict_type values(7, '閫氱煡绫诲瀷', 'sys_notice_type', '0', 'admin', sysdate(), '', null, '閫氱煡绫诲瀷鍒楄〃'); -insert into sys_dict_type values(8, '閫氱煡鐘舵', 'sys_notice_status', '0', 'admin', sysdate(), '', null, '閫氱煡鐘舵佸垪琛'); -insert into sys_dict_type values(9, '鎿嶄綔绫诲瀷', 'sys_oper_type', '0', 'admin', sysdate(), '', null, '鎿嶄綔绫诲瀷鍒楄〃'); -insert into sys_dict_type values(10, '绯荤粺鐘舵', 'sys_common_status', '0', 'admin', sysdate(), '', null, '鐧诲綍鐘舵佸垪琛'); - --- ---------------------------- --- 12銆佸瓧鍏告暟鎹〃 --- ---------------------------- -drop table if exists sys_dict_data; -create table sys_dict_data -( - dict_code bigint(20) not null auto_increment comment '瀛楀吀缂栫爜', - dict_sort int(4) default 0 comment '瀛楀吀鎺掑簭', - dict_label varchar(100) default '' comment '瀛楀吀鏍囩', - dict_value varchar(100) default '' comment '瀛楀吀閿', - dict_type varchar(100) default '' comment '瀛楀吀绫诲瀷', - css_class varchar(100) default null comment '鏍峰紡灞炴э紙鍏朵粬鏍峰紡鎵╁睍锛', - list_class varchar(100) default null comment '琛ㄦ牸鍥炴樉鏍峰紡', - is_default char(1) default 'N' comment '鏄惁榛樿锛圷鏄 N鍚︼級', - status char(1) default '0' comment '鐘舵侊紙0姝e父 1鍋滅敤锛', - create_by varchar(64) default '' comment '鍒涘缓鑰', - create_time datetime comment '鍒涘缓鏃堕棿', - update_by varchar(64) default '' comment '鏇存柊鑰', - update_time datetime comment '鏇存柊鏃堕棿', - remark varchar(500) default null comment '澶囨敞', - primary key (dict_code) -) engine=innodb auto_increment=100 comment = '瀛楀吀鏁版嵁琛'; - -insert into sys_dict_data values(1, 1, '鐢', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', sysdate(), '', null, '鎬у埆鐢'); -insert into sys_dict_data values(2, 2, '濂', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', sysdate(), '', null, '鎬у埆濂'); -insert into sys_dict_data values(3, 3, '鏈煡', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', sysdate(), '', null, '鎬у埆鏈煡'); -insert into sys_dict_data values(4, 1, '鏄剧ず', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '鏄剧ず鑿滃崟'); -insert into sys_dict_data values(5, 2, '闅愯棌', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '闅愯棌鑿滃崟'); -insert into sys_dict_data values(6, 1, '姝e父', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '姝e父鐘舵'); -insert into sys_dict_data values(7, 2, '鍋滅敤', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '鍋滅敤鐘舵'); -insert into sys_dict_data values(8, 1, '姝e父', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '姝e父鐘舵'); -insert into sys_dict_data values(9, 2, '鏆傚仠', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '鍋滅敤鐘舵'); -insert into sys_dict_data values(10, 1, '榛樿', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', sysdate(), '', null, '榛樿鍒嗙粍'); -insert into sys_dict_data values(11, 2, '绯荤粺', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', sysdate(), '', null, '绯荤粺鍒嗙粍'); -insert into sys_dict_data values(12, 1, '鏄', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '绯荤粺榛樿鏄'); -insert into sys_dict_data values(13, 2, '鍚', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '绯荤粺榛樿鍚'); -insert into sys_dict_data values(14, 1, '閫氱煡', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', sysdate(), '', null, '閫氱煡'); -insert into sys_dict_data values(15, 2, '鍏憡', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', sysdate(), '', null, '鍏憡'); -insert into sys_dict_data values(16, 1, '姝e父', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '姝e父鐘舵'); -insert into sys_dict_data values(17, 2, '鍏抽棴', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '鍏抽棴鐘舵'); -insert into sys_dict_data values(18, 1, '鏂板', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', sysdate(), '', null, '鏂板鎿嶄綔'); -insert into sys_dict_data values(19, 2, '淇敼', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', sysdate(), '', null, '淇敼鎿嶄綔'); -insert into sys_dict_data values(20, 3, '鍒犻櫎', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '鍒犻櫎鎿嶄綔'); -insert into sys_dict_data values(21, 4, '鎺堟潈', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', sysdate(), '', null, '鎺堟潈鎿嶄綔'); -insert into sys_dict_data values(22, 5, '瀵煎嚭', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', sysdate(), '', null, '瀵煎嚭鎿嶄綔'); -insert into sys_dict_data values(23, 6, '瀵煎叆', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', sysdate(), '', null, '瀵煎叆鎿嶄綔'); -insert into sys_dict_data values(24, 7, '寮洪', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '寮洪鎿嶄綔'); -insert into sys_dict_data values(25, 8, '鐢熸垚浠g爜', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', sysdate(), '', null, '鐢熸垚鎿嶄綔'); -insert into sys_dict_data values(26, 9, '娓呯┖鏁版嵁', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '娓呯┖鎿嶄綔'); -insert into sys_dict_data values(27, 1, '鎴愬姛', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', sysdate(), '', null, '姝e父鐘舵'); -insert into sys_dict_data values(28, 2, '澶辫触', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '鍋滅敤鐘舵'); - - --- ---------------------------- --- 13銆佸弬鏁伴厤缃〃 --- ---------------------------- -drop table if exists sys_config; -create table sys_config ( - config_id int(5) not null auto_increment comment '鍙傛暟涓婚敭', - config_name varchar(100) default '' comment '鍙傛暟鍚嶇О', - config_key varchar(100) default '' comment '鍙傛暟閿悕', - config_value varchar(500) default '' comment '鍙傛暟閿', - config_type char(1) default 'N' comment '绯荤粺鍐呯疆锛圷鏄 N鍚︼級', - create_by varchar(64) default '' comment '鍒涘缓鑰', - create_time datetime comment '鍒涘缓鏃堕棿', - update_by varchar(64) default '' comment '鏇存柊鑰', - update_time datetime comment '鏇存柊鏃堕棿', - remark varchar(500) default null comment '澶囨敞', - primary key (config_id) -) engine=innodb auto_increment=100 comment = '鍙傛暟閰嶇疆琛'; - -insert into sys_config values(1, '涓绘鏋堕〉-榛樿鐨偆鏍峰紡鍚嶇О', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', sysdate(), '', null, '钃濊壊 skin-blue銆佺豢鑹 skin-green銆佺传鑹 skin-purple銆佺孩鑹 skin-red銆侀粍鑹 skin-yellow' ); -insert into sys_config values(2, '鐢ㄦ埛绠$悊-璐﹀彿鍒濆瀵嗙爜', 'sys.user.initPassword', '123456', 'Y', 'admin', sysdate(), '', null, '鍒濆鍖栧瘑鐮 123456' ); -insert into sys_config values(3, '涓绘鏋堕〉-渚ц竟鏍忎富棰', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', sysdate(), '', null, '娣辫壊涓婚theme-dark锛屾祬鑹蹭富棰榯heme-light' ); -insert into sys_config values(4, '璐﹀彿鑷姪-鏄惁寮鍚敤鎴锋敞鍐屽姛鑳', 'sys.account.registerUser', 'false', 'Y', 'admin', sysdate(), '', null, '鏄惁寮鍚敞鍐岀敤鎴峰姛鑳斤紙true寮鍚紝false鍏抽棴锛'); - - --- ---------------------------- --- 14銆佺郴缁熻闂褰 --- ---------------------------- -drop table if exists sys_logininfor; -create table sys_logininfor ( - info_id bigint(20) not null auto_increment comment '璁块棶ID', - user_name varchar(50) default '' comment '鐢ㄦ埛璐﹀彿', - ipaddr varchar(128) default '' comment '鐧诲綍IP鍦板潃', - status char(1) default '0' comment '鐧诲綍鐘舵侊紙0鎴愬姛 1澶辫触锛', - msg varchar(255) default '' comment '鎻愮ず淇℃伅', - access_time datetime comment '璁块棶鏃堕棿', - primary key (info_id) -) engine=innodb auto_increment=100 comment = '绯荤粺璁块棶璁板綍'; - - --- ---------------------------- --- 15銆佸畾鏃朵换鍔¤皟搴﹁〃 --- ---------------------------- -drop table if exists sys_job; -create table sys_job ( - job_id bigint(20) not null auto_increment comment '浠诲姟ID', - job_name varchar(64) default '' comment '浠诲姟鍚嶇О', - job_group varchar(64) default 'DEFAULT' comment '浠诲姟缁勫悕', - invoke_target varchar(500) not null comment '璋冪敤鐩爣瀛楃涓', - cron_expression varchar(255) default '' comment 'cron鎵ц琛ㄨ揪寮', - misfire_policy varchar(20) default '3' comment '璁″垝鎵ц閿欒绛栫暐锛1绔嬪嵆鎵ц 2鎵ц涓娆 3鏀惧純鎵ц锛', - concurrent char(1) default '1' comment '鏄惁骞跺彂鎵ц锛0鍏佽 1绂佹锛', - status char(1) default '0' comment '鐘舵侊紙0姝e父 1鏆傚仠锛', - create_by varchar(64) default '' comment '鍒涘缓鑰', - create_time datetime comment '鍒涘缓鏃堕棿', - update_by varchar(64) default '' comment '鏇存柊鑰', - update_time datetime comment '鏇存柊鏃堕棿', - remark varchar(500) default '' comment '澶囨敞淇℃伅', - primary key (job_id, job_name, job_group) -) engine=innodb auto_increment=100 comment = '瀹氭椂浠诲姟璋冨害琛'; - -insert into sys_job values(1, '绯荤粺榛樿锛堟棤鍙傦級', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', sysdate(), '', null, ''); -insert into sys_job values(2, '绯荤粺榛樿锛堟湁鍙傦級', 'DEFAULT', 'ryTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', sysdate(), '', null, ''); -insert into sys_job values(3, '绯荤粺榛樿锛堝鍙傦級', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', sysdate(), '', null, ''); - - --- ---------------------------- --- 16銆佸畾鏃朵换鍔¤皟搴︽棩蹇楄〃 --- ---------------------------- -drop table if exists sys_job_log; -create table sys_job_log ( - job_log_id bigint(20) not null auto_increment comment '浠诲姟鏃ュ織ID', - job_name varchar(64) not null comment '浠诲姟鍚嶇О', - job_group varchar(64) not null comment '浠诲姟缁勫悕', - invoke_target varchar(500) not null comment '璋冪敤鐩爣瀛楃涓', - job_message varchar(500) comment '鏃ュ織淇℃伅', - status char(1) default '0' comment '鎵ц鐘舵侊紙0姝e父 1澶辫触锛', - exception_info varchar(2000) default '' comment '寮傚父淇℃伅', - create_time datetime comment '鍒涘缓鏃堕棿', - primary key (job_log_id) -) engine=innodb comment = '瀹氭椂浠诲姟璋冨害鏃ュ織琛'; - - --- ---------------------------- --- 17銆侀氱煡鍏憡琛 --- ---------------------------- -drop table if exists sys_notice; -create table sys_notice ( - notice_id int(4) not null auto_increment comment '鍏憡ID', - notice_title varchar(50) not null comment '鍏憡鏍囬', - notice_type char(1) not null comment '鍏憡绫诲瀷锛1閫氱煡 2鍏憡锛', - notice_content longblob default null comment '鍏憡鍐呭', - status char(1) default '0' comment '鍏憡鐘舵侊紙0姝e父 1鍏抽棴锛', - create_by varchar(64) default '' comment '鍒涘缓鑰', - create_time datetime comment '鍒涘缓鏃堕棿', - update_by varchar(64) default '' comment '鏇存柊鑰', - update_time datetime comment '鏇存柊鏃堕棿', - remark varchar(255) default null comment '澶囨敞', - primary key (notice_id) -) engine=innodb auto_increment=10 comment = '閫氱煡鍏憡琛'; - --- ---------------------------- --- 鍒濆鍖-鍏憡淇℃伅琛ㄦ暟鎹 --- ---------------------------- -insert into sys_notice values('1', '娓╅Θ鎻愰啋锛2018-07-01 鑻ヤ緷鏂扮増鏈彂甯冨暒', '2', '鏂扮増鏈唴瀹', '0', 'admin', sysdate(), '', null, '绠$悊鍛'); -insert into sys_notice values('2', '缁存姢閫氱煡锛2018-07-01 鑻ヤ緷绯荤粺鍑屾櫒缁存姢', '1', '缁存姢鍐呭', '0', 'admin', sysdate(), '', null, '绠$悊鍛'); - - --- ---------------------------- --- 18銆佷唬鐮佺敓鎴愪笟鍔¤〃 --- ---------------------------- -drop table if exists gen_table; -create table gen_table ( - table_id bigint(20) not null auto_increment comment '缂栧彿', - table_name varchar(200) default '' comment '琛ㄥ悕绉', - table_comment varchar(500) default '' comment '琛ㄦ弿杩', - sub_table_name varchar(64) default null comment '鍏宠仈瀛愯〃鐨勮〃鍚', - sub_table_fk_name varchar(64) default null comment '瀛愯〃鍏宠仈鐨勫閿悕', - class_name varchar(100) default '' comment '瀹炰綋绫诲悕绉', - tpl_category varchar(200) default 'crud' comment '浣跨敤鐨勬ā鏉匡紙crud鍗曡〃鎿嶄綔 tree鏍戣〃鎿嶄綔锛', - package_name varchar(100) comment '鐢熸垚鍖呰矾寰', - module_name varchar(30) comment '鐢熸垚妯″潡鍚', - business_name varchar(30) comment '鐢熸垚涓氬姟鍚', - function_name varchar(50) comment '鐢熸垚鍔熻兘鍚', - function_author varchar(50) comment '鐢熸垚鍔熻兘浣滆', - gen_type char(1) default '0' comment '鐢熸垚浠g爜鏂瑰紡锛0zip鍘嬬缉鍖 1鑷畾涔夎矾寰勶級', - gen_path varchar(200) default '/' comment '鐢熸垚璺緞锛堜笉濉粯璁ら」鐩矾寰勶級', - options varchar(1000) comment '鍏跺畠鐢熸垚閫夐」', - create_by varchar(64) default '' comment '鍒涘缓鑰', - create_time datetime comment '鍒涘缓鏃堕棿', - update_by varchar(64) default '' comment '鏇存柊鑰', - update_time datetime comment '鏇存柊鏃堕棿', - remark varchar(500) default null comment '澶囨敞', - primary key (table_id) -) engine=innodb auto_increment=1 comment = '浠g爜鐢熸垚涓氬姟琛'; - - --- ---------------------------- --- 19銆佷唬鐮佺敓鎴愪笟鍔¤〃瀛楁 --- ---------------------------- -drop table if exists gen_table_column; -create table gen_table_column ( - column_id bigint(20) not null auto_increment comment '缂栧彿', - table_id varchar(64) comment '褰掑睘琛ㄧ紪鍙', - column_name varchar(200) comment '鍒楀悕绉', - column_comment varchar(500) comment '鍒楁弿杩', - column_type varchar(100) comment '鍒楃被鍨', - java_type varchar(500) comment 'JAVA绫诲瀷', - java_field varchar(200) comment 'JAVA瀛楁鍚', - is_pk char(1) comment '鏄惁涓婚敭锛1鏄級', - is_increment char(1) comment '鏄惁鑷锛1鏄級', - is_required char(1) comment '鏄惁蹇呭~锛1鏄級', - is_insert char(1) comment '鏄惁涓烘彃鍏ュ瓧娈碉紙1鏄級', - is_edit char(1) comment '鏄惁缂栬緫瀛楁锛1鏄級', - is_list char(1) comment '鏄惁鍒楄〃瀛楁锛1鏄級', - is_query char(1) comment '鏄惁鏌ヨ瀛楁锛1鏄級', - query_type varchar(200) default 'EQ' comment '鏌ヨ鏂瑰紡锛堢瓑浜庛佷笉绛変簬銆佸ぇ浜庛佸皬浜庛佽寖鍥达級', - html_type varchar(200) comment '鏄剧ず绫诲瀷锛堟枃鏈銆佹枃鏈煙銆佷笅鎷夋銆佸閫夋銆佸崟閫夋銆佹棩鏈熸帶浠讹級', - dict_type varchar(200) default '' comment '瀛楀吀绫诲瀷', - sort int comment '鎺掑簭', - create_by varchar(64) default '' comment '鍒涘缓鑰', - create_time datetime comment '鍒涘缓鏃堕棿', - update_by varchar(64) default '' comment '鏇存柊鑰', - update_time datetime comment '鏇存柊鏃堕棿', - primary key (column_id) -) engine=innodb auto_increment=1 comment = '浠g爜鐢熸垚涓氬姟琛ㄥ瓧娈'; diff --git a/sql/ry_config_20220114.sql b/sql/ry_config_20220114.sql deleted file mode 100644 index 7420ed2a..00000000 --- a/sql/ry_config_20220114.sql +++ /dev/null @@ -1,216 +0,0 @@ -DROP DATABASE IF EXISTS `ry-config`; - -CREATE DATABASE `ry-config` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - -USE `ry-config`; - -/******************************************/ -/* 琛ㄥ悕绉 = config_info */ -/******************************************/ -CREATE TABLE `config_info` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', - `data_id` varchar(255) NOT NULL COMMENT 'data_id', - `group_id` varchar(255) DEFAULT NULL, - `content` longtext NOT NULL COMMENT 'content', - `md5` varchar(32) DEFAULT NULL COMMENT 'md5', - `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿', - `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿', - `src_user` text COMMENT 'source user', - `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', - `app_name` varchar(128) DEFAULT NULL, - `tenant_id` varchar(128) DEFAULT '' COMMENT '绉熸埛瀛楁', - `c_desc` varchar(256) DEFAULT NULL, - `c_use` varchar(64) DEFAULT NULL, - `effect` varchar(64) DEFAULT NULL, - `type` varchar(64) DEFAULT NULL, - `c_schema` text, - PRIMARY KEY (`id`), - UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info'; - -insert into config_info(id, data_id, group_id, content, md5, gmt_create, gmt_modified, src_user, src_ip, app_name, tenant_id, c_desc, c_use, effect, type, c_schema) values -(1,'application-dev.yml','DEFAULT_GROUP','spring:\n main:\n allow-circular-references: true\n allow-bean-definition-overriding: true\n autoconfigure:\n exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\n mvc:\n pathmatch:\n matching-strategy: ant_path_matcher\n cloud:\n sentinel:\n filter:\n # sentinel 鍦 springboot 2.6.x 涓嶅吋瀹归棶棰樼殑澶勭悊\n enabled: false\n\n# feign 閰嶇疆\nfeign:\n sentinel:\n enabled: true\n okhttp:\n enabled: true\n httpclient:\n enabled: false\n client:\n config:\n default:\n connectTimeout: 10000\n readTimeout: 10000\n compression:\n request:\n enabled: true\n response:\n enabled: true\n\n# 鏆撮湶鐩戞帶绔偣\nmanagement:\n endpoints:\n web:\n exposure:\n include: \'*\'\n','e6a8dafc6fcec97f777836bea3ed5028','2020-05-20 12:00:00','2022-01-14 02:20:19','nacos','0:0:0:0:0:0:0:1','','','閫氱敤閰嶇疆','null','null','yaml','null'), -(2,'ruoyi-gateway-dev.yml','DEFAULT_GROUP','spring:\n redis:\n host: localhost\n port: 6379\n password: \n cloud:\n gateway:\n discovery:\n locator:\n lowerCaseServiceId: true\n enabled: true\n routes:\n # 璁よ瘉涓績\n - id: ruoyi-auth\n uri: lb://ruoyi-auth\n predicates:\n - Path=/auth/**\n filters:\n # 楠岃瘉鐮佸鐞哱n - CacheRequestFilter\n - ValidateCodeFilter\n - StripPrefix=1\n # 浠g爜鐢熸垚\n - id: ruoyi-gen\n uri: lb://ruoyi-gen\n predicates:\n - Path=/code/**\n filters:\n - StripPrefix=1\n # 瀹氭椂浠诲姟\n - id: ruoyi-job\n uri: lb://ruoyi-job\n predicates:\n - Path=/schedule/**\n filters:\n - StripPrefix=1\n # 绯荤粺妯″潡\n - id: ruoyi-system\n uri: lb://ruoyi-system\n predicates:\n - Path=/system/**\n filters:\n - StripPrefix=1\n # 鏂囦欢鏈嶅姟\n - id: ruoyi-file\n uri: lb://ruoyi-file\n predicates:\n - Path=/file/**\n filters:\n - StripPrefix=1\n\n# 瀹夊叏閰嶇疆\nsecurity:\n # 楠岃瘉鐮乗n captcha:\n enabled: true\n type: math\n # 闃叉XSS鏀诲嚮\n xss:\n enabled: true\n excludeUrls:\n - /system/notice\n # 涓嶆牎楠岀櫧鍚嶅崟\n ignore:\n whites:\n - /auth/logout\n - /auth/login\n - /auth/register\n - /*/v2/api-docs\n - /csrf\n','2f5a6b5a4ccf20b5801c5cf842456ec6','2020-05-14 14:17:55','2021-07-30 09:07:14',NULL,'0:0:0:0:0:0:0:1','','','缃戝叧妯″潡','null','null','yaml','null'), -(3,'ruoyi-auth-dev.yml','DEFAULT_GROUP','spring: \r\n redis:\r\n host: localhost\r\n port: 6379\r\n password: \r\n','b7354e1eb62c2d846d44a796d9ec6930','2020-11-20 00:00:00','2021-02-28 21:06:58',NULL,'0:0:0:0:0:0:0:1','','','璁よ瘉涓績','null','null','yaml','null'), -(4,'ruoyi-monitor-dev.yml','DEFAULT_GROUP','# spring\r\nspring: \r\n security:\r\n user:\r\n name: ruoyi\r\n password: 123456\r\n boot:\r\n admin:\r\n ui:\r\n title: 鑻ヤ緷鏈嶅姟鐘舵佺洃鎺r\n','d8997d0707a2fd5d9fc4e8409da38129','2020-11-20 00:00:00','2020-12-21 16:28:07',NULL,'0:0:0:0:0:0:0:1','','','鐩戞帶涓績','null','null','yaml','null'), -(5,'ruoyi-system-dev.yml','DEFAULT_GROUP','# spring閰嶇疆\r\nspring: \r\n redis:\r\n host: localhost\r\n port: 6379\r\n password: \r\n datasource:\r\n druid:\r\n stat-view-servlet:\r\n enabled: true\r\n loginUsername: admin\r\n loginPassword: 123456\r\n dynamic:\r\n druid:\r\n initial-size: 5\r\n min-idle: 5\r\n maxActive: 20\r\n maxWait: 60000\r\n timeBetweenEvictionRunsMillis: 60000\r\n minEvictableIdleTimeMillis: 300000\r\n validationQuery: SELECT 1 FROM DUAL\r\n testWhileIdle: true\r\n testOnBorrow: false\r\n testOnReturn: false\r\n poolPreparedStatements: true\r\n maxPoolPreparedStatementPerConnectionSize: 20\r\n filters: stat,slf4j\r\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\r\n datasource:\r\n # 涓诲簱鏁版嵁婧怽r\n master:\r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n username: root\r\n password: password\r\n # 浠庡簱鏁版嵁婧怽r\n # slave:\r\n # username: \r\n # password: \r\n # url: \r\n # driver-class-name: \r\n # seata: true # 寮鍚痵eata浠g悊锛屽紑鍚悗榛樿姣忎釜鏁版嵁婧愰兘浠g悊锛屽鏋滄煇涓笉闇瑕佷唬鐞嗗彲鍗曠嫭鍏抽棴\r\n\r\n# seata閰嶇疆\r\nseata:\r\n # 榛樿鍏抽棴锛屽闇鍚敤spring.datasource.dynami.seata闇瑕佸悓鏃跺紑鍚痋r\n enabled: false\r\n # Seata 搴旂敤缂栧彿锛岄粯璁や负 ${spring.application.name}\r\n application-id: ${spring.application.name}\r\n # Seata 浜嬪姟缁勭紪鍙凤紝鐢ㄤ簬 TC 闆嗙兢鍚峔r\n tx-service-group: ${spring.application.name}-group\r\n # 鍏抽棴鑷姩浠g悊\r\n enable-auto-data-source-proxy: false\r\n # 鏈嶅姟閰嶇疆椤筡r\n service:\r\n # 铏氭嫙缁勫拰鍒嗙粍鐨勬槧灏刓r\n vgroup-mapping:\r\n ruoyi-system-group: default\r\n config:\r\n type: nacos\r\n nacos:\r\n serverAddr: 127.0.0.1:8848\r\n group: SEATA_GROUP\r\n namespace:\r\n registry:\r\n type: nacos\r\n nacos:\r\n application: seata-server\r\n server-addr: 127.0.0.1:8848\r\n namespace:\r\n\r\n# mybatis閰嶇疆\r\nmybatis:\r\n # 鎼滅储鎸囧畾鍖呭埆鍚峔r\n typeAliasesPackage: com.ruoyi.system\r\n # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵鏈夌殑mapper.xml鏄犲皠鏂囦欢\r\n mapperLocations: classpath:mapper/**/*.xml\r\n\r\n# swagger閰嶇疆\r\nswagger:\r\n title: 绯荤粺妯″潡鎺ュ彛鏂囨。\r\n license: Powered By ruoyi\r\n licenseUrl: https://ruoyi.vip','ac8913dee679e65bb7d482df5f267d4e','2020-11-20 00:00:00','2021-01-27 10:42:25',NULL,'0:0:0:0:0:0:0:1','','','绯荤粺妯″潡','null','null','yaml','null'), -(6,'ruoyi-gen-dev.yml','DEFAULT_GROUP','# spring閰嶇疆\r\nspring: \r\n redis:\r\n host: localhost\r\n port: 6379\r\n password: \r\n datasource: \r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n username: root\r\n password: password\r\n\r\n# mybatis閰嶇疆\r\nmybatis:\r\n # 鎼滅储鎸囧畾鍖呭埆鍚峔r\n typeAliasesPackage: com.ruoyi.gen.domain\r\n # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵鏈夌殑mapper.xml鏄犲皠鏂囦欢\r\n mapperLocations: classpath:mapper/**/*.xml\r\n\r\n# swagger閰嶇疆\r\nswagger:\r\n title: 浠g爜鐢熸垚鎺ュ彛鏂囨。\r\n license: Powered By ruoyi\r\n licenseUrl: https://ruoyi.vip\r\n\r\n# 浠g爜鐢熸垚\r\ngen: \r\n # 浣滆匼r\n author: ruoyi\r\n # 榛樿鐢熸垚鍖呰矾寰 system 闇鏀规垚鑷繁鐨勬ā鍧楀悕绉 濡 system monitor tool\r\n packageName: com.ruoyi.system\r\n # 鑷姩鍘婚櫎琛ㄥ墠缂锛岄粯璁ゆ槸false\r\n autoRemovePre: false\r\n # 琛ㄥ墠缂锛堢敓鎴愮被鍚嶄笉浼氬寘鍚〃鍓嶇紑锛屽涓敤閫楀彿鍒嗛殧锛塡r\n tablePrefix: sys_\r\n','8c79f64a4cca9b821a03dc8b27a2d8eb','2020-11-20 00:00:00','2021-01-26 10:36:45',NULL,'0:0:0:0:0:0:0:1','','','浠g爜鐢熸垚','null','null','yaml','null'), -(7,'ruoyi-job-dev.yml','DEFAULT_GROUP','# spring閰嶇疆\r\nspring: \r\n redis:\r\n host: localhost\r\n port: 6379\r\n password: \r\n datasource:\r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n username: root\r\n password: password\r\n\r\n# mybatis閰嶇疆\r\nmybatis:\r\n # 鎼滅储鎸囧畾鍖呭埆鍚峔r\n typeAliasesPackage: com.ruoyi.job.domain\r\n # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵鏈夌殑mapper.xml鏄犲皠鏂囦欢\r\n mapperLocations: classpath:mapper/**/*.xml\r\n\r\n# swagger閰嶇疆\r\nswagger:\r\n title: 瀹氭椂浠诲姟鎺ュ彛鏂囨。\r\n license: Powered By ruoyi\r\n licenseUrl: https://ruoyi.vip\r\n','d6dfade9a2c93c463ae857cd503cb172','2020-11-20 00:00:00','2021-01-26 10:36:04',NULL,'0:0:0:0:0:0:0:1','','','瀹氭椂浠诲姟','null','null','yaml','null'), -(8,'ruoyi-file-dev.yml','DEFAULT_GROUP','# 鏈湴鏂囦欢涓婁紶 \r\nfile:\r\n domain: http://127.0.0.1:9300\r\n path: D:/ruoyi/uploadPath\r\n prefix: /statics\r\n\r\n# FastDFS閰嶇疆\r\nfdfs:\r\n domain: http://8.129.231.12\r\n soTimeout: 3000\r\n connectTimeout: 2000\r\n trackerList: 8.129.231.12:22122\r\n\r\n# Minio閰嶇疆\r\nminio:\r\n url: http://8.129.231.12:9000\r\n accessKey: minioadmin\r\n secretKey: minioadmin\r\n bucketName: test','5382b93f3d8059d6068c0501fdd41195','2020-11-20 00:00:00','2020-12-21 21:01:59',NULL,'0:0:0:0:0:0:0:1','','','鏂囦欢鏈嶅姟','null','null','yaml','null'), -(9,'sentinel-ruoyi-gateway','DEFAULT_GROUP','[\r\n {\r\n \"resource\": \"ruoyi-auth\",\r\n \"count\": 500,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"ruoyi-system\",\r\n \"count\": 1000,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"ruoyi-gen\",\r\n \"count\": 200,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"ruoyi-job\",\r\n \"count\": 300,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n }\r\n]','9f3a3069261598f74220bc47958ec252','2020-11-20 00:00:00','2020-11-20 00:00:00',NULL,'0:0:0:0:0:0:0:1','','','闄愭祦绛栫暐','null','null','json','null'); - - -/******************************************/ -/* 琛ㄥ悕绉 = config_info_aggr */ -/******************************************/ -CREATE TABLE `config_info_aggr` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', - `data_id` varchar(255) NOT NULL COMMENT 'data_id', - `group_id` varchar(255) NOT NULL COMMENT 'group_id', - `datum_id` varchar(255) NOT NULL COMMENT 'datum_id', - `content` longtext NOT NULL COMMENT '鍐呭', - `gmt_modified` datetime NOT NULL COMMENT '淇敼鏃堕棿', - `app_name` varchar(128) DEFAULT NULL, - `tenant_id` varchar(128) DEFAULT '' COMMENT '绉熸埛瀛楁', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='澧炲姞绉熸埛瀛楁'; - - -/******************************************/ -/* 琛ㄥ悕绉 = config_info_beta */ -/******************************************/ -CREATE TABLE `config_info_beta` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', - `data_id` varchar(255) NOT NULL COMMENT 'data_id', - `group_id` varchar(128) NOT NULL COMMENT 'group_id', - `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', - `content` longtext NOT NULL COMMENT 'content', - `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps', - `md5` varchar(32) DEFAULT NULL COMMENT 'md5', - `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿', - `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿', - `src_user` text COMMENT 'source user', - `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', - `tenant_id` varchar(128) DEFAULT '' COMMENT '绉熸埛瀛楁', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta'; - -/******************************************/ -/* 琛ㄥ悕绉 = config_info_tag */ -/******************************************/ -CREATE TABLE `config_info_tag` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', - `data_id` varchar(255) NOT NULL COMMENT 'data_id', - `group_id` varchar(128) NOT NULL COMMENT 'group_id', - `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', - `tag_id` varchar(128) NOT NULL COMMENT 'tag_id', - `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', - `content` longtext NOT NULL COMMENT 'content', - `md5` varchar(32) DEFAULT NULL COMMENT 'md5', - `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿', - `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿', - `src_user` text COMMENT 'source user', - `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag'; - -/******************************************/ -/* 琛ㄥ悕绉 = config_tags_relation */ -/******************************************/ -CREATE TABLE `config_tags_relation` ( - `id` bigint(20) NOT NULL COMMENT 'id', - `tag_name` varchar(128) NOT NULL COMMENT 'tag_name', - `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type', - `data_id` varchar(255) NOT NULL COMMENT 'data_id', - `group_id` varchar(128) NOT NULL COMMENT 'group_id', - `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', - `nid` bigint(20) NOT NULL AUTO_INCREMENT, - PRIMARY KEY (`nid`), - UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`), - KEY `idx_tenant_id` (`tenant_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation'; - -/******************************************/ -/* 琛ㄥ悕绉 = group_capacity */ -/******************************************/ -CREATE TABLE `group_capacity` ( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID', - `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID锛岀┖瀛楃琛ㄧず鏁翠釜闆嗙兢', - `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '閰嶉锛0琛ㄧず浣跨敤榛樿鍊', - `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '浣跨敤閲', - `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '鍗曚釜閰嶇疆澶у皬涓婇檺锛屽崟浣嶄负瀛楄妭锛0琛ㄧず浣跨敤榛樿鍊', - `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '鑱氬悎瀛愰厤缃渶澶т釜鏁帮紝锛0琛ㄧず浣跨敤榛樿鍊', - `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '鍗曚釜鑱氬悎鏁版嵁鐨勫瓙閰嶇疆澶у皬涓婇檺锛屽崟浣嶄负瀛楄妭锛0琛ㄧず浣跨敤榛樿鍊', - `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '鏈澶у彉鏇村巻鍙叉暟閲', - `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿', - `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_group_id` (`group_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='闆嗙兢銆佸悇Group瀹归噺淇℃伅琛'; - -/******************************************/ -/* 琛ㄥ悕绉 = his_config_info */ -/******************************************/ -CREATE TABLE `his_config_info` ( - `id` bigint(64) unsigned NOT NULL, - `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `data_id` varchar(255) NOT NULL, - `group_id` varchar(128) NOT NULL, - `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', - `content` longtext NOT NULL, - `md5` varchar(32) DEFAULT NULL, - `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - `src_user` text, - `src_ip` varchar(50) DEFAULT NULL, - `op_type` char(10) DEFAULT NULL, - `tenant_id` varchar(128) DEFAULT '' COMMENT '绉熸埛瀛楁', - PRIMARY KEY (`nid`), - KEY `idx_gmt_create` (`gmt_create`), - KEY `idx_gmt_modified` (`gmt_modified`), - KEY `idx_did` (`data_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='澶氱鎴锋敼閫'; - - -/******************************************/ -/* 鏁版嵁搴撳叏鍚 = nacos_config */ -/* 琛ㄥ悕绉 = tenant_capacity */ -/******************************************/ -CREATE TABLE `tenant_capacity` ( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID', - `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID', - `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '閰嶉锛0琛ㄧず浣跨敤榛樿鍊', - `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '浣跨敤閲', - `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '鍗曚釜閰嶇疆澶у皬涓婇檺锛屽崟浣嶄负瀛楄妭锛0琛ㄧず浣跨敤榛樿鍊', - `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '鑱氬悎瀛愰厤缃渶澶т釜鏁', - `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '鍗曚釜鑱氬悎鏁版嵁鐨勫瓙閰嶇疆澶у皬涓婇檺锛屽崟浣嶄负瀛楄妭锛0琛ㄧず浣跨敤榛樿鍊', - `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '鏈澶у彉鏇村巻鍙叉暟閲', - `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿', - `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_tenant_id` (`tenant_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='绉熸埛瀹归噺淇℃伅琛'; - - -CREATE TABLE `tenant_info` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', - `kp` varchar(128) NOT NULL COMMENT 'kp', - `tenant_id` varchar(128) default '' COMMENT 'tenant_id', - `tenant_name` varchar(128) default '' COMMENT 'tenant_name', - `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc', - `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source', - `gmt_create` bigint(20) NOT NULL COMMENT '鍒涘缓鏃堕棿', - `gmt_modified` bigint(20) NOT NULL COMMENT '淇敼鏃堕棿', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`), - KEY `idx_tenant_id` (`tenant_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info'; - -CREATE TABLE `users` ( - `username` varchar(50) NOT NULL PRIMARY KEY, - `password` varchar(500) NOT NULL, - `enabled` boolean NOT NULL -); - -CREATE TABLE `roles` ( - `username` varchar(50) NOT NULL, - `role` varchar(50) NOT NULL, - UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE -); - -CREATE TABLE `permissions` ( - `role` varchar(50) NOT NULL, - `resource` varchar(255) NOT NULL, - `action` varchar(8) NOT NULL, - UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE -); - -INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE); - -INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN'); diff --git a/sql/ry_seata_20210128.sql b/sql/ry_seata_20210128.sql deleted file mode 100644 index 80aeeffd..00000000 --- a/sql/ry_seata_20210128.sql +++ /dev/null @@ -1,80 +0,0 @@ -DROP DATABASE IF EXISTS `ry-seata`; - -CREATE DATABASE `ry-seata` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - -USE `ry-seata`; - --- -------------------------------- The script used when storeMode is 'db' -------------------------------- --- the table to store GlobalSession data -CREATE TABLE IF NOT EXISTS `global_table` -( - `xid` VARCHAR(128) NOT NULL, - `transaction_id` BIGINT, - `status` TINYINT NOT NULL, - `application_id` VARCHAR(32), - `transaction_service_group` VARCHAR(32), - `transaction_name` VARCHAR(128), - `timeout` INT, - `begin_time` BIGINT, - `application_data` VARCHAR(2000), - `gmt_create` DATETIME, - `gmt_modified` DATETIME, - PRIMARY KEY (`xid`), - KEY `idx_gmt_modified_status` (`gmt_modified`, `status`), - KEY `idx_transaction_id` (`transaction_id`) -) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4; - --- the table to store BranchSession data -CREATE TABLE IF NOT EXISTS `branch_table` -( - `branch_id` BIGINT NOT NULL, - `xid` VARCHAR(128) NOT NULL, - `transaction_id` BIGINT, - `resource_group_id` VARCHAR(32), - `resource_id` VARCHAR(256), - `branch_type` VARCHAR(8), - `status` TINYINT, - `client_id` VARCHAR(64), - `application_data` VARCHAR(2000), - `gmt_create` DATETIME(6), - `gmt_modified` DATETIME(6), - PRIMARY KEY (`branch_id`), - KEY `idx_xid` (`xid`) -) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4; - --- the table to store lock data -CREATE TABLE IF NOT EXISTS `lock_table` -( - `row_key` VARCHAR(128) NOT NULL, - `xid` VARCHAR(96), - `transaction_id` BIGINT, - `branch_id` BIGINT NOT NULL, - `resource_id` VARCHAR(256), - `table_name` VARCHAR(32), - `pk` VARCHAR(36), - `gmt_create` DATETIME, - `gmt_modified` DATETIME, - PRIMARY KEY (`row_key`), - KEY `idx_branch_id` (`branch_id`) -) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4; - --- for AT mode you must to init this sql for you business database. the seata server not need it. -CREATE TABLE IF NOT EXISTS `undo_log` -( - `branch_id` BIGINT(20) NOT NULL COMMENT 'branch transaction id', - `xid` VARCHAR(100) NOT NULL COMMENT 'global transaction id', - `context` VARCHAR(128) NOT NULL COMMENT 'undo_log context,such as serialization', - `rollback_info` LONGBLOB NOT NULL COMMENT 'rollback info', - `log_status` INT(11) NOT NULL COMMENT '0:normal status,1:defense status', - `log_created` DATETIME(6) NOT NULL COMMENT 'create datetime', - `log_modified` DATETIME(6) NOT NULL COMMENT 'modify datetime', - UNIQUE KEY `ux_undo_log` (`xid`, `branch_id`) -) ENGINE = InnoDB - AUTO_INCREMENT = 1 - DEFAULT CHARSET = utf8mb4 COMMENT ='AT transaction mode undo table'; \ No newline at end of file From d1783d9d831ac2c337b0dc5743159d1e8e4c30c5 Mon Sep 17 00:00:00 2001 From: 1332987 <13329870472@163.com> Date: Tue, 19 Apr 2022 13:29:25 +0800 Subject: [PATCH 02/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0TODO=20=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E7=89=88=E6=9C=AC=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 26 +++++++++++++++++--------- ruoyi-ui/package.json | 2 +- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 662d6e75..ef3f394c 100644 --- a/README.md +++ b/README.md @@ -57,15 +57,15 @@ com.ruoyi ## 鍐呯疆鍔熻兘 -1. 鐢ㄦ埛绠$悊锛氱敤鎴锋槸绯荤粺鎿嶄綔鑰咃紝璇ュ姛鑳戒富瑕佸畬鎴愮郴缁熺敤鎴烽厤缃 -2. 閮ㄩ棬绠$悊锛氶厤缃郴缁熺粍缁囨満鏋勶紙鍏徃銆侀儴闂ㄣ佸皬缁勶級锛屾爲缁撴瀯灞曠幇鏀寔鏁版嵁鏉冮檺銆 -3. 宀椾綅绠$悊锛氶厤缃郴缁熺敤鎴锋墍灞炴媴浠昏亴鍔° -4. 鑿滃崟绠$悊锛氶厤缃郴缁熻彍鍗曪紝鎿嶄綔鏉冮檺锛屾寜閽潈闄愭爣璇嗙瓑銆 -5. 瑙掕壊绠$悊锛氳鑹茶彍鍗曟潈闄愬垎閰嶃佽缃鑹叉寜鏈烘瀯杩涜鏁版嵁鑼冨洿鏉冮檺鍒掑垎銆 -6. 瀛楀吀绠$悊锛氬绯荤粺涓粡甯镐娇鐢ㄧ殑涓浜涜緝涓哄浐瀹氱殑鏁版嵁杩涜缁存姢銆 -7. 鍙傛暟绠$悊锛氬绯荤粺鍔ㄦ侀厤缃父鐢ㄥ弬鏁般 -8. 閫氱煡鍏憡锛氱郴缁熼氱煡鍏憡淇℃伅鍙戝竷缁存姢銆 -9. 鎿嶄綔鏃ュ織锛氱郴缁熸甯告搷浣滄棩蹇楄褰曞拰鏌ヨ锛涚郴缁熷紓甯镐俊鎭棩蹇楄褰曞拰鏌ヨ銆 +1. 鐢ㄦ埛绠$悊锛氱敤鎴锋槸绯荤粺鎿嶄綔鑰咃紝璇ュ姛鑳戒富瑕佸畬鎴愮郴缁熺敤鎴烽厤缃 +2. 閮ㄩ棬绠$悊锛氶厤缃郴缁熺粍缁囨満鏋勶紙鍏徃銆侀儴闂ㄣ佸皬缁勶級锛屾爲缁撴瀯灞曠幇鏀寔鏁版嵁鏉冮檺銆 +3. 宀椾綅绠$悊锛氶厤缃郴缁熺敤鎴锋墍灞炴媴浠昏亴鍔° +4. 鑿滃崟绠$悊锛氶厤缃郴缁熻彍鍗曪紝鎿嶄綔鏉冮檺锛屾寜閽潈闄愭爣璇嗙瓑銆 +5. 瑙掕壊绠$悊锛氳鑹茶彍鍗曟潈闄愬垎閰嶃佽缃鑹叉寜鏈烘瀯杩涜鏁版嵁鑼冨洿鏉冮檺鍒掑垎銆 +6. 瀛楀吀绠$悊锛氬绯荤粺涓粡甯镐娇鐢ㄧ殑涓浜涜緝涓哄浐瀹氱殑鏁版嵁杩涜缁存姢銆 +7. 鍙傛暟绠$悊锛氬绯荤粺鍔ㄦ侀厤缃父鐢ㄥ弬鏁般 +8. 閫氱煡鍏憡锛氱郴缁熼氱煡鍏憡淇℃伅鍙戝竷缁存姢銆 +9. 鎿嶄綔鏃ュ織锛氱郴缁熸甯告搷浣滄棩蹇楄褰曞拰鏌ヨ锛涚郴缁熷紓甯镐俊鎭棩蹇楄褰曞拰鏌ヨ銆 10. 鐧诲綍鏃ュ織锛氱郴缁熺櫥褰曟棩蹇楄褰曟煡璇㈠寘鍚櫥褰曞紓甯搞 11. 鍦ㄧ嚎鐢ㄦ埛锛氬綋鍓嶇郴缁熶腑娲昏穬鐢ㄦ埛鐘舵佺洃鎺с 12. 瀹氭椂浠诲姟锛氬湪绾匡紙娣诲姞銆佷慨鏀广佸垹闄)浠诲姟璋冨害鍖呭惈鎵ц缁撴灉鏃ュ織銆 @@ -75,6 +75,14 @@ com.ruoyi 16. 鍦ㄧ嚎鏋勫缓鍣細鎷栧姩琛ㄥ崟鍏冪礌鐢熸垚鐩稿簲鐨凥TML浠g爜銆 17. 杩炴帴姹犵洃瑙嗭細鐩戣褰撳墠绯荤粺鏁版嵁搴撹繛鎺ユ睜鐘舵侊紝鍙繘琛屽垎鏋怱QL鎵惧嚭绯荤粺鎬ц兘鐡堕銆 + + +## TODO + +- 鐢╯mart-doc + Torna 鏇挎崲鎺塻wagger +- 寮曞叆mybatis-plus +- 鏃ュ織浣跨敤ELK + ## 鍦ㄧ嚎浣撻獙 - admin/admin123 diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index 7d7438b4..cf5de1da 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -39,7 +39,7 @@ "@riophae/vue-treeselect": "0.4.0", "axios": "0.24.0", "clipboard": "2.0.8", - "core-js": "3.19.1", + "core-js": "^3.22.0", "echarts": "4.9.0", "element-ui": "2.15.8", "file-saver": "2.0.5", From c392e8fb1675b7b0506418334dc0cca1fdabf0ba Mon Sep 17 00:00:00 2001 From: 1332987 <13329870472@163.com> Date: Tue, 19 Apr 2022 18:03:35 +0800 Subject: [PATCH 03/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0TODO=20=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E8=A7=84=E7=BA=A6=E6=89=AB=E6=8F=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 + ruoyi-common/ruoyi-common-core/pom.xml | 5 + .../ruoyi/common/core/annotation/Excel.java | 35 +++- .../ruoyi/common/core/enums/UserStatus.java | 14 +- .../core/exception/GlobalException.java | 3 +- .../core/exception/ServiceException.java | 3 +- .../core/exception/job/TaskException.java | 22 ++- .../com/ruoyi/common/core/text/Convert.java | 12 +- .../common/core/utils/html/HTMLFilter.java | 42 ++--- .../ruoyi/common/core/utils/ip/IpUtils.java | 167 +++++++----------- .../common/core/utils/poi/ExcelUtil.java | 8 +- .../ruoyi/common/core/utils/sign/Base64.java | 64 +++---- .../com/ruoyi/common/core/utils/uuid/Seq.java | 8 +- .../ruoyi/common/core/utils/uuid/UUID.java | 4 +- .../core/exception/ServiceExceptionTest.java | 40 +++++ .../common/security/config/WebMvcConfig.java | 4 +- .../handler/GlobalExceptionHandler.java | 20 +-- .../common/security/service/TokenService.java | 8 +- .../com/ruoyi/file/utils/FileUploadUtils.java | 2 +- 19 files changed, 265 insertions(+), 198 deletions(-) create mode 100644 ruoyi-common/ruoyi-common-core/src/main/test/java/com/ruoyi/common/core/exception/ServiceExceptionTest.java diff --git a/README.md b/README.md index ef3f394c..4497b8c2 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,8 @@ com.ruoyi ## TODO +- 娣诲姞lombok +- 閫氳繃浠g爜瑙勭害鎵弿 - 鐢╯mart-doc + Torna 鏇挎崲鎺塻wagger - 寮曞叆mybatis-plus - 鏃ュ織浣跨敤ELK diff --git a/ruoyi-common/ruoyi-common-core/pom.xml b/ruoyi-common/ruoyi-common-core/pom.xml index 8f30556f..a485e339 100644 --- a/ruoyi-common/ruoyi-common-core/pom.xml +++ b/ruoyi-common/ruoyi-common-core/pom.xml @@ -118,6 +118,11 @@ io.swagger swagger-annotations + + org.junit.jupiter + junit-jupiter + test + diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/annotation/Excel.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/annotation/Excel.java index f78fbbe7..60b7e839 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/annotation/Excel.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/annotation/Excel.java @@ -117,8 +117,11 @@ public @interface Excel public String[] args() default {}; public enum Align - { - AUTO(0), LEFT(1), CENTER(2), RIGHT(3); + { //AUTO( + AUTO(0), + LEFT(1), + CENTER(2), + RIGHT(3); private final int value; Align(int value) @@ -138,8 +141,18 @@ public @interface Excel Type type() default Type.ALL; public enum Type - { - ALL(0), EXPORT(1), IMPORT(2); + { /** + * ALL + */ + ALL(0), + /** + * EXPORT + */ + EXPORT(1), + /** + * IMPORT + */ + IMPORT(2); private final int value; Type(int value) @@ -154,8 +167,18 @@ public @interface Excel } public enum ColumnType - { - NUMERIC(0), STRING(1), IMAGE(2); + { /** + * EXPORT + */ + NUMERIC(0), + /** + * EXPORT + */ + STRING(1), + /** + * EXPORT + */ + IMAGE(2); private final int value; ColumnType(int value) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/UserStatus.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/UserStatus.java index 9ff84960..07665ecd 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/UserStatus.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/UserStatus.java @@ -6,8 +6,18 @@ package com.ruoyi.common.core.enums; * @author ruoyi */ public enum UserStatus -{ - OK("0", "姝e父"), DISABLE("1", "鍋滅敤"), DELETED("2", "鍒犻櫎"); +{ /** + * EXPORT + */ + OK("0", "姝e父"), + /** + * EXPORT + */ + DISABLE("1", "鍋滅敤"), + /** + * EXPORT + */ + DELETED("2", "鍒犻櫎"); private final String code; private final String info; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/GlobalException.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/GlobalException.java index 9beb54bd..05c009e2 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/GlobalException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/GlobalException.java @@ -18,7 +18,7 @@ public class GlobalException extends RuntimeException /** * 閿欒鏄庣粏锛屽唴閮ㄨ皟璇曢敊璇 * - * 鍜 {@link CommonResult#getDetailMessage()} 涓鑷寸殑璁捐 + * 鍜 CommonResult#getDetailMessage() 涓鑷寸殑璁捐 */ private String detailMessage; @@ -45,6 +45,7 @@ public class GlobalException extends RuntimeException return this; } + @Override public String getMessage() { return message; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/ServiceException.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/ServiceException.java index d2b7763b..00df0f4d 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/ServiceException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/ServiceException.java @@ -22,7 +22,7 @@ public final class ServiceException extends RuntimeException /** * 閿欒鏄庣粏锛屽唴閮ㄨ皟璇曢敊璇 * - * 鍜 {@link CommonResult#getDetailMessage()} 涓鑷寸殑璁捐 + * 鍜 CommonResult#getDetailMessage() 涓鑷寸殑璁捐 */ private String detailMessage; @@ -49,6 +49,7 @@ public final class ServiceException extends RuntimeException return detailMessage; } + @Override public String getMessage() { return message; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/job/TaskException.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/job/TaskException.java index c98397c1..3ae3a2ea 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/job/TaskException.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/exception/job/TaskException.java @@ -28,7 +28,25 @@ public class TaskException extends Exception } public enum Code - { - TASK_EXISTS, NO_TASK_EXISTS, TASK_ALREADY_STARTED, UNKNOWN, CONFIG_ERROR, TASK_NODE_NOT_AVAILABLE + { /** + * EXPORT + */ + TASK_EXISTS, + /** + * EXPORT + */ + NO_TASK_EXISTS, + /** + * EXPORT + */ + TASK_ALREADY_STARTED, + /** + * EXPORT + */ + UNKNOWN, CONFIG_ERROR, + /** + * EXPORT + */ + TASK_NODE_NOT_AVAILABLE } } \ No newline at end of file diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/text/Convert.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/text/Convert.java index 95a00b73..e34024ab 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/text/Convert.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/text/Convert.java @@ -893,9 +893,9 @@ public class Convert * @param input String. * @return 鍏ㄨ瀛楃涓. */ - public static String toSBC(String input) + public static String tosbc(String input) { - return toSBC(input, null); + return tosbc(input, null); } /** @@ -905,7 +905,7 @@ public class Convert * @param notConvertSet 涓嶆浛鎹㈢殑瀛楃闆嗗悎 * @return 鍏ㄨ瀛楃涓. */ - public static String toSBC(String input, Set notConvertSet) + public static String tosbc(String input, Set notConvertSet) { char c[] = input.toCharArray(); for (int i = 0; i < c.length; i++) @@ -935,9 +935,9 @@ public class Convert * @param input String. * @return 鍗婅瀛楃涓 */ - public static String toDBC(String input) + public static String todbc(String input) { - return toDBC(input, null); + return todbc(input, null); } /** @@ -947,7 +947,7 @@ public class Convert * @param notConvertSet 涓嶆浛鎹㈢殑瀛楃闆嗗悎 * @return 鏇挎崲鍚庣殑瀛楃 */ - public static String toDBC(String text, Set notConvertSet) + public static String todbc(String text, Set notConvertSet) { char c[] = text.toCharArray(); for (int i = 0; i < c.length; i++) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HTMLFilter.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HTMLFilter.java index 1052b55a..2ed9f728 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HTMLFilter.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HTMLFilter.java @@ -104,23 +104,23 @@ public final class HTMLFilter { vAllowed = new HashMap<>(); - final ArrayList a_atts = new ArrayList<>(); - a_atts.add("href"); - a_atts.add("target"); - vAllowed.put("a", a_atts); - - final ArrayList img_atts = new ArrayList<>(); - img_atts.add("src"); - img_atts.add("width"); - img_atts.add("height"); - img_atts.add("alt"); - vAllowed.put("img", img_atts); - - final ArrayList no_atts = new ArrayList<>(); - vAllowed.put("b", no_atts); - vAllowed.put("strong", no_atts); - vAllowed.put("i", no_atts); - vAllowed.put("em", no_atts); + final ArrayList aAtos = new ArrayList<>(); + aAtos.add("href"); + aAtos.add("target"); + vAllowed.put("a", aAtos); + + final ArrayList imgAtts = new ArrayList<>(); + imgAtts.add("src"); + imgAtts.add("width"); + imgAtts.add("height"); + imgAtts.add("alt"); + vAllowed.put("img", imgAtts); + + final ArrayList noAtts = new ArrayList<>(); + vAllowed.put("b", noAtts); + vAllowed.put("strong", noAtts); + vAllowed.put("i", noAtts); + vAllowed.put("em", noAtts); vSelfClosingTags = new String[] { "img" }; vNeedClosingTags = new String[] { "a", "b", "strong", "i", "em" }; @@ -202,7 +202,7 @@ public final class HTMLFilter s = escapeComments(s); - s = balanceHTML(s); + s = balancehtml(s); s = checkTags(s); @@ -237,7 +237,7 @@ public final class HTMLFilter return buf.toString(); } - private String balanceHTML(String s) + private String balancehtml(String s) { if (alwaysMakeTags) { @@ -317,9 +317,9 @@ public final class HTMLFilter return result; } - private static String regexReplace(final Pattern regex_pattern, final String replacement, final String s) + private static String regexReplace(final Pattern regexPattern, final String replacement, final String s) { - Matcher m = regex_pattern.matcher(s); + Matcher m = regexPattern.matcher(s); return m.replaceAll(replacement); } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java index 78186aca..35857802 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java @@ -1,49 +1,43 @@ package com.ruoyi.common.core.utils.ip; +import com.ruoyi.common.core.utils.StringUtils; + +import javax.servlet.http.HttpServletRequest; import java.net.InetAddress; import java.net.UnknownHostException; -import javax.servlet.http.HttpServletRequest; -import com.ruoyi.common.core.utils.StringUtils; /** * 鑾峰彇IP鏂规硶 - * + * * @author ruoyi */ -public class IpUtils -{ +public class IpUtils { /** * 鑾峰彇瀹㈡埛绔疘P - * + * * @param request 璇锋眰瀵硅薄 * @return IP鍦板潃 */ - public static String getIpAddr(HttpServletRequest request) - { - if (request == null) - { - return "unknown"; + public static String getIpAddr(HttpServletRequest request) { + String unknown = "unknown"; + if (request == null) { + return unknown; } String ip = request.getHeader("x-forwarded-for"); - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) - { + if (ip == null || ip.length() == 0 || unknown.equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) - { + if (ip == null || ip.length() == 0 || unknown.equalsIgnoreCase(ip)) { ip = request.getHeader("X-Forwarded-For"); } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) - { + if (ip == null || ip.length() == 0 || unknown.equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) - { + if (ip == null || ip.length() == 0 || unknown.equalsIgnoreCase(ip)) { ip = request.getHeader("X-Real-IP"); } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) - { + if (ip == null || ip.length() == 0 || unknown.equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } @@ -52,84 +46,79 @@ public class IpUtils /** * 妫鏌ユ槸鍚︿负鍐呴儴IP鍦板潃 - * + * * @param ip IP鍦板潃 * @return 缁撴灉 */ - public static boolean internalIp(String ip) - { + public static boolean internalIp(String ip) { byte[] addr = textToNumericFormatV4(ip); return internalIp(addr) || "127.0.0.1".equals(ip); } /** * 妫鏌ユ槸鍚︿负鍐呴儴IP鍦板潃 - * + * * @param addr byte鍦板潃 * @return 缁撴灉 */ - private static boolean internalIp(byte[] addr) - { - if (StringUtils.isNull(addr) || addr.length < 2) - { + private static boolean internalIp(byte[] addr) { + if (StringUtils.isNull(addr) || addr.length < 2) { return true; } final byte b0 = addr[0]; final byte b1 = addr[1]; // 10.x.x.x/8 - final byte SECTION_1 = 0x0A; + final byte SECTION1 = 0x0A; // 172.16.x.x/12 - final byte SECTION_2 = (byte) 0xAC; - final byte SECTION_3 = (byte) 0x10; - final byte SECTION_4 = (byte) 0x1F; + final byte SECTION2 = (byte) 0xAC; + final byte SECTION3 = (byte) 0x10; + final byte SECTION4 = (byte) 0x1F; // 192.168.x.x/16 - final byte SECTION_5 = (byte) 0xC0; - final byte SECTION_6 = (byte) 0xA8; - switch (b0) - { - case SECTION_1: + final byte SECTION5 = (byte) 0xC0; + final byte SECTION6 = (byte) 0xA8; + switch (b0) { + case SECTION1: return true; - case SECTION_2: - if (b1 >= SECTION_3 && b1 <= SECTION_4) - { + case SECTION2: + if (b1 >= SECTION3 && b1 <= SECTION4) { return true; } - case SECTION_5: - switch (b1) - { - case SECTION_6: + case SECTION5: + switch (b1) { + case SECTION6: { return true; + } + default:{ + break; + } } - default: + default: { return false; + } + } } /** * 灏咺Pv4鍦板潃杞崲鎴愬瓧鑺 - * + * * @param text IPv4鍦板潃 * @return byte 瀛楄妭 */ - public static byte[] textToNumericFormatV4(String text) - { - if (text.length() == 0) - { + public static byte[] textToNumericFormatV4(String text) { + if (text.length() == 0) { return null; } byte[] bytes = new byte[4]; String[] elements = text.split("\\.", -1); - try - { + try { long l; int i; - switch (elements.length) - { + switch (elements.length) { case 1: l = Long.parseLong(elements[0]); - if ((l < 0L) || (l > 4294967295L)) - { + if ((l < 0L) || (l > 4294967295L)) { return null; } bytes[0] = (byte) (int) (l >> 24 & 0xFF); @@ -139,14 +128,12 @@ public class IpUtils break; case 2: l = Integer.parseInt(elements[0]); - if ((l < 0L) || (l > 255L)) - { + if ((l < 0L) || (l > 255L)) { return null; } bytes[0] = (byte) (int) (l & 0xFF); l = Integer.parseInt(elements[1]); - if ((l < 0L) || (l > 16777215L)) - { + if ((l < 0L) || (l > 16777215L)) { return null; } bytes[1] = (byte) (int) (l >> 16 & 0xFF); @@ -154,29 +141,24 @@ public class IpUtils bytes[3] = (byte) (int) (l & 0xFF); break; case 3: - for (i = 0; i < 2; ++i) - { + for (i = 0; i < 2; ++i) { l = Integer.parseInt(elements[i]); - if ((l < 0L) || (l > 255L)) - { + if ((l < 0L) || (l > 255L)) { return null; } bytes[i] = (byte) (int) (l & 0xFF); } l = Integer.parseInt(elements[2]); - if ((l < 0L) || (l > 65535L)) - { + if ((l < 0L) || (l > 65535L)) { return null; } bytes[2] = (byte) (int) (l >> 8 & 0xFF); bytes[3] = (byte) (int) (l & 0xFF); break; case 4: - for (i = 0; i < 4; ++i) - { + for (i = 0; i < 4; ++i) { l = Integer.parseInt(elements[i]); - if ((l < 0L) || (l > 255L)) - { + if ((l < 0L) || (l > 255L)) { return null; } bytes[i] = (byte) (int) (l & 0xFF); @@ -185,9 +167,7 @@ public class IpUtils default: return null; } - } - catch (NumberFormatException e) - { + } catch (NumberFormatException e) { return null; } return bytes; @@ -195,34 +175,26 @@ public class IpUtils /** * 鑾峰彇IP鍦板潃 - * + * * @return 鏈湴IP鍦板潃 */ - public static String getHostIp() - { - try - { + public static String getHostIp() { + try { return InetAddress.getLocalHost().getHostAddress(); - } - catch (UnknownHostException e) - { + } catch (UnknownHostException e) { } return "127.0.0.1"; } /** * 鑾峰彇涓绘満鍚 - * + * * @return 鏈湴涓绘満鍚 */ - public static String getHostName() - { - try - { + public static String getHostName() { + try { return InetAddress.getLocalHost().getHostName(); - } - catch (UnknownHostException e) - { + } catch (UnknownHostException e) { } return "鏈煡"; } @@ -233,16 +205,12 @@ public class IpUtils * @param ip 鑾峰緱鐨処P鍦板潃 * @return 绗竴涓潪unknown IP鍦板潃 */ - public static String getMultistageReverseProxyIp(String ip) - { + public static String getMultistageReverseProxyIp(String ip) { // 澶氱骇鍙嶅悜浠g悊妫娴 - if (ip != null && ip.indexOf(",") > 0) - { + if (ip != null && ip.indexOf(",") > 0) { final String[] ips = ip.trim().split(","); - for (String subIp : ips) - { - if (false == isUnknown(subIp)) - { + for (String subIp : ips) { + if (false == isUnknown(subIp)) { ip = subIp; break; } @@ -257,8 +225,7 @@ public class IpUtils * @param checkString 琚娴嬬殑瀛楃涓 * @return 鏄惁鏈煡 */ - public static boolean isUnknown(String checkString) - { + public static boolean isUnknown(String checkString) { return StringUtils.isBlank(checkString) || "unknown".equalsIgnoreCase(checkString); } } \ No newline at end of file diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java index f9df567e..e920a652 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java @@ -73,7 +73,7 @@ public class ExcelUtil /** * Excel sheet鏈澶ц鏁帮紝榛樿65536 */ - public static final int sheetSize = 65536; + public static final int SHEET_SIZE = 65536; /** * 宸ヤ綔琛ㄥ悕绉 @@ -446,7 +446,7 @@ public class ExcelUtil public void writeSheet() { // 鍙栧嚭涓鍏辨湁澶氬皯涓猻heet. - int sheetNo = Math.max(1, (int) Math.ceil(list.size() * 1.0 / sheetSize)); + int sheetNo = Math.max(1, (int) Math.ceil(list.size() * 1.0 / SHEET_SIZE)); for (int index = 0; index < sheetNo; index++) { createSheet(sheetNo, index); @@ -476,8 +476,8 @@ public class ExcelUtil */ public void fillExcelData(int index, Row row) { - int startNo = index * sheetSize; - int endNo = Math.min(startNo + sheetSize, list.size()); + int startNo = index * SHEET_SIZE; + int endNo = Math.min(startNo + SHEET_SIZE, list.size()); for (int i = startNo; i < endNo; i++) { row = sheet.createRow(i + 1 + rownum - startNo); diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/sign/Base64.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/sign/Base64.java index 6f6e8d3d..0ae664a1 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/sign/Base64.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/sign/Base64.java @@ -15,48 +15,48 @@ public final class Base64 static private final int FOURBYTE = 4; static private final int SIGN = -128; static private final char PAD = '='; - static final private byte[] base64Alphabet = new byte[BASELENGTH]; - static final private char[] lookUpBase64Alphabet = new char[LOOKUPLENGTH]; + static final private byte[] BASE_64_ALPHABET = new byte[BASELENGTH]; + static final private char[] LOOK_UP_BASE_64_ALPHABET = new char[LOOKUPLENGTH]; static { for (int i = 0; i < BASELENGTH; ++i) { - base64Alphabet[i] = -1; + BASE_64_ALPHABET[i] = -1; } for (int i = 'Z'; i >= 'A'; i--) { - base64Alphabet[i] = (byte) (i - 'A'); + BASE_64_ALPHABET[i] = (byte) (i - 'A'); } for (int i = 'z'; i >= 'a'; i--) { - base64Alphabet[i] = (byte) (i - 'a' + 26); + BASE_64_ALPHABET[i] = (byte) (i - 'a' + 26); } for (int i = '9'; i >= '0'; i--) { - base64Alphabet[i] = (byte) (i - '0' + 52); + BASE_64_ALPHABET[i] = (byte) (i - '0' + 52); } - base64Alphabet['+'] = 62; - base64Alphabet['/'] = 63; + BASE_64_ALPHABET['+'] = 62; + BASE_64_ALPHABET['/'] = 63; for (int i = 0; i <= 25; i++) { - lookUpBase64Alphabet[i] = (char) ('A' + i); + LOOK_UP_BASE_64_ALPHABET[i] = (char) ('A' + i); } for (int i = 26, j = 0; i <= 51; i++, j++) { - lookUpBase64Alphabet[i] = (char) ('a' + j); + LOOK_UP_BASE_64_ALPHABET[i] = (char) ('a' + j); } for (int i = 52, j = 0; i <= 61; i++, j++) { - lookUpBase64Alphabet[i] = (char) ('0' + j); + LOOK_UP_BASE_64_ALPHABET[i] = (char) ('0' + j); } - lookUpBase64Alphabet[62] = (char) '+'; - lookUpBase64Alphabet[63] = (char) '/'; + LOOK_UP_BASE_64_ALPHABET[62] = (char) '+'; + LOOK_UP_BASE_64_ALPHABET[63] = (char) '/'; } private static boolean isWhiteSpace(char octect) @@ -71,7 +71,7 @@ public final class Base64 private static boolean isData(char octect) { - return (octect < BASELENGTH && base64Alphabet[octect] != -1); + return (octect < BASELENGTH && BASE_64_ALPHABET[octect] != -1); } /** @@ -118,10 +118,10 @@ public final class Base64 byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0); byte val3 = ((b3 & SIGN) == 0) ? (byte) (b3 >> 6) : (byte) ((b3) >> 6 ^ 0xfc); - encodedData[encodedIndex++] = lookUpBase64Alphabet[val1]; - encodedData[encodedIndex++] = lookUpBase64Alphabet[val2 | (k << 4)]; - encodedData[encodedIndex++] = lookUpBase64Alphabet[(l << 2) | val3]; - encodedData[encodedIndex++] = lookUpBase64Alphabet[b3 & 0x3f]; + encodedData[encodedIndex++] = LOOK_UP_BASE_64_ALPHABET[val1]; + encodedData[encodedIndex++] = LOOK_UP_BASE_64_ALPHABET[val2 | (k << 4)]; + encodedData[encodedIndex++] = LOOK_UP_BASE_64_ALPHABET[(l << 2) | val3]; + encodedData[encodedIndex++] = LOOK_UP_BASE_64_ALPHABET[b3 & 0x3f]; } // form integral number of 6-bit groups @@ -130,8 +130,8 @@ public final class Base64 b1 = binaryData[dataIndex]; k = (byte) (b1 & 0x03); byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0); - encodedData[encodedIndex++] = lookUpBase64Alphabet[val1]; - encodedData[encodedIndex++] = lookUpBase64Alphabet[k << 4]; + encodedData[encodedIndex++] = LOOK_UP_BASE_64_ALPHABET[val1]; + encodedData[encodedIndex++] = LOOK_UP_BASE_64_ALPHABET[k << 4]; encodedData[encodedIndex++] = PAD; encodedData[encodedIndex++] = PAD; } @@ -145,9 +145,9 @@ public final class Base64 byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0); byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0); - encodedData[encodedIndex++] = lookUpBase64Alphabet[val1]; - encodedData[encodedIndex++] = lookUpBase64Alphabet[val2 | (k << 4)]; - encodedData[encodedIndex++] = lookUpBase64Alphabet[l << 2]; + encodedData[encodedIndex++] = LOOK_UP_BASE_64_ALPHABET[val1]; + encodedData[encodedIndex++] = LOOK_UP_BASE_64_ALPHABET[val2 | (k << 4)]; + encodedData[encodedIndex++] = LOOK_UP_BASE_64_ALPHABET[l << 2]; encodedData[encodedIndex++] = PAD; } return new String(encodedData); @@ -200,10 +200,10 @@ public final class Base64 return null; } // if found "no data" just return null - b1 = base64Alphabet[d1]; - b2 = base64Alphabet[d2]; - b3 = base64Alphabet[d3]; - b4 = base64Alphabet[d4]; + b1 = BASE_64_ALPHABET[d1]; + b2 = BASE_64_ALPHABET[d2]; + b3 = BASE_64_ALPHABET[d3]; + b4 = BASE_64_ALPHABET[d4]; decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4); decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf)); @@ -215,8 +215,8 @@ public final class Base64 return null;// if found "no data" just return null } - b1 = base64Alphabet[d1]; - b2 = base64Alphabet[d2]; + b1 = BASE_64_ALPHABET[d1]; + b2 = BASE_64_ALPHABET[d2]; d3 = base64Data[dataIndex++]; d4 = base64Data[dataIndex++]; @@ -235,7 +235,7 @@ public final class Base64 } else if (!isPad(d3) && isPad(d4)) { - b3 = base64Alphabet[d3]; + b3 = BASE_64_ALPHABET[d3]; if ((b3 & 0x3) != 0)// last 2 bits should be zero { return null; @@ -253,8 +253,8 @@ public final class Base64 } else { // No PAD e.g 3cQl - b3 = base64Alphabet[d3]; - b4 = base64Alphabet[d4]; + b3 = BASE_64_ALPHABET[d3]; + b4 = BASE_64_ALPHABET[d4]; decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4); decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf)); decodedData[encodedIndex++] = (byte) (b3 << 6 | b4); diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/Seq.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/Seq.java index d0fddd27..d1be983b 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/Seq.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/Seq.java @@ -10,10 +10,10 @@ import com.ruoyi.common.core.utils.StringUtils; public class Seq { // 閫氱敤搴忓垪绫诲瀷 - public static final String commSeqType = "COMMON"; + public static final String COMM_SEQ_TYPE = "COMMON"; // 涓婁紶搴忓垪绫诲瀷 - public static final String uploadSeqType = "UPLOAD"; + public static final String UPLOAD_SEQ_TYPE = "UPLOAD"; // 閫氱敤鎺ュ彛搴忓垪鏁 private static AtomicInteger commSeq = new AtomicInteger(1); @@ -31,7 +31,7 @@ public class Seq */ public static String getId() { - return getId(commSeqType); + return getId(COMM_SEQ_TYPE); } /** @@ -42,7 +42,7 @@ public class Seq public static String getId(String type) { AtomicInteger atomicInt = commSeq; - if (uploadSeqType.equals(type)) + if (UPLOAD_SEQ_TYPE.equals(type)) { atomicInt = uploadSeq; } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java index b10955af..a0cf8ddf 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java @@ -22,7 +22,7 @@ public final class UUID implements java.io.Serializable, Comparable */ private static class Holder { - static final SecureRandom numberGenerator = getSecureRandom(); + static final SecureRandom NUMBER_GENERATOR = getSecureRandom(); } /** 姝UID鐨勬渶楂64鏈夋晥浣 */ @@ -93,7 +93,7 @@ public final class UUID implements java.io.Serializable, Comparable */ public static UUID randomUUID(boolean isSecure) { - final Random ng = isSecure ? Holder.numberGenerator : getRandom(); + final Random ng = isSecure ? Holder.NUMBER_GENERATOR : getRandom(); byte[] randomBytes = new byte[16]; ng.nextBytes(randomBytes); diff --git a/ruoyi-common/ruoyi-common-core/src/main/test/java/com/ruoyi/common/core/exception/ServiceExceptionTest.java b/ruoyi-common/ruoyi-common-core/src/main/test/java/com/ruoyi/common/core/exception/ServiceExceptionTest.java new file mode 100644 index 00000000..b8977659 --- /dev/null +++ b/ruoyi-common/ruoyi-common-core/src/main/test/java/com/ruoyi/common/core/exception/ServiceExceptionTest.java @@ -0,0 +1,40 @@ +package com.ruoyi.common.core.exception; + + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class ServiceExceptionTest { + + @BeforeEach + void setUp() { + System.out.println("up"); + } + + @AfterEach + void tearDown() { + System.out.println("down"); + } + + @Test + void testThirdTest() { + GlobalException globalException2 = new GlobalException(""); + globalException2.getMessage(); + globalException2.getDetailMessage(); + globalException2.setDetailMessage(""); + throw globalException2; + } + + @Test + void testThirdTest2() { + GlobalException globalException2 = new GlobalException(); + globalException2.getMessage(); + globalException2.getDetailMessage(); + System.out.println(globalException2.getMessage()); + System.out.println(globalException2.getDetailMessage()); + System.out.println(globalException2.setDetailMessage("")); + globalException2.setDetailMessage(""); + throw globalException2; + } +} \ No newline at end of file diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/WebMvcConfig.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/WebMvcConfig.java index b3fa247a..b2420261 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/WebMvcConfig.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/WebMvcConfig.java @@ -12,14 +12,14 @@ import com.ruoyi.common.security.interceptor.HeaderInterceptor; public class WebMvcConfig implements WebMvcConfigurer { /** 涓嶉渶瑕佹嫤鎴湴鍧 */ - public static final String[] excludeUrls = { "/login", "/logout", "/refresh" }; + public static final String[] EXCLUDE_URLS = { "/login", "/logout", "/refresh" }; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(getHeaderInterceptor()) .addPathPatterns("/**") - .excludePathPatterns(excludeUrls) + .excludePathPatterns(EXCLUDE_URLS) .order(-10); } diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/handler/GlobalExceptionHandler.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/handler/GlobalExceptionHandler.java index 998b78f5..5a9da772 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/handler/GlobalExceptionHandler.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/handler/GlobalExceptionHandler.java @@ -33,8 +33,8 @@ public class GlobalExceptionHandler @ExceptionHandler(NotPermissionException.class) public AjaxResult handleNotPermissionException(NotPermissionException e, HttpServletRequest request) { - String requestURI = request.getRequestURI(); - log.error("璇锋眰鍦板潃'{}',鏉冮檺鐮佹牎楠屽け璐'{}'", requestURI, e.getMessage()); + String requestUri = request.getRequestURI(); + log.error("璇锋眰鍦板潃'{}',鏉冮檺鐮佹牎楠屽け璐'{}'", requestUri, e.getMessage()); return AjaxResult.error(HttpStatus.FORBIDDEN, "娌℃湁璁块棶鏉冮檺锛岃鑱旂郴绠$悊鍛樻巿鏉"); } @@ -44,8 +44,8 @@ public class GlobalExceptionHandler @ExceptionHandler(NotRoleException.class) public AjaxResult handleNotRoleException(NotRoleException e, HttpServletRequest request) { - String requestURI = request.getRequestURI(); - log.error("璇锋眰鍦板潃'{}',瑙掕壊鏉冮檺鏍¢獙澶辫触'{}'", requestURI, e.getMessage()); + String requestUri = request.getRequestURI(); + log.error("璇锋眰鍦板潃'{}',瑙掕壊鏉冮檺鏍¢獙澶辫触'{}'", requestUri, e.getMessage()); return AjaxResult.error(HttpStatus.FORBIDDEN, "娌℃湁璁块棶鏉冮檺锛岃鑱旂郴绠$悊鍛樻巿鏉"); } @@ -56,8 +56,8 @@ public class GlobalExceptionHandler public AjaxResult handleHttpRequestMethodNotSupported(HttpRequestMethodNotSupportedException e, HttpServletRequest request) { - String requestURI = request.getRequestURI(); - log.error("璇锋眰鍦板潃'{}',涓嶆敮鎸'{}'璇锋眰", requestURI, e.getMethod()); + String requestUri = request.getRequestURI(); + log.error("璇锋眰鍦板潃'{}',涓嶆敮鎸'{}'璇锋眰", requestUri, e.getMethod()); return AjaxResult.error(e.getMessage()); } @@ -78,8 +78,8 @@ public class GlobalExceptionHandler @ExceptionHandler(RuntimeException.class) public AjaxResult handleRuntimeException(RuntimeException e, HttpServletRequest request) { - String requestURI = request.getRequestURI(); - log.error("璇锋眰鍦板潃'{}',鍙戠敓鏈煡寮傚父.", requestURI, e); + String requestUri = request.getRequestURI(); + log.error("璇锋眰鍦板潃'{}',鍙戠敓鏈煡寮傚父.", requestUri, e); return AjaxResult.error(e.getMessage()); } @@ -89,8 +89,8 @@ public class GlobalExceptionHandler @ExceptionHandler(Exception.class) public AjaxResult handleException(Exception e, HttpServletRequest request) { - String requestURI = request.getRequestURI(); - log.error("璇锋眰鍦板潃'{}',鍙戠敓绯荤粺寮傚父.", requestURI, e); + String requestUri = request.getRequestURI(); + log.error("璇锋眰鍦板潃'{}',鍙戠敓绯荤粺寮傚父.", requestUri, e); return AjaxResult.error(e.getMessage()); } diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java index b3093c9c..bcf90b27 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java @@ -32,7 +32,7 @@ public class TokenService protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND; - private final static long expireTime = CacheConstants.EXPIRATION; + private final static long EXPIRE_TIME = CacheConstants.EXPIRATION; private final static String ACCESS_TOKEN = CacheConstants.LOGIN_TOKEN_KEY; @@ -61,7 +61,7 @@ public class TokenService // 鎺ュ彛杩斿洖淇℃伅 Map rspMap = new HashMap(); rspMap.put("access_token", JwtUtils.createToken(claimsMap)); - rspMap.put("expires_in", expireTime); + rspMap.put("expires_in", EXPIRE_TIME); return rspMap; } @@ -156,10 +156,10 @@ public class TokenService public void refreshToken(LoginUser loginUser) { loginUser.setLoginTime(System.currentTimeMillis()); - loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE); + loginUser.setExpireTime(loginUser.getLoginTime() + EXPIRE_TIME * MILLIS_MINUTE); // 鏍规嵁uuid灏唋oginUser缂撳瓨 String userKey = getTokenKey(loginUser.getToken()); - redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES); + redisService.setCacheObject(userKey, loginUser, EXPIRE_TIME, TimeUnit.MINUTES); } private String getTokenKey(String token) diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/FileUploadUtils.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/FileUploadUtils.java index e73631a2..b317ec9d 100644 --- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/FileUploadUtils.java +++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/FileUploadUtils.java @@ -88,7 +88,7 @@ public class FileUploadUtils public static final String extractFilename(MultipartFile file) { return StringUtils.format("{}/{}_{}.{}", DateUtils.datePath(), - FilenameUtils.getBaseName(file.getOriginalFilename()), Seq.getId(Seq.uploadSeqType), getExtension(file)); + FilenameUtils.getBaseName(file.getOriginalFilename()), Seq.getId(Seq.UPLOAD_SEQ_TYPE), getExtension(file)); } private static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException From 1157caddfd540738c7fe0a4ef75c5b4e4a2ed68e Mon Sep 17 00:00:00 2001 From: 1332987 <13329870472@163.com> Date: Wed, 20 Apr 2022 09:48:00 +0800 Subject: [PATCH 04/14] =?UTF-8?q?alibaba=E4=BB=A3=E7=A0=81=E8=A7=84?= =?UTF-8?q?=E7=BA=A6=E6=89=AB=E6=8F=8F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/system/api/RemoteFileService.java | 4 +- .../ruoyi/system/api/RemoteLogService.java | 6 +- .../ruoyi/system/api/RemoteUserService.java | 6 +- .../factory/RemoteFileFallbackFactory.java | 6 +- .../api/factory/RemoteLogFallbackFactory.java | 6 +- .../factory/RemoteUserFallbackFactory.java | 10 +- .../auth/controller/TokenController.java | 20 +- .../ruoyi/auth/service/SysLoginService.java | 12 +- .../core/context/SecurityContextHolder.java | 2 +- .../common/core/domain/{R.java => Rust.java} | 211 +++--- .../com/ruoyi/common/core/text/Convert.java | 7 +- .../com/ruoyi/common/core/utils/ReUtil.java | 11 +- .../ruoyi/common/core/utils/ServletUtils.java | 6 +- .../ruoyi/common/core/utils/StringUtils.java | 11 +- .../common/core/utils/file/FileTypeUtils.java | 13 +- .../common/core/utils/html/EscapeUtil.java | 2 +- .../html/{HTMLFilter.java => HtmlFilter.java} | 245 ++---- .../ruoyi/common/core/utils/ip/IpUtils.java | 24 +- .../common/core/utils/poi/ExcelUtil.java | 706 +++++++----------- .../core/utils/reflect/ReflectUtils.java | 32 +- .../ruoyi/common/core/utils/sign/Base64.java | 147 ++-- .../ruoyi/common/core/utils/uuid/IdUtils.java | 16 +- .../com/ruoyi/common/core/utils/uuid/Seq.java | 20 +- .../ruoyi/common/core/utils/uuid/UUID.java | 20 +- .../common/core/web/domain/BaseEntity.java | 5 +- .../annotation/EnableCustomConfig.java | 15 +- .../security/aspect/InnerAuthAspect.java | 7 +- .../common/security/service/TokenService.java | 21 +- .../annotation/EnableCustomSwagger2.java | 13 +- .../config/SwaggerAutoConfiguration.java | 22 +- .../swagger/config/SwaggerProperties.java | 10 +- .../gateway/config/KaptchaTextCreator.java | 7 +- .../com/ruoyi/gateway/filter/AuthFilter.java | 6 +- .../com/ruoyi/gateway/filter/XssFilter.java | 21 +- .../ruoyi/gateway/handler/SwaggerHandler.java | 15 +- .../service/impl/ValidateCodeServiceImpl.java | 2 +- .../file/controller/SysFileController.java | 10 +- .../ruoyi/gen/controller/GenController.java | 28 +- .../gen/service/GenTableServiceImpl.java | 58 +- .../java/com/ruoyi/gen/util/GenUtils.java | 149 ++-- .../com/ruoyi/job/config/ScheduleConfig.java | 1 - .../com/ruoyi/job/service/ISysJobService.java | 11 +- .../controller/SysProfileController.java | 4 +- .../system/controller/SysUserController.java | 16 +- .../system/mapper/SysLogininforMapper.java | 4 +- .../ruoyi/system/mapper/SysOperLogMapper.java | 4 +- .../system/service/ISysLogininforService.java | 4 +- .../system/service/ISysPermissionService.java | 3 + .../impl/SysPermissionServiceImpl.java | 12 +- 49 files changed, 820 insertions(+), 1171 deletions(-) rename ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/{R.java => Rust.java} (70%) rename ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/{HTMLFilter.java => HtmlFilter.java} (76%) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteFileService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteFileService.java index ae56a54a..b85890b2 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteFileService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteFileService.java @@ -6,7 +6,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestPart; import org.springframework.web.multipart.MultipartFile; import com.ruoyi.common.core.constant.ServiceNameConstants; -import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.Rust; import com.ruoyi.system.api.domain.SysFile; import com.ruoyi.system.api.factory.RemoteFileFallbackFactory; @@ -25,5 +25,5 @@ public interface RemoteFileService * @return 缁撴灉 */ @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public R upload(@RequestPart(value = "file") MultipartFile file); + public Rust upload(@RequestPart(value = "file") MultipartFile file); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteLogService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteLogService.java index b8df7954..3b3353ec 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteLogService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteLogService.java @@ -6,7 +6,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.ServiceNameConstants; -import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.Rust; import com.ruoyi.system.api.domain.SysLogininfor; import com.ruoyi.system.api.domain.SysOperLog; import com.ruoyi.system.api.factory.RemoteLogFallbackFactory; @@ -27,7 +27,7 @@ public interface RemoteLogService * @return 缁撴灉 */ @PostMapping("/operlog") - public R saveLog(@RequestBody SysOperLog sysOperLog, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + public Rust saveLog(@RequestBody SysOperLog sysOperLog, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 淇濆瓨璁块棶璁板綍 @@ -37,5 +37,5 @@ public interface RemoteLogService * @return 缁撴灉 */ @PostMapping("/logininfor") - public R saveLogininfor(@RequestBody SysLogininfor sysLogininfor, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + public Rust saveLogininfor(@RequestBody SysLogininfor sysLogininfor, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java index e7fe34c5..17b19742 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java @@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.ServiceNameConstants; -import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.Rust; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.factory.RemoteUserFallbackFactory; import com.ruoyi.system.api.model.LoginUser; @@ -29,7 +29,7 @@ public interface RemoteUserService * @return 缁撴灉 */ @GetMapping("/user/info/{username}") - public R getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + public Rust getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 娉ㄥ唽鐢ㄦ埛淇℃伅 @@ -39,5 +39,5 @@ public interface RemoteUserService * @return 缁撴灉 */ @PostMapping("/user/register") - public R registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + public Rust registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteFileFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteFileFallbackFactory.java index bc3b6fff..8c226bc2 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteFileFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteFileFallbackFactory.java @@ -5,7 +5,7 @@ import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; -import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.Rust; import com.ruoyi.system.api.RemoteFileService; import com.ruoyi.system.api.domain.SysFile; @@ -26,9 +26,9 @@ public class RemoteFileFallbackFactory implements FallbackFactory upload(MultipartFile file) + public Rust upload(MultipartFile file) { - return R.fail("涓婁紶鏂囦欢澶辫触:" + throwable.getMessage()); + return Rust.fail("涓婁紶鏂囦欢澶辫触:" + throwable.getMessage()); } }; } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java index a1b63151..dd2c1f9a 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java @@ -4,7 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; -import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.Rust; import com.ruoyi.system.api.RemoteLogService; import com.ruoyi.system.api.domain.SysLogininfor; import com.ruoyi.system.api.domain.SysOperLog; @@ -26,13 +26,13 @@ public class RemoteLogFallbackFactory implements FallbackFactory saveLog(SysOperLog sysOperLog, String source) + public Rust saveLog(SysOperLog sysOperLog, String source) { return null; } @Override - public R saveLogininfor(SysLogininfor sysLogininfor, String source) + public Rust saveLogininfor(SysLogininfor sysLogininfor, String source) { return null; } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java index 8fd6c677..b9fb99c0 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java @@ -4,7 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; -import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.Rust; import com.ruoyi.system.api.RemoteUserService; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.model.LoginUser; @@ -26,15 +26,15 @@ public class RemoteUserFallbackFactory implements FallbackFactory getUserInfo(String username, String source) + public Rust getUserInfo(String username, String source) { - return R.fail("鑾峰彇鐢ㄦ埛澶辫触:" + throwable.getMessage()); + return Rust.fail("鑾峰彇鐢ㄦ埛澶辫触:" + throwable.getMessage()); } @Override - public R registerUserInfo(SysUser sysUser, String source) + public Rust registerUserInfo(SysUser sysUser, String source) { - return R.fail("娉ㄥ唽鐢ㄦ埛澶辫触:" + throwable.getMessage()); + return Rust.fail("娉ㄥ唽鐢ㄦ埛澶辫触:" + throwable.getMessage()); } }; } diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java index 3b93514e..0d1bb2c7 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java @@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.RestController; import com.ruoyi.auth.form.LoginBody; import com.ruoyi.auth.form.RegisterBody; import com.ruoyi.auth.service.SysLoginService; -import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.Rust; import com.ruoyi.common.core.utils.JwtUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.security.auth.AuthUtil; @@ -32,16 +32,16 @@ public class TokenController private SysLoginService sysLoginService; @PostMapping("login") - public R> login(@RequestBody LoginBody form) + public Rust> login(@RequestBody LoginBody form) { // 鐢ㄦ埛鐧诲綍 LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); // 鑾峰彇鐧诲綍token - return R.ok(tokenService.createToken(userInfo)); + return Rust.ok(tokenService.createToken(userInfo)); } @DeleteMapping("logout") - public R> logout(HttpServletRequest request) + public Rust> logout(HttpServletRequest request) { String token = SecurityUtils.getToken(request); if (StringUtils.isNotEmpty(token)) @@ -52,27 +52,27 @@ public class TokenController // 璁板綍鐢ㄦ埛閫鍑烘棩蹇 sysLoginService.logout(username); } - return R.ok(); + return Rust.ok(); } @PostMapping("refresh") - public R> refresh(HttpServletRequest request) + public Rust> refresh(HttpServletRequest request) { LoginUser loginUser = tokenService.getLoginUser(request); if (StringUtils.isNotNull(loginUser)) { // 鍒锋柊浠ょ墝鏈夋晥鏈 tokenService.refreshToken(loginUser); - return R.ok(); + return Rust.ok(); } - return R.ok(); + return Rust.ok(); } @PostMapping("register") - public R> register(@RequestBody RegisterBody registerBody) + public Rust> register(@RequestBody RegisterBody registerBody) { // 鐢ㄦ埛娉ㄥ唽 sysLoginService.register(registerBody.getUsername(), registerBody.getPassword()); - return R.ok(); + return Rust.ok(); } } diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java index 48939939..8d46265d 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java @@ -5,7 +5,7 @@ import org.springframework.stereotype.Component; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.UserConstants; -import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.Rust; import com.ruoyi.common.core.enums.UserStatus; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.ServletUtils; @@ -58,9 +58,9 @@ public class SysLoginService throw new ServiceException("鐢ㄦ埛鍚嶄笉鍦ㄦ寚瀹氳寖鍥"); } // 鏌ヨ鐢ㄦ埛淇℃伅 - R userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER); + Rust userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER); - if (R.FAIL == userResult.getCode()) + if (Rust.FAIL == userResult.getCode()) { throw new ServiceException(userResult.getMsg()); } @@ -122,9 +122,9 @@ public class SysLoginService sysUser.setUserName(username); sysUser.setNickName(username); sysUser.setPassword(SecurityUtils.encryptPassword(password)); - R> registerResult = remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER); + Rust> registerResult = remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER); - if (R.FAIL == registerResult.getCode()) + if (Rust.FAIL == registerResult.getCode()) { throw new ServiceException(registerResult.getMsg()); } @@ -156,4 +156,4 @@ public class SysLoginService } remoteLogService.saveLogininfor(logininfor, SecurityConstants.INNER); } -} \ No newline at end of file +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/context/SecurityContextHolder.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/context/SecurityContextHolder.java index 0a66f38f..866eee5f 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/context/SecurityContextHolder.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/context/SecurityContextHolder.java @@ -40,7 +40,7 @@ public class SecurityContextHolder Map map = THREAD_LOCAL.get(); if (map == null) { - map = new ConcurrentHashMap(); + map = new ConcurrentHashMap(2); THREAD_LOCAL.set(map); } return map; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/R.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/Rust.java similarity index 70% rename from ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/R.java rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/Rust.java index 8f055531..b80d483f 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/R.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/domain/Rust.java @@ -1,105 +1,106 @@ -package com.ruoyi.common.core.domain; - -import java.io.Serializable; -import com.ruoyi.common.core.constant.Constants; - -/** - * 鍝嶅簲淇℃伅涓讳綋 - * - * @author ruoyi - */ -public class R implements Serializable -{ - private static final long serialVersionUID = 1L; - - /** 鎴愬姛 */ - public static final int SUCCESS = Constants.SUCCESS; - - /** 澶辫触 */ - public static final int FAIL = Constants.FAIL; - - private int code; - - private String msg; - - private T data; - - public static R ok() - { - return restResult(null, SUCCESS, null); - } - - public static R ok(T data) - { - return restResult(data, SUCCESS, null); - } - - public static R ok(T data, String msg) - { - return restResult(data, SUCCESS, msg); - } - - public static R fail() - { - return restResult(null, FAIL, null); - } - - public static R fail(String msg) - { - return restResult(null, FAIL, msg); - } - - public static R fail(T data) - { - return restResult(data, FAIL, null); - } - - public static R fail(T data, String msg) - { - return restResult(data, FAIL, msg); - } - - public static R fail(int code, String msg) - { - return restResult(null, code, msg); - } - - private static R restResult(T data, int code, String msg) - { - R apiResult = new R<>(); - apiResult.setCode(code); - apiResult.setData(data); - apiResult.setMsg(msg); - return apiResult; - } - - public int getCode() - { - return code; - } - - public void setCode(int code) - { - this.code = code; - } - - public String getMsg() - { - return msg; - } - - public void setMsg(String msg) - { - this.msg = msg; - } - - public T getData() - { - return data; - } - - public void setData(T data) - { - this.data = data; - } -} +package com.ruoyi.common.core.domain; + +import com.ruoyi.common.core.constant.Constants; + +import java.io.Serializable; + +/** + * 鍝嶅簲淇℃伅涓讳綋 + * + * @author ruoyi + */ +public class Rust implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 鎴愬姛 */ + public static final int SUCCESS = Constants.SUCCESS; + + /** 澶辫触 */ + public static final int FAIL = Constants.FAIL; + + private int code; + + private String msg; + + private T data; + + public static Rust ok() + { + return restResult(null, SUCCESS, null); + } + + public static Rust ok(T data) + { + return restResult(data, SUCCESS, null); + } + + public static Rust ok(T data, String msg) + { + return restResult(data, SUCCESS, msg); + } + + public static Rust fail() + { + return restResult(null, FAIL, null); + } + + public static Rust fail(String msg) + { + return restResult(null, FAIL, msg); + } + + public static Rust fail(T data) + { + return restResult(data, FAIL, null); + } + + public static Rust fail(T data, String msg) + { + return restResult(data, FAIL, msg); + } + + public static Rust fail(int code, String msg) + { + return restResult(null, code, msg); + } + + private static Rust restResult(T data, int code, String msg) + { + Rust apiResult = new Rust<>(); + apiResult.setCode(code); + apiResult.setData(data); + apiResult.setMsg(msg); + return apiResult; + } + + public int getCode() + { + return code; + } + + public void setCode(int code) + { + this.code = code; + } + + public String getMsg() + { + return msg; + } + + public void setMsg(String msg) + { + this.msg = msg; + } + + public T getData() + { + return data; + } + + public void setData(T data) + { + this.data = data; + } +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/text/Convert.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/text/Convert.java index e34024ab..ac9c503e 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/text/Convert.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/text/Convert.java @@ -1,12 +1,13 @@ package com.ruoyi.common.core.text; +import com.ruoyi.common.core.utils.StringUtils; + import java.math.BigDecimal; import java.math.BigInteger; import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.text.NumberFormat; import java.util.Set; -import com.ruoyi.common.core.utils.StringUtils; /** * 绫诲瀷杞崲鍣 @@ -907,7 +908,7 @@ public class Convert */ public static String tosbc(String input, Set notConvertSet) { - char c[] = input.toCharArray(); + char[] c = input.toCharArray(); for (int i = 0; i < c.length; i++) { if (null != notConvertSet && notConvertSet.contains(c[i])) @@ -949,7 +950,7 @@ public class Convert */ public static String todbc(String text, Set notConvertSet) { - char c[] = text.toCharArray(); + char[] c = text.toCharArray(); for (int i = 0; i < c.length; i++) { if (null != notConvertSet && notConvertSet.contains(c[i])) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ReUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ReUtil.java index 466d14fe..cc4b6a95 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ReUtil.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ReUtil.java @@ -1,5 +1,7 @@ package com.ruoyi.common.core.utils; +import com.ruoyi.common.core.text.Convert; + import java.util.Arrays; import java.util.Collection; import java.util.HashSet; @@ -7,11 +9,10 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; -import com.ruoyi.common.core.text.Convert; -import com.ruoyi.common.core.utils.StringUtils; - -public class ReUtil -{ +/** + * @author pan + */ +public class ReUtil { public final static Pattern GROUP_VAR = Pattern.compile("\\$(\\d+)"); /** diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java index be2817c9..8f091237 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java @@ -20,7 +20,7 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.core.constant.Constants; -import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.Rust; import com.ruoyi.common.core.text.Convert; import reactor.core.publisher.Mono; @@ -251,7 +251,7 @@ public class ServletUtils */ public static Mono webFluxResponseWriter(ServerHttpResponse response, Object value) { - return webFluxResponseWriter(response, HttpStatus.OK, value, R.FAIL); + return webFluxResponseWriter(response, HttpStatus.OK, value, Rust.FAIL); } /** @@ -295,7 +295,7 @@ public class ServletUtils { response.setStatusCode(status); response.getHeaders().add(HttpHeaders.CONTENT_TYPE, contentType); - R> result = R.fail(code, value.toString()); + Rust> result = Rust.fail(code, value.toString()); DataBuffer dataBuffer = response.bufferFactory().wrap(JSONObject.toJSONString(result).getBytes()); return response.writeWith(Mono.just(dataBuffer)); } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java index 562a3482..26811285 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java @@ -1,11 +1,12 @@ package com.ruoyi.common.core.utils; +import com.ruoyi.common.core.constant.Constants; +import com.ruoyi.common.core.text.StrFormatter; +import org.springframework.util.AntPathMatcher; + import java.util.Collection; import java.util.List; import java.util.Map; -import org.springframework.util.AntPathMatcher; -import com.ruoyi.common.core.constant.Constants; -import com.ruoyi.common.core.text.StrFormatter; /** * 瀛楃涓插伐鍏风被 @@ -332,9 +333,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils if (preCharIsUpperCase && curreCharIsUpperCase && !nexteCharIsUpperCase) { sb.append(SEPARATOR); - } - else if ((i != 0 && !preCharIsUpperCase) && curreCharIsUpperCase) - { + } else if (i != 0 && !preCharIsUpperCase && curreCharIsUpperCase) { sb.append(SEPARATOR); } sb.append(Character.toLowerCase(c)); diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/file/FileTypeUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/file/FileTypeUtils.java index 1629fcd4..387bfbc1 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/file/FileTypeUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/file/FileTypeUtils.java @@ -1,8 +1,9 @@ package com.ruoyi.common.core.utils.file; -import java.io.File; import org.apache.commons.lang3.StringUtils; +import java.io.File; + /** * 鏂囦欢绫诲瀷宸ュ叿绫 * @@ -54,10 +55,10 @@ public class FileTypeUtils public static String getFileExtendName(byte[] photoByte) { String strFileExtendName = "JPG"; - if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56) - && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97)) - { - strFileExtendName = "GIF"; + if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56) && (photoByte[5] == 97)) { + if ((photoByte[4] == 55) || (photoByte[4] == 57)) { + strFileExtendName = "GIF"; + } } else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70)) { @@ -73,4 +74,4 @@ public class FileTypeUtils } return strFileExtendName; } -} \ No newline at end of file +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/EscapeUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/EscapeUtil.java index 2f5a8721..e8b7357f 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/EscapeUtil.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/EscapeUtil.java @@ -58,7 +58,7 @@ public class EscapeUtil */ public static String clean(String content) { - return new HTMLFilter().filter(content); + return new HtmlFilter().filter(content); } /** diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HTMLFilter.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HtmlFilter.java similarity index 76% rename from ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HTMLFilter.java rename to ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HtmlFilter.java index 2ed9f728..a79a7512 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HTMLFilter.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HtmlFilter.java @@ -1,10 +1,6 @@ package com.ruoyi.common.core.utils.html; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.regex.Matcher; @@ -15,8 +11,7 @@ import java.util.regex.Pattern; * * @author ruoyi */ -public final class HTMLFilter -{ +public final class HtmlFilter { /** * regex flag union representing /si modifiers in php **/ @@ -45,7 +40,9 @@ public final class HTMLFilter private static final Pattern P_RIGHT_ARROW = Pattern.compile(">"); private static final Pattern P_BOTH_ARROWS = Pattern.compile("<>"); - // @xxx could grow large... maybe use sesat's ReferenceMap + /** + * @xxx could grow large... maybe use sesat's ReferenceMap + */ private static final ConcurrentMap P_REMOVE_PAIR_BLANKS = new ConcurrentHashMap<>(); private static final ConcurrentMap P_REMOVE_SELF_BLANKS = new ConcurrentHashMap<>(); @@ -100,8 +97,7 @@ public final class HTMLFilter /** * Default constructor. */ - public HTMLFilter() - { + public HtmlFilter() { vAllowed = new HashMap<>(); final ArrayList aAtos = new ArrayList<>(); @@ -122,13 +118,13 @@ public final class HTMLFilter vAllowed.put("i", noAtts); vAllowed.put("em", noAtts); - vSelfClosingTags = new String[] { "img" }; - vNeedClosingTags = new String[] { "a", "b", "strong", "i", "em" }; - vDisallowed = new String[] {}; - vAllowedProtocols = new String[] { "http", "mailto", "https" }; // no ftp. - vProtocolAtts = new String[] { "src", "href" }; - vRemoveBlanks = new String[] { "a", "b", "strong", "i", "em" }; - vAllowedEntities = new String[] { "amp", "gt", "lt", "quot" }; + vSelfClosingTags = new String[]{"img"}; + vNeedClosingTags = new String[]{"a", "b", "strong", "i", "em"}; + vDisallowed = new String[]{}; + vAllowedProtocols = new String[]{"http", "mailto", "https"}; // no ftp. + vProtocolAtts = new String[]{"src", "href"}; + vRemoveBlanks = new String[]{"a", "b", "strong", "i", "em"}; + vAllowedEntities = new String[]{"amp", "gt", "lt", "quot"}; stripComment = true; encodeQuotes = true; alwaysMakeTags = false; @@ -140,8 +136,7 @@ public final class HTMLFilter * @param conf map containing configuration. keys match field names. */ @SuppressWarnings("unchecked") - public HTMLFilter(final Map conf) - { + public HtmlFilter(final Map conf) { assert conf.containsKey("vAllowed") : "configuration requires vAllowed"; assert conf.containsKey("vSelfClosingTags") : "configuration requires vSelfClosingTags"; @@ -165,20 +160,22 @@ public final class HTMLFilter alwaysMakeTags = conf.containsKey("alwaysMakeTags") ? (Boolean) conf.get("alwaysMakeTags") : true; } - private void reset() - { + private void reset() { vTagCounts.clear(); } // --------------------------------------------------------------- - // my versions of some PHP library functions - public static String chr(final int decimal) - { + + /** + * my versions of some PHP library functions + * @param decimal / + * @return / + */ + public static String chr(final int decimal) { return String.valueOf((char) decimal); } - public static String htmlSpecialChars(final String s) - { + public static String htmlSpecialChars(final String s) { String result = s; result = regexReplace(P_AMP, "&", result); result = regexReplace(P_QUOTE, """, result); @@ -195,8 +192,7 @@ public final class HTMLFilter * @param input text (i.e. submitted by a user) than may contain html * @return "clean" version of input, with only valid, whitelisted html elements allowed */ - public String filter(final String input) - { + public String filter(final String input) { reset(); String s = input; @@ -213,22 +209,18 @@ public final class HTMLFilter return s; } - public boolean isAlwaysMakeTags() - { + public boolean isAlwaysMakeTags() { return alwaysMakeTags; } - public boolean isStripComments() - { + public boolean isStripComments() { return stripComment; } - private String escapeComments(final String s) - { + private String escapeComments(final String s) { final Matcher m = P_COMMENTS.matcher(s); final StringBuffer buf = new StringBuffer(); - if (m.find()) - { + if (m.find()) { final String match = m.group(1); // (.*?) m.appendReplacement(buf, Matcher.quoteReplacement("")); } @@ -237,10 +229,8 @@ public final class HTMLFilter return buf.toString(); } - private String balancehtml(String s) - { - if (alwaysMakeTags) - { + private String balancehtml(String s) { + if (alwaysMakeTags) { // // try and form html // @@ -249,9 +239,7 @@ public final class HTMLFilter s = regexReplace(P_BODY_TO_END, "<$1>", s); s = regexReplace(P_XML_CONTENT, "$1<$2", s); - } - else - { + } else { // // escape stray brackets // @@ -269,13 +257,11 @@ public final class HTMLFilter return s; } - private String checkTags(String s) - { + private String checkTags(String s) { Matcher m = P_TAGS.matcher(s); final StringBuffer buf = new StringBuffer(); - while (m.find()) - { + while (m.find()) { String replaceStr = m.group(1); replaceStr = processTag(replaceStr); m.appendReplacement(buf, Matcher.quoteReplacement(replaceStr)); @@ -285,10 +271,8 @@ public final class HTMLFilter // these get tallied in processTag // (remember to reset before subsequent calls to filter method) final StringBuilder sBuilder = new StringBuilder(buf.toString()); - for (String key : vTagCounts.keySet()) - { - for (int ii = 0; ii < vTagCounts.get(key); ii++) - { + for (String key : vTagCounts.keySet()) { + for (int ii = 0; ii < vTagCounts.get(key); ii++) { sBuilder.append("").append(key).append(">"); } } @@ -297,18 +281,14 @@ public final class HTMLFilter return s; } - private String processRemoveBlanks(final String s) - { + private String processRemoveBlanks(final String s) { String result = s; - for (String tag : vRemoveBlanks) - { - if (!P_REMOVE_PAIR_BLANKS.containsKey(tag)) - { + for (String tag : vRemoveBlanks) { + if (!P_REMOVE_PAIR_BLANKS.containsKey(tag)) { P_REMOVE_PAIR_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?>" + tag + ">")); } result = regexReplace(P_REMOVE_PAIR_BLANKS.get(tag), "", result); - if (!P_REMOVE_SELF_BLANKS.containsKey(tag)) - { + if (!P_REMOVE_SELF_BLANKS.containsKey(tag)) { P_REMOVE_SELF_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?/>")); } result = regexReplace(P_REMOVE_SELF_BLANKS.get(tag), "", result); @@ -317,136 +297,93 @@ public final class HTMLFilter return result; } - private static String regexReplace(final Pattern regexPattern, final String replacement, final String s) - { + private static String regexReplace(final Pattern regexPattern, final String replacement, final String s) { Matcher m = regexPattern.matcher(s); return m.replaceAll(replacement); } - private String processTag(final String s) - { - // ending tags + private String processTag(final String s) { Matcher m = P_END_TAG.matcher(s); - if (m.find()) - { + if (m.find()) { final String name = m.group(1).toLowerCase(); - if (allowed(name)) - { - if (false == inArray(name, vSelfClosingTags)) - { - if (vTagCounts.containsKey(name)) - { + if (allowed(name)) { + if (false == inArray(name, vSelfClosingTags)) { + if (vTagCounts.containsKey(name)) { vTagCounts.put(name, vTagCounts.get(name) - 1); return "" + name + ">"; } } } } - // starting tags m = P_START_TAG.matcher(s); - if (m.find()) - { + if (m.find()) { final String name = m.group(1).toLowerCase(); final String body = m.group(2); String ending = m.group(3); - // debug( "in a starting tag, name='" + name + "'; body='" + body + "'; ending='" + ending + "'" ); - if (allowed(name)) - { + if (allowed(name)) { final StringBuilder params = new StringBuilder(); - final Matcher m2 = P_QUOTED_ATTRIBUTES.matcher(body); final Matcher m3 = P_UNQUOTED_ATTRIBUTES.matcher(body); final List paramNames = new ArrayList<>(); final List paramValues = new ArrayList<>(); - while (m2.find()) - { + while (m2.find()) { paramNames.add(m2.group(1)); // ([a-z0-9]+) paramValues.add(m2.group(3)); // (.*?) } - while (m3.find()) - { + while (m3.find()) { paramNames.add(m3.group(1)); // ([a-z0-9]+) paramValues.add(m3.group(3)); // ([^\"\\s']+) } - String paramName, paramValue; - for (int ii = 0; ii < paramNames.size(); ii++) - { + for (int ii = 0; ii < paramNames.size(); ii++) { paramName = paramNames.get(ii).toLowerCase(); paramValue = paramValues.get(ii); - - // debug( "paramName='" + paramName + "'" ); - // debug( "paramValue='" + paramValue + "'" ); - // debug( "allowed? " + vAllowed.get( name ).contains( paramName ) ); - - if (allowedAttribute(name, paramName)) - { - if (inArray(paramName, vProtocolAtts)) - { + if (allowedAttribute(name, paramName)) { + if (inArray(paramName, vProtocolAtts)) { paramValue = processParamProtocol(paramValue); } params.append(' ').append(paramName).append("=\\\"").append(paramValue).append("\""); } } - - if (inArray(name, vSelfClosingTags)) - { + if (inArray(name, vSelfClosingTags)) { ending = " /"; } - - if (inArray(name, vNeedClosingTags)) - { + if (inArray(name, vNeedClosingTags)) { ending = ""; } - - if (ending == null || ending.length() < 1) - { - if (vTagCounts.containsKey(name)) - { + if (ending == null || ending.length() < 1) { + if (vTagCounts.containsKey(name)) { vTagCounts.put(name, vTagCounts.get(name) + 1); - } - else - { + } else { vTagCounts.put(name, 1); } - } - else - { + } else { ending = " /"; } return "<" + name + params + ending + ">"; - } - else - { + } else { return ""; } } - // comments m = P_COMMENT.matcher(s); - if (!stripComment && m.find()) - { + if (!stripComment && m.find()) { return "<" + m.group() + ">"; } - return ""; } - private String processParamProtocol(String s) - { + private String processParamProtocol(String s) { s = decodeEntities(s); final Matcher m = P_PROTOCOL.matcher(s); - if (m.find()) - { + if (m.find()) { final String protocol = m.group(1); - if (!inArray(protocol, vAllowedProtocols)) - { + if (!inArray(protocol, vAllowedProtocols)) { // bad protocol, turn into local anchor link instead s = "#" + s.substring(protocol.length() + 1); - if (s.startsWith("#//")) - { + if (s.startsWith("#//")) { s = "#" + s.substring(3); } } @@ -455,13 +392,11 @@ public final class HTMLFilter return s; } - private String decodeEntities(String s) - { + private String decodeEntities(String s) { StringBuffer buf = new StringBuffer(); Matcher m = P_ENTITY.matcher(s); - while (m.find()) - { + while (m.find()) { final String match = m.group(1); final int decimal = Integer.decode(match).intValue(); m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); @@ -471,8 +406,7 @@ public final class HTMLFilter buf = new StringBuffer(); m = P_ENTITY_UNICODE.matcher(s); - while (m.find()) - { + while (m.find()) { final String match = m.group(1); final int decimal = Integer.valueOf(match, 16).intValue(); m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); @@ -482,8 +416,7 @@ public final class HTMLFilter buf = new StringBuffer(); m = P_ENCODE.matcher(s); - while (m.find()) - { + while (m.find()) { final String match = m.group(1); final int decimal = Integer.valueOf(match, 16).intValue(); m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); @@ -495,14 +428,12 @@ public final class HTMLFilter return s; } - private String validateEntities(final String s) - { + private String validateEntities(final String s) { StringBuffer buf = new StringBuffer(); // validate entities throughout the string Matcher m = P_VALID_ENTITIES.matcher(s); - while (m.find()) - { + while (m.find()) { final String one = m.group(1); // ([^&;]*) final String two = m.group(2); // (?=(;|&|$)) m.appendReplacement(buf, Matcher.quoteReplacement(checkEntity(one, two))); @@ -512,14 +443,11 @@ public final class HTMLFilter return encodeQuotes(buf.toString()); } - private String encodeQuotes(final String s) - { - if (encodeQuotes) - { + private String encodeQuotes(final String s) { + if (encodeQuotes) { StringBuffer buf = new StringBuffer(); Matcher m = P_VALID_QUOTES.matcher(s); - while (m.find()) - { + while (m.find()) { final String one = m.group(1); // (>|^) final String two = m.group(2); // ([^<]+?) final String three = m.group(3); // (<|$) @@ -528,43 +456,34 @@ public final class HTMLFilter } m.appendTail(buf); return buf.toString(); - } - else - { + } else { return s; } } - private String checkEntity(final String preamble, final String term) - { + private String checkEntity(final String preamble, final String term) { return ";".equals(term) && isValidEntity(preamble) ? '&' + preamble : "&" + preamble; } - private boolean isValidEntity(final String entity) - { + private boolean isValidEntity(final String entity) { return inArray(entity, vAllowedEntities); } - private static boolean inArray(final String s, final String[] array) - { - for (String item : array) - { - if (item != null && item.equals(s)) - { + private static boolean inArray(final String s, final String[] array) { + for (String item : array) { + if (item != null && item.equals(s)) { return true; } } return false; } - private boolean allowed(final String name) - { + private boolean allowed(final String name) { return (vAllowed.isEmpty() || vAllowed.containsKey(name)) && !inArray(name, vDisallowed); } - private boolean allowedAttribute(final String name, final String paramName) - { + private boolean allowedAttribute(final String name, final String paramName) { return allowed(name) && (vAllowed.isEmpty() || vAllowed.get(name).contains(paramName)); } -} \ No newline at end of file +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java index 35857802..9978afc3 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java @@ -68,24 +68,24 @@ public class IpUtils { final byte b0 = addr[0]; final byte b1 = addr[1]; // 10.x.x.x/8 - final byte SECTION1 = 0x0A; + final byte section1 = 0x0A; // 172.16.x.x/12 - final byte SECTION2 = (byte) 0xAC; - final byte SECTION3 = (byte) 0x10; - final byte SECTION4 = (byte) 0x1F; + final byte section2 = (byte) 0xAC; + final byte section3 = (byte) 0x10; + final byte section4 = (byte) 0x1F; // 192.168.x.x/16 - final byte SECTION5 = (byte) 0xC0; - final byte SECTION6 = (byte) 0xA8; + final byte section5 = (byte) 0xC0; + final byte section6 = (byte) 0xA8; switch (b0) { - case SECTION1: + case section1: return true; - case SECTION2: - if (b1 >= SECTION3 && b1 <= SECTION4) { + case section2: + if (b1 >= section3 && b1 <= section4) { return true; } - case SECTION5: + case section5: switch (b1) { - case SECTION6: { + case section6: { return true; } default:{ @@ -228,4 +228,4 @@ public class IpUtils { public static boolean isUnknown(String checkString) { return StringUtils.isBlank(checkString) || "unknown".equalsIgnoreCase(checkString); } -} \ No newline at end of file +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java index e920a652..461c4f6f 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java @@ -1,51 +1,5 @@ package com.ruoyi.common.core.utils.poi; -import java.io.IOException; -import java.io.InputStream; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.math.BigDecimal; -import java.text.DecimalFormat; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; -import javax.servlet.http.HttpServletResponse; -import org.apache.commons.lang3.RegExUtils; -import org.apache.poi.ss.usermodel.BorderStyle; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.CellStyle; -import org.apache.poi.ss.usermodel.CellType; -import org.apache.poi.ss.usermodel.ClientAnchor; -import org.apache.poi.ss.usermodel.DataValidation; -import org.apache.poi.ss.usermodel.DataValidationConstraint; -import org.apache.poi.ss.usermodel.DataValidationHelper; -import org.apache.poi.ss.usermodel.DateUtil; -import org.apache.poi.ss.usermodel.Drawing; -import org.apache.poi.ss.usermodel.FillPatternType; -import org.apache.poi.ss.usermodel.Font; -import org.apache.poi.ss.usermodel.HorizontalAlignment; -import org.apache.poi.ss.usermodel.IndexedColors; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.VerticalAlignment; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.ss.usermodel.WorkbookFactory; -import org.apache.poi.ss.util.CellRangeAddress; -import org.apache.poi.ss.util.CellRangeAddressList; -import org.apache.poi.util.IOUtils; -import org.apache.poi.xssf.streaming.SXSSFWorkbook; -import org.apache.poi.xssf.usermodel.XSSFClientAnchor; -import org.apache.poi.xssf.usermodel.XSSFDataValidation; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import com.ruoyi.common.core.annotation.Excel; import com.ruoyi.common.core.annotation.Excel.ColumnType; import com.ruoyi.common.core.annotation.Excel.Type; @@ -56,19 +10,40 @@ import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.file.FileTypeUtils; import com.ruoyi.common.core.utils.file.ImageUtils; import com.ruoyi.common.core.utils.reflect.ReflectUtils; +import org.apache.commons.lang3.RegExUtils; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.ss.util.CellRangeAddressList; +import org.apache.poi.util.IOUtils; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFClientAnchor; +import org.apache.poi.xssf.usermodel.XSSFDataValidation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; /** * Excel鐩稿叧澶勭悊 * * @author ruoyi */ -public class ExcelUtil -{ +public class ExcelUtil { private static final Logger log = LoggerFactory.getLogger(ExcelUtil.class); public static final String FORMULA_REGEX_STR = "=|-|\\+|@"; - public static final String[] FORMULA_STR = { "=", "-", "+", "@" }; + public static final String[] FORMULA_STR = {"=", "-", "+", "@"}; /** * Excel sheet鏈澶ц鏁帮紝榛樿65536 @@ -140,15 +115,12 @@ public class ExcelUtil */ public Class clazz; - public ExcelUtil(Class clazz) - { + public ExcelUtil(Class clazz) { this.clazz = clazz; } - public void init(List list, String sheetName, String title, Type type) - { - if (list == null) - { + public void init(List list, String sheetName, String title, Type type) { + if (list == null) { list = new ArrayList(); } this.list = list; @@ -163,10 +135,8 @@ public class ExcelUtil /** * 鍒涘缓excel绗竴琛屾爣棰 */ - public void createTitle() - { - if (StringUtils.isNotEmpty(title)) - { + public void createTitle() { + if (StringUtils.isNotEmpty(title)) { Row titleRow = sheet.createRow(rownum == 0 ? rownum++ : 0); titleRow.setHeightInPoints(30); Cell titleCell = titleRow.createCell(0); @@ -183,20 +153,18 @@ public class ExcelUtil * @param is 杈撳叆娴 * @return 杞崲鍚庨泦鍚 */ - public List importExcel(InputStream is) throws Exception - { + public List importExcel(InputStream is) throws Exception { return importExcel(is, 0); } /** * 瀵筫xcel琛ㄥ崟榛樿绗竴涓储寮曞悕杞崲鎴恖ist * - * @param is 杈撳叆娴 + * @param is 杈撳叆娴 * @param titleNum 鏍囬鍗犵敤琛屾暟 * @return 杞崲鍚庨泦鍚 */ - public List importExcel(InputStream is, int titleNum) throws Exception - { + public List importExcel(InputStream is, int titleNum) throws Exception { return importExcel(StringUtils.EMPTY, is, titleNum); } @@ -204,182 +172,156 @@ public class ExcelUtil * 瀵筫xcel琛ㄥ崟鎸囧畾琛ㄦ牸绱㈠紩鍚嶈浆鎹㈡垚list * * @param sheetName 琛ㄦ牸绱㈠紩鍚 - * @param titleNum 鏍囬鍗犵敤琛屾暟 - * @param is 杈撳叆娴 + * @param titleNum 鏍囬鍗犵敤琛屾暟 + * @param is 杈撳叆娴 * @return 杞崲鍚庨泦鍚 */ - public List importExcel(String sheetName, InputStream is, int titleNum) throws Exception - { + public List importExcel(String sheetName, InputStream is, int titleNum) throws Exception { this.type = Type.IMPORT; this.wb = WorkbookFactory.create(is); List list = new ArrayList(); // 濡傛灉鎸囧畾sheet鍚,鍒欏彇鎸囧畾sheet涓殑鍐呭 鍚﹀垯榛樿鎸囧悜绗1涓猻heet Sheet sheet = StringUtils.isNotEmpty(sheetName) ? wb.getSheet(sheetName) : wb.getSheetAt(0); - if (sheet == null) - { + if (sheet == null) { throw new IOException("鏂囦欢sheet涓嶅瓨鍦"); } - // 鑾峰彇鏈鍚庝竴涓潪绌鸿鐨勮涓嬫爣锛屾瘮濡傛昏鏁颁负n锛屽垯杩斿洖鐨勪负n-1 int rows = sheet.getLastRowNum(); - - if (rows > 0) - { + if (rows > 0) { // 瀹氫箟涓涓猰ap鐢ㄤ簬瀛樻斁excel鍒楃殑搴忓彿鍜宖ield. - Map cellMap = new HashMap(); + Map cellMap = new HashMap(2); // 鑾峰彇琛ㄥご Row heard = sheet.getRow(titleNum); - for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++) - { + for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++) { Cell cell = heard.getCell(i); - if (StringUtils.isNotNull(cell)) - { + if (StringUtils.isNotNull(cell)) { String value = this.getCellValue(heard, i).toString(); cellMap.put(value, i); - } - else - { + } else { cellMap.put(null, i); } } // 鏈夋暟鎹椂鎵嶅鐞 寰楀埌绫荤殑鎵鏈塮ield. List fields = this.getFields(); - Map fieldsMap = new HashMap(); - for (Object[] objects : fields) - { + Map fieldsMap = new HashMap(2); + for (Object[] objects : fields) { Excel attr = (Excel) objects[1]; Integer column = cellMap.get(attr.name()); - if (column != null) - { + if (column != null) { fieldsMap.put(column, objects); } } - for (int i = titleNum + 1; i <= rows; i++) - { + for (int i = titleNum + 1; i <= rows; i++) { // 浠庣2琛屽紑濮嬪彇鏁版嵁,榛樿绗竴琛屾槸琛ㄥご. Row row = sheet.getRow(i); // 鍒ゆ柇褰撳墠琛屾槸鍚︽槸绌鸿 - if (isRowEmpty(row)) - { + if (isRowEmpty(row)) { continue; } T entity = null; - for (Map.Entry entry : fieldsMap.entrySet()) - { - Object val = this.getCellValue(row, entry.getKey()); - - // 濡傛灉涓嶅瓨鍦ㄥ疄渚嬪垯鏂板缓. - entity = (entity == null ? clazz.newInstance() : entity); - // 浠巑ap涓緱鍒板搴斿垪鐨刦ield. - Field field = (Field) entry.getValue()[0]; - Excel attr = (Excel) entry.getValue()[1]; - // 鍙栧緱绫诲瀷,骞舵牴鎹璞$被鍨嬭缃. - Class> fieldType = field.getType(); - if (String.class == fieldType) - { - String s = Convert.toStr(val); - if (StringUtils.endsWith(s, ".0")) - { - val = StringUtils.substringBefore(s, ".0"); - } - else - { - String dateFormat = field.getAnnotation(Excel.class).dateFormat(); - if (StringUtils.isNotEmpty(dateFormat)) - { - val = parseDateToStr(dateFormat, val); - } - else - { - val = Convert.toStr(val); - } - } + importExcelExpand(entity, fieldsMap.entrySet(), row); + list.add(entity); + } + } + return list; + } + + /** + * importExcel鏂规硶鎷撳睍 鍗曟柟娉曚笉瓒呰繃80琛屼唬鐮 + * + * @param entity / + * @param entries / + * @param row / + * @throws InstantiationException + * @throws IllegalAccessException + */ + public void importExcelExpand(T entity, Set> entries, Row row) throws InstantiationException, IllegalAccessException { + + for (Map.Entry entry : entries) { + Object val = this.getCellValue(row, entry.getKey()); + + // 濡傛灉涓嶅瓨鍦ㄥ疄渚嬪垯鏂板缓. + entity = (entity == null ? clazz.newInstance() : entity); + // 浠巑ap涓緱鍒板搴斿垪鐨刦ield. + Field field = (Field) entry.getValue()[0]; + Excel attr = (Excel) entry.getValue()[1]; + // 鍙栧緱绫诲瀷,骞舵牴鎹璞$被鍨嬭缃. + Class> fieldType = field.getType(); + if (String.class == fieldType) { + String s = Convert.toStr(val); + if (StringUtils.endsWith(s, ".0")) { + val = StringUtils.substringBefore(s, ".0"); + } else { + String dateFormat = field.getAnnotation(Excel.class).dateFormat(); + if (StringUtils.isNotEmpty(dateFormat)) { + val = parseDateToStr(dateFormat, val); + } else { + val = Convert.toStr(val); } - else if ((Integer.TYPE == fieldType || Integer.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val))) - { + } + } else { + if (StringUtils.isNumeric(Convert.toStr(val))) { + if (Integer.TYPE == fieldType || Integer.class == fieldType) { val = Convert.toInt(val); - } - else if ((Long.TYPE == fieldType || Long.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val))) - { + } else if (Long.TYPE == fieldType || Long.class == fieldType) { val = Convert.toLong(val); } - else if (Double.TYPE == fieldType || Double.class == fieldType) - { + } else { + if (Double.TYPE == fieldType || Double.class == fieldType) { val = Convert.toDouble(val); - } - else if (Float.TYPE == fieldType || Float.class == fieldType) - { + } else if (Float.TYPE == fieldType || Float.class == fieldType) { val = Convert.toFloat(val); - } - else if (BigDecimal.class == fieldType) - { + } else if (BigDecimal.class == fieldType) { val = Convert.toBigDecimal(val); - } - else if (Date.class == fieldType) - { - if (val instanceof String) - { + } else if (Date.class == fieldType) { + if (val instanceof String) { val = DateUtils.parseDate(val); - } - else if (val instanceof Double) - { + } else if (val instanceof Double) { val = DateUtil.getJavaDate((Double) val); } - } - else if (Boolean.TYPE == fieldType || Boolean.class == fieldType) - { + } else if (Boolean.TYPE == fieldType || Boolean.class == fieldType) { val = Convert.toBool(val, false); } - if (StringUtils.isNotNull(fieldType)) - { - String propertyName = field.getName(); - if (StringUtils.isNotEmpty(attr.targetAttr())) - { - propertyName = field.getName() + "." + attr.targetAttr(); - } - else if (StringUtils.isNotEmpty(attr.readConverterExp())) - { - val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator()); - } - else if (!attr.handler().equals(ExcelHandlerAdapter.class)) - { - val = dataFormatHandlerAdapter(val, attr); - } - ReflectUtils.invokeSetter(entity, propertyName, val); - } } - list.add(entity); + } + if (StringUtils.isNotNull(fieldType)) { + String propertyName = field.getName(); + if (StringUtils.isNotEmpty(attr.targetAttr())) { + propertyName = field.getName() + "." + attr.targetAttr(); + } else if (StringUtils.isNotEmpty(attr.readConverterExp())) { + val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator()); + } else if (!attr.handler().equals(ExcelHandlerAdapter.class)) { + val = dataFormatHandlerAdapter(val, attr); + } + ReflectUtils.invokeSetter(entity, propertyName, val); } } - return list; } /** * 瀵筶ist鏁版嵁婧愬皢鍏堕噷闈㈢殑鏁版嵁瀵煎叆鍒癳xcel琛ㄥ崟 * - * @param response 杩斿洖鏁版嵁 - * @param list 瀵煎嚭鏁版嵁闆嗗悎 + * @param response 杩斿洖鏁版嵁 + * @param list 瀵煎嚭鏁版嵁闆嗗悎 * @param sheetName 宸ヤ綔琛ㄧ殑鍚嶇О * @return 缁撴灉 * @throws IOException */ - public void exportExcel(HttpServletResponse response, List list, String sheetName) - { + public void exportExcel(HttpServletResponse response, List list, String sheetName) { exportExcel(response, list, sheetName, StringUtils.EMPTY); } /** * 瀵筶ist鏁版嵁婧愬皢鍏堕噷闈㈢殑鏁版嵁瀵煎叆鍒癳xcel琛ㄥ崟 * - * @param response 杩斿洖鏁版嵁 - * @param list 瀵煎嚭鏁版嵁闆嗗悎 + * @param response 杩斿洖鏁版嵁 + * @param list 瀵煎嚭鏁版嵁闆嗗悎 * @param sheetName 宸ヤ綔琛ㄧ殑鍚嶇О - * @param title 鏍囬 + * @param title 鏍囬 * @return 缁撴灉 * @throws IOException */ - public void exportExcel(HttpServletResponse response, List list, String sheetName, String title) - { + public void exportExcel(HttpServletResponse response, List list, String sheetName, String title) { response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); this.init(list, sheetName, title, Type.EXPORT); @@ -398,8 +340,7 @@ public class ExcelUtil * @param sheetName 宸ヤ綔琛ㄧ殑鍚嶇О * @return 缁撴灉 */ - public void importTemplateExcel(HttpServletResponse response, String sheetName) - { + public void importTemplateExcel(HttpServletResponse response, String sheetName) { importTemplateExcel(response, sheetName, StringUtils.EMPTY); } @@ -407,11 +348,10 @@ public class ExcelUtil * 瀵筶ist鏁版嵁婧愬皢鍏堕噷闈㈢殑鏁版嵁瀵煎叆鍒癳xcel琛ㄥ崟 * * @param sheetName 宸ヤ綔琛ㄧ殑鍚嶇О - * @param title 鏍囬 + * @param title 鏍囬 * @return 缁撴灉 */ - public void importTemplateExcel(HttpServletResponse response, String sheetName, String title) - { + public void importTemplateExcel(HttpServletResponse response, String sheetName, String title) { response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); this.init(null, sheetName, title, Type.IMPORT); @@ -423,19 +363,13 @@ public class ExcelUtil * * @return 缁撴灉 */ - public void exportExcel(HttpServletResponse response) - { - try - { + public void exportExcel(HttpServletResponse response) { + try { writeSheet(); wb.write(response.getOutputStream()); - } - catch (Exception e) - { + } catch (Exception e) { log.error("瀵煎嚭Excel寮傚父{}", e.getMessage()); - } - finally - { + } finally { IOUtils.closeQuietly(wb); } } @@ -443,25 +377,21 @@ public class ExcelUtil /** * 鍒涘缓鍐欏叆鏁版嵁鍒癝heet */ - public void writeSheet() - { + public void writeSheet() { // 鍙栧嚭涓鍏辨湁澶氬皯涓猻heet. int sheetNo = Math.max(1, (int) Math.ceil(list.size() * 1.0 / SHEET_SIZE)); - for (int index = 0; index < sheetNo; index++) - { + for (int index = 0; index < sheetNo; index++) { createSheet(sheetNo, index); // 浜х敓涓琛 Row row = sheet.createRow(rownum); int column = 0; // 鍐欏叆鍚勪釜瀛楁鐨勫垪澶村悕绉 - for (Object[] os : fields) - { + for (Object[] os : fields) { Excel excel = (Excel) os[1]; this.createCell(excel, row, column++); } - if (Type.EXPORT.equals(type)) - { + if (Type.EXPORT.equals(type)) { fillExcelData(index, row); addStatisticsRow(); } @@ -472,20 +402,17 @@ public class ExcelUtil * 濉厖excel鏁版嵁 * * @param index 搴忓彿 - * @param row 鍗曞厓鏍艰 + * @param row 鍗曞厓鏍艰 */ - public void fillExcelData(int index, Row row) - { + public void fillExcelData(int index, Row row) { int startNo = index * SHEET_SIZE; int endNo = Math.min(startNo + SHEET_SIZE, list.size()); - for (int i = startNo; i < endNo; i++) - { + for (int i = startNo; i < endNo; i++) { row = sheet.createRow(i + 1 + rownum - startNo); // 寰楀埌瀵煎嚭瀵硅薄. T vo = (T) list.get(i); int column = 0; - for (Object[] os : fields) - { + for (Object[] os : fields) { Field field = (Field) os[0]; Excel excel = (Excel) os[1]; this.addCell(excel, row, vo, field, column++); @@ -499,10 +426,9 @@ public class ExcelUtil * @param wb 宸ヤ綔钖勫璞 * @return 鏍峰紡鍒楄〃 */ - private Map createStyles(Workbook wb) - { + private Map createStyles(Workbook wb) { // 鍐欏叆鍚勬潯璁板綍,姣忔潯璁板綍瀵瑰簲excel琛ㄤ腑鐨勪竴琛 - Map styles = new HashMap(); + Map styles = new HashMap(2); CellStyle style = wb.createCellStyle(); style.setAlignment(HorizontalAlignment.CENTER); style.setVerticalAlignment(VerticalAlignment.CENTER); @@ -574,8 +500,7 @@ public class ExcelUtil /** * 鍒涘缓鍗曞厓鏍 */ - public Cell createCell(Excel attr, Row row, int column) - { + public Cell createCell(Excel attr, Row row, int column) { // 鍒涘缓鍒 Cell cell = row.createCell(column); // 鍐欏叆鍒椾俊鎭 @@ -589,34 +514,25 @@ public class ExcelUtil * 璁剧疆鍗曞厓鏍间俊鎭 * * @param value 鍗曞厓鏍煎 - * @param attr 娉ㄨВ鐩稿叧 - * @param cell 鍗曞厓鏍间俊鎭 + * @param attr 娉ㄨВ鐩稿叧 + * @param cell 鍗曞厓鏍间俊鎭 */ - public void setCellVo(Object value, Excel attr, Cell cell) - { - if (ColumnType.STRING == attr.cellType()) - { + public void setCellVo(Object value, Excel attr, Cell cell) { + if (ColumnType.STRING == attr.cellType()) { String cellValue = Convert.toStr(value); // 瀵逛簬浠讳綍浠ヨ〃杈惧紡瑙﹀彂瀛楃 =-+@寮澶寸殑鍗曞厓鏍硷紝鐩存帴浣跨敤tab瀛楃浣滀负鍓嶇紑锛岄槻姝SV娉ㄥ叆銆 - if (StringUtils.startsWithAny(cellValue, FORMULA_STR)) - { + if (StringUtils.startsWithAny(cellValue, FORMULA_STR)) { cellValue = RegExUtils.replaceFirst(cellValue, FORMULA_REGEX_STR, "\t$0"); } cell.setCellValue(StringUtils.isNull(cellValue) ? attr.defaultValue() : cellValue + attr.suffix()); - } - else if (ColumnType.NUMERIC == attr.cellType()) - { - if (StringUtils.isNotNull(value)) - { + } else if (ColumnType.NUMERIC == attr.cellType()) { + if (StringUtils.isNotNull(value)) { cell.setCellValue(StringUtils.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value)); } - } - else if (ColumnType.IMAGE == attr.cellType()) - { + } else if (ColumnType.IMAGE == attr.cellType()) { ClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, (short) cell.getColumnIndex(), cell.getRow().getRowNum(), (short) (cell.getColumnIndex() + 1), cell.getRow().getRowNum() + 1); String imagePath = Convert.toStr(value); - if (StringUtils.isNotEmpty(imagePath)) - { + if (StringUtils.isNotEmpty(imagePath)) { byte[] data = ImageUtils.getImage(imagePath); getDrawingPatriarch(cell.getSheet()).createPicture(anchor, cell.getSheet().getWorkbook().addPicture(data, getImageType(data))); @@ -627,10 +543,8 @@ public class ExcelUtil /** * 鑾峰彇鐢诲竷 */ - public static Drawing> getDrawingPatriarch(Sheet sheet) - { - if (sheet.getDrawingPatriarch() == null) - { + public static Drawing> getDrawingPatriarch(Sheet sheet) { + if (sheet.getDrawingPatriarch() == null) { sheet.createDrawingPatriarch(); } return sheet.getDrawingPatriarch(); @@ -639,15 +553,11 @@ public class ExcelUtil /** * 鑾峰彇鍥剧墖绫诲瀷,璁剧疆鍥剧墖鎻掑叆绫诲瀷 */ - public int getImageType(byte[] value) - { + public int getImageType(byte[] value) { String type = FileTypeUtils.getFileExtendName(value); - if ("JPG".equalsIgnoreCase(type)) - { + if ("JPG".equalsIgnoreCase(type)) { return Workbook.PICTURE_TYPE_JPEG; - } - else if ("PNG".equalsIgnoreCase(type)) - { + } else if ("PNG".equalsIgnoreCase(type)) { return Workbook.PICTURE_TYPE_PNG; } return Workbook.PICTURE_TYPE_JPEG; @@ -656,19 +566,14 @@ public class ExcelUtil /** * 鍒涘缓琛ㄦ牸鏍峰紡 */ - public void setDataValidation(Excel attr, Row row, int column) - { - if (attr.name().indexOf("娉細") >= 0) - { + public void setDataValidation(Excel attr, Row row, int column) { + if (attr.name().indexOf("娉細") >= 0) { sheet.setColumnWidth(column, 6000); - } - else - { + } else { // 璁剧疆鍒楀 sheet.setColumnWidth(column, (int) ((attr.width() + 0.72) * 256)); } - if (StringUtils.isNotEmpty(attr.prompt()) || attr.combo().length > 0) - { + if (StringUtils.isNotEmpty(attr.prompt()) || attr.combo().length > 0) { // 鎻愮ず淇℃伅鎴栧彧鑳介夋嫨涓嶈兘杈撳叆鐨勫垪鍐呭. setPromptOrValidation(sheet, attr.combo(), attr.prompt(), 1, 100, column, column); } @@ -677,16 +582,13 @@ public class ExcelUtil /** * 娣诲姞鍗曞厓鏍 */ - public Cell addCell(Excel attr, Row row, T vo, Field field, int column) - { + public Cell addCell(Excel attr, Row row, T vo, Field field, int column) { Cell cell = null; - try - { + try { // 璁剧疆琛岄珮 row.setHeight(maxHeight); // 鏍规嵁Excel涓缃儏鍐靛喅瀹氭槸鍚﹀鍑,鏈変簺鎯呭喌闇瑕佷繚鎸佷负绌,甯屾湜鐢ㄦ埛濉啓杩欎竴鍒. - if (attr.isExport()) - { + if (attr.isExport()) { // 鍒涘缓cell cell = row.createCell(column); int align = attr.align().value(); @@ -697,32 +599,21 @@ public class ExcelUtil String dateFormat = attr.dateFormat(); String readConverterExp = attr.readConverterExp(); String separator = attr.separator(); - if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value)) - { + if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value)) { cell.setCellValue(parseDateToStr(dateFormat, value)); - } - else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value)) - { + } else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value)) { cell.setCellValue(convertByExp(Convert.toStr(value), readConverterExp, separator)); - } - else if (value instanceof BigDecimal && -1 != attr.scale()) - { + } else if (value instanceof BigDecimal && -1 != attr.scale()) { cell.setCellValue((((BigDecimal) value).setScale(attr.scale(), attr.roundingMode())).toString()); - } - else if (!attr.handler().equals(ExcelHandlerAdapter.class)) - { + } else if (!attr.handler().equals(ExcelHandlerAdapter.class)) { cell.setCellValue(dataFormatHandlerAdapter(value, attr)); - } - else - { + } else { // 璁剧疆鍒楃被鍨 setCellVo(value, attr, cell); } addStatisticsData(column, Convert.toStr(value), attr); } - } - catch (Exception e) - { + } catch (Exception e) { log.error("瀵煎嚭Excel澶辫触{}", e); } return cell; @@ -730,36 +621,31 @@ public class ExcelUtil /** * 璁剧疆 POI XSSFSheet 鍗曞厓鏍兼彁绀烘垨閫夋嫨妗 - * - * @param sheet 琛ㄥ崟 - * @param textlist 涓嬫媺妗嗘樉绀虹殑鍐呭 + * + * @param sheet 琛ㄥ崟 + * @param textlist 涓嬫媺妗嗘樉绀虹殑鍐呭 * @param promptContent 鎻愮ず鍐呭 - * @param firstRow 寮濮嬭 - * @param endRow 缁撴潫琛 - * @param firstCol 寮濮嬪垪 - * @param endCol 缁撴潫鍒 + * @param firstRow 寮濮嬭 + * @param endRow 缁撴潫琛 + * @param firstCol 寮濮嬪垪 + * @param endCol 缁撴潫鍒 */ public void setPromptOrValidation(Sheet sheet, String[] textlist, String promptContent, int firstRow, int endRow, - int firstCol, int endCol) - { + int firstCol, int endCol) { DataValidationHelper helper = sheet.getDataValidationHelper(); DataValidationConstraint constraint = textlist.length > 0 ? helper.createExplicitListConstraint(textlist) : helper.createCustomConstraint("DD1"); CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol); DataValidation dataValidation = helper.createValidation(constraint, regions); - if (StringUtils.isNotEmpty(promptContent)) - { + if (StringUtils.isNotEmpty(promptContent)) { // 濡傛灉璁剧疆浜嗘彁绀轰俊鎭垯榧犳爣鏀句笂鍘绘彁绀 dataValidation.createPromptBox("", promptContent); dataValidation.setShowPromptBox(true); } // 澶勭悊Excel鍏煎鎬ч棶棰 - if (dataValidation instanceof XSSFDataValidation) - { + if (dataValidation instanceof XSSFDataValidation) { dataValidation.setSuppressDropDownArrow(true); dataValidation.setShowErrorBox(true); - } - else - { + } else { dataValidation.setSuppressDropDownArrow(false); } sheet.addValidationData(dataValidation); @@ -769,32 +655,24 @@ public class ExcelUtil * 瑙f瀽瀵煎嚭鍊 0=鐢,1=濂,2=鏈煡 * * @param propertyValue 鍙傛暟鍊 - * @param converterExp 缈昏瘧娉ㄨВ - * @param separator 鍒嗛殧绗 + * @param converterExp 缈昏瘧娉ㄨВ + * @param separator 鍒嗛殧绗 * @return 瑙f瀽鍚庡 */ - public static String convertByExp(String propertyValue, String converterExp, String separator) - { + public static String convertByExp(String propertyValue, String converterExp, String separator) { StringBuilder propertyString = new StringBuilder(); String[] convertSource = converterExp.split(","); - for (String item : convertSource) - { + for (String item : convertSource) { String[] itemArray = item.split("="); - if (StringUtils.containsAny(separator, propertyValue)) - { - for (String value : propertyValue.split(separator)) - { - if (itemArray[0].equals(value)) - { + if (StringUtils.containsAny(separator, propertyValue)) { + for (String value : propertyValue.split(separator)) { + if (itemArray[0].equals(value)) { propertyString.append(itemArray[1] + separator); break; } } - } - else - { - if (itemArray[0].equals(propertyValue)) - { + } else { + if (itemArray[0].equals(propertyValue)) { return itemArray[1]; } } @@ -806,32 +684,24 @@ public class ExcelUtil * 鍙嶅悜瑙f瀽鍊 鐢=0,濂=1,鏈煡=2 * * @param propertyValue 鍙傛暟鍊 - * @param converterExp 缈昏瘧娉ㄨВ - * @param separator 鍒嗛殧绗 + * @param converterExp 缈昏瘧娉ㄨВ + * @param separator 鍒嗛殧绗 * @return 瑙f瀽鍚庡 */ - public static String reverseByExp(String propertyValue, String converterExp, String separator) - { + public static String reverseByExp(String propertyValue, String converterExp, String separator) { StringBuilder propertyString = new StringBuilder(); String[] convertSource = converterExp.split(","); - for (String item : convertSource) - { + for (String item : convertSource) { String[] itemArray = item.split("="); - if (StringUtils.containsAny(separator, propertyValue)) - { - for (String value : propertyValue.split(separator)) - { - if (itemArray[1].equals(value)) - { + if (StringUtils.containsAny(separator, propertyValue)) { + for (String value : propertyValue.split(separator)) { + if (itemArray[1].equals(value)) { propertyString.append(itemArray[0] + separator); break; } } - } - else - { - if (itemArray[1].equals(propertyValue)) - { + } else { + if (itemArray[1].equals(propertyValue)) { return itemArray[0]; } } @@ -846,16 +716,12 @@ public class ExcelUtil * @param excel 鏁版嵁娉ㄨВ * @return */ - public String dataFormatHandlerAdapter(Object value, Excel excel) - { - try - { + public String dataFormatHandlerAdapter(Object value, Excel excel) { + try { Object instance = excel.handler().newInstance(); - Method formatMethod = excel.handler().getMethod("format", new Class[] { Object.class, String[].class }); + Method formatMethod = excel.handler().getMethod("format", new Class[]{Object.class, String[].class}); value = formatMethod.invoke(instance, value, excel.args()); - } - catch (Exception e) - { + } catch (Exception e) { log.error("涓嶈兘鏍煎紡鍖栨暟鎹 " + excel.handler(), e.getMessage()); } return Convert.toStr(value); @@ -864,21 +730,15 @@ public class ExcelUtil /** * 鍚堣缁熻淇℃伅 */ - private void addStatisticsData(Integer index, String text, Excel entity) - { - if (entity != null && entity.isStatistics()) - { + private void addStatisticsData(Integer index, String text, Excel entity) { + if (entity != null && entity.isStatistics()) { Double temp = 0D; - if (!statistics.containsKey(index)) - { + if (!statistics.containsKey(index)) { statistics.put(index, temp); } - try - { + try { temp = Double.valueOf(text); - } - catch (NumberFormatException e) - { + } catch (NumberFormatException e) { } statistics.put(index, statistics.get(index) + temp); } @@ -887,18 +747,15 @@ public class ExcelUtil /** * 鍒涘缓缁熻琛 */ - public void addStatisticsRow() - { - if (statistics.size() > 0) - { + public void addStatisticsRow() { + if (statistics.size() > 0) { Row row = sheet.createRow(sheet.getLastRowNum() + 1); Set keys = statistics.keySet(); Cell cell = row.createCell(0); cell.setCellStyle(styles.get("total")); cell.setCellValue("鍚堣"); - for (Integer key : keys) - { + for (Integer key : keys) { cell = row.createCell(key); cell.setCellStyle(styles.get("total")); cell.setCellValue(DOUBLE_FORMAT.format(statistics.get(key))); @@ -910,28 +767,22 @@ public class ExcelUtil /** * 鑾峰彇bean涓殑灞炴у * - * @param vo 瀹炰綋瀵硅薄 + * @param vo 瀹炰綋瀵硅薄 * @param field 瀛楁 * @param excel 娉ㄨВ * @return 鏈缁堢殑灞炴у * @throws Exception */ - private Object getTargetValue(T vo, Field field, Excel excel) throws Exception - { + private Object getTargetValue(T vo, Field field, Excel excel) throws Exception { Object o = field.get(vo); - if (StringUtils.isNotEmpty(excel.targetAttr())) - { + if (StringUtils.isNotEmpty(excel.targetAttr())) { String target = excel.targetAttr(); - if (target.contains(".")) - { + if (target.contains(".")) { String[] targets = target.split("[.]"); - for (String name : targets) - { + for (String name : targets) { o = getValue(o, name); } - } - else - { + } else { o = getValue(o, target); } } @@ -946,10 +797,8 @@ public class ExcelUtil * @return value * @throws Exception */ - private Object getValue(Object o, String name) throws Exception - { - if (StringUtils.isNotNull(o) && StringUtils.isNotEmpty(name)) - { + private Object getValue(Object o, String name) throws Exception { + if (StringUtils.isNotNull(o) && StringUtils.isNotEmpty(name)) { Class> clazz = o.getClass(); Field field = clazz.getDeclaredField(name); field.setAccessible(true); @@ -961,8 +810,7 @@ public class ExcelUtil /** * 寰楀埌鎵鏈夊畾涔夊瓧娈 */ - private void createExcelField() - { + private void createExcelField() { this.fields = getFields(); this.fields = this.fields.stream().sorted(Comparator.comparing(objects -> ((Excel) objects[1]).sort())).collect(Collectors.toList()); this.maxHeight = getRowHeight(); @@ -971,36 +819,33 @@ public class ExcelUtil /** * 鑾峰彇瀛楁娉ㄨВ淇℃伅 */ - public List getFields() - { + public List getFields() { List fields = new ArrayList(); List tempFields = new ArrayList<>(); tempFields.addAll(Arrays.asList(clazz.getSuperclass().getDeclaredFields())); tempFields.addAll(Arrays.asList(clazz.getDeclaredFields())); - for (Field field : tempFields) - { + for (Field field : tempFields) { // 鍗曟敞瑙 - if (field.isAnnotationPresent(Excel.class)) - { + if (field.isAnnotationPresent(Excel.class)) { Excel attr = field.getAnnotation(Excel.class); - if (attr != null && (attr.type() == Type.ALL || attr.type() == type)) - { - field.setAccessible(true); - fields.add(new Object[] { field, attr }); + if (attr != null) { + if (attr.type() == Type.ALL || attr.type() == type) { + field.setAccessible(true); + fields.add(new Object[]{field, attr}); + } } } // 澶氭敞瑙 - if (field.isAnnotationPresent(Excels.class)) - { + if (field.isAnnotationPresent(Excels.class)) { Excels attrs = field.getAnnotation(Excels.class); Excel[] excels = attrs.value(); - for (Excel attr : excels) - { - if (attr != null && (attr.type() == Type.ALL || attr.type() == type)) - { - field.setAccessible(true); - fields.add(new Object[] { field, attr }); + for (Excel attr : excels) { + if (attr != null) { + if (attr.type() == Type.ALL || attr.type() == type) { + field.setAccessible(true); + fields.add(new Object[]{field, attr}); + } } } } @@ -1011,11 +856,9 @@ public class ExcelUtil /** * 鏍规嵁娉ㄨВ鑾峰彇鏈澶ц楂 */ - public short getRowHeight() - { + public short getRowHeight() { double maxHeight = 0; - for (Object[] os : this.fields) - { + for (Object[] os : this.fields) { Excel excel = (Excel) os[1]; maxHeight = Math.max(maxHeight, excel.height()); } @@ -1025,8 +868,7 @@ public class ExcelUtil /** * 鍒涘缓涓涓伐浣滅翱 */ - public void createWorkbook() - { + public void createWorkbook() { this.wb = new SXSSFWorkbook(500); this.sheet = wb.createSheet(); wb.setSheetName(0, sheetName); @@ -1037,13 +879,11 @@ public class ExcelUtil * 鍒涘缓宸ヤ綔琛 * * @param sheetNo sheet鏁伴噺 - * @param index 搴忓彿 + * @param index 搴忓彿 */ - public void createSheet(int sheetNo, int index) - { + public void createSheet(int sheetNo, int index) { // 璁剧疆宸ヤ綔琛ㄧ殑鍚嶇О. - if (sheetNo > 1 && index > 0) - { + if (sheetNo > 1 && index > 0) { this.sheet = wb.createSheet(); this.createTitle(); wb.setSheetName(index, sheetName + index); @@ -1053,58 +893,39 @@ public class ExcelUtil /** * 鑾峰彇鍗曞厓鏍煎 * - * @param row 鑾峰彇鐨勮 + * @param row 鑾峰彇鐨勮 * @param column 鑾峰彇鍗曞厓鏍煎垪鍙 * @return 鍗曞厓鏍煎 */ - public Object getCellValue(Row row, int column) - { - if (row == null) - { + public Object getCellValue(Row row, int column) { + if (row == null) { return row; } Object val = ""; - try - { + try { Cell cell = row.getCell(column); - if (StringUtils.isNotNull(cell)) - { - if (cell.getCellType() == CellType.NUMERIC || cell.getCellType() == CellType.FORMULA) - { + if (StringUtils.isNotNull(cell)) { + if (cell.getCellType() == CellType.NUMERIC || cell.getCellType() == CellType.FORMULA) { val = cell.getNumericCellValue(); - if (DateUtil.isCellDateFormatted(cell)) - { + if (DateUtil.isCellDateFormatted(cell)) { val = DateUtil.getJavaDate((Double) val); // POI Excel 鏃ユ湡鏍煎紡杞崲 - } - else - { - if ((Double) val % 1 != 0) - { + } else { + if ((Double) val % 1 != 0) { val = new BigDecimal(val.toString()); - } - else - { + } else { val = new DecimalFormat("0").format(val); } } - } - else if (cell.getCellType() == CellType.STRING) - { + } else if (cell.getCellType() == CellType.STRING) { val = cell.getStringCellValue(); - } - else if (cell.getCellType() == CellType.BOOLEAN) - { + } else if (cell.getCellType() == CellType.BOOLEAN) { val = cell.getBooleanCellValue(); - } - else if (cell.getCellType() == CellType.ERROR) - { + } else if (cell.getCellType() == CellType.ERROR) { val = cell.getErrorCellValue(); } } - } - catch (Exception e) - { + } catch (Exception e) { return val; } return val; @@ -1116,17 +937,13 @@ public class ExcelUtil * @param row 鍒ゆ柇鐨勮 * @return */ - private boolean isRowEmpty(Row row) - { - if (row == null) - { + private boolean isRowEmpty(Row row) { + if (row == null) { return true; } - for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++) - { + for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++) { Cell cell = row.getCell(i); - if (cell != null && cell.getCellType() != CellType.BLANK) - { + if (cell != null && cell.getCellType() != CellType.BLANK) { return false; } } @@ -1135,32 +952,23 @@ public class ExcelUtil /** * 鏍煎紡鍖栦笉鍚岀被鍨嬬殑鏃ユ湡瀵硅薄 - * + * * @param dateFormat 鏃ユ湡鏍煎紡 - * @param val 琚牸寮忓寲鐨勬棩鏈熷璞 + * @param val 琚牸寮忓寲鐨勬棩鏈熷璞 * @return 鏍煎紡鍖栧悗鐨勬棩鏈熷瓧绗 */ - public String parseDateToStr(String dateFormat, Object val) - { - if (val == null) - { + public String parseDateToStr(String dateFormat, Object val) { + if (val == null) { return ""; } String str; - if (val instanceof Date) - { + if (val instanceof Date) { str = DateUtils.parseDateToStr(dateFormat, (Date) val); - } - else if (val instanceof LocalDateTime) - { + } else if (val instanceof LocalDateTime) { str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDateTime) val)); - } - else if (val instanceof LocalDate) - { + } else if (val instanceof LocalDate) { str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDate) val)); - } - else - { + } else { str = val.toString(); } return str; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/reflect/ReflectUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/reflect/ReflectUtils.java index 3d8382b2..219c5934 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/reflect/ReflectUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/reflect/ReflectUtils.java @@ -1,19 +1,15 @@ package com.ruoyi.common.core.utils.reflect; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.util.Date; +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.core.utils.DateUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; import org.apache.poi.ss.usermodel.DateUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.ruoyi.common.core.text.Convert; -import com.ruoyi.common.core.utils.DateUtils; + +import java.lang.reflect.*; +import java.util.Date; /** * 鍙嶅皠宸ュ叿绫. 鎻愪緵璋冪敤getter/setter鏂规硶, 璁块棶绉佹湁鍙橀噺, 璋冪敤绉佹湁鏂规硶, 鑾峰彇娉涘瀷绫诲瀷Class, 琚獳OP杩囩殑鐪熷疄绫荤瓑宸ュ叿鍑芥暟. @@ -102,7 +98,6 @@ public class ReflectUtils Field field = getAccessibleField(obj, fieldName); if (field == null) { - // throw new IllegalArgumentException("鍦 [" + obj.getClass() + "] 涓紝娌℃湁鎵惧埌 [" + fieldName + "] 瀛楁 "); logger.debug("鍦 [" + obj.getClass() + "] 涓紝娌℃湁鎵惧埌 [" + fieldName + "] 瀛楁 "); return; } @@ -312,10 +307,10 @@ public class ReflectUtils */ public static void makeAccessible(Method method) { - if ((!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers())) - && !method.isAccessible()) - { - method.setAccessible(true); + if (!method.isAccessible()) { + if (!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers())) { + method.setAccessible(true); + } } } @@ -324,10 +319,11 @@ public class ReflectUtils */ public static void makeAccessible(Field field) { - if ((!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers()) - || Modifier.isFinal(field.getModifiers())) && !field.isAccessible()) - { - field.setAccessible(true); + if (!field.isAccessible()) { + if (!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers()) + || Modifier.isFinal(field.getModifiers())) { + field.setAccessible(true); + } } } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/sign/Base64.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/sign/Base64.java index 0ae664a1..e22079ff 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/sign/Base64.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/sign/Base64.java @@ -2,75 +2,63 @@ package com.ruoyi.common.core.utils.sign; /** * Base64宸ュ叿绫 - * + * * @author ruoyi */ -public final class Base64 -{ - static private final int BASELENGTH = 128; - static private final int LOOKUPLENGTH = 64; - static private final int TWENTYFOURBITGROUP = 24; - static private final int EIGHTBIT = 8; - static private final int SIXTEENBIT = 16; - static private final int FOURBYTE = 4; - static private final int SIGN = -128; - static private final char PAD = '='; +public final class Base64 { + static private final int BASELENGTH = 128; + static private final int LOOKUPLENGTH = 64; + static private final int TWENTYFOURBITGROUP = 24; + static private final int EIGHTBIT = 8; + static private final int SIXTEENBIT = 16; + static private final int FOURBYTE = 4; + static private final int SIGN = -128; + static private final char PAD = '='; static final private byte[] BASE_64_ALPHABET = new byte[BASELENGTH]; static final private char[] LOOK_UP_BASE_64_ALPHABET = new char[LOOKUPLENGTH]; - static - { - for (int i = 0; i < BASELENGTH; ++i) - { + static { + for (int i = 0; i < BASELENGTH; ++i) { BASE_64_ALPHABET[i] = -1; } - for (int i = 'Z'; i >= 'A'; i--) - { + for (int i = 'Z'; i >= 'A'; i--) { BASE_64_ALPHABET[i] = (byte) (i - 'A'); } - for (int i = 'z'; i >= 'a'; i--) - { + for (int i = 'z'; i >= 'a'; i--) { BASE_64_ALPHABET[i] = (byte) (i - 'a' + 26); } - for (int i = '9'; i >= '0'; i--) - { + for (int i = '9'; i >= '0'; i--) { BASE_64_ALPHABET[i] = (byte) (i - '0' + 52); } BASE_64_ALPHABET['+'] = 62; BASE_64_ALPHABET['/'] = 63; - for (int i = 0; i <= 25; i++) - { + for (int i = 0; i <= 25; i++) { LOOK_UP_BASE_64_ALPHABET[i] = (char) ('A' + i); } - for (int i = 26, j = 0; i <= 51; i++, j++) - { + for (int i = 26, j = 0; i <= 51; i++, j++) { LOOK_UP_BASE_64_ALPHABET[i] = (char) ('a' + j); } - for (int i = 52, j = 0; i <= 61; i++, j++) - { + for (int i = 52, j = 0; i <= 61; i++, j++) { LOOK_UP_BASE_64_ALPHABET[i] = (char) ('0' + j); } LOOK_UP_BASE_64_ALPHABET[62] = (char) '+'; LOOK_UP_BASE_64_ALPHABET[63] = (char) '/'; } - private static boolean isWhiteSpace(char octect) - { + private static boolean isWhiteSpace(char octect) { return (octect == 0x20 || octect == 0xd || octect == 0xa || octect == 0x9); } - private static boolean isPad(char octect) - { + private static boolean isPad(char octect) { return (octect == PAD); } - private static boolean isData(char octect) - { + private static boolean isData(char octect) { return (octect < BASELENGTH && BASE_64_ALPHABET[octect] != -1); } @@ -80,23 +68,20 @@ public final class Base64 * @param binaryData Array containing binaryData * @return Encoded Base64 array */ - public static String encode(byte[] binaryData) - { - if (binaryData == null) - { + public static String encode(byte[] binaryData) { + if (binaryData == null) { return null; } int lengthDataBits = binaryData.length * EIGHTBIT; - if (lengthDataBits == 0) - { + if (lengthDataBits == 0) { return ""; } int fewerThan24bits = lengthDataBits % TWENTYFOURBITGROUP; int numberTriplets = lengthDataBits / TWENTYFOURBITGROUP; int numberQuartet = fewerThan24bits != 0 ? numberTriplets + 1 : numberTriplets; - char encodedData[] = null; + char[] encodedData = null; encodedData = new char[numberQuartet * 4]; @@ -105,8 +90,7 @@ public final class Base64 int encodedIndex = 0; int dataIndex = 0; - for (int i = 0; i < numberTriplets; i++) - { + for (int i = 0; i < numberTriplets; i++) { b1 = binaryData[dataIndex++]; b2 = binaryData[dataIndex++]; b3 = binaryData[dataIndex++]; @@ -125,8 +109,7 @@ public final class Base64 } // form integral number of 6-bit groups - if (fewerThan24bits == EIGHTBIT) - { + if (fewerThan24bits == EIGHTBIT) { b1 = binaryData[dataIndex]; k = (byte) (b1 & 0x03); byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0); @@ -134,9 +117,7 @@ public final class Base64 encodedData[encodedIndex++] = LOOK_UP_BASE_64_ALPHABET[k << 4]; encodedData[encodedIndex++] = PAD; encodedData[encodedIndex++] = PAD; - } - else if (fewerThan24bits == SIXTEENBIT) - { + } else if (fewerThan24bits == SIXTEENBIT) { b1 = binaryData[dataIndex]; b2 = binaryData[dataIndex + 1]; l = (byte) (b2 & 0x0f); @@ -159,71 +140,48 @@ public final class Base64 * @param encoded string containing Base64 data * @return Array containind decoded data. */ - public static byte[] decode(String encoded) - { - if (encoded == null) - { + public static byte[] decode(String encoded) { + if (encoded == null) { return null; } - char[] base64Data = encoded.toCharArray(); - // remove white spaces - int len = removeWhiteSpace(base64Data); - - if (len % FOURBYTE != 0) - { - return null;// should be divisible by four + int len = removeWhiteSpace(base64Data);// 鍒犻櫎绌烘牸 + if (len % FOURBYTE != 0) { + return null;// sho搴旇鑳借鍥涙暣闄 } - int numberQuadruple = (len / FOURBYTE); - - if (numberQuadruple == 0) - { + if (numberQuadruple == 0) { return new byte[0]; } - - byte decodedData[] = null; + byte[] decodedData = null; byte b1 = 0, b2 = 0, b3 = 0, b4 = 0; char d1 = 0, d2 = 0, d3 = 0, d4 = 0; - int i = 0; int encodedIndex = 0; int dataIndex = 0; decodedData = new byte[(numberQuadruple) * 3]; - - for (; i < numberQuadruple - 1; i++) - { - + for (; i < numberQuadruple - 1; i++) { if (!isData((d1 = base64Data[dataIndex++])) || !isData((d2 = base64Data[dataIndex++])) - || !isData((d3 = base64Data[dataIndex++])) || !isData((d4 = base64Data[dataIndex++]))) - { + || !isData((d3 = base64Data[dataIndex++])) || !isData((d4 = base64Data[dataIndex++]))) { return null; } // if found "no data" just return null - b1 = BASE_64_ALPHABET[d1]; b2 = BASE_64_ALPHABET[d2]; b3 = BASE_64_ALPHABET[d3]; b4 = BASE_64_ALPHABET[d4]; - decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4); decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf)); decodedData[encodedIndex++] = (byte) (b3 << 6 | b4); } - - if (!isData((d1 = base64Data[dataIndex++])) || !isData((d2 = base64Data[dataIndex++]))) - { + if (!isData((d1 = base64Data[dataIndex++])) || !isData((d2 = base64Data[dataIndex++]))) { return null;// if found "no data" just return null } - b1 = BASE_64_ALPHABET[d1]; b2 = BASE_64_ALPHABET[d2]; - d3 = base64Data[dataIndex++]; d4 = base64Data[dataIndex++]; - if (!isData((d3)) || !isData((d4))) - {// Check if they are PAD characters - if (isPad(d3) && isPad(d4)) - { + if (!isData((d3)) || !isData((d4))) {// Check if they are PAD characters + if (isPad(d3) && isPad(d4)) { if ((b2 & 0xf) != 0)// last 4 bits should be zero { return null; @@ -232,9 +190,7 @@ public final class Base64 System.arraycopy(decodedData, 0, tmp, 0, i * 3); tmp[encodedIndex] = (byte) (b1 << 2 | b2 >> 4); return tmp; - } - else if (!isPad(d3) && isPad(d4)) - { + } else if (!isPad(d3) && isPad(d4)) { b3 = BASE_64_ALPHABET[d3]; if ((b3 & 0x3) != 0)// last 2 bits should be zero { @@ -245,20 +201,15 @@ public final class Base64 tmp[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4); tmp[encodedIndex] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf)); return tmp; - } - else - { + } else { return null; } - } - else - { // No PAD e.g 3cQl + } else { // No PAD e.g 3cQl b3 = BASE_64_ALPHABET[d3]; b4 = BASE_64_ALPHABET[d4]; decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4); decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf)); decodedData[encodedIndex++] = (byte) (b3 << 6 | b4); - } return decodedData; } @@ -269,20 +220,16 @@ public final class Base64 * @param data the byte array of base64 data (with WS) * @return the new length */ - private static int removeWhiteSpace(char[] data) - { - if (data == null) - { + private static int removeWhiteSpace(char[] data) { + if (data == null) { return 0; } // count characters that's not whitespace int newSize = 0; int len = data.length; - for (int i = 0; i < len; i++) - { - if (!isWhiteSpace(data[i])) - { + for (int i = 0; i < len; i++) { + if (!isWhiteSpace(data[i])) { data[newSize++] = data[i]; } } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/IdUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/IdUtils.java index 64d90246..81137027 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/IdUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/IdUtils.java @@ -12,9 +12,9 @@ public class IdUtils * * @return 闅忔満UUID */ - public static String randomUUID() + public static String randomuuid() { - return UUID.randomUUID().toString(); + return UUID.randomuuid().toString(); } /** @@ -22,9 +22,9 @@ public class IdUtils * * @return 绠鍖栫殑UUID锛屽幓鎺変簡妯嚎 */ - public static String simpleUUID() + public static String simpleuuid() { - return UUID.randomUUID().toString(true); + return UUID.randomuuid().toString(true); } /** @@ -32,9 +32,9 @@ public class IdUtils * * @return 闅忔満UUID */ - public static String fastUUID() + public static String fastuuid() { - return UUID.fastUUID().toString(); + return UUID.fastuuid().toString(); } /** @@ -42,8 +42,8 @@ public class IdUtils * * @return 绠鍖栫殑UUID锛屽幓鎺変簡妯嚎 */ - public static String fastSimpleUUID() + public static String fastsimpleuuid() { - return UUID.fastUUID().toString(true); + return UUID.fastuuid().toString(true); } } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/Seq.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/Seq.java index d1be983b..c19ad745 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/Seq.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/Seq.java @@ -9,19 +9,29 @@ import com.ruoyi.common.core.utils.StringUtils; */ public class Seq { - // 閫氱敤搴忓垪绫诲瀷 + /** + * 閫氱敤搴忓垪绫诲瀷 + */ public static final String COMM_SEQ_TYPE = "COMMON"; - // 涓婁紶搴忓垪绫诲瀷 + /** + * 涓婁紶搴忓垪绫诲瀷 + */ public static final String UPLOAD_SEQ_TYPE = "UPLOAD"; - // 閫氱敤鎺ュ彛搴忓垪鏁 + /** + * 閫氱敤鎺ュ彛搴忓垪鏁 + */ private static AtomicInteger commSeq = new AtomicInteger(1); - // 涓婁紶鎺ュ彛搴忓垪鏁 + /** + * 涓婁紶鎺ュ彛搴忓垪鏁 + */ private static AtomicInteger uploadSeq = new AtomicInteger(1); - // 鏈哄櫒鏍囪瘑 + /** + * 鏈哄櫒鏍囪瘑 + */ private static String machineCode = "A"; /** diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java index a0cf8ddf..06a2c9b4 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java @@ -1,11 +1,12 @@ package com.ruoyi.common.core.utils.uuid; +import com.ruoyi.common.core.exception.UtilException; + import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.Random; import java.util.concurrent.ThreadLocalRandom; -import com.ruoyi.common.core.exception.UtilException; /** * 鎻愪緵閫氱敤鍞竴璇嗗埆鐮侊紙universally unique identifier锛夛紙UUID锛夊疄鐜 @@ -70,9 +71,9 @@ public final class UUID implements java.io.Serializable, Comparable * * @return 闅忔満鐢熸垚鐨 {@code UUID} */ - public static UUID fastUUID() + public static UUID fastuuid() { - return randomUUID(false); + return randomuuid(false); } /** @@ -80,9 +81,9 @@ public final class UUID implements java.io.Serializable, Comparable * * @return 闅忔満鐢熸垚鐨 {@code UUID} */ - public static UUID randomUUID() + public static UUID randomuuid() { - return randomUUID(true); + return randomuuid(true); } /** @@ -91,7 +92,7 @@ public final class UUID implements java.io.Serializable, Comparable * @param isSecure 鏄惁浣跨敤{@link SecureRandom}濡傛灉鏄彲浠ヨ幏寰楁洿瀹夊叏鐨勯殢鏈虹爜锛屽惁鍒欏彲浠ュ緱鍒版洿濂界殑鎬ц兘 * @return 闅忔満鐢熸垚鐨 {@code UUID} */ - public static UUID randomUUID(boolean isSecure) + public static UUID randomuuid(boolean isSecure) { final Random ng = isSecure ? Holder.NUMBER_GENERATOR : getRandom(); @@ -111,7 +112,7 @@ public final class UUID implements java.io.Serializable, Comparable * * @return 鏍规嵁鎸囧畾鏁扮粍鐢熸垚鐨 {@code UUID} */ - public static UUID nameUUIDFromBytes(byte[] name) + public static UUID nameUuidFromBytes(byte[] name) { MessageDigest md; try @@ -147,7 +148,10 @@ public final class UUID implements java.io.Serializable, Comparable } for (int i = 0; i < 5; i++) { - components[i] = "0x" + components[i]; + StringBuilder sb = new StringBuilder(); + sb.append(sb); + sb.append(components[i]); + components[i] = sb.toString(); } long mostSigBits = Long.decode(components[0]).longValue(); diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BaseEntity.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BaseEntity.java index b316f893..4d4af1bd 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BaseEntity.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BaseEntity.java @@ -1,10 +1,11 @@ package com.ruoyi.common.core.web.domain; +import com.fasterxml.jackson.annotation.JsonFormat; + import java.io.Serializable; import java.util.Date; import java.util.HashMap; import java.util.Map; -import com.fasterxml.jackson.annotation.JsonFormat; /** * Entity鍩虹被 @@ -102,7 +103,7 @@ public class BaseEntity implements Serializable { if (params == null) { - params = new HashMap<>(); + params = new HashMap<>(2); } return params; } diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java index fa2a8b29..4f1399c9 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java @@ -1,18 +1,17 @@ package com.ruoyi.common.security.annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; +import com.ruoyi.common.security.config.ApplicationConfig; +import com.ruoyi.common.security.feign.FeignAutoConfiguration; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.context.annotation.Import; import org.springframework.scheduling.annotation.EnableAsync; -import com.ruoyi.common.security.config.ApplicationConfig; -import com.ruoyi.common.security.feign.FeignAutoConfiguration; +import java.lang.annotation.*; + +/** + * @author pan + */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/aspect/InnerAuthAspect.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/aspect/InnerAuthAspect.java index 780f65e9..15c76e44 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/aspect/InnerAuthAspect.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/aspect/InnerAuthAspect.java @@ -33,9 +33,10 @@ public class InnerAuthAspect implements Ordered String userid = ServletUtils.getRequest().getHeader(SecurityConstants.DETAILS_USER_ID); String username = ServletUtils.getRequest().getHeader(SecurityConstants.DETAILS_USERNAME); // 鐢ㄦ埛淇℃伅楠岃瘉 - if (innerAuth.isUser() && (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username))) - { - throw new InnerAuthException("娌℃湁璁剧疆鐢ㄦ埛淇℃伅锛屼笉鍏佽璁块棶 "); + if (innerAuth.isUser()) { + if (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username)) { + throw new InnerAuthException("娌℃湁璁剧疆鐢ㄦ埛淇℃伅锛屼笉鍏佽璁块棶 "); + } } return point.proceed(); } diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java index bcf90b27..0359a3dd 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java @@ -1,11 +1,5 @@ package com.ruoyi.common.security.service; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import javax.servlet.http.HttpServletRequest; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.utils.JwtUtils; @@ -16,6 +10,13 @@ import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.model.LoginUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; /** * token楠岃瘉澶勭悊 @@ -43,7 +44,7 @@ public class TokenService */ public Map createToken(LoginUser loginUser) { - String token = IdUtils.fastUUID(); + String token = IdUtils.fastuuid(); Long userId = loginUser.getSysUser().getUserId(); String userName = loginUser.getSysUser().getUserName(); loginUser.setToken(token); @@ -53,13 +54,13 @@ public class TokenService refreshToken(loginUser); // Jwt瀛樺偍淇℃伅 - Map claimsMap = new HashMap(); + Map claimsMap = new HashMap(2); claimsMap.put(SecurityConstants.USER_KEY, token); claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId); claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName); // 鎺ュ彛杩斿洖淇℃伅 - Map rspMap = new HashMap(); + Map rspMap = new HashMap(2); rspMap.put("access_token", JwtUtils.createToken(claimsMap)); rspMap.put("expires_in", EXPIRE_TIME); return rspMap; @@ -166,4 +167,4 @@ public class TokenService { return ACCESS_TOKEN + token; } -} \ No newline at end of file +} diff --git a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/annotation/EnableCustomSwagger2.java b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/annotation/EnableCustomSwagger2.java index 6832fe1b..1e7d276e 100644 --- a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/annotation/EnableCustomSwagger2.java +++ b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/annotation/EnableCustomSwagger2.java @@ -1,14 +1,13 @@ package com.ruoyi.common.swagger.annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import org.springframework.context.annotation.Import; import com.ruoyi.common.swagger.config.SwaggerAutoConfiguration; +import org.springframework.context.annotation.Import; + +import java.lang.annotation.*; +/** + * @author pan + */ @Target({ ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) @Documented diff --git a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerAutoConfiguration.java b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerAutoConfiguration.java index 39e9b3af..df273e6e 100644 --- a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerAutoConfiguration.java +++ b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerAutoConfiguration.java @@ -1,9 +1,5 @@ package com.ruoyi.common.swagger.config; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.function.Predicate; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -12,24 +8,26 @@ import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.service.ApiKey; -import springfox.documentation.service.AuthorizationScope; -import springfox.documentation.service.Contact; -import springfox.documentation.service.SecurityReference; -import springfox.documentation.service.SecurityScheme; +import springfox.documentation.service.*; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.service.contexts.SecurityContext; import springfox.documentation.spring.web.plugins.ApiSelectorBuilder; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.function.Predicate; + +/** + * @author pan + */ @Configuration @EnableSwagger2 @EnableAutoConfiguration @ConditionalOnProperty(name = "swagger.enabled", matchIfMissing = true) -public class SwaggerAutoConfiguration -{ +public class SwaggerAutoConfiguration{ /** * 榛樿鐨勬帓闄よ矾寰勶紝鎺掗櫎Spring Boot榛樿鐨勯敊璇鐞嗚矾寰勫拰绔偣 */ diff --git a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerProperties.java b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerProperties.java index 8df48e8e..81619ba4 100644 --- a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerProperties.java +++ b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/config/SwaggerProperties.java @@ -1,10 +1,14 @@ package com.ruoyi.common.swagger.config; -import java.util.ArrayList; -import java.util.List; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.List; + +/** + * @author pan + */ @Component @ConfigurationProperties("swagger") public class SwaggerProperties @@ -342,4 +346,4 @@ public class SwaggerProperties this.description = description; } } -} \ No newline at end of file +} diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/KaptchaTextCreator.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/KaptchaTextCreator.java index 9ec31737..c1f1eb0e 100644 --- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/KaptchaTextCreator.java +++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/KaptchaTextCreator.java @@ -1,8 +1,9 @@ package com.ruoyi.gateway.config; -import java.util.Random; import com.google.code.kaptcha.text.impl.DefaultTextCreator; +import java.util.Random; + /** * 楠岃瘉鐮佹枃鏈敓鎴愬櫒 * @@ -30,7 +31,7 @@ public class KaptchaTextCreator extends DefaultTextCreator } else if (randomoperands == 1) { - if (!(x == 0) && y % x == 0) + if ((x != 0) && y % x == 0) { result = y / x; suChinese.append(CNUMBERS[y]); @@ -72,4 +73,4 @@ public class KaptchaTextCreator extends DefaultTextCreator suChinese.append("=?@" + result); return suChinese.toString(); } -} \ No newline at end of file +} diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java index 101de638..9ea1d8d9 100644 --- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java +++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java @@ -31,7 +31,9 @@ public class AuthFilter implements GlobalFilter, Ordered { private static final Logger log = LoggerFactory.getLogger(AuthFilter.class); - // 鎺掗櫎杩囨护鐨 uri 鍦板潃锛宯acos鑷娣诲姞 + /** + * 鎺掗櫎杩囨护鐨 uri 鍦板潃锛宯acos鑷娣诲姞 + */ @Autowired private IgnoreWhiteProperties ignoreWhite; @@ -132,4 +134,4 @@ public class AuthFilter implements GlobalFilter, Ordered { return -200; } -} \ No newline at end of file +} diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/XssFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/XssFilter.java index 773aa558..89a8fb3d 100644 --- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/XssFilter.java +++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/XssFilter.java @@ -1,16 +1,15 @@ package com.ruoyi.gateway.filter; -import java.nio.charset.StandardCharsets; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.html.EscapeUtil; +import com.ruoyi.gateway.config.properties.XssProperties; +import io.netty.buffer.ByteBufAllocator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GlobalFilter; import org.springframework.core.Ordered; -import org.springframework.core.io.buffer.DataBuffer; -import org.springframework.core.io.buffer.DataBufferFactory; -import org.springframework.core.io.buffer.DataBufferUtils; -import org.springframework.core.io.buffer.DefaultDataBufferFactory; -import org.springframework.core.io.buffer.NettyDataBufferFactory; +import org.springframework.core.io.buffer.*; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; @@ -18,13 +17,11 @@ import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.http.server.reactive.ServerHttpRequestDecorator; import org.springframework.stereotype.Component; import org.springframework.web.server.ServerWebExchange; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.core.utils.html.EscapeUtil; -import com.ruoyi.gateway.config.properties.XssProperties; -import io.netty.buffer.ByteBufAllocator; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import java.nio.charset.StandardCharsets; + /** * 璺ㄧ珯鑴氭湰杩囨护鍣 * @@ -34,7 +31,9 @@ import reactor.core.publisher.Mono; @ConditionalOnProperty(value = "security.xss.enabled", havingValue = "true") public class XssFilter implements GlobalFilter, Ordered { - // 璺ㄧ珯鑴氭湰鐨 xss 閰嶇疆锛宯acos鑷娣诲姞 + /** + * 璺ㄧ珯鑴氭湰鐨 xss 閰嶇疆锛宯acos鑷娣诲姞 + */ @Autowired private XssProperties xss; diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/handler/SwaggerHandler.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/handler/SwaggerHandler.java index af1e7ad1..726f4310 100644 --- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/handler/SwaggerHandler.java +++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/handler/SwaggerHandler.java @@ -1,6 +1,5 @@ package com.ruoyi.gateway.handler; -import java.util.Optional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -8,16 +7,16 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; -import springfox.documentation.swagger.web.SecurityConfiguration; -import springfox.documentation.swagger.web.SecurityConfigurationBuilder; -import springfox.documentation.swagger.web.SwaggerResourcesProvider; -import springfox.documentation.swagger.web.UiConfiguration; -import springfox.documentation.swagger.web.UiConfigurationBuilder; +import springfox.documentation.swagger.web.*; + +import java.util.Optional; +/** + * @author pan + */ @RestController @RequestMapping("/swagger-resources") -public class SwaggerHandler -{ +public class SwaggerHandler { @Autowired(required = false) private SecurityConfiguration securityConfiguration; diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/service/impl/ValidateCodeServiceImpl.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/service/impl/ValidateCodeServiceImpl.java index 8d2c180d..fcca15c9 100644 --- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/service/impl/ValidateCodeServiceImpl.java +++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/service/impl/ValidateCodeServiceImpl.java @@ -54,7 +54,7 @@ public class ValidateCodeServiceImpl implements ValidateCodeService } // 淇濆瓨楠岃瘉鐮佷俊鎭 - String uuid = IdUtils.simpleUUID(); + String uuid = IdUtils.simpleuuid(); String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid; String capStr = null, code = null; diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java index 318db416..4c9aaa2a 100644 --- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java +++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java @@ -6,7 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.Rust; import com.ruoyi.common.core.utils.file.FileUtils; import com.ruoyi.file.service.ISysFileService; import com.ruoyi.system.api.domain.SysFile; @@ -28,7 +28,7 @@ public class SysFileController * 鏂囦欢涓婁紶璇锋眰 */ @PostMapping("upload") - public R upload(MultipartFile file) + public Rust upload(MultipartFile file) { try { @@ -37,12 +37,12 @@ public class SysFileController SysFile sysFile = new SysFile(); sysFile.setName(FileUtils.getName(url)); sysFile.setUrl(url); - return R.ok(sysFile); + return Rust.ok(sysFile); } catch (Exception e) { log.error("涓婁紶鏂囦欢澶辫触", e); - return R.fail(e.getMessage()); + return Rust.fail(e.getMessage()); } } -} \ No newline at end of file +} diff --git a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/controller/GenController.java b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/controller/GenController.java index b9f0142b..d4275c8b 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/controller/GenController.java +++ b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/controller/GenController.java @@ -1,21 +1,5 @@ package com.ruoyi.gen.controller; -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import javax.servlet.http.HttpServletResponse; -import org.apache.commons.io.IOUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.domain.AjaxResult; @@ -27,6 +11,16 @@ import com.ruoyi.gen.domain.GenTable; import com.ruoyi.gen.domain.GenTableColumn; import com.ruoyi.gen.service.IGenTableColumnService; import com.ruoyi.gen.service.IGenTableService; +import org.apache.commons.io.IOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 浠g爜鐢熸垚 鎿嶄綔澶勭悊 @@ -65,7 +59,7 @@ public class GenController extends BaseController GenTable table = genTableService.selectGenTableById(tableId); List tables = genTableService.selectGenTableAll(); List list = genTableColumnService.selectGenTableColumnListByTableId(tableId); - Map map = new HashMap(); + Map map = new HashMap(2); map.put("info", table); map.put("rows", list); map.put("tables", tables); diff --git a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/service/GenTableServiceImpl.java b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/service/GenTableServiceImpl.java index 8e6f1596..64631ba3 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/service/GenTableServiceImpl.java +++ b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/service/GenTableServiceImpl.java @@ -1,26 +1,5 @@ package com.ruoyi.gen.service; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.StringWriter; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.function.Function; -import java.util.stream.Collectors; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.IOUtils; -import org.apache.velocity.Template; -import org.apache.velocity.VelocityContext; -import org.apache.velocity.app.Velocity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.core.constant.Constants; @@ -36,6 +15,28 @@ import com.ruoyi.gen.mapper.GenTableMapper; import com.ruoyi.gen.util.GenUtils; import com.ruoyi.gen.util.VelocityInitializer; import com.ruoyi.gen.util.VelocityUtils; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.apache.velocity.Template; +import org.apache.velocity.VelocityContext; +import org.apache.velocity.app.Velocity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.StringWriter; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; /** * 涓氬姟 鏈嶅姟灞傚疄鐜 @@ -308,13 +309,14 @@ public class GenTableServiceImpl implements IGenTableService column.setDictType(prevColumn.getDictType()); column.setQueryType(prevColumn.getQueryType()); } - if (StringUtils.isNotEmpty(prevColumn.getIsRequired()) && !column.isPk() - && (column.isInsert() || column.isEdit()) - && ((column.isUsableColumn()) || (!column.isSuperColumn()))) - { - // 濡傛灉鏄(鏂板/淇敼&闈炰富閿/闈炲拷鐣ュ強鐖跺睘鎬)锛岀户缁繚鐣欏繀濉/鏄剧ず绫诲瀷閫夐」 - column.setIsRequired(prevColumn.getIsRequired()); - column.setHtmlType(prevColumn.getHtmlType()); + if (StringUtils.isNotEmpty(prevColumn.getIsRequired()) && !column.isPk()) { + if (column.isInsert() || column.isEdit()) { + if (column.isUsableColumn() || (!column.isSuperColumn())) { + // 濡傛灉鏄(鏂板/淇敼&闈炰富閿/闈炲拷鐣ュ強鐖跺睘鎬)锛岀户缁繚鐣欏繀濉/鏄剧ず绫诲瀷閫夐」 + column.setIsRequired(prevColumn.getIsRequired()); + column.setHtmlType(prevColumn.getHtmlType()); + } + } } genTableColumnMapper.updateGenTableColumn(column); } diff --git a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/GenUtils.java b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/GenUtils.java index 2c1c5317..70c301ba 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/GenUtils.java +++ b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/GenUtils.java @@ -1,25 +1,24 @@ package com.ruoyi.gen.util; -import java.util.Arrays; -import org.apache.commons.lang3.RegExUtils; import com.ruoyi.common.core.constant.GenConstants; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.gen.config.GenConfig; import com.ruoyi.gen.domain.GenTable; import com.ruoyi.gen.domain.GenTableColumn; +import org.apache.commons.lang3.RegExUtils; + +import java.util.Arrays; /** * 浠g爜鐢熸垚鍣 宸ュ叿绫 - * + * * @author ruoyi */ -public class GenUtils -{ +public class GenUtils { /** * 鍒濆鍖栬〃淇℃伅 */ - public static void initTable(GenTable genTable, String operName) - { + public static void initTable(GenTable genTable, String operName) { genTable.setClassName(convertClassName(genTable.getTableName())); genTable.setPackageName(GenConfig.getPackageName()); genTable.setModuleName(getModuleName(GenConfig.getPackageName())); @@ -32,8 +31,7 @@ public class GenUtils /** * 鍒濆鍖栧垪灞炴у瓧娈 */ - public static void initColumnField(GenTableColumn column, GenTable table) - { + public static void initColumnField(GenTableColumn column, GenTable table) { String dataType = getDbType(column.getColumnType()); String columnName = column.getColumnName(); column.setTableId(table.getTableId()); @@ -43,113 +41,77 @@ public class GenUtils // 璁剧疆榛樿绫诲瀷 column.setJavaType(GenConstants.TYPE_STRING); column.setQueryType(GenConstants.QUERY_EQ); - - if (arraysContains(GenConstants.COLUMNTYPE_STR, dataType) || arraysContains(GenConstants.COLUMNTYPE_TEXT, dataType)) - { + if (arraysContains(GenConstants.COLUMNTYPE_STR, dataType) || arraysContains(GenConstants.COLUMNTYPE_TEXT, dataType)) { // 瀛楃涓查暱搴﹁秴杩500璁剧疆涓烘枃鏈煙 Integer columnLength = getColumnLength(column.getColumnType()); String htmlType = columnLength >= 500 || arraysContains(GenConstants.COLUMNTYPE_TEXT, dataType) ? GenConstants.HTML_TEXTAREA : GenConstants.HTML_INPUT; column.setHtmlType(htmlType); - } - else if (arraysContains(GenConstants.COLUMNTYPE_TIME, dataType)) - { + } else if (arraysContains(GenConstants.COLUMNTYPE_TIME, dataType)) { column.setJavaType(GenConstants.TYPE_DATE); column.setHtmlType(GenConstants.HTML_DATETIME); - } - else if (arraysContains(GenConstants.COLUMNTYPE_NUMBER, dataType)) - { + } else if (arraysContains(GenConstants.COLUMNTYPE_NUMBER, dataType)) { column.setHtmlType(GenConstants.HTML_INPUT); - // 濡傛灉鏄诞鐐瑰瀷 缁熶竴鐢˙igDecimal String[] str = StringUtils.split(StringUtils.substringBetween(column.getColumnType(), "(", ")"), ","); - if (str != null && str.length == 2 && Integer.parseInt(str[1]) > 0) - { + if (str != null && str.length == 2 && Integer.parseInt(str[1]) > 0) { column.setJavaType(GenConstants.TYPE_BIGDECIMAL); - } - // 濡傛灉鏄暣褰 - else if (str != null && str.length == 1 && Integer.parseInt(str[0]) <= 10) - { + } else if (str != null && str.length == 1 && Integer.parseInt(str[0]) <= 10) { column.setJavaType(GenConstants.TYPE_INTEGER); - } - // 闀挎暣褰 - else - { + } else { column.setJavaType(GenConstants.TYPE_LONG); } } - // 鎻掑叆瀛楁锛堥粯璁ゆ墍鏈夊瓧娈甸兘闇瑕佹彃鍏ワ級 column.setIsInsert(GenConstants.REQUIRE); - // 缂栬緫瀛楁 - if (!arraysContains(GenConstants.COLUMNNAME_NOT_EDIT, columnName) && !column.isPk()) - { + if (!arraysContains(GenConstants.COLUMNNAME_NOT_EDIT, columnName) && !column.isPk()) { column.setIsEdit(GenConstants.REQUIRE); } // 鍒楄〃瀛楁 - if (!arraysContains(GenConstants.COLUMNNAME_NOT_LIST, columnName) && !column.isPk()) - { + if (!arraysContains(GenConstants.COLUMNNAME_NOT_LIST, columnName) && !column.isPk()) { column.setIsList(GenConstants.REQUIRE); } // 鏌ヨ瀛楁 - if (!arraysContains(GenConstants.COLUMNNAME_NOT_QUERY, columnName) && !column.isPk()) - { + if (!arraysContains(GenConstants.COLUMNNAME_NOT_QUERY, columnName) && !column.isPk()) { column.setIsQuery(GenConstants.REQUIRE); } - // 鏌ヨ瀛楁绫诲瀷 - if (StringUtils.endsWithIgnoreCase(columnName, "name")) - { + if (StringUtils.endsWithIgnoreCase(columnName, "name")) { column.setQueryType(GenConstants.QUERY_LIKE); } // 鐘舵佸瓧娈佃缃崟閫夋 - if (StringUtils.endsWithIgnoreCase(columnName, "status")) - { + if (StringUtils.endsWithIgnoreCase(columnName, "status")) { column.setHtmlType(GenConstants.HTML_RADIO); - } - // 绫诲瀷&鎬у埆瀛楁璁剧疆涓嬫媺妗 - else if (StringUtils.endsWithIgnoreCase(columnName, "type") - || StringUtils.endsWithIgnoreCase(columnName, "sex")) - { + } else if (StringUtils.endsWithIgnoreCase(columnName, "type") + || StringUtils.endsWithIgnoreCase(columnName, "sex")) { column.setHtmlType(GenConstants.HTML_SELECT); - } - // 鍥剧墖瀛楁璁剧疆鍥剧墖涓婁紶鎺т欢 - else if (StringUtils.endsWithIgnoreCase(columnName, "image")) - { + } else if (StringUtils.endsWithIgnoreCase(columnName, "image")) { column.setHtmlType(GenConstants.HTML_IMAGE_UPLOAD); - } - // 鏂囦欢瀛楁璁剧疆鏂囦欢涓婁紶鎺т欢 - else if (StringUtils.endsWithIgnoreCase(columnName, "file")) - { + } else if (StringUtils.endsWithIgnoreCase(columnName, "file")) { column.setHtmlType(GenConstants.HTML_FILE_UPLOAD); - } - // 鍐呭瀛楁璁剧疆瀵屾枃鏈帶浠 - else if (StringUtils.endsWithIgnoreCase(columnName, "content")) - { + } else if (StringUtils.endsWithIgnoreCase(columnName, "content")) { column.setHtmlType(GenConstants.HTML_EDITOR); } } /** * 鏍¢獙鏁扮粍鏄惁鍖呭惈鎸囧畾鍊 - * - * @param arr 鏁扮粍 + * + * @param arr 鏁扮粍 * @param targetValue 鍊 * @return 鏄惁鍖呭惈 */ - public static boolean arraysContains(String[] arr, String targetValue) - { + public static boolean arraysContains(String[] arr, String targetValue) { return Arrays.asList(arr).contains(targetValue); } /** * 鑾峰彇妯″潡鍚 - * + * * @param packageName 鍖呭悕 * @return 妯″潡鍚 */ - public static String getModuleName(String packageName) - { + public static String getModuleName(String packageName) { int lastIndex = packageName.lastIndexOf("."); int nameLength = packageName.length(); return StringUtils.substring(packageName, lastIndex + 1, nameLength); @@ -157,12 +119,11 @@ public class GenUtils /** * 鑾峰彇涓氬姟鍚 - * + * * @param tableName 琛ㄥ悕 * @return 涓氬姟鍚 */ - public static String getBusinessName(String tableName) - { + public static String getBusinessName(String tableName) { int lastIndex = tableName.lastIndexOf("_"); int nameLength = tableName.length(); return StringUtils.substring(tableName, lastIndex + 1, nameLength); @@ -170,16 +131,14 @@ public class GenUtils /** * 琛ㄥ悕杞崲鎴怞ava绫诲悕 - * + * * @param tableName 琛ㄥ悕绉 * @return 绫诲悕 */ - public static String convertClassName(String tableName) - { + public static String convertClassName(String tableName) { boolean autoRemovePre = GenConfig.getAutoRemovePre(); String tablePrefix = GenConfig.getTablePrefix(); - if (autoRemovePre && StringUtils.isNotEmpty(tablePrefix)) - { + if (autoRemovePre && StringUtils.isNotEmpty(tablePrefix)) { String[] searchList = StringUtils.split(tablePrefix, ","); tableName = replaceFirst(tableName, searchList); } @@ -188,18 +147,15 @@ public class GenUtils /** * 鎵归噺鏇挎崲鍓嶇紑 - * + * * @param replacementm 鏇挎崲鍊 - * @param searchList 鏇挎崲鍒楄〃 + * @param searchList 鏇挎崲鍒楄〃 * @return */ - public static String replaceFirst(String replacementm, String[] searchList) - { + public static String replaceFirst(String replacementm, String[] searchList) { String text = replacementm; - for (String searchString : searchList) - { - if (replacementm.startsWith(searchString)) - { + for (String searchString : searchList) { + if (replacementm.startsWith(searchString)) { text = replacementm.replaceFirst(searchString, ""); break; } @@ -209,48 +165,39 @@ public class GenUtils /** * 鍏抽敭瀛楁浛鎹 - * + * * @param text 闇瑕佽鏇挎崲鐨勫悕瀛 * @return 鏇挎崲鍚庣殑鍚嶅瓧 */ - public static String replaceText(String text) - { + public static String replaceText(String text) { return RegExUtils.replaceAll(text, "(?:琛▅鑻ヤ緷)", ""); } /** * 鑾峰彇鏁版嵁搴撶被鍨嬪瓧娈 - * + * * @param columnType 鍒楃被鍨 * @return 鎴彇鍚庣殑鍒楃被鍨 */ - public static String getDbType(String columnType) - { - if (StringUtils.indexOf(columnType, "(") > 0) - { + public static String getDbType(String columnType) { + if (StringUtils.indexOf(columnType, "(") > 0) { return StringUtils.substringBefore(columnType, "("); - } - else - { + } else { return columnType; } } /** * 鑾峰彇瀛楁闀垮害 - * + * * @param columnType 鍒楃被鍨 * @return 鎴彇鍚庣殑鍒楃被鍨 */ - public static Integer getColumnLength(String columnType) - { - if (StringUtils.indexOf(columnType, "(") > 0) - { + public static Integer getColumnLength(String columnType) { + if (StringUtils.indexOf(columnType, "(") > 0) { String length = StringUtils.substringBetween(columnType, "(", ")"); return Integer.valueOf(length); - } - else - { + } else { return 0; } } diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/config/ScheduleConfig.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/config/ScheduleConfig.java index d0026864..fd73d5cf 100644 --- a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/config/ScheduleConfig.java +++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/config/ScheduleConfig.java @@ -37,7 +37,6 @@ public class ScheduleConfig prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true"); // sqlserver 鍚敤 - // prop.put("org.quartz.jobStore.selectWithLockSQL", "SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?"); prop.put("org.quartz.jobStore.misfireThreshold", "12000"); prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_"); factory.setQuartzProperties(prop); diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/ISysJobService.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/ISysJobService.java index ba17269c..e8a93768 100644 --- a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/ISysJobService.java +++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/ISysJobService.java @@ -1,9 +1,10 @@ package com.ruoyi.job.service; -import java.util.List; -import org.quartz.SchedulerException; import com.ruoyi.common.core.exception.job.TaskException; import com.ruoyi.job.domain.SysJob; +import org.quartz.SchedulerException; + +import java.util.List; /** * 瀹氭椂浠诲姟璋冨害淇℃伅淇℃伅 鏈嶅姟灞 @@ -30,9 +31,9 @@ public interface ISysJobService /** * 鏆傚仠浠诲姟 - * * @param job 璋冨害淇℃伅 * @return 缁撴灉 + * @throws SchedulerException */ public int pauseJob(SysJob job) throws SchedulerException; @@ -41,6 +42,7 @@ public interface ISysJobService * * @param job 璋冨害淇℃伅 * @return 缁撴灉 + * @throws SchedulerException 寮傚父 */ public int resumeJob(SysJob job) throws SchedulerException; @@ -49,6 +51,7 @@ public interface ISysJobService * * @param job 璋冨害淇℃伅 * @return 缁撴灉 + * @throws SchedulerException 寮傚父 */ public int deleteJob(SysJob job) throws SchedulerException; @@ -99,4 +102,4 @@ public interface ISysJobService * @return 缁撴灉 */ public boolean checkCronExpressionIsValid(String cronExpression); -} \ No newline at end of file +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysProfileController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysProfileController.java index 4b747ab2..36334045 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysProfileController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysProfileController.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import com.ruoyi.common.core.constant.UserConstants; -import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.Rust; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.domain.AjaxResult; @@ -131,7 +131,7 @@ public class SysProfileController extends BaseController if (!file.isEmpty()) { LoginUser loginUser = SecurityUtils.getLoginUser(); - R fileResult = remoteFileService.upload(file); + Rust fileResult = remoteFileService.upload(file); if (StringUtils.isNull(fileResult) || StringUtils.isNull(fileResult.getData())) { return AjaxResult.error("鏂囦欢鏈嶅姟寮傚父锛岃鑱旂郴绠$悊鍛"); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index cdd0b2da..d827f8a1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import com.ruoyi.common.core.constant.UserConstants; -import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.Rust; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.poi.ExcelUtil; import com.ruoyi.common.core.web.controller.BaseController; @@ -108,12 +108,12 @@ public class SysUserController extends BaseController */ @InnerAuth @GetMapping("/info/{username}") - public R info(@PathVariable("username") String username) + public Rust info(@PathVariable("username") String username) { SysUser sysUser = userService.selectUserByUserName(username); if (StringUtils.isNull(sysUser)) { - return R.fail("鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒"); + return Rust.fail("鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒"); } // 瑙掕壊闆嗗悎 Set roles = permissionService.getRolePermission(sysUser.getUserId()); @@ -123,7 +123,7 @@ public class SysUserController extends BaseController sysUserVo.setSysUser(sysUser); sysUserVo.setRoles(roles); sysUserVo.setPermissions(permissions); - return R.ok(sysUserVo); + return Rust.ok(sysUserVo); } /** @@ -131,18 +131,18 @@ public class SysUserController extends BaseController */ @InnerAuth @PostMapping("/register") - public R register(@RequestBody SysUser sysUser) + public Rust register(@RequestBody SysUser sysUser) { String username = sysUser.getUserName(); if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) { - return R.fail("褰撳墠绯荤粺娌℃湁寮鍚敞鍐屽姛鑳斤紒"); + return Rust.fail("褰撳墠绯荤粺娌℃湁寮鍚敞鍐屽姛鑳斤紒"); } if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(username))) { - return R.fail("淇濆瓨鐢ㄦ埛'" + username + "'澶辫触锛屾敞鍐岃处鍙峰凡瀛樺湪"); + return Rust.fail("淇濆瓨鐢ㄦ埛'" + username + "'澶辫触锛屾敞鍐岃处鍙峰凡瀛樺湪"); } - return R.ok(userService.registerUser(sysUser)); + return Rust.ok(userService.registerUser(sysUser)); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java index 395edf1b..c49b9acb 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java @@ -1,8 +1,9 @@ package com.ruoyi.system.mapper; -import java.util.List; import com.ruoyi.system.api.domain.SysLogininfor; +import java.util.List; + /** * 绯荤粺璁块棶鏃ュ織鎯呭喌淇℃伅 鏁版嵁灞 * @@ -14,6 +15,7 @@ public interface SysLogininforMapper * 鏂板绯荤粺鐧诲綍鏃ュ織 * * @param logininfor 璁块棶鏃ュ織瀵硅薄 + * @return int */ public int insertLogininfor(SysLogininfor logininfor); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java index 4e9b8cb6..d829a540 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java @@ -1,8 +1,9 @@ package com.ruoyi.system.mapper; -import java.util.List; import com.ruoyi.system.api.domain.SysOperLog; +import java.util.List; + /** * 鎿嶄綔鏃ュ織 鏁版嵁灞 * @@ -14,6 +15,7 @@ public interface SysOperLogMapper * 鏂板鎿嶄綔鏃ュ織 * * @param operLog 鎿嶄綔鏃ュ織瀵硅薄 + * @return int */ public int insertOperlog(SysOperLog operLog); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java index 724a6a9c..54fab043 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java @@ -1,8 +1,9 @@ package com.ruoyi.system.service; -import java.util.List; import com.ruoyi.system.api.domain.SysLogininfor; +import java.util.List; + /** * 绯荤粺璁块棶鏃ュ織鎯呭喌淇℃伅 鏈嶅姟灞 * @@ -14,6 +15,7 @@ public interface ISysLogininforService * 鏂板绯荤粺鐧诲綍鏃ュ織 * * @param logininfor 璁块棶鏃ュ織瀵硅薄 + * @return int */ public int insertLogininfor(SysLogininfor logininfor); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPermissionService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPermissionService.java index f020bf9e..dfe1913f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPermissionService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPermissionService.java @@ -2,6 +2,9 @@ package com.ruoyi.system.service; import java.util.Set; +/** + * @author pan + */ public interface ISysPermissionService { /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java index 46a8c7a8..632a8814 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java @@ -1,14 +1,18 @@ package com.ruoyi.system.service.impl; -import java.util.HashSet; -import java.util.Set; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.service.ISysMenuService; import com.ruoyi.system.service.ISysPermissionService; import com.ruoyi.system.service.ISysRoleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashSet; +import java.util.Set; +/** + * @author pan + */ @Service public class SysPermissionServiceImpl implements ISysPermissionService { From 7c394a46ace0326b9f8ba7f691140d2bc6262d76 Mon Sep 17 00:00:00 2001 From: 1332987 <13329870472@163.com> Date: Wed, 20 Apr 2022 11:40:55 +0800 Subject: [PATCH 05/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0TODO=20=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E8=A7=84=E7=BA=A6=E6=89=AB=E6=8F=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/utils/html/EscapeUtil.java | 10 +++---- .../common/core/utils/html/HtmlFilter.java | 24 ++++++++-------- .../common/core/utils/poi/ExcelUtil.java | 2 +- .../ruoyi/common/core/utils/sign/Base64.java | 16 +++++------ .../ruoyi/common/core/utils/uuid/UUID.java | 28 +++++++++---------- .../gateway/service/ValidateCodeService.java | 6 ++++ .../com/ruoyi/job/service/ISysJobService.java | 14 ++++++---- 7 files changed, 54 insertions(+), 46 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/EscapeUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/EscapeUtil.java index e8b7357f..65c8ba11 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/EscapeUtil.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/EscapeUtil.java @@ -21,11 +21,11 @@ public class EscapeUtil } // special HTML characters - TEXT['\''] = "'".toCharArray(); // 鍗曞紩鍙 - TEXT['"'] = """.toCharArray(); // 鍙屽紩鍙 - TEXT['&'] = "&".toCharArray(); // &绗 - TEXT['<'] = "<".toCharArray(); // 灏忎簬鍙 - TEXT['>'] = ">".toCharArray(); // 澶т簬鍙 + TEXT['\''] = "'".toCharArray(); + TEXT['"'] = """.toCharArray(); + TEXT['&'] = "&".toCharArray(); + TEXT['<'] = "<".toCharArray(); + TEXT['>'] = ">".toCharArray(); } /** diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HtmlFilter.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HtmlFilter.java index a79a7512..9ed5f388 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HtmlFilter.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HtmlFilter.java @@ -121,7 +121,7 @@ public final class HtmlFilter { vSelfClosingTags = new String[]{"img"}; vNeedClosingTags = new String[]{"a", "b", "strong", "i", "em"}; vDisallowed = new String[]{}; - vAllowedProtocols = new String[]{"http", "mailto", "https"}; // no ftp. + vAllowedProtocols = new String[]{"http", "mailto", "https"}; vProtocolAtts = new String[]{"src", "href"}; vRemoveBlanks = new String[]{"a", "b", "strong", "i", "em"}; vAllowedEntities = new String[]{"amp", "gt", "lt", "quot"}; @@ -221,7 +221,7 @@ public final class HtmlFilter { final Matcher m = P_COMMENTS.matcher(s); final StringBuffer buf = new StringBuffer(); if (m.find()) { - final String match = m.group(1); // (.*?) + final String match = m.group(1); m.appendReplacement(buf, Matcher.quoteReplacement("")); } m.appendTail(buf); @@ -329,12 +329,12 @@ public final class HtmlFilter { final List paramNames = new ArrayList<>(); final List paramValues = new ArrayList<>(); while (m2.find()) { - paramNames.add(m2.group(1)); // ([a-z0-9]+) - paramValues.add(m2.group(3)); // (.*?) + paramNames.add(m2.group(1)); + paramValues.add(m2.group(3)); } while (m3.find()) { - paramNames.add(m3.group(1)); // ([a-z0-9]+) - paramValues.add(m3.group(3)); // ([^\"\\s']+) + paramNames.add(m3.group(1)); + paramValues.add(m3.group(3)); } String paramName, paramValue; for (int ii = 0; ii < paramNames.size(); ii++) { @@ -434,8 +434,8 @@ public final class HtmlFilter { // validate entities throughout the string Matcher m = P_VALID_ENTITIES.matcher(s); while (m.find()) { - final String one = m.group(1); // ([^&;]*) - final String two = m.group(2); // (?=(;|&|$)) + final String one = m.group(1); + final String two = m.group(2); m.appendReplacement(buf, Matcher.quoteReplacement(checkEntity(one, two))); } m.appendTail(buf); @@ -448,10 +448,10 @@ public final class HtmlFilter { StringBuffer buf = new StringBuffer(); Matcher m = P_VALID_QUOTES.matcher(s); while (m.find()) { - final String one = m.group(1); // (>|^) - final String two = m.group(2); // ([^<]+?) - final String three = m.group(3); // (<|$) - // 涓嶆浛鎹㈠弻寮曞彿涓"锛岄槻姝son鏍煎紡鏃犳晥 regexReplace(P_QUOTE, """, two) + final String one = m.group(1); + final String two = m.group(2); + final String three = m.group(3); + /*涓嶆浛鎹㈠弻寮曞彿涓"锛岄槻姝son鏍煎紡鏃犳晥 regexReplace(P_QUOTE, """, two)*/ m.appendReplacement(buf, Matcher.quoteReplacement(one + two + three)); } m.appendTail(buf); diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java index 461c4f6f..a5f5e29d 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java @@ -908,7 +908,7 @@ public class ExcelUtil { if (cell.getCellType() == CellType.NUMERIC || cell.getCellType() == CellType.FORMULA) { val = cell.getNumericCellValue(); if (DateUtil.isCellDateFormatted(cell)) { - val = DateUtil.getJavaDate((Double) val); // POI Excel 鏃ユ湡鏍煎紡杞崲 + val = DateUtil.getJavaDate((Double) val); } else { if ((Double) val % 1 != 0) { val = new BigDecimal(val.toString()); diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/sign/Base64.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/sign/Base64.java index e22079ff..48fbe7a6 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/sign/Base64.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/sign/Base64.java @@ -145,9 +145,9 @@ public final class Base64 { return null; } char[] base64Data = encoded.toCharArray(); - int len = removeWhiteSpace(base64Data);// 鍒犻櫎绌烘牸 + int len = removeWhiteSpace(base64Data); if (len % FOURBYTE != 0) { - return null;// sho搴旇鑳借鍥涙暣闄 + return null; } int numberQuadruple = (len / FOURBYTE); if (numberQuadruple == 0) { @@ -164,7 +164,7 @@ public final class Base64 { if (!isData((d1 = base64Data[dataIndex++])) || !isData((d2 = base64Data[dataIndex++])) || !isData((d3 = base64Data[dataIndex++])) || !isData((d4 = base64Data[dataIndex++]))) { return null; - } // if found "no data" just return null + } b1 = BASE_64_ALPHABET[d1]; b2 = BASE_64_ALPHABET[d2]; b3 = BASE_64_ALPHABET[d3]; @@ -174,16 +174,15 @@ public final class Base64 { decodedData[encodedIndex++] = (byte) (b3 << 6 | b4); } if (!isData((d1 = base64Data[dataIndex++])) || !isData((d2 = base64Data[dataIndex++]))) { - return null;// if found "no data" just return null + return null; } b1 = BASE_64_ALPHABET[d1]; b2 = BASE_64_ALPHABET[d2]; d3 = base64Data[dataIndex++]; d4 = base64Data[dataIndex++]; - if (!isData((d3)) || !isData((d4))) {// Check if they are PAD characters + if (!isData((d3)) || !isData((d4))) { if (isPad(d3) && isPad(d4)) { - if ((b2 & 0xf) != 0)// last 4 bits should be zero - { + if ((b2 & 0xf) != 0) { return null; } byte[] tmp = new byte[i * 3 + 1]; @@ -192,8 +191,7 @@ public final class Base64 { return tmp; } else if (!isPad(d3) && isPad(d4)) { b3 = BASE_64_ALPHABET[d3]; - if ((b3 & 0x3) != 0)// last 2 bits should be zero - { + if ((b3 & 0x3) != 0) { return null; } byte[] tmp = new byte[i * 3 + 2]; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java index 06a2c9b4..70df239d 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java @@ -98,10 +98,10 @@ public final class UUID implements java.io.Serializable, Comparable byte[] randomBytes = new byte[16]; ng.nextBytes(randomBytes); - randomBytes[6] &= 0x0f; /* clear version */ - randomBytes[6] |= 0x40; /* set to version 4 */ - randomBytes[8] &= 0x3f; /* clear variant */ - randomBytes[8] |= 0x80; /* set to IETF variant */ + randomBytes[6] &= 0x0f; + randomBytes[6] |= 0x40; + randomBytes[8] &= 0x3f; + randomBytes[8] |= 0x80; return new UUID(randomBytes); } @@ -124,10 +124,10 @@ public final class UUID implements java.io.Serializable, Comparable throw new InternalError("MD5 not supported"); } byte[] md5Bytes = md.digest(name); - md5Bytes[6] &= 0x0f; /* clear version */ - md5Bytes[6] |= 0x30; /* set to version 3 */ - md5Bytes[8] &= 0x3f; /* clear variant */ - md5Bytes[8] |= 0x80; /* set to IETF variant */ + md5Bytes[6] &= 0x0f; + md5Bytes[6] |= 0x30; + md5Bytes[8] &= 0x3f; + md5Bytes[8] |= 0x80; return new UUID(md5Bytes); } @@ -245,8 +245,8 @@ public final class UUID implements java.io.Serializable, Comparable public long timestamp() throws UnsupportedOperationException { checkTimeBase(); - return (mostSigBits & 0x0FFFL) << 48// - | ((mostSigBits >> 16) & 0x0FFFFL) << 32// + return (mostSigBits & 0x0FFFL) << 48 + | ((mostSigBits >> 16) & 0x0FFFFL) << 32 | mostSigBits >>> 32; } @@ -425,10 +425,10 @@ public final class UUID implements java.io.Serializable, Comparable { // The ordering is intentionally set up so that the UUIDs // can simply be numerically compared as two numbers - return (this.mostSigBits < val.mostSigBits ? -1 : // - (this.mostSigBits > val.mostSigBits ? 1 : // - (this.leastSigBits < val.leastSigBits ? -1 : // - (this.leastSigBits > val.leastSigBits ? 1 : // + return (this.mostSigBits < val.mostSigBits ? -1 : + (this.mostSigBits > val.mostSigBits ? 1 : + (this.leastSigBits < val.leastSigBits ? -1 : + (this.leastSigBits > val.leastSigBits ? 1 : 0)))); } diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/service/ValidateCodeService.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/service/ValidateCodeService.java index 615fb07b..650be4a1 100644 --- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/service/ValidateCodeService.java +++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/service/ValidateCodeService.java @@ -13,11 +13,17 @@ public interface ValidateCodeService { /** * 鐢熸垚楠岃瘉鐮 + * @return AjaxResult + * @throws IOException / + * @throws CaptchaException / */ public AjaxResult createCaptcha() throws IOException, CaptchaException; /** * 鏍¢獙楠岃瘉鐮 + * @param key 閿 + * @param value 鍊 + * @throws CaptchaException / */ public void checkCaptcha(String key, String value) throws CaptchaException; } diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/ISysJobService.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/ISysJobService.java index e8a93768..ea7bbbb1 100644 --- a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/ISysJobService.java +++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/ISysJobService.java @@ -56,42 +56,46 @@ public interface ISysJobService public int deleteJob(SysJob job) throws SchedulerException; /** + * * 鎵归噺鍒犻櫎璋冨害淇℃伅 - * + * * @param jobIds 闇瑕佸垹闄ょ殑浠诲姟ID * @return 缁撴灉 + * @throws SchedulerException / */ public void deleteJobByIds(Long[] jobIds) throws SchedulerException; /** * 浠诲姟璋冨害鐘舵佷慨鏀 - * * @param job 璋冨害淇℃伅 * @return 缁撴灉 + * @throws SchedulerException / */ public int changeStatus(SysJob job) throws SchedulerException; /** * 绔嬪嵆杩愯浠诲姟 - * * @param job 璋冨害淇℃伅 * @return 缁撴灉 + * @throws SchedulerException / */ public void run(SysJob job) throws SchedulerException; /** * 鏂板浠诲姟 - * * @param job 璋冨害淇℃伅 * @return 缁撴灉 + * @throws SchedulerException / + * @throws TaskException / */ public int insertJob(SysJob job) throws SchedulerException, TaskException; /** * 鏇存柊浠诲姟 - * * @param job 璋冨害淇℃伅 * @return 缁撴灉 + * @throws SchedulerException / + * @throws TaskException / */ public int updateJob(SysJob job) throws SchedulerException, TaskException; From ef29194da6770c4291b36ae52684ee8e86ca83c5 Mon Sep 17 00:00:00 2001 From: 1332987 <13329870472@163.com> Date: Wed, 20 Apr 2022 13:08:54 +0800 Subject: [PATCH 06/14] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=A7=84=E7=BA=A6?= =?UTF-8?q?=E6=89=AB=E6=8F=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/common/core/utils/ServletUtils.java | 6 +- .../ruoyi/common/core/utils/StringUtils.java | 64 +++++- .../common/core/utils/file/FileUtils.java | 148 +++++-------- .../common/core/utils/html/EscapeUtil.java | 7 +- .../common/core/utils/html/HtmlFilter.java | 5 +- .../ruoyi/common/core/utils/ip/IpUtils.java | 23 +- .../common/core/utils/poi/ExcelUtil.java | 8 +- .../core/utils/reflect/ReflectUtils.java | 3 +- .../ruoyi/common/core/utils/uuid/UUID.java | 169 ++++++--------- .../common/core/web/page/PageDomain.java | 7 +- .../gateway/config/KaptchaTextCreator.java | 18 +- .../gateway/filter/CacheRequestFilter.java | 4 +- .../com/ruoyi/gateway/filter/XssFilter.java | 2 +- .../service/impl/ValidateCodeServiceImpl.java | 4 +- .../com/ruoyi/gen/domain/GenTableColumn.java | 11 +- .../gen/service/GenTableServiceImpl.java | 2 +- .../java/com/ruoyi/gen/util/GenUtils.java | 39 ++-- .../com/ruoyi/gen/util/VelocityUtils.java | 196 +++++++----------- .../system/controller/SysUserController.java | 2 +- 19 files changed, 323 insertions(+), 395 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java index 8f091237..66907b67 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java @@ -185,19 +185,19 @@ public class ServletUtils public static boolean isAjaxRequest(HttpServletRequest request) { String accept = request.getHeader("accept"); - if (accept != null && accept.contains("application/json")) + if (accept != null && accept.contains(StringUtils.ACCEPT_JSON)) { return true; } String xRequestedWith = request.getHeader("X-Requested-With"); - if (xRequestedWith != null && xRequestedWith.contains("XMLHttpRequest")) + if (xRequestedWith != null && xRequestedWith.contains(StringUtils.XML_HTTP)) { return true; } String uri = request.getRequestURI(); - if (StringUtils.inStringIgnoreCase(uri, ".json", ".xml")) + if (StringUtils.inStringIgnoreCase(uri, StringUtils.DOT+StringUtils.JSON,StringUtils.DOT+StringUtils.XML)) { return true; } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java index 26811285..4327b236 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/StringUtils.java @@ -16,10 +16,60 @@ import java.util.Map; public class StringUtils extends org.apache.commons.lang3.StringUtils { /** 绌哄瓧绗︿覆 */ - private static final String NULLSTR = ""; + public static final String NULLSTR = ""; + /** 绌烘牸瀛楃涓 */ + public static final String BLANK_SPACE = " "; + /** 鏂滄潬瀛楃涓 */ + public static final String SLASH = "/"; + /** 浜曞彿瀛楃涓 */ + public static final String WELL_NO = "#"; + /** 鐐瑰瓧绗︿覆 */ + public static final String DOT = "."; + /** 閫楀彿绗︿覆 */ + public static final String COMMA = ","; + /** (绗︿覆 */ + public static final String LEFT_BRACKETS = "("; + /** get瀛楃涓 */ + public static final String GET = "GET"; + /** POST瀛楃涓 */ + public static final String POST = "POST"; + /** DELETE瀛楃涓 */ + public static final String DELETE = "DELETE"; + /** 鍓嶇鎺掑簭瀛楃涓 */ + public static final String ASC_ENDING = "ascending"; + /** 鍓嶇鎺掑簭瀛楃涓 */ + public static final String DESC_ENDING = "descending"; + /** true瀛楃涓 */ + public static final String TRUE = "true"; + /** registerUser瀛楃涓 */ + public static final String SYS_ACCOUNT_USER = "sys.account.registerUser"; + /** char瀛楃涓 */ + public static final String CHAR = "char"; + /** math瀛楃涓 */ + public static final String MATH = "math"; + /** JPG瀛楃涓 */ + public static final String JPG = "JPG"; + /** PNG瀛楃涓 */ + public static final String PNG = "PNG"; + /** 娉細瀛楃涓 */ + public static final String NOTE = "娉細"; + /** MSIE瀛楃涓 */ + public static final String MSIE = "MSIE"; + /** Firefox瀛楃涓 */ + public static final String FIREFOX = "Firefox"; + /** Chrome瀛楃涓 */ + public static final String CHROME = "Chrome"; + /** json瀛楃涓 */ + public static final String ACCEPT_JSON = "application/json"; + /** XMLHttpRequest瀛楃涓 */ + public static final String XML_HTTP = "XMLHttpRequest"; + /** json瀛楃涓 */ + public static final String JSON = "json"; + /** xml瀛楃涓 */ + public static final String XML = "xml"; /** 涓嬪垝绾 */ - private static final char SEPARATOR = '_'; + public static final char SEPARATOR = '_'; /** * 鑾峰彇鍙傛暟涓嶄负绌哄 @@ -373,19 +423,17 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils public static String convertToCamelCase(String name) { StringBuilder result = new StringBuilder(); + String underline = "_"; // 蹇熸鏌 - if (name == null || name.isEmpty()) - { + if (name == null || name.isEmpty()) { // 娌″繀瑕佽浆鎹 return ""; - } - else if (!name.contains("_")) - { + } else if (!name.contains(underline)) { // 涓嶅惈涓嬪垝绾匡紝浠呭皢棣栧瓧姣嶅ぇ鍐 return name.substring(0, 1).toUpperCase() + name.substring(1); } // 鐢ㄤ笅鍒掔嚎灏嗗師濮嬪瓧绗︿覆鍒嗗壊 - String[] camels = name.split("_"); + String[] camels = name.split(underline); for (String camel : camels) { // 璺宠繃鍘熷瀛楃涓蹭腑寮澶淬佺粨灏剧殑涓嬫崲绾挎垨鍙岄噸涓嬪垝绾 diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/file/FileUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/file/FileUtils.java index f76bb34b..1da01947 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/file/FileUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/file/FileUtils.java @@ -1,83 +1,66 @@ package com.ruoyi.common.core.utils.file; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.OutputStream; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; +import com.ruoyi.common.core.utils.StringUtils; +import org.apache.commons.lang3.ArrayUtils; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.commons.lang3.ArrayUtils; -import com.ruoyi.common.core.utils.StringUtils; +import java.io.*; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; /** * 鏂囦欢澶勭悊宸ュ叿绫 - * + * * @author ruoyi */ -public class FileUtils -{ - /** 瀛楃甯搁噺锛氭枩鏉 {@code '/'} */ +public class FileUtils { + /** + * 瀛楃甯搁噺锛氭枩鏉 {@code '/'} + */ public static final char SLASH = '/'; - /** 瀛楃甯搁噺锛氬弽鏂滄潬 {@code '\\'} */ + /** + * 瀛楃甯搁噺锛氬弽鏂滄潬 {@code '\\'} + */ public static final char BACKSLASH = '\\'; public static String FILENAME_PATTERN = "[a-zA-Z0-9_\\-\\|\\.\\u4e00-\\u9fa5]+"; /** * 杈撳嚭鎸囧畾鏂囦欢鐨刡yte鏁扮粍 - * + * * @param filePath 鏂囦欢璺緞 - * @param os 杈撳嚭娴 + * @param os 杈撳嚭娴 * @return */ - public static void writeBytes(String filePath, OutputStream os) throws IOException - { + public static void writeBytes(String filePath, OutputStream os) throws IOException { FileInputStream fis = null; - try - { + try { File file = new File(filePath); - if (!file.exists()) - { + if (!file.exists()) { throw new FileNotFoundException(filePath); } fis = new FileInputStream(file); byte[] b = new byte[1024]; int length; - while ((length = fis.read(b)) > 0) - { + while ((length = fis.read(b)) > 0) { os.write(b, 0, length); } - } - catch (IOException e) - { + } catch (IOException e) { throw e; - } - finally - { - if (os != null) - { - try - { + } finally { + if (os != null) { + try { os.close(); - } - catch (IOException e1) - { + } catch (IOException e1) { e1.printStackTrace(); } } - if (fis != null) - { - try - { + if (fis != null) { + try { fis.close(); - } - catch (IOException e1) - { + } catch (IOException e1) { e1.printStackTrace(); } } @@ -86,17 +69,15 @@ public class FileUtils /** * 鍒犻櫎鏂囦欢 - * + * * @param filePath 鏂囦欢 * @return */ - public static boolean deleteFile(String filePath) - { + public static boolean deleteFile(String filePath) { boolean flag = false; File file = new File(filePath); // 璺緞涓烘枃浠朵笖涓嶄负绌哄垯杩涜鍒犻櫎 - if (file.isFile() && file.exists()) - { + if (file.isFile() && file.exists()) { file.delete(); flag = true; } @@ -105,32 +86,28 @@ public class FileUtils /** * 鏂囦欢鍚嶇О楠岃瘉 - * + * * @param filename 鏂囦欢鍚嶇О * @return true 姝e父 false 闈炴硶 */ - public static boolean isValidFilename(String filename) - { + public static boolean isValidFilename(String filename) { return filename.matches(FILENAME_PATTERN); } /** * 妫鏌ユ枃浠舵槸鍚﹀彲涓嬭浇 - * + * * @param resource 闇瑕佷笅杞界殑鏂囦欢 * @return true 姝e父 false 闈炴硶 */ - public static boolean checkAllowDownload(String resource) - { + public static boolean checkAllowDownload(String resource) { // 绂佹鐩綍涓婅烦绾у埆 - if (StringUtils.contains(resource, "..")) - { + if (StringUtils.contains(resource, StringUtils.DOT + StringUtils.DOT)) { return false; } // 妫鏌ュ厑璁镐笅杞界殑鏂囦欢瑙勫垯 - if (ArrayUtils.contains(MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION, FileTypeUtils.getFileType(resource))) - { + if (ArrayUtils.contains(MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION, FileTypeUtils.getFileType(resource))) { return true; } @@ -140,33 +117,25 @@ public class FileUtils /** * 涓嬭浇鏂囦欢鍚嶉噸鏂扮紪鐮 - * - * @param request 璇锋眰瀵硅薄 + * + * @param request 璇锋眰瀵硅薄 * @param fileName 鏂囦欢鍚 * @return 缂栫爜鍚庣殑鏂囦欢鍚 */ - public static String setFileDownloadHeader(HttpServletRequest request, String fileName) throws UnsupportedEncodingException - { + public static String setFileDownloadHeader(HttpServletRequest request, String fileName) throws UnsupportedEncodingException { final String agent = request.getHeader("USER-AGENT"); String filename = fileName; - if (agent.contains("MSIE")) - { + if (agent.contains(StringUtils.MSIE)) { // IE娴忚鍣 filename = URLEncoder.encode(filename, "utf-8"); filename = filename.replace("+", " "); - } - else if (agent.contains("Firefox")) - { + } else if (agent.contains(StringUtils.FIREFOX)) { // 鐏嫄娴忚鍣 filename = new String(fileName.getBytes(), "ISO8859-1"); - } - else if (agent.contains("Chrome")) - { + } else if (agent.contains(StringUtils.CHROME)) { // google娴忚鍣 filename = URLEncoder.encode(filename, "utf-8"); - } - else - { + } else { // 鍏跺畠娴忚鍣 filename = URLEncoder.encode(filename, "utf-8"); } @@ -179,30 +148,24 @@ public class FileUtils * @param filePath 鏂囦欢 * @return 鏂囦欢鍚 */ - public static String getName(String filePath) - { - if (null == filePath) - { + public static String getName(String filePath) { + if (null == filePath) { return null; } int len = filePath.length(); - if (0 == len) - { + if (0 == len) { return filePath; } - if (isFileSeparator(filePath.charAt(len - 1))) - { + if (isFileSeparator(filePath.charAt(len - 1))) { // 浠ュ垎闅旂缁撳熬鐨勫幓鎺夌粨灏惧垎闅旂 len--; } int begin = 0; char c; - for (int i = len - 1; i > -1; i--) - { + for (int i = len - 1; i > -1; i--) { c = filePath.charAt(i); - if (isFileSeparator(c)) - { + if (isFileSeparator(c)) { // 鏌ユ壘鏈鍚庝竴涓矾寰勫垎闅旂锛/鎴栬匼锛 begin = i + 1; break; @@ -219,20 +182,18 @@ public class FileUtils * @param c 瀛楃 * @return 鏄惁涓篧indows鎴栬匧inux锛圲nix锛夋枃浠跺垎闅旂 */ - public static boolean isFileSeparator(char c) - { + public static boolean isFileSeparator(char c) { return SLASH == c || BACKSLASH == c; } /** * 涓嬭浇鏂囦欢鍚嶉噸鏂扮紪鐮 * - * @param response 鍝嶅簲瀵硅薄 + * @param response 鍝嶅簲瀵硅薄 * @param realFileName 鐪熷疄鏂囦欢鍚 * @return */ - public static void setAttachmentResponseHeader(HttpServletResponse response, String realFileName) throws UnsupportedEncodingException - { + public static void setAttachmentResponseHeader(HttpServletResponse response, String realFileName) throws UnsupportedEncodingException { String percentEncodedFileName = percentEncode(realFileName); StringBuilder contentDispositionValue = new StringBuilder(); @@ -253,8 +214,7 @@ public class FileUtils * @param s 闇瑕佺櫨鍒嗗彿缂栫爜鐨勫瓧绗︿覆 * @return 鐧惧垎鍙风紪鐮佸悗鐨勫瓧绗︿覆 */ - public static String percentEncode(String s) throws UnsupportedEncodingException - { + public static String percentEncode(String s) throws UnsupportedEncodingException { String encode = URLEncoder.encode(s, StandardCharsets.UTF_8.toString()); return encode.replaceAll("\\+", "%20"); } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/EscapeUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/EscapeUtil.java index 65c8ba11..8e8f3145 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/EscapeUtil.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/EscapeUtil.java @@ -13,10 +13,9 @@ public class EscapeUtil private static final char[][] TEXT = new char[64][]; - static - { - for (int i = 0; i < 64; i++) - { + static { + int baseSize = 64; + for (int i = 0; i < baseSize; i++) { TEXT[i] = new char[] { (char) i }; } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HtmlFilter.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HtmlFilter.java index 9ed5f388..82ba91b0 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HtmlFilter.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/html/HtmlFilter.java @@ -1,5 +1,7 @@ package com.ruoyi.common.core.utils.html; +import com.ruoyi.common.core.utils.StringUtils; + import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -168,6 +170,7 @@ public final class HtmlFilter { /** * my versions of some PHP library functions + * * @param decimal / * @return / */ @@ -383,7 +386,7 @@ public final class HtmlFilter { if (!inArray(protocol, vAllowedProtocols)) { // bad protocol, turn into local anchor link instead s = "#" + s.substring(protocol.length() + 1); - if (s.startsWith("#//")) { + if (s.startsWith(StringUtils.WELL_NO + StringUtils.SLASH + StringUtils.SLASH)) { s = "#" + s.substring(3); } } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java index 9978afc3..aa15afdd 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java @@ -62,7 +62,8 @@ public class IpUtils { * @return 缁撴灉 */ private static boolean internalIp(byte[] addr) { - if (StringUtils.isNull(addr) || addr.length < 2) { + int tow = 2; + if (StringUtils.isNull(addr) || addr.length < tow) { return true; } final byte b0 = addr[0]; @@ -118,7 +119,8 @@ public class IpUtils { switch (elements.length) { case 1: l = Long.parseLong(elements[0]); - if ((l < 0L) || (l > 4294967295L)) { + long l1 = 4294967295L; + if ((l < 0L) || (l > l1)) { return null; } bytes[0] = (byte) (int) (l >> 24 & 0xFF); @@ -128,12 +130,14 @@ public class IpUtils { break; case 2: l = Integer.parseInt(elements[0]); - if ((l < 0L) || (l > 255L)) { + long l2 = 255L; + if ((l < 0L) || (l > l2)) { return null; } bytes[0] = (byte) (int) (l & 0xFF); l = Integer.parseInt(elements[1]); - if ((l < 0L) || (l > 16777215L)) { + long l3 = 16777215L; + if ((l < 0L) || (l > l3)) { return null; } bytes[1] = (byte) (int) (l >> 16 & 0xFF); @@ -141,7 +145,8 @@ public class IpUtils { bytes[3] = (byte) (int) (l & 0xFF); break; case 3: - for (i = 0; i < 2; ++i) { + int i1 = 2; + for (i = 0; i < i1; ++i) { l = Integer.parseInt(elements[i]); if ((l < 0L) || (l > 255L)) { return null; @@ -149,14 +154,16 @@ public class IpUtils { bytes[i] = (byte) (int) (l & 0xFF); } l = Integer.parseInt(elements[2]); - if ((l < 0L) || (l > 65535L)) { + long l4 = 65535L; + if ((l < 0L) || (l > l4)) { return null; } bytes[2] = (byte) (int) (l >> 8 & 0xFF); bytes[3] = (byte) (int) (l & 0xFF); break; case 4: - for (i = 0; i < 4; ++i) { + int i2 = 4; + for (i = 0; i < i2; ++i) { l = Integer.parseInt(elements[i]); if ((l < 0L) || (l > 255L)) { return null; @@ -207,7 +214,7 @@ public class IpUtils { */ public static String getMultistageReverseProxyIp(String ip) { // 澶氱骇鍙嶅悜浠g悊妫娴 - if (ip != null && ip.indexOf(",") > 0) { + if (ip != null && ip.indexOf(StringUtils.COMMA) > 0) { final String[] ips = ip.trim().split(","); for (String subIp : ips) { if (false == isUnknown(subIp)) { diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java index a5f5e29d..a461fecf 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java @@ -555,9 +555,9 @@ public class ExcelUtil { */ public int getImageType(byte[] value) { String type = FileTypeUtils.getFileExtendName(value); - if ("JPG".equalsIgnoreCase(type)) { + if (StringUtils.JPG.equalsIgnoreCase(type)) { return Workbook.PICTURE_TYPE_JPEG; - } else if ("PNG".equalsIgnoreCase(type)) { + } else if (StringUtils.PNG.equalsIgnoreCase(type)) { return Workbook.PICTURE_TYPE_PNG; } return Workbook.PICTURE_TYPE_JPEG; @@ -567,7 +567,7 @@ public class ExcelUtil { * 鍒涘缓琛ㄦ牸鏍峰紡 */ public void setDataValidation(Excel attr, Row row, int column) { - if (attr.name().indexOf("娉細") >= 0) { + if (attr.name().indexOf(StringUtils.NOTE) >= 0) { sheet.setColumnWidth(column, 6000); } else { // 璁剧疆鍒楀 @@ -777,7 +777,7 @@ public class ExcelUtil { Object o = field.get(vo); if (StringUtils.isNotEmpty(excel.targetAttr())) { String target = excel.targetAttr(); - if (target.contains(".")) { + if (target.contains(StringUtils.DOT)) { String[] targets = target.split("[.]"); for (String name : targets) { o = getValue(o, name); diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/reflect/ReflectUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/reflect/ReflectUtils.java index 219c5934..5e4b3949 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/reflect/ReflectUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/reflect/ReflectUtils.java @@ -35,7 +35,8 @@ public class ReflectUtils public static E invokeGetter(Object obj, String propertyName) { Object object = obj; - for (String name : StringUtils.split(propertyName, ".")) + String point = "."; + for (String name : StringUtils.split(propertyName, point)) { String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(name); object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {}); diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java index 70df239d..b77d3dfc 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/UUID.java @@ -13,42 +13,42 @@ import java.util.concurrent.ThreadLocalRandom; * * @author ruoyi */ -public final class UUID implements java.io.Serializable, Comparable -{ +public final class UUID implements java.io.Serializable, Comparable { private static final long serialVersionUID = -1185015143654744140L; /** * SecureRandom 鐨勫崟渚 - * */ - private static class Holder - { + private static class Holder { static final SecureRandom NUMBER_GENERATOR = getSecureRandom(); } - /** 姝UID鐨勬渶楂64鏈夋晥浣 */ + /** + * 姝UID鐨勬渶楂64鏈夋晥浣 + */ private final long mostSigBits; - /** 姝UID鐨勬渶浣64鏈夋晥浣 */ + /** + * 姝UID鐨勬渶浣64鏈夋晥浣 + */ private final long leastSigBits; /** * 绉佹湁鏋勯 - * + * * @param data 鏁版嵁 */ - private UUID(byte[] data) - { + private UUID(byte[] data) { long msb = 0; long lsb = 0; assert data.length == 16 : "data must be 16 bytes in length"; - for (int i = 0; i < 8; i++) - { - msb = (msb << 8) | (data[i] & 0xff); + int eight = 8; + int sixteen = 16; + for (int i = 0; i < eight; i++) { + msb = (msb << eight) | (data[i] & 0xff); } - for (int i = 8; i < 16; i++) - { - lsb = (lsb << 8) | (data[i] & 0xff); + for (int i = eight; i < sixteen; i++) { + lsb = (lsb << eight) | (data[i] & 0xff); } this.mostSigBits = msb; this.leastSigBits = lsb; @@ -57,43 +57,39 @@ public final class UUID implements java.io.Serializable, Comparable /** * 浣跨敤鎸囧畾鐨勬暟鎹瀯閫犳柊鐨 UUID銆 * - * @param mostSigBits 鐢ㄤ簬 {@code UUID} 鐨勬渶楂樻湁鏁 64 浣 + * @param mostSigBits 鐢ㄤ簬 {@code UUID} 鐨勬渶楂樻湁鏁 64 浣 * @param leastSigBits 鐢ㄤ簬 {@code UUID} 鐨勬渶浣庢湁鏁 64 浣 */ - public UUID(long mostSigBits, long leastSigBits) - { + public UUID(long mostSigBits, long leastSigBits) { this.mostSigBits = mostSigBits; this.leastSigBits = leastSigBits; } /** * 鑾峰彇绫诲瀷 4锛堜吉闅忔満鐢熸垚鐨勶級UUID 鐨勯潤鎬佸伐鍘傘 浣跨敤鍔犲瘑鐨勬湰鍦扮嚎绋嬩吉闅忔満鏁扮敓鎴愬櫒鐢熸垚璇 UUID銆 - * + * * @return 闅忔満鐢熸垚鐨 {@code UUID} */ - public static UUID fastuuid() - { + public static UUID fastuuid() { return randomuuid(false); } /** * 鑾峰彇绫诲瀷 4锛堜吉闅忔満鐢熸垚鐨勶級UUID 鐨勯潤鎬佸伐鍘傘 浣跨敤鍔犲瘑鐨勫己浼殢鏈烘暟鐢熸垚鍣ㄧ敓鎴愯 UUID銆 - * + * * @return 闅忔満鐢熸垚鐨 {@code UUID} */ - public static UUID randomuuid() - { + public static UUID randomuuid() { return randomuuid(true); } /** * 鑾峰彇绫诲瀷 4锛堜吉闅忔満鐢熸垚鐨勶級UUID 鐨勯潤鎬佸伐鍘傘 浣跨敤鍔犲瘑鐨勫己浼殢鏈烘暟鐢熸垚鍣ㄧ敓鎴愯 UUID銆 - * + * * @param isSecure 鏄惁浣跨敤{@link SecureRandom}濡傛灉鏄彲浠ヨ幏寰楁洿瀹夊叏鐨勯殢鏈虹爜锛屽惁鍒欏彲浠ュ緱鍒版洿濂界殑鎬ц兘 * @return 闅忔満鐢熸垚鐨 {@code UUID} */ - public static UUID randomuuid(boolean isSecure) - { + public static UUID randomuuid(boolean isSecure) { final Random ng = isSecure ? Holder.NUMBER_GENERATOR : getRandom(); byte[] randomBytes = new byte[16]; @@ -109,18 +105,13 @@ public final class UUID implements java.io.Serializable, Comparable * 鏍规嵁鎸囧畾鐨勫瓧鑺傛暟缁勮幏鍙栫被鍨 3锛堝熀浜庡悕绉扮殑锛塙UID 鐨勯潤鎬佸伐鍘傘 * * @param name 鐢ㄤ簬鏋勯 UUID 鐨勫瓧鑺傛暟缁勩 - * * @return 鏍规嵁鎸囧畾鏁扮粍鐢熸垚鐨 {@code UUID} */ - public static UUID nameUuidFromBytes(byte[] name) - { + public static UUID nameUuidFromBytes(byte[] name) { MessageDigest md; - try - { + try { md = MessageDigest.getInstance("MD5"); - } - catch (NoSuchAlgorithmException nsae) - { + } catch (NoSuchAlgorithmException nsae) { throw new InternalError("MD5 not supported"); } byte[] md5Bytes = md.digest(name); @@ -137,17 +128,14 @@ public final class UUID implements java.io.Serializable, Comparable * @param name 鎸囧畾 {@code UUID} 瀛楃涓 * @return 鍏锋湁鎸囧畾鍊肩殑 {@code UUID} * @throws IllegalArgumentException 濡傛灉 name 涓 {@link #toString} 涓弿杩扮殑瀛楃涓茶〃绀哄舰寮忎笉绗︽姏鍑烘寮傚父 - * */ - public static UUID fromString(String name) - { + public static UUID fromString(String name) { String[] components = name.split("-"); - if (components.length != 5) - { + int fastFive = 5; + if (components.length != fastFive) { throw new IllegalArgumentException("Invalid UUID string: " + name); } - for (int i = 0; i < 5; i++) - { + for (int i = 0; i < fastFive; i++) { StringBuilder sb = new StringBuilder(); sb.append(sb); sb.append(components[i]); @@ -172,8 +160,7 @@ public final class UUID implements java.io.Serializable, Comparable * * @return 姝 UUID 鐨 128 浣嶅间腑鐨勬渶浣庢湁鏁 64 浣嶃 */ - public long getLeastSignificantBits() - { + public long getLeastSignificantBits() { return leastSigBits; } @@ -182,8 +169,7 @@ public final class UUID implements java.io.Serializable, Comparable * * @return 姝 UUID 鐨 128 浣嶅间腑鏈楂樻湁鏁 64 浣嶃 */ - public long getMostSignificantBits() - { + public long getMostSignificantBits() { return mostSigBits; } @@ -200,8 +186,7 @@ public final class UUID implements java.io.Serializable, Comparable * * @return 姝 {@code UUID} 鐨勭増鏈彿 */ - public int version() - { + public int version() { // Version is bits masked by 0x000000000000F000 in MS long return (int) ((mostSigBits >> 12) & 0x0f); } @@ -219,8 +204,7 @@ public final class UUID implements java.io.Serializable, Comparable * * @return 姝 {@code UUID} 鐩稿叧鑱旂殑鍙樹綋鍙 */ - public int variant() - { + public int variant() { // This field is composed of a varying number of bits. // 0 - - Reserved for NCS backward compatibility // 1 0 - The IETF aka Leach-Salz variant (used by this class) @@ -242,8 +226,7 @@ public final class UUID implements java.io.Serializable, Comparable * * @throws UnsupportedOperationException 濡傛灉姝 {@code UUID} 涓嶆槸 version 涓 1 鐨 UUID銆 */ - public long timestamp() throws UnsupportedOperationException - { + public long timestamp() throws UnsupportedOperationException { checkTimeBase(); return (mostSigBits & 0x0FFFL) << 48 | ((mostSigBits >> 16) & 0x0FFFFL) << 32 @@ -260,11 +243,9 @@ public final class UUID implements java.io.Serializable, Comparable * UnsupportedOperationException銆 * * @return 姝 {@code UUID} 鐨勬椂閽熷簭鍒 - * * @throws UnsupportedOperationException 濡傛灉姝 UUID 鐨 version 涓嶄负 1 */ - public int clockSequence() throws UnsupportedOperationException - { + public int clockSequence() throws UnsupportedOperationException { checkTimeBase(); return (int) ((leastSigBits & 0x3FFF000000000000L) >>> 48); } @@ -279,11 +260,9 @@ public final class UUID implements java.io.Serializable, Comparable * 濡傛灉姝 UUID 涓嶆槸鍩轰簬鏃堕棿鐨 UUID锛屽垯姝ゆ柟娉曟姏鍑 UnsupportedOperationException銆 * * @return 姝 {@code UUID} 鐨勮妭鐐瑰 - * * @throws UnsupportedOperationException 濡傛灉姝 UUID 鐨 version 涓嶄负 1 */ - public long node() throws UnsupportedOperationException - { + public long node() throws UnsupportedOperationException { checkTimeBase(); return leastSigBits & 0x0000FFFFFFFFFFFFL; } @@ -293,7 +272,7 @@ public final class UUID implements java.io.Serializable, Comparable * * * UUID 鐨勫瓧绗︿覆琛ㄧず褰㈠紡鐢辨 BNF 鎻忚堪锛 - * + * * * {@code * UUID = -
* UUID 鐨勫瓧绗︿覆琛ㄧず褰㈠紡鐢辨 BNF 鎻忚堪锛 - * + * *
* {@code * UUID = -