From 51fa0405c43598cfc4ae2a4603b12cbd2d57745b Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 08 十二月 2024 09:34:30 +0800
Subject: [PATCH] 1

---
 se-modules/se-system/src/main/java/com/se/system/utils/CheckPwdUtils.java         |   96 ++++++++++++++++++++++++++++++++
 se-modules/se-system/src/main/java/com/se/system/controller/HealthController.java |   15 ++++
 说明.txt                                                                            |   10 +++
 docker-compose/mysql/initdb/se_cloud_20240629.sql                                 |    7 ++
 docker-compose/mysql/initdb/se_cloud_20241204.sql                                 |    1 
 5 files changed, 127 insertions(+), 2 deletions(-)

diff --git a/docker-compose/mysql/initdb/se_cloud_20240629.sql b/docker-compose/mysql/initdb/se_cloud_20240629.sql
index 797fb83..e5aac1f 100644
--- a/docker-compose/mysql/initdb/se_cloud_20240629.sql
+++ b/docker-compose/mysql/initdb/se_cloud_20240629.sql
@@ -68,14 +68,18 @@
   update_by         varchar(64)     default ''                 comment '鏇存柊鑰�',
   update_time       datetime                                   comment '鏇存柊鏃堕棿',
   remark            varchar(500)    default null               comment '澶囨敞',
+  unique (user_name),
   primary key (user_id)
 ) engine=innodb auto_increment=3 comment = '鐢ㄦ埛淇℃伅琛�';
+create unique index index_sys_user_name on sys_user (user_name);
+
 
 -- ----------------------------
 -- 鍒濆鍖�-鐢ㄦ埛淇℃伅琛ㄦ暟鎹�
 -- ----------------------------
 insert into sys_user values(1,  103, 'admin', '', '00', '1', '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', '1', 'ry@qq.com',  '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), 'admin', sysdate(), '', null, '娴嬭瘯鍛�');
+-- insert into sys_user (user_name, nick_name) values ('admin', 'admin');
 -- select * from sys_user;
 
 -- ----------------------------
@@ -185,7 +189,7 @@
 -- 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('110',  '瀹氭椂浠诲姟',       '1',   '11', '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, '鏈嶅姟鐩戞帶鑿滃崟');
@@ -633,6 +637,7 @@
 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, '');
+-- select * from sys_job order by job_id;
 
 
 -- ----------------------------
diff --git a/docker-compose/mysql/initdb/se_cloud_20241204.sql b/docker-compose/mysql/initdb/se_cloud_20241204.sql
index 531f55e..8546476 100644
--- a/docker-compose/mysql/initdb/se_cloud_20241204.sql
+++ b/docker-compose/mysql/initdb/se_cloud_20241204.sql
@@ -25,6 +25,7 @@
   update_by         varchar(64)     default ''                 comment '鏇存柊鑰�',
   update_time       datetime                                   comment '鏇存柊鏃堕棿',
   remark            varchar(500)    default ''                 comment '澶囨敞',
+  unique (think_id),
   primary key (task_id)
 ) engine=innodb auto_increment=1 comment = '鍒嗙郴缁熶换鍔℃帶鍒惰〃';
 select * from sys_task_ctrl order by task_id;
diff --git a/se-modules/se-system/src/main/java/com/se/system/controller/HealthController.java b/se-modules/se-system/src/main/java/com/se/system/controller/HealthController.java
index d22e460..fbe8d96 100644
--- a/se-modules/se-system/src/main/java/com/se/system/controller/HealthController.java
+++ b/se-modules/se-system/src/main/java/com/se/system/controller/HealthController.java
@@ -1,6 +1,7 @@
 package com.se.system.controller;
 
 import com.se.common.core.web.controller.BaseController;
+import com.se.system.utils.CheckPwdUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -8,7 +9,19 @@
 @SuppressWarnings("ALL")
 public class HealthController extends BaseController {
     @GetMapping("/health")
-    public long test() {
+    public long health() {
         return System.currentTimeMillis();
     }
+
+    @GetMapping("/test")
+    public String test() {
+        int level = CheckPwdUtils.checkPwdLevel("12345A74.a");
+
+        // 瀵嗙爜蹇呴』鍖呭惈澶у啓瀛楁瘝銆佸皬鍐欏瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃锛屼笖闀垮害鏄�8浣嶄互涓�
+        if (level <= 2) return "瀵嗙爜寮哄害杩囧急";
+
+        if (level < 5) return "瀵嗙爜寮哄害涓瓑";
+
+        return "瀵嗙爜寮哄害绗﹀悎鏍囧噯";
+    }
 }
diff --git a/se-modules/se-system/src/main/java/com/se/system/utils/CheckPwdUtils.java b/se-modules/se-system/src/main/java/com/se/system/utils/CheckPwdUtils.java
new file mode 100644
index 0000000..6e9899f
--- /dev/null
+++ b/se-modules/se-system/src/main/java/com/se/system/utils/CheckPwdUtils.java
@@ -0,0 +1,96 @@
+package com.se.system.utils;
+
+@SuppressWarnings("ALL")
+public class CheckPwdUtils {
+    /**
+     * NUM 鏁板瓧
+     * SMALL_LETTER 灏忓啓瀛楁瘝
+     * CAPITAL_LETTER 澶у啓瀛楁瘝
+     * OTHER_CHAR 鐗规畩瀛楃
+     */
+    private static final int NUM = 1;
+
+    private static final int SMALL_LETTER = 2;
+
+    private static final int CAPITAL_LETTER = 3;
+
+    private static final int OTHER_CHAR = 4;
+
+    /**
+     * 妫�鏌ュ瘑鐮佺殑寮哄害
+     *
+     * @param passwd 瀵嗙爜
+     * @return 瀵嗙爜绛夌骇
+     */
+    public static int checkPwdLevel(String passwd) {
+        if (null == passwd) {
+            throw new IllegalArgumentException("瀵嗙爜涓嶈兘涓虹┖");
+        }
+        if (passwd.length() < 8) {
+            return 1;
+        }
+
+        int level = 0;
+        // 鍒ゆ柇瀵嗙爜闀垮害鏄惁澶т簬绛変簬8 鏄痩evel++
+        if (passwd.length() >= 8) {
+            level++;
+        }
+        // 鍒ゆ柇瀵嗙爜鏄惁鍚湁鏁板瓧 鏈塴evel++
+        if (countLetter(passwd, NUM) > 0) {
+            level++;
+        }
+        // 鍒ゆ柇瀵嗙爜鏄惁鍚湁灏忓啓瀛楁瘝 鏈塴evel++
+        if (countLetter(passwd, SMALL_LETTER) > 0) {
+            level++;
+        }
+        // 鍒ゆ柇瀵嗙爜鏄惁杩樻湁澶у啓瀛楁瘝 鏈塴evel++
+        if (countLetter(passwd, CAPITAL_LETTER) > 0) {
+            level++;
+        }
+        // 鍒ゆ柇瀵嗙爜鏄惁杩樻湁鐗规畩瀛楃 鏈塴evel++
+        if (countLetter(passwd, OTHER_CHAR) > 0) {
+            level++;
+        }
+
+        return level;
+    }
+
+    /**
+     * 璁$畻瀵嗙爜涓寚瀹氬瓧绗︾被鍨嬬殑鏁伴噺
+     *
+     * @param passwd 瀵嗙爜
+     * @param type   绫诲瀷
+     * @return 鏁伴噺
+     */
+    private static int countLetter(String passwd, int type) {
+        int count = 0;
+        if (null != passwd && !passwd.isEmpty()) {
+            for (char c : passwd.toCharArray()) {
+                if (checkCharacterType(c) == type) {
+                    count++;
+                }
+            }
+        }
+        return count;
+    }
+
+    /**
+     * 妫�鏌ュ瓧绗︾被鍨嬶紝鍖呮嫭num銆佸ぇ鍐欏瓧姣嶃�佸皬鍐欏瓧姣嶅拰鍏朵粬瀛楃銆�
+     *
+     * @param c 鈥� 瀛楃
+     * @return 绫诲瀷
+     */
+    private static int checkCharacterType(char c) {
+        if (c >= 48 && c <= 57) {
+            return NUM;
+        }
+        if (c >= 65 && c <= 90) {
+            return CAPITAL_LETTER;
+        }
+        if (c >= 97 && c <= 122) {
+            return SMALL_LETTER;
+        }
+
+        return OTHER_CHAR;
+    }
+}
diff --git "a/\350\257\264\346\230\216.txt" "b/\350\257\264\346\230\216.txt"
index 9e430a9..bc5723d 100644
--- "a/\350\257\264\346\230\216.txt"
+++ "b/\350\257\264\346\230\216.txt"
@@ -7,6 +7,16 @@
 java 鑷畾涔夎蒋浠惰鍙�
 https://blog.csdn.net/a1374469523/article/details/138667196
 --------------------------------------------------------
+  user_name         varchar(30)     not null                   comment '鐢ㄦ埛璐﹀彿',
+  nick_name         varchar(30)     not null                   comment '鐢ㄦ埛濮撳悕',
+  dept_id           bigint(20)      default null               comment '閮ㄩ棬ID',
+  secret_level      varchar(2)      default '1'                comment '瀵嗙骇绫诲瀷',
+  email             varchar(50)     default ''                 comment '鐢ㄦ埛閭',
+  phonenumber       varchar(11)     default ''                 comment '鎵嬫満鍙风爜',
+  sex               char(1)         default '0'                comment '鐢ㄦ埛鎬у埆锛�0鐢� 1濂� 2鏈煡锛�',
+  password          varchar(100)    default ''                 comment '瀵嗙爜',
+  鐢ㄦ埛鍚嶃�佺敤鎴峰瘑鐮併�佸瘑绾с�佺敵璇疯鑹层�佺敤鎴峰鍚嶏紝http://localhost:8081/register
+--------------------------------------------------------
 http://192.168.11.203:8090/sso/login锛宎dmin锛宎dmin123
 http://192.168.11.203:8848/nacos锛宯Acos_!9#_admIn
 

--
Gitblit v1.9.3