From 373424bd010cfae218570e602199e2ac6754a0ef Mon Sep 17 00:00:00 2001
From: ageerle <ageerle@163.com>
Date: 星期六, 24 五月 2025 16:18:18 +0800
Subject: [PATCH] feat(更新日志):

---
 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/WordLoader.java             |    1 
 script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-web/Dockerfile                         |    0 
 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/SseServiceImpl.java            |   30 
 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/FaceController.java        |    2 
 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/SubmitController.java      |   17 
 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/CodeTextSplitter.java        |    1 
 script/deploy/deploy/mysql-init/03_update_20250505.sql                                                 |    0 
 script/deploy/one-step-script/template/application-prod.yml.template                                   |  176 +-
 script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.test                          |    0 
 script/deploy/one-step-script/deploy-cn.sh                                                             |    0 
 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysRegisterService.java              |    8 
 script/deploy/build-docker-images/modify-source-code/ruoyi-ai-backend/application-prod.yml             |    0 
 script/docker/weaviate/docker-compose.yml                                                              |    5 
 script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-admin/Dockerfile                       |    0 
 script/deploy/one-step-script/mysql-init/03_update_20250505.sql                                        |    0 
 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/knowledge/KnowledgeController.java    |   20 
 script/deploy/Ruoyi-AI平台容器化构建与部署手册.docx                                                                |    0 
 script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-admin/nginx.conf                       |    0 
 script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env                               |    0 
 script/deploy/one-step-script/mysql-init/01_ruoyi-ai.sql                                               |    0 
 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java                 |   45 
 script/deploy/deploy/mysql-init/01_ruoyi-ai.sql                                                        |    0 
 script/deploy/build-docker-images/scripts/build-ruoyi-web-image.sh                                     |    0 
 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatUsageToken.java                    |    6 
 script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.analyze                       |    0 
 script/deploy/deploy/update_ruoyi-qi-sql.sh                                                            |    0 
 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/CsvFileLoader.java          |    2 
 script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/vite.config.mts                    |    0 
 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java       |   22 
 script/deploy/one-step-script/deploy-en.sh                                                             |    0 
 script/deploy/one-step-script/template/nginx.admin.conf.template                                       |   42 
 ruoyi-admin/src/main/resources/application.yml                                                         |    4 
 script/deploy/one-step-script/template/.env.template                                                   |    0 
 script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-web/nginx.conf                         |    0 
 script/deploy/one-step-script/mysql-init/02_update_20250407.sql                                        |    0 
 script/deploy/source-code/fetch-web-source-code.sh                                                     |    0 
 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/GithubLoader.java           |    2 
 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatModelController.java         |    7 
 script/deploy/build-docker-images/scripts/build-ruoyi-backend-image.sh                                 |    0 
 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatTokenService.java                |    6 
 script/deploy/one-step-script/mysql-init/04_update_20250509.sql                                        |    0 
 ruoyi-admin/src/main/resources/application-dev.yml                                                     |   18 
 script/deploy/one-step-script/template/nginx.web.conf.template                                         |   42 
 script/deploy/one-step-script/template/docker-compose.yaml.template                                    |  230 +-
 pom.xml                                                                                                |   11 
 ruoyi-modules/pom.xml                                                                                  |    1 
 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java |   94 -
 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/listener/SSEEventSourceListener.java             |   13 
 script/deploy/deploy/.env                                                                              |    0 
 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java                    |    3 
 script/deploy/deploy/docker-compose.yaml                                                               |    0 
 script/deploy/source-code/fetch-admin-source-code.sh                                                   |    0 
 script/deploy/build-docker-images/scripts/build-ruoyi-admin-image.sh                                   |    0 
 script/sql/ruoyi-ai.sql                                                                                | 2687 --------------------------------------------
 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/TokenTextSplitter.java       |    1 
 script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-backend/Dockerfile                     |    0 
 ruoyi-admin/pom.xml                                                                                    |    5 
 ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/ChatRequest.java            |   23 
 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ResourceLoaderFactory.java  |   10 
 script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.production                    |    0 
 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/MarkDownFileLoader.java     |    1 
 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatController.java              |   28 
 script/deploy/deploy/mysql-init/02_update_20250407.sql                                                 |    0 
 script/deploy/deploy/copy-mysql-init-script.sh                                                         |    0 
 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/PdfFileLoader.java          |    1 
 script/deploy/build-docker-images/scripts/remove-blank.sh                                              |    0 
 script/deploy/deploy/mysql-init/04_update_20250509.sql                                                 |    0 
 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/JsonFileLoader.java         |    2 
 script/deploy/source-code/fetch-backend-source-code.sh                                                 |    0 
 /dev/null                                                                                              |   10 
 script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.development                   |    0 
 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatTokenServiceImpl.java        |   17 
 ruoyi-common/ruoyi-common-core/pom.xml                                                                 |   18 
 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/CharacterTextSplitter.java   |    1 
 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java         |    2 
 75 files changed, 348 insertions(+), 3,266 deletions(-)

diff --git a/pom.xml b/pom.xml
index f0041fc..848c226 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,10 +54,6 @@
         <maven-compiler-plugin.verison>3.11.0</maven-compiler-plugin.verison>
         <maven-surefire-plugin.version>3.0.0</maven-surefire-plugin.version>
         <flatten-maven-plugin.version>1.3.0</flatten-maven-plugin.version>
-        <weixin-java-miniapp.version>4.5.0</weixin-java-miniapp.version>
-        <weixin-java-pay.version>4.6.0</weixin-java-pay.version>
-        <weixin-java-cp.version>4.6.0</weixin-java-cp.version>
-        <weixin-java-cp.version>4.6.0</weixin-java-cp.version>
     </properties>
 
     <profiles>
@@ -336,13 +332,6 @@
                 <artifactId>ruoyi-generator</artifactId>
                 <version>${revision}</version>
             </dependency>
-
-            <dependency>
-                <groupId>org.ruoyi</groupId>
-                <artifactId>ruoyi-wechat</artifactId>
-                <version>${revision}</version>
-            </dependency>
-
         </dependencies>
     </dependencyManagement>
 
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 8ae7ca7..6f84d8b 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -57,11 +57,6 @@
             <artifactId>ruoyi-generator</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>org.ruoyi</groupId>
-            <artifactId>ruoyi-wechat</artifactId>
-        </dependency>
-
     </dependencies>
 
     <build>
diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml
index 5b4c256..d0af381 100644
--- a/ruoyi-admin/src/main/resources/application-dev.yml
+++ b/ruoyi-admin/src/main/resources/application-dev.yml
@@ -1,12 +1,3 @@
---- # 鐩戞帶涓績閰嶇疆
-spring.boot.admin.client:
-  # 澧炲姞瀹㈡埛绔紑鍏�
-  enabled: false
-  url: http://localhost:9090/admin
-  instance:
-    service-host-type: IP
-  username: ruoyi
-  password: 123456
 
 --- # 鏁版嵁婧愰厤缃�
 spring:
@@ -27,7 +18,7 @@
           driverClassName: com.mysql.cj.jdbc.Driver
           url: jdbc:mysql://127.0.0.1:3306/ruoyi-ai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
           username: ruoyi-ai
-          password: xxx
+          password: ruoyi-ai
 
       hikari:
         # 鏈�澶ц繛鎺ユ睜鏁伴噺
@@ -94,11 +85,4 @@
   # 鑵捐涓撶敤
   sdkAppId:
 
-pdf:
-  extract:
-    service:
-      url: http://localhost:8080
-    ai-api:
-      url: https://api.pandarobot.chat/v1/chat/completions
-      key: sk-xxxx
 
diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml
deleted file mode 100644
index cb495f9..0000000
--- a/ruoyi-admin/src/main/resources/application-prod.yml
+++ /dev/null
@@ -1,182 +0,0 @@
---- # 涓存椂鏂囦欢瀛樺偍浣嶇疆 閬垮厤涓存椂鏂囦欢琚郴缁熸竻鐞嗘姤閿�
-spring.servlet.multipart.location: /ruoyi/server/temp
-
---- # 鐩戞帶涓績閰嶇疆
-spring.boot.admin.client:
-  # 澧炲姞瀹㈡埛绔紑鍏�
-  enabled: false
-  url: http://localhost:9090/admin
-  instance:
-    service-host-type: IP
-  username: ruoyi
-  password: 123456
-
---- # xxl-job 閰嶇疆
-xxl.job:
-  # 鎵ц鍣ㄥ紑鍏�
-  enabled: false
-  # 璋冨害涓績鍦板潃锛氬璋冨害涓績闆嗙兢閮ㄧ讲瀛樺湪澶氫釜鍦板潃鍒欑敤閫楀彿鍒嗛殧銆�
-  admin-addresses: http://localhost:9100/xxl-job-admin
-  # 鎵ц鍣ㄩ�氳TOKEN锛氶潪绌烘椂鍚敤
-  access-token: xxl-job
-  executor:
-    # 鎵ц鍣ˋppName锛氭墽琛屽櫒蹇冭烦娉ㄥ唽鍒嗙粍渚濇嵁锛涗负绌哄垯鍏抽棴鑷姩娉ㄥ唽
-    appname: xxl-job-executor
-    # 鎵ц鍣ㄧ鍙e彿 鎵ц鍣ㄤ粠9101寮�濮嬪線鍚庡啓
-    port: 9101
-    # 鎵ц鍣ㄦ敞鍐岋細榛樿IP:PORT
-    address:
-    # 鎵ц鍣↖P锛氶粯璁よ嚜鍔ㄨ幏鍙朓P
-    ip:
-    # 鎵ц鍣ㄨ繍琛屾棩蹇楁枃浠跺瓨鍌ㄧ鐩樿矾寰�
-    logpath: ./logs/xxl-job
-    # 鎵ц鍣ㄦ棩蹇楁枃浠朵繚瀛樺ぉ鏁帮細澶т簬3鐢熸晥
-    logretentiondays: 30
-
---- # 鏁版嵁婧愰厤缃�
-spring:
-  datasource:
-    type: com.zaxxer.hikari.HikariDataSource
-    # 鍔ㄦ�佹暟鎹簮鏂囨。 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
-    dynamic:
-      # 鎬ц兘鍒嗘瀽鎻掍欢(鏈夋�ц兘鎹熻�� 涓嶅缓璁敓浜х幆澧冧娇鐢�)
-      p6spy: false
-      # 璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓� master
-      primary: master
-      # 涓ユ牸妯″紡 鍖归厤涓嶅埌鏁版嵁婧愬垯鎶ラ敊
-      strict: true
-      datasource:
-        # 涓诲簱鏁版嵁婧�
-        master:
-          type: ${spring.datasource.type}
-          driverClassName: com.mysql.cj.jdbc.Driver
-          # jdbc 鎵�鏈夊弬鏁伴厤缃弬鑰� https://lionli.blog.csdn.net/article/details/122018562
-          # rewriteBatchedStatements=true 鎵瑰鐞嗕紭鍖� 澶у箙鎻愬崌鎵归噺鎻掑叆鏇存柊鍒犻櫎鎬ц兘(瀵规暟鎹簱鏈夋�ц兘鎹熻�� 浣跨敤鎵归噺鎿嶄綔搴旇�冭檻鎬ц兘闂)
-          url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
-          username: root
-          password: root
-        # 浠庡簱鏁版嵁婧�
-        slave:
-          lazy: true
-          type: ${spring.datasource.type}
-          driverClassName: com.mysql.cj.jdbc.Driver
-          url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
-          username:
-          password:
-#        oracle:
-#          type: ${spring.datasource.type}
-#          driverClassName: oracle.jdbc.OracleDriver
-#          url: jdbc:oracle:thin:@//localhost:1521/XE
-#          username: ROOT
-#          password: root
-#          hikari:
-#            connectionTestQuery: SELECT 1 FROM DUAL
-#        postgres:
-#          type: ${spring.datasource.type}
-#          driverClassName: org.postgresql.Driver
-#          url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
-#          username: root
-#          password: root
-#        sqlserver:
-#          type: ${spring.datasource.type}
-#          driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
-#          url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true
-#          username: SA
-#          password: root
-      hikari:
-        # 鏈�澶ц繛鎺ユ睜鏁伴噺
-        maxPoolSize: 20
-        # 鏈�灏忕┖闂茬嚎绋嬫暟閲�
-        minIdle: 10
-        # 閰嶇疆鑾峰彇杩炴帴绛夊緟瓒呮椂鐨勬椂闂�
-        connectionTimeout: 30000
-        # 鏍¢獙瓒呮椂鏃堕棿
-        validationTimeout: 5000
-        # 绌洪棽杩炴帴瀛樻椿鏈�澶ф椂闂达紝榛樿10鍒嗛挓
-        idleTimeout: 600000
-        # 姝ゅ睘鎬ф帶鍒舵睜涓繛鎺ョ殑鏈�闀跨敓鍛藉懆鏈燂紝鍊�0琛ㄧず鏃犻檺鐢熷懡鍛ㄦ湡锛岄粯璁�30鍒嗛挓
-        maxLifetime: 1800000
-        # 杩炴帴娴嬭瘯query锛堥厤缃娴嬭繛鎺ユ槸鍚︽湁鏁堬級
-        connectionTestQuery: SELECT 1
-        # 澶氫箙妫�鏌ヤ竴娆¤繛鎺ョ殑娲绘��
-        keepaliveTime: 30000
-
---- # redis 鍗曟満閰嶇疆(鍗曟満涓庨泦缇ゅ彧鑳藉紑鍚竴涓彟涓�涓渶瑕佹敞閲婃帀)
-spring.data:
-  redis:
-    # 鍦板潃
-    host: localhost
-    # 绔彛锛岄粯璁や负6379
-    port: 6379
-    # 鏁版嵁搴撶储寮�
-    database: 0
-    # 瀵嗙爜(濡傛病鏈夊瘑鐮佽娉ㄩ噴鎺�)
-    # password:
-    # 杩炴帴瓒呮椂鏃堕棿
-    timeout: 10s
-    # 鏄惁寮�鍚痵sl
-    ssl: false
-
-redisson:
-  # redis key鍓嶇紑
-  keyPrefix:
-  # 绾跨▼姹犳暟閲�
-  threads: 16
-  # Netty绾跨▼姹犳暟閲�
-  nettyThreads: 32
-  # 鍗曡妭鐐归厤缃�
-  singleServerConfig:
-    # 瀹㈡埛绔悕绉�
-    clientName: ${ruoyi.name}
-    # 鏈�灏忕┖闂茶繛鎺ユ暟
-    connectionMinimumIdleSize: 32
-    # 杩炴帴姹犲ぇ灏�
-    connectionPoolSize: 64
-    # 杩炴帴绌洪棽瓒呮椂锛屽崟浣嶏細姣
-    idleConnectionTimeout: 10000
-    # 鍛戒护绛夊緟瓒呮椂锛屽崟浣嶏細姣
-    timeout: 3000
-    # 鍙戝竷鍜岃闃呰繛鎺ユ睜澶у皬
-    subscriptionConnectionPoolSize: 50
-
---- # mail 閭欢鍙戦��
-mail:
-  enabled: false
-  host: smtp.163.com
-  port: 465
-  # 鏄惁闇�瑕佺敤鎴峰悕瀵嗙爜楠岃瘉
-  auth: true
-  # 鍙戦�佹柟锛岄伒寰猂FC-822鏍囧噯
-  from: xxx@163.com
-  # 鐢ㄦ埛鍚嶏紙娉ㄦ剰锛氬鏋滀娇鐢╢oxmail閭锛屾澶剈ser涓簈q鍙凤級
-  user: xxx@163.com
-  # 瀵嗙爜锛堟敞鎰忥紝鏌愪簺閭闇�瑕佷负SMTP鏈嶅姟鍗曠嫭璁剧疆瀵嗙爜锛岃鎯呮煡鐪嬬浉鍏冲府鍔╋級
-  pass: xxxxxxxxxx
-  # 浣跨敤 STARTTLS瀹夊叏杩炴帴锛孲TARTTLS鏄绾枃鏈�氫俊鍗忚鐨勬墿灞曘��
-  starttlsEnable: true
-  # 浣跨敤SSL瀹夊叏杩炴帴
-  sslEnable: true
-  # SMTP瓒呮椂鏃堕暱锛屽崟浣嶆绉掞紝缂虹渷鍊间笉瓒呮椂
-  timeout: 0
-  # Socket杩炴帴瓒呮椂鍊硷紝鍗曚綅姣锛岀己鐪佸�间笉瓒呮椂
-  connectionTimeout: 0
-
---- # sms 鐭俊
-sms:
-  enabled: false
-  # 闃块噷浜� dysmsapi.aliyuncs.com
-  # 鑵捐浜� sms.tencentcloudapi.com
-  endpoint: "dysmsapi.aliyuncs.com"
-  accessKeyId: xxxxxxx
-  accessKeySecret: xxxxxx
-  signName: 娴嬭瘯
-  # 鑵捐涓撶敤
-  sdkAppId:
-
-pdf:
-  extract:
-    service:
-      url: http://localhost:8080
-    ai-api:
-      url: https://api.pandarobot.chat/v1/chat/completions
-      key: sk-XXXXXX
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index a82a950..1d840e3 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -120,6 +120,8 @@
 security:
   # 鎺掗櫎璺緞
   excludes:
+    # 鑾峰彇妯″瀷淇℃伅
+    - /system/model/modelList
     # 鏀粯鍥炶皟
     - /pay/returnUrl
     - /pay/notifyUrl
@@ -128,7 +130,7 @@
     # 閲嶇疆瀵嗙爜
     - /auth/reset/password
     # 鑱婂ぉ鎺ュ彛
-    - /chat
+    - /chat/send
     # 闈欐�佽祫婧�
     - /*.html
     - /**/*.html
diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/ChatRequest.java b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/ChatRequest.java
index 167e0a8..16710ec 100644
--- a/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/ChatRequest.java
+++ b/ruoyi-common/ruoyi-common-chat/src/main/java/org/ruoyi/common/chat/request/ChatRequest.java
@@ -37,16 +37,6 @@
     private Boolean stream = Boolean.TRUE;
 
     /**
-     *  鏄惁寮�鍚仈缃戞悳绱�(0鍏抽棴 1寮�鍚�)
-     */
-    private Boolean search = Boolean.FALSE;
-
-    /**
-     *  鏄惁寮�鍚痬cp
-     */
-    private Boolean isMcp = Boolean.FALSE;
-
-    /**
      * 鐭ヨ瘑搴搃d
      */
     private String kid;
@@ -55,7 +45,6 @@
      * 鐢ㄦ埛id
      */
     private Long userId;
-
 
     /**
      * 浼氳瘽id
@@ -71,17 +60,5 @@
      * 瀵硅瘽瑙掕壊
      */
     private String role;
-
-
-    /**
-     * 涓婁笅鏂囩殑鏉℃暟
-     */
-    private Integer contentNumber = 10;
-
-    /**
-     * 鏄惁鎼哄甫涓婁笅鏂�
-     */
-    private Boolean usingContext = Boolean.TRUE;
-
 
 }
diff --git a/ruoyi-common/ruoyi-common-core/pom.xml b/ruoyi-common/ruoyi-common-core/pom.xml
index 5293467..ee4bd63 100644
--- a/ruoyi-common/ruoyi-common-core/pom.xml
+++ b/ruoyi-common/ruoyi-common-core/pom.xml
@@ -82,24 +82,6 @@
             <artifactId>ip2region</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>com.github.binarywang</groupId>
-            <artifactId>weixin-java-cp</artifactId>
-            <version>${weixin-java-cp.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.github.binarywang</groupId>
-            <artifactId>weixin-java-miniapp</artifactId>
-            <version>${weixin-java-miniapp.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.github.binarywang</groupId>
-            <artifactId>weixin-java-pay</artifactId>
-            <version>${weixin-java-pay.version}</version>
-        </dependency>
-
         <!-- JSON宸ュ叿绫� -->
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAgentManage.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAgentManage.java
deleted file mode 100644
index 4bc6b85..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAgentManage.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.ruoyi.domain;
-
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.ruoyi.core.domain.BaseEntity;
-
-import java.io.Serial;
-
-/**
- * 鏅鸿兘浣撶鐞嗗璞� chat_agent_manage
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@TableName("chat_agent_manage")
-public class ChatAgentManage extends BaseEntity {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 涓婚敭id
-     */
-    @TableId(value = "id")
-    private Long id;
-
-    /**
-     * 搴旂敤鍚嶇О
-     */
-    private String appName;
-
-    /**
-     * 搴旂敤绫诲瀷
-     */
-    private String appType;
-
-    /**
-     * 搴旂敤澶村儚
-     */
-    private String appIcon;
-
-    /**
-     * 搴旂敤鎻忚堪
-     */
-    private String appDescription;
-
-    /**
-     * 寮�鍦轰粙缁�
-     */
-    private String introduction;
-
-    /**
-     * 妯″瀷
-     */
-    private String model;
-
-    /**
-     * 瀵硅瘽鍙�夋ā鍨�
-     */
-    private String conversationModel;
-
-    /**
-     * 搴旂敤璁惧畾
-     */
-    private String applicationSettings;
-
-    /**
-     * 鎻掍欢id
-     */
-    private String pluginId;
-
-    /**
-     * 鐭ヨ瘑搴搃d
-     */
-    private Long knowledgeId;
-
-    /**
-     * 澶囨敞
-     */
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java
deleted file mode 100644
index cf862d3..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.ruoyi.domain;
-
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.ruoyi.core.domain.BaseEntity;
-
-import java.io.Serial;
-
-/**
- * 搴旂敤鍟嗗簵瀵硅薄 chat_app_store
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@TableName("chat_app_store")
-public class ChatAppStore extends BaseEntity {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * id
-     */
-    @TableId(value = "id")
-    private Long id;
-
-    /**
-     * 鍚嶇О
-     */
-    private String name;
-
-    /**
-     * 鎻忚堪
-     */
-    private String description;
-
-    /**
-     * logo
-     */
-    private String avatar;
-
-    /**
-     * 鍦板潃
-     */
-    private String appUrl;
-
-    /**
-     * 澶囨敞
-     */
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java
deleted file mode 100644
index f1cadc7..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.ruoyi.domain;
-
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.ruoyi.core.domain.BaseEntity;
-
-import java.io.Serial;
-
-/**
- * 搴旂敤绠$悊瀵硅薄 chat_gpts
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@TableName("chat_gpts")
-public class ChatGpts extends BaseEntity {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * id
-     */
-    @TableId(value = "id")
-    private Long id;
-
-    /**
-     * gpts搴旂敤id
-     */
-    private String gid;
-
-    /**
-     * gpts搴旂敤鍚嶇О
-     */
-    private String name;
-
-    /**
-     * gpts鍥炬爣
-     */
-    private String logo;
-
-    /**
-     * gpts鎻忚堪
-     */
-    private String info;
-
-    /**
-     * 浣滆�卛d
-     */
-    private String authorId;
-
-    /**
-     * 浣滆�呭悕绉�
-     */
-    private String authorName;
-
-    /**
-     * 鐐硅禐
-     */
-    private Long useCnt;
-
-    /**
-     * 宸瘎
-     */
-    private Long bad;
-
-    /**
-     * 绫诲瀷
-     */
-    private String type;
-
-    /**
-     * 澶囨敞
-     */
-    private String remark;
-
-    /**
-     * 鐗堟湰
-     */
-    @Version
-    private Long version;
-
-    /**
-     * 鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�
-     */
-    @TableLogic
-    private String delFlag;
-
-    /**
-     * 鏇存柊IP
-     */
-    private String updateIp;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPackagePlan.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPackagePlan.java
deleted file mode 100644
index ddba6c0..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPackagePlan.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.ruoyi.domain;
-
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.ruoyi.core.domain.BaseEntity;
-
-import java.math.BigDecimal;
-
-import java.io.Serial;
-
-/**
- * 濂楅绠$悊瀵硅薄 chat_package_plan
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@TableName("chat_package_plan")
-public class ChatPackagePlan extends BaseEntity {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 涓婚敭
-     */
-    @TableId(value = "id")
-    private Long id;
-
-    /**
-     * 濂楅鍚嶇О
-     */
-    private String name;
-
-    /**
-     * 濂楅浠锋牸
-     */
-    private BigDecimal price;
-
-    /**
-     * 鏈夋晥鏃堕棿
-     */
-    private Long duration;
-
-    /**
-     * 璁″垝璇︽儏
-     */
-    private String planDetail;
-
-    /**
-     * 澶囨敞
-     */
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java
deleted file mode 100644
index c2bf55f..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.ruoyi.domain;
-
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.ruoyi.core.domain.BaseEntity;
-
-import java.io.Serial;
-
-/**
- * 鎻掍欢绠$悊瀵硅薄 chat_plugin
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@TableName("chat_plugin")
-public class ChatPlugin extends BaseEntity {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 涓婚敭
-     */
-    @TableId(value = "id")
-    private Long id;
-
-    /**
-     * 鎻掍欢鍚嶇О
-     */
-    private String name;
-
-    /**
-     * 鎻掍欢缂栫爜
-     */
-    private String code;
-
-    /**
-     * 澶囨敞
-     */
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatRobConfig.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatRobConfig.java
deleted file mode 100644
index b32f0ab..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatRobConfig.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.ruoyi.domain;
-
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.ruoyi.core.domain.BaseEntity;
-
-import java.io.Serial;
-
-/**
- * 鑱婂ぉ鏈哄櫒浜洪厤缃璞� chat_rob_config
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@TableName("chat_rob_config")
-public class ChatRobConfig extends BaseEntity {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 涓婚敭
-     */
-    @TableId(value = "id")
-    private Long id;
-
-    /**
-     * 鎵�灞炵敤鎴�
-     */
-    private Long userId;
-
-    /**
-     * 鏈哄櫒浜哄悕绉�
-     */
-    private String botName;
-
-    /**
-     * 鏈哄櫒鍞竴鐮�
-     */
-    private String uniqueKey;
-
-    /**
-     * 榛樿濂藉弸鍥炲寮�鍏�
-     */
-    private String defaultFriend;
-
-    /**
-     * 榛樿缇ゅ洖澶嶅紑鍏�
-     */
-    private String defaultGroup;
-
-    /**
-     * 鏈哄櫒浜虹姸鎬�  0姝e父 1鍚敤
-     */
-    private String enable;
-
-    /**
-     * 澶囨敞
-     */
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatUsageToken.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatUsageToken.java
index 0d66b69..1f686a1 100644
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatUsageToken.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatUsageToken.java
@@ -2,10 +2,9 @@
 
 import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.ruoyi.core.domain.BaseEntity;
 
 import java.io.Serial;
+import java.io.Serializable;
 
 /**
  * 鐢ㄦ埛token浣跨敤璇︽儏瀵硅薄 chat_usage_token
@@ -14,9 +13,8 @@
  * @date 2025-04-08
  */
 @Data
-@EqualsAndHashCode(callSuper = true)
 @TableName("chat_usage_token")
-public class ChatUsageToken extends BaseEntity {
+public class ChatUsageToken implements Serializable {
 
     @Serial
     private static final long serialVersionUID = 1L;
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVisitorUsage.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVisitorUsage.java
deleted file mode 100644
index 8598030..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVisitorUsage.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.ruoyi.domain;
-
-
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.Version;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.ruoyi.core.domain.BaseEntity;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-/**
- * 璁垮绠$悊瀵硅薄 chat_visitor_usage
- *
- * @author Lion Li
- * @date 2024-07-14
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@TableName("chat_visitor_usage")
-public class ChatVisitorUsage extends BaseEntity implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * id
-     */
-    @TableId(value = "id")
-    private Long id;
-
-    /**
-     * 娴忚鍣ㄦ寚绾�
-     */
-    private String fingerprint;
-
-    /**
-     * 浣跨敤娆℃暟
-     */
-    private String usageCount;
-
-    /**
-     * ip鍦板潃
-     */
-    private String ipAddress;
-
-    /**
-     * 澶囨敞
-     */
-    private String remark;
-
-    /**
-     * 鐗堟湰
-     */
-    @Version
-    private Long version;
-
-    /**
-     * 鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�
-     */
-    @TableLogic
-    private String delFlag;
-
-    /**
-     * 鏇存柊IP
-     */
-    private String updateIp;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java
deleted file mode 100644
index 1154831..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.ruoyi.domain;
-
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.ruoyi.core.domain.BaseEntity;
-
-import java.math.BigDecimal;
-
-import java.io.Serial;
-
-/**
- * 鐢ㄦ埛鍏戞崲璁板綍瀵硅薄 chat_voucher
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@TableName("chat_voucher")
-public class ChatVoucher extends BaseEntity {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 涓婚敭
-     */
-    @TableId(value = "id")
-    private Long id;
-
-    /**
-     * 鍏戞崲鐮�
-     */
-    private String code;
-
-    /**
-     * 鍏戞崲閲戦
-     */
-    private BigDecimal amount;
-
-    /**
-     * 鐢ㄦ埛id
-     */
-    private Long userId;
-
-    /**
-     * 鍏戞崲鐘舵��
-     */
-    private String status;
-
-    /**
-     * 鍏戞崲鍓嶄綑棰�
-     */
-    private BigDecimal balanceBefore;
-
-    /**
-     * 鍏戞崲鍚庝綑棰�
-     */
-    private BigDecimal balanceAfter;
-
-    /**
-     * 澶囨敞
-     */
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAgentManageBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAgentManageBo.java
deleted file mode 100644
index e12c77c..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAgentManageBo.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.ruoyi.domain.bo;
-
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.domain.ChatAgentManage;
-import org.ruoyi.core.domain.BaseEntity;
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import jakarta.validation.constraints.*;
-
-/**
- * 鏅鸿兘浣撶鐞嗕笟鍔″璞� chat_agent_manage
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@AutoMapper(target = ChatAgentManage.class, reverseConvertGenerate = false)
-public class ChatAgentManageBo extends BaseEntity {
-
-    /**
-     * 涓婚敭id
-     */
-    @NotNull(message = "涓婚敭id涓嶈兘涓虹┖", groups = { EditGroup.class })
-    private Long id;
-
-    /**
-     * 搴旂敤鍚嶇О
-     */
-    @NotBlank(message = "搴旂敤鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String appName;
-
-    /**
-     * 搴旂敤绫诲瀷
-     */
-    @NotBlank(message = "搴旂敤绫诲瀷涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String appType;
-
-    /**
-     * 搴旂敤澶村儚
-     */
-    @NotBlank(message = "搴旂敤澶村儚涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String appIcon;
-
-    /**
-     * 搴旂敤鎻忚堪
-     */
-    @NotBlank(message = "搴旂敤鎻忚堪涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String appDescription;
-
-    /**
-     * 寮�鍦轰粙缁�
-     */
-    @NotBlank(message = "寮�鍦轰粙缁嶄笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private String introduction;
-
-    /**
-     * 妯″瀷
-     */
-    @NotBlank(message = "妯″瀷涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String model;
-
-    /**
-     * 瀵硅瘽鍙�夋ā鍨�
-     */
-    @NotBlank(message = "瀵硅瘽鍙�夋ā鍨嬩笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private String conversationModel;
-
-    /**
-     * 搴旂敤璁惧畾
-     */
-    @NotBlank(message = "搴旂敤璁惧畾涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String applicationSettings;
-
-    /**
-     * 鎻掍欢id
-     */
-    @NotBlank(message = "鎻掍欢id涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String pluginId;
-
-    /**
-     * 鐭ヨ瘑搴搃d
-     */
-    @NotNull(message = "鐭ヨ瘑搴搃d涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private Long knowledgeId;
-
-    /**
-     * 澶囨敞
-     */
-    @NotBlank(message = "澶囨敞涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java
deleted file mode 100644
index 3141330..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.ruoyi.domain.bo;
-
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.domain.ChatAppStore;
-import org.ruoyi.core.domain.BaseEntity;
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import jakarta.validation.constraints.*;
-
-/**
- * 搴旂敤鍟嗗簵涓氬姟瀵硅薄 chat_app_store
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@AutoMapper(target = ChatAppStore.class, reverseConvertGenerate = false)
-public class ChatAppStoreBo extends BaseEntity {
-
-    /**
-     * id
-     */
-    @NotNull(message = "id涓嶈兘涓虹┖", groups = { EditGroup.class })
-    private Long id;
-
-    /**
-     * 鍚嶇О
-     */
-    @NotBlank(message = "鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String name;
-
-    /**
-     * 鎻忚堪
-     */
-    @NotBlank(message = "鎻忚堪涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String description;
-
-    /**
-     * logo
-     */
-    @NotBlank(message = "logo涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String avatar;
-
-    /**
-     * 鍦板潃
-     */
-    @NotBlank(message = "鍦板潃涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String appUrl;
-
-    /**
-     * 澶囨敞
-     */
-    @NotBlank(message = "澶囨敞涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java
deleted file mode 100644
index 219fae3..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.ruoyi.domain.bo;
-
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.domain.ChatGpts;
-import org.ruoyi.core.domain.BaseEntity;
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import jakarta.validation.constraints.*;
-
-/**
- * 搴旂敤绠$悊涓氬姟瀵硅薄 chat_gpts
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@AutoMapper(target = ChatGpts.class, reverseConvertGenerate = false)
-public class ChatGptsBo extends BaseEntity {
-
-    /**
-     * id
-     */
-    @NotNull(message = "id涓嶈兘涓虹┖", groups = { EditGroup.class })
-    private Long id;
-
-    /**
-     * gpts搴旂敤id
-     */
-    @NotBlank(message = "gpts搴旂敤id涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String gid;
-
-    /**
-     * gpts搴旂敤鍚嶇О
-     */
-    @NotBlank(message = "gpts搴旂敤鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String name;
-
-    /**
-     * gpts鍥炬爣
-     */
-    @NotBlank(message = "gpts鍥炬爣涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String logo;
-
-    /**
-     * gpts鎻忚堪
-     */
-    @NotBlank(message = "gpts鎻忚堪涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String info;
-
-    /**
-     * 浣滆�卛d
-     */
-    @NotBlank(message = "浣滆�卛d涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String authorId;
-
-    /**
-     * 浣滆�呭悕绉�
-     */
-    @NotBlank(message = "浣滆�呭悕绉颁笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private String authorName;
-
-    /**
-     * 鐐硅禐
-     */
-    @NotNull(message = "鐐硅禐涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private Long useCnt;
-
-    /**
-     * 宸瘎
-     */
-    @NotNull(message = "宸瘎涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private Long bad;
-
-    /**
-     * 绫诲瀷
-     */
-    @NotBlank(message = "绫诲瀷涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String type;
-
-    /**
-     * 澶囨敞
-     */
-    @NotBlank(message = "澶囨敞涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String remark;
-
-    /**
-     * 鏇存柊IP
-     */
-    @NotBlank(message = "鏇存柊IP涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String updateIp;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPackagePlanBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPackagePlanBo.java
deleted file mode 100644
index 3a21f0f..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPackagePlanBo.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.ruoyi.domain.bo;
-
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.domain.ChatPackagePlan;
-import org.ruoyi.core.domain.BaseEntity;
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import jakarta.validation.constraints.*;
-import java.math.BigDecimal;
-
-/**
- * 濂楅绠$悊涓氬姟瀵硅薄 chat_package_plan
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@AutoMapper(target = ChatPackagePlan.class, reverseConvertGenerate = false)
-public class ChatPackagePlanBo extends BaseEntity {
-
-    /**
-     * 涓婚敭
-     */
-    @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = { EditGroup.class })
-    private Long id;
-
-    /**
-     * 濂楅鍚嶇О
-     */
-    @NotBlank(message = "濂楅鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String name;
-
-    /**
-     * 濂楅浠锋牸
-     */
-    @NotNull(message = "濂楅浠锋牸涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private BigDecimal price;
-
-    /**
-     * 鏈夋晥鏃堕棿
-     */
-    @NotNull(message = "鏈夋晥鏃堕棿涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private Long duration;
-
-    /**
-     * 璁″垝璇︽儏
-     */
-    @NotBlank(message = "璁″垝璇︽儏涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String planDetail;
-
-    /**
-     * 澶囨敞
-     */
-    @NotBlank(message = "澶囨敞涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java
deleted file mode 100644
index 7c36ddc..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.ruoyi.domain.bo;
-
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.domain.ChatPlugin;
-import org.ruoyi.core.domain.BaseEntity;
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import jakarta.validation.constraints.*;
-
-/**
- * 鎻掍欢绠$悊涓氬姟瀵硅薄 chat_plugin
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@AutoMapper(target = ChatPlugin.class, reverseConvertGenerate = false)
-public class ChatPluginBo extends BaseEntity {
-
-    /**
-     * 涓婚敭
-     */
-    @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = { EditGroup.class })
-    private Long id;
-
-    /**
-     * 鎻掍欢鍚嶇О
-     */
-    @NotBlank(message = "鎻掍欢鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String name;
-
-    /**
-     * 鎻掍欢缂栫爜
-     */
-    @NotBlank(message = "鎻掍欢缂栫爜涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String code;
-
-    /**
-     * 澶囨敞
-     */
-    @NotBlank(message = "澶囨敞涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatRobConfigBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatRobConfigBo.java
deleted file mode 100644
index 9e873dd..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatRobConfigBo.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.ruoyi.domain.bo;
-
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.domain.ChatRobConfig;
-import org.ruoyi.core.domain.BaseEntity;
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import jakarta.validation.constraints.*;
-
-/**
- * 鑱婂ぉ鏈哄櫒浜洪厤缃笟鍔″璞� chat_rob_config
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@AutoMapper(target = ChatRobConfig.class, reverseConvertGenerate = false)
-public class ChatRobConfigBo extends BaseEntity {
-
-    /**
-     * 涓婚敭
-     */
-    @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = { EditGroup.class })
-    private Long id;
-
-    /**
-     * 鎵�灞炵敤鎴�
-     */
-    @NotNull(message = "鎵�灞炵敤鎴蜂笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private Long userId;
-
-    /**
-     * 鏈哄櫒浜哄悕绉�
-     */
-    @NotBlank(message = "鏈哄櫒浜哄悕绉颁笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private String botName;
-
-    /**
-     * 鏈哄櫒鍞竴鐮�
-     */
-    @NotBlank(message = "鏈哄櫒鍞竴鐮佷笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private String uniqueKey;
-
-    /**
-     * 榛樿濂藉弸鍥炲寮�鍏�
-     */
-    @NotBlank(message = "榛樿濂藉弸鍥炲寮�鍏充笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private String defaultFriend;
-
-    /**
-     * 榛樿缇ゅ洖澶嶅紑鍏�
-     */
-    @NotBlank(message = "榛樿缇ゅ洖澶嶅紑鍏充笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private String defaultGroup;
-
-    /**
-     * 鏈哄櫒浜虹姸鎬�  0姝e父 1鍚敤
-     */
-    @NotBlank(message = "鏈哄櫒浜虹姸鎬�  0姝e父 1鍚敤涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String enable;
-
-    /**
-     * 澶囨敞
-     */
-    @NotBlank(message = "澶囨敞涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVisitorUsageBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVisitorUsageBo.java
deleted file mode 100644
index 38e836f..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVisitorUsageBo.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.ruoyi.domain.bo;
-
-import io.github.linpeilie.annotations.AutoMapper;
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.core.domain.BaseEntity;
-import org.ruoyi.domain.ChatVisitorUsage;
-
-
-/**
- * 璁垮绠$悊涓氬姟瀵硅薄 chat_visitor_usage
- *
- * @author Lion Li
- * @date 2024-07-14
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@AutoMapper(target = ChatVisitorUsage.class, reverseConvertGenerate = false)
-public class ChatVisitorUsageBo extends BaseEntity {
-
-    /**
-     * id
-     */
-    @NotNull(message = "id涓嶈兘涓虹┖", groups = { EditGroup.class })
-    private Long id;
-
-    /**
-     * 娴忚鍣ㄦ寚绾�
-     */
-    @NotBlank(message = "娴忚鍣ㄦ寚绾逛笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private String fingerprint;
-
-    /**
-     * 浣跨敤娆℃暟
-     */
-    @NotBlank(message = "浣跨敤娆℃暟涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String usageCount;
-
-    /**
-     * ip鍦板潃
-     */
-    @NotBlank(message = "ip鍦板潃涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String ipAddress;
-
-    /**
-     * 澶囨敞
-     */
-    @NotBlank(message = "澶囨敞涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String remark;
-
-    /**
-     * 鏇存柊IP
-     */
-    @NotBlank(message = "鏇存柊IP涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String updateIp;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java
deleted file mode 100644
index ce2c465..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.ruoyi.domain.bo;
-
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.domain.ChatVoucher;
-import org.ruoyi.core.domain.BaseEntity;
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import jakarta.validation.constraints.*;
-import java.math.BigDecimal;
-
-/**
- * 鐢ㄦ埛鍏戞崲璁板綍涓氬姟瀵硅薄 chat_voucher
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-@AutoMapper(target = ChatVoucher.class, reverseConvertGenerate = false)
-public class ChatVoucherBo extends BaseEntity {
-
-    /**
-     * 涓婚敭
-     */
-    @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = { EditGroup.class })
-    private Long id;
-
-    /**
-     * 鍏戞崲鐮�
-     */
-    @NotBlank(message = "鍏戞崲鐮佷笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private String code;
-
-    /**
-     * 鍏戞崲閲戦
-     */
-    @NotNull(message = "鍏戞崲閲戦涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private BigDecimal amount;
-
-    /**
-     * 鐢ㄦ埛id
-     */
-    @NotNull(message = "鐢ㄦ埛id涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private Long userId;
-
-    /**
-     * 鍏戞崲鐘舵��
-     */
-    @NotBlank(message = "鍏戞崲鐘舵�佷笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private String status;
-
-    /**
-     * 鍏戞崲鍓嶄綑棰�
-     */
-    @NotNull(message = "鍏戞崲鍓嶄綑棰濅笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private BigDecimal balanceBefore;
-
-    /**
-     * 鍏戞崲鍚庝綑棰�
-     */
-    @NotNull(message = "鍏戞崲鍚庝綑棰濅笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private BigDecimal balanceAfter;
-
-    /**
-     * 澶囨敞
-     */
-    @NotBlank(message = "澶囨敞涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/request/TranslationRequest.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/request/TranslationRequest.java
deleted file mode 100644
index 8397769..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/request/TranslationRequest.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.ruoyi.domain.request;
-
-import lombok.Data;
-
-/**
- *  缈昏瘧璇锋眰瀵硅薄
- *
- * @author ageerle@163.com
- * date 2025/1/13
- */
-
-@Data
-public class TranslationRequest {
-    /**
-     * 鎻愮ず璇�
-     */
-    private String prompt;
-
-    /**
-     * 妯″瀷鍚嶇О
-     */
-    private String model;
-
-    /**
-     * 鐩爣璇█
-     */
-    private String targetLanguage;
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAgentManageVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAgentManageVo.java
deleted file mode 100644
index 3ccc176..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAgentManageVo.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.ruoyi.domain.vo;
-
-
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.alibaba.excel.annotation.ExcelProperty;
-
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-import org.ruoyi.domain.ChatAgentManage;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-
-
-
-/**
- * 鏅鸿兘浣撶鐞嗚鍥惧璞� chat_agent_manage
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@ExcelIgnoreUnannotated
-@AutoMapper(target = ChatAgentManage.class)
-public class ChatAgentManageVo implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 涓婚敭id
-     */
-    @ExcelProperty(value = "涓婚敭id")
-    private Long id;
-
-    /**
-     * 搴旂敤鍚嶇О
-     */
-    @ExcelProperty(value = "搴旂敤鍚嶇О")
-    private String appName;
-
-    /**
-     * 搴旂敤绫诲瀷
-     */
-    @ExcelProperty(value = "搴旂敤绫诲瀷")
-    private String appType;
-
-    /**
-     * 搴旂敤澶村儚
-     */
-    @ExcelProperty(value = "搴旂敤澶村儚")
-    private String appIcon;
-
-    /**
-     * 搴旂敤鎻忚堪
-     */
-    @ExcelProperty(value = "搴旂敤鎻忚堪")
-    private String appDescription;
-
-    /**
-     * 寮�鍦轰粙缁�
-     */
-    @ExcelProperty(value = "寮�鍦轰粙缁�")
-    private String introduction;
-
-    /**
-     * 妯″瀷
-     */
-    @ExcelProperty(value = "妯″瀷")
-    private String model;
-
-    /**
-     * 瀵硅瘽鍙�夋ā鍨�
-     */
-    @ExcelProperty(value = "瀵硅瘽鍙�夋ā鍨�")
-    private String conversationModel;
-
-    /**
-     * 搴旂敤璁惧畾
-     */
-    @ExcelProperty(value = "搴旂敤璁惧畾")
-    private String applicationSettings;
-
-    /**
-     * 鎻掍欢id
-     */
-    @ExcelProperty(value = "鎻掍欢id")
-    private String pluginId;
-
-    /**
-     * 鐭ヨ瘑搴搃d
-     */
-    @ExcelProperty(value = "鐭ヨ瘑搴搃d")
-    private Long knowledgeId;
-
-    /**
-     * 澶囨敞
-     */
-    @ExcelProperty(value = "澶囨敞")
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAppStoreVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAppStoreVo.java
deleted file mode 100644
index 94840ab..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAppStoreVo.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.ruoyi.domain.vo;
-
-
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.alibaba.excel.annotation.ExcelProperty;
-
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-import org.ruoyi.domain.ChatAppStore;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-
-
-
-/**
- * 搴旂敤鍟嗗簵瑙嗗浘瀵硅薄 chat_app_store
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@ExcelIgnoreUnannotated
-@AutoMapper(target = ChatAppStore.class)
-public class ChatAppStoreVo implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * id
-     */
-    @ExcelProperty(value = "id")
-    private Long id;
-
-    /**
-     * 鍚嶇О
-     */
-    @ExcelProperty(value = "鍚嶇О")
-    private String name;
-
-    /**
-     * 鎻忚堪
-     */
-    @ExcelProperty(value = "鎻忚堪")
-    private String description;
-
-    /**
-     * logo
-     */
-    @ExcelProperty(value = "logo")
-    private String avatar;
-
-    /**
-     * 鍦板潃
-     */
-    @ExcelProperty(value = "鍦板潃")
-    private String appUrl;
-
-    /**
-     * 澶囨敞
-     */
-    @ExcelProperty(value = "澶囨敞")
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatGptsVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatGptsVo.java
deleted file mode 100644
index 9d515d4..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatGptsVo.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.ruoyi.domain.vo;
-
-
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.alibaba.excel.annotation.ExcelProperty;
-
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-import org.ruoyi.domain.ChatGpts;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-
-
-
-/**
- * 搴旂敤绠$悊瑙嗗浘瀵硅薄 chat_gpts
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@ExcelIgnoreUnannotated
-@AutoMapper(target = ChatGpts.class)
-public class ChatGptsVo implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * id
-     */
-    @ExcelProperty(value = "id")
-    private Long id;
-
-    /**
-     * gpts搴旂敤id
-     */
-    @ExcelProperty(value = "gpts搴旂敤id")
-    private String gid;
-
-    /**
-     * gpts搴旂敤鍚嶇О
-     */
-    @ExcelProperty(value = "gpts搴旂敤鍚嶇О")
-    private String name;
-
-    /**
-     * gpts鍥炬爣
-     */
-    @ExcelProperty(value = "gpts鍥炬爣")
-    private String logo;
-
-    /**
-     * gpts鎻忚堪
-     */
-    @ExcelProperty(value = "gpts鎻忚堪")
-    private String info;
-
-    /**
-     * 浣滆�卛d
-     */
-    @ExcelProperty(value = "浣滆�卛d")
-    private String authorId;
-
-    /**
-     * 浣滆�呭悕绉�
-     */
-    @ExcelProperty(value = "浣滆�呭悕绉�")
-    private String authorName;
-
-    /**
-     * 鐐硅禐
-     */
-    @ExcelProperty(value = "鐐硅禐")
-    private Long useCnt;
-
-    /**
-     * 宸瘎
-     */
-    @ExcelProperty(value = "宸瘎")
-    private Long bad;
-
-    /**
-     * 绫诲瀷
-     */
-    @ExcelProperty(value = "绫诲瀷")
-    private String type;
-
-    /**
-     * 澶囨敞
-     */
-    @ExcelProperty(value = "澶囨敞")
-    private String remark;
-
-    /**
-     * 鏇存柊IP
-     */
-    @ExcelProperty(value = "鏇存柊IP")
-    private String updateIp;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java
index d477435..4c1cfc4 100644
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java
@@ -6,6 +6,8 @@
 
 import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
+import org.ruoyi.common.sensitive.annotation.Sensitive;
+import org.ruoyi.common.sensitive.core.SensitiveStrategy;
 import org.ruoyi.domain.ChatModel;
 
 import java.io.Serial;
@@ -85,6 +87,7 @@
     /**
      * 瀵嗛挜
      */
+    @Sensitive(strategy = SensitiveStrategy.PHONE)
     @ExcelProperty(value = "瀵嗛挜")
     private String apiKey;
 
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPackagePlanVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPackagePlanVo.java
deleted file mode 100644
index 39236ae..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPackagePlanVo.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.ruoyi.domain.vo;
-
-import java.math.BigDecimal;
-
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.alibaba.excel.annotation.ExcelProperty;
-
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-import org.ruoyi.domain.ChatPackagePlan;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-
-
-
-/**
- * 濂楅绠$悊瑙嗗浘瀵硅薄 chat_package_plan
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@ExcelIgnoreUnannotated
-@AutoMapper(target = ChatPackagePlan.class)
-public class ChatPackagePlanVo implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 涓婚敭
-     */
-    @ExcelProperty(value = "涓婚敭")
-    private Long id;
-
-    /**
-     * 濂楅鍚嶇О
-     */
-    @ExcelProperty(value = "濂楅鍚嶇О")
-    private String name;
-
-    /**
-     * 濂楅浠锋牸
-     */
-    @ExcelProperty(value = "濂楅浠锋牸")
-    private BigDecimal price;
-
-    /**
-     * 鏈夋晥鏃堕棿
-     */
-    @ExcelProperty(value = "鏈夋晥鏃堕棿")
-    private Long duration;
-
-    /**
-     * 璁″垝璇︽儏
-     */
-    @ExcelProperty(value = "璁″垝璇︽儏")
-    private String planDetail;
-
-    /**
-     * 澶囨敞
-     */
-    @ExcelProperty(value = "澶囨敞")
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPluginVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPluginVo.java
deleted file mode 100644
index 3e900e6..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPluginVo.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.ruoyi.domain.vo;
-
-import org.ruoyi.domain.ChatPlugin;
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.alibaba.excel.annotation.ExcelProperty;
-
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-
-
-
-/**
- * 鎻掍欢绠$悊瑙嗗浘瀵硅薄 chat_plugin
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@ExcelIgnoreUnannotated
-@AutoMapper(target = ChatPlugin.class)
-public class ChatPluginVo implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 涓婚敭
-     */
-    @ExcelProperty(value = "涓婚敭")
-    private Long id;
-
-    /**
-     * 鎻掍欢鍚嶇О
-     */
-    @ExcelProperty(value = "鎻掍欢鍚嶇О")
-    private String name;
-
-    /**
-     * 鎻掍欢缂栫爜
-     */
-    @ExcelProperty(value = "鎻掍欢缂栫爜")
-    private String code;
-
-    /**
-     * 澶囨敞
-     */
-    @ExcelProperty(value = "澶囨敞")
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatRobConfigVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatRobConfigVo.java
deleted file mode 100644
index 247ebe2..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatRobConfigVo.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.ruoyi.domain.vo;
-
-import org.ruoyi.domain.ChatRobConfig;
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.alibaba.excel.annotation.ExcelProperty;
-
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-
-
-/**
- * 鑱婂ぉ鏈哄櫒浜洪厤缃鍥惧璞� chat_rob_config
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@ExcelIgnoreUnannotated
-@AutoMapper(target = ChatRobConfig.class)
-public class ChatRobConfigVo implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 涓婚敭
-     */
-    @ExcelProperty(value = "涓婚敭")
-    private Long id;
-
-    /**
-     * 鎵�灞炵敤鎴�
-     */
-    @ExcelProperty(value = "鎵�灞炵敤鎴�")
-    private Long userId;
-
-    /**
-     * 鏈哄櫒浜哄悕绉�
-     */
-    @ExcelProperty(value = "鏈哄櫒浜哄悕绉�")
-    private String botName;
-
-    /**
-     * 鏈哄櫒鍞竴鐮�
-     */
-    @ExcelProperty(value = "鏈哄櫒鍞竴鐮�")
-    private String uniqueKey;
-
-    /**
-     * 榛樿濂藉弸鍥炲寮�鍏�
-     */
-    @ExcelProperty(value = "榛樿濂藉弸鍥炲寮�鍏�")
-    private String defaultFriend;
-
-    /**
-     * 榛樿缇ゅ洖澶嶅紑鍏�
-     */
-    @ExcelProperty(value = "榛樿缇ゅ洖澶嶅紑鍏�")
-    private String defaultGroup;
-
-    /**
-     * 鏈哄櫒浜虹姸鎬�  0姝e父 1鍚敤
-     */
-    @ExcelProperty(value = "鏈哄櫒浜虹姸鎬�  0姝e父 1鍚敤")
-    private String enable;
-
-    /**
-     * 澶囨敞
-     */
-    @ExcelProperty(value = "澶囨敞")
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatTokenVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatTokenVo.java
deleted file mode 100644
index 60a3c20..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatTokenVo.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.ruoyi.domain.vo;
-
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import lombok.Data;
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-
-import java.io.Serializable;
-
-/**
- * 鐢ㄦ埛token chat_token
- *
- * @author Lion Li
- * @date 2023-11-26
- */
-@Data
-public class ChatTokenVo implements Serializable {
-
-    /**
-     * 涓婚敭
-     */
-    @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = { EditGroup.class })
-    private Long id;
-
-    /**
-     * 鐢ㄦ埛ID
-     */
-    @NotBlank(message = "鐢ㄦ埛ID", groups = { AddGroup.class, EditGroup.class })
-    private Long UserId;
-
-    /**
-     * 寰呯粨绠梩oken
-     */
-    private Integer token;
-
-    /**
-     * 妯″瀷鍚嶇О
-     */
-    @NotBlank(message = "妯″瀷鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
-    private String modelName;
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVisitorUsageVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVisitorUsageVo.java
deleted file mode 100644
index d85963d..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVisitorUsageVo.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.ruoyi.domain.vo;
-
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.alibaba.excel.annotation.ExcelProperty;
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-import org.ruoyi.domain.ChatVisitorUsage;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-
-/**
- * 璁垮绠$悊瑙嗗浘瀵硅薄 chat_visitor_usage
- *
- * @author Lion Li
- * @date 2024-07-14
- */
-@Data
-@ExcelIgnoreUnannotated
-@AutoMapper(target = ChatVisitorUsage.class)
-public class ChatVisitorUsageVo implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * id
-     */
-    @ExcelProperty(value = "id")
-    private Long id;
-
-    /**
-     * 娴忚鍣ㄦ寚绾�
-     */
-    @ExcelProperty(value = "娴忚鍣ㄦ寚绾�")
-    private String fingerprint;
-
-    /**
-     * 浣跨敤娆℃暟
-     */
-    @ExcelProperty(value = "浣跨敤娆℃暟")
-    private String usageCount;
-
-    /**
-     * ip鍦板潃
-     */
-    @ExcelProperty(value = "ip鍦板潃")
-    private String ipAddress;
-
-    /**
-     * 澶囨敞
-     */
-    @ExcelProperty(value = "澶囨敞")
-    private String remark;
-
-    /**
-     * 鏇存柊IP
-     */
-    @ExcelProperty(value = "鏇存柊IP")
-    private String updateIp;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVoucherVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVoucherVo.java
deleted file mode 100644
index 8b7092d..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVoucherVo.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.ruoyi.domain.vo;
-
-import java.math.BigDecimal;
-
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.alibaba.excel.annotation.ExcelProperty;
-
-import io.github.linpeilie.annotations.AutoMapper;
-import lombok.Data;
-import org.ruoyi.domain.ChatVoucher;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-
-
-/**
- * 鐢ㄦ埛鍏戞崲璁板綍瑙嗗浘瀵硅薄 chat_voucher
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Data
-@ExcelIgnoreUnannotated
-@AutoMapper(target = ChatVoucher.class)
-public class ChatVoucherVo implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 涓婚敭
-     */
-    @ExcelProperty(value = "涓婚敭")
-    private Long id;
-
-    /**
-     * 鍏戞崲鐮�
-     */
-    @ExcelProperty(value = "鍏戞崲鐮�")
-    private String code;
-
-    /**
-     * 鍏戞崲閲戦
-     */
-    @ExcelProperty(value = "鍏戞崲閲戦")
-    private BigDecimal amount;
-
-    /**
-     * 鐢ㄦ埛id
-     */
-    @ExcelProperty(value = "鐢ㄦ埛id")
-    private Long userId;
-
-    /**
-     * 鍏戞崲鐘舵��
-     */
-    @ExcelProperty(value = "鍏戞崲鐘舵��")
-    private String status;
-
-    /**
-     * 鍏戞崲鍓嶄綑棰�
-     */
-    @ExcelProperty(value = "鍏戞崲鍓嶄綑棰�")
-    private BigDecimal balanceBefore;
-
-    /**
-     * 鍏戞崲鍚庝綑棰�
-     */
-    @ExcelProperty(value = "鍏戞崲鍚庝綑棰�")
-    private BigDecimal balanceAfter;
-
-    /**
-     * 澶囨敞
-     */
-    @ExcelProperty(value = "澶囨敞")
-    private String remark;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAgentManageMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAgentManageMapper.java
deleted file mode 100644
index 7188dde..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAgentManageMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.ruoyi.mapper;
-
-
-import org.ruoyi.domain.ChatAgentManage;
-import org.ruoyi.domain.vo.ChatAgentManageVo;
-import org.ruoyi.core.mapper.BaseMapperPlus;
-
-/**
- * 鏅鸿兘浣撶鐞哅apper鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface ChatAgentManageMapper extends BaseMapperPlus<ChatAgentManage, ChatAgentManageVo> {
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAppStoreMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAppStoreMapper.java
deleted file mode 100644
index f659d56..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAppStoreMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.ruoyi.mapper;
-
-
-import org.ruoyi.domain.ChatAppStore;
-import org.ruoyi.domain.vo.ChatAppStoreVo;
-import org.ruoyi.core.mapper.BaseMapperPlus;
-
-/**
- * 搴旂敤鍟嗗簵Mapper鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface ChatAppStoreMapper extends BaseMapperPlus<ChatAppStore, ChatAppStoreVo> {
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatGptsMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatGptsMapper.java
deleted file mode 100644
index 4bd28c3..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatGptsMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.ruoyi.mapper;
-
-import org.ruoyi.core.mapper.BaseMapperPlus;
-import org.ruoyi.domain.ChatGpts;
-import org.ruoyi.domain.vo.ChatGptsVo;
-
-/**
- * 搴旂敤绠$悊Mapper鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface ChatGptsMapper extends BaseMapperPlus<ChatGpts, ChatGptsVo> {
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPackagePlanMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPackagePlanMapper.java
deleted file mode 100644
index 87e157d..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPackagePlanMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.ruoyi.mapper;
-
-
-import org.ruoyi.core.mapper.BaseMapperPlus;
-import org.ruoyi.domain.ChatPackagePlan;
-import org.ruoyi.domain.vo.ChatPackagePlanVo;
-
-/**
- * 濂楅绠$悊Mapper鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface ChatPackagePlanMapper extends BaseMapperPlus<ChatPackagePlan, ChatPackagePlanVo> {
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPluginMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPluginMapper.java
deleted file mode 100644
index 323591b..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPluginMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.ruoyi.mapper;
-
-
-import org.ruoyi.core.mapper.BaseMapperPlus;
-import org.ruoyi.domain.ChatPlugin;
-import org.ruoyi.domain.vo.ChatPluginVo;
-
-/**
- * 鎻掍欢绠$悊Mapper鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface ChatPluginMapper extends BaseMapperPlus<ChatPlugin, ChatPluginVo> {
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatRobConfigMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatRobConfigMapper.java
deleted file mode 100644
index 0309621..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatRobConfigMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.ruoyi.mapper;
-
-
-import org.ruoyi.core.mapper.BaseMapperPlus;
-import org.ruoyi.domain.ChatRobConfig;
-import org.ruoyi.domain.vo.ChatRobConfigVo;
-
-/**
- * 鑱婂ぉ鏈哄櫒浜洪厤缃甅apper鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface ChatRobConfigMapper extends BaseMapperPlus<ChatRobConfig, ChatRobConfigVo> {
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatTokenMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatTokenMapper.java
deleted file mode 100644
index 4741878..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatTokenMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.ruoyi.mapper;
-
-import org.ruoyi.core.mapper.BaseMapperPlus;
-import org.ruoyi.domain.ChatToken;
-import org.ruoyi.domain.vo.ChatTokenVo;
-
-
-/**
- * 鑱婂ぉ娑堟伅Mapper鎺ュ彛
- *
- * @author Lion Li
- * @date 2023-11-26
- */
-public interface ChatTokenMapper extends BaseMapperPlus<ChatToken, ChatTokenVo> {
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVisitorUsageMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVisitorUsageMapper.java
deleted file mode 100644
index 851084c..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVisitorUsageMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.ruoyi.mapper;
-
-import org.ruoyi.core.mapper.BaseMapperPlus;
-import org.ruoyi.domain.ChatVisitorUsage;
-import org.ruoyi.domain.vo.ChatVisitorUsageVo;
-
-
-/**
- * 璁垮绠$悊Mapper鎺ュ彛
- *
- * @author Lion Li
- * @date 2024-07-14
- */
-public interface ChatVisitorUsageMapper extends BaseMapperPlus<ChatVisitorUsage, ChatVisitorUsageVo> {
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVoucherMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVoucherMapper.java
deleted file mode 100644
index 7111789..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVoucherMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.ruoyi.mapper;
-
-import org.ruoyi.core.mapper.BaseMapperPlus;
-import org.ruoyi.domain.ChatVoucher;
-import org.ruoyi.domain.vo.ChatVoucherVo;
-
-/**
- * 鐢ㄦ埛鍏戞崲璁板綍Mapper鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface ChatVoucherMapper extends BaseMapperPlus<ChatVoucher, ChatVoucherVo> {
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAgentManageService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAgentManageService.java
deleted file mode 100644
index 85761ed..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAgentManageService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.ruoyi.service;
-
-
-import org.ruoyi.domain.bo.ChatAgentManageBo;
-import org.ruoyi.domain.vo.ChatAgentManageVo;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.core.page.PageQuery;
-
-import java.util.Collection;
-import java.util.List;
-
-/**
- * 鏅鸿兘浣撶鐞哠ervice鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface IChatAgentManageService {
-
-    /**
-     * 鏌ヨ鏅鸿兘浣撶鐞�
-     */
-    ChatAgentManageVo queryById(Long id);
-
-    /**
-     * 鏌ヨ鏅鸿兘浣撶鐞嗗垪琛�
-     */
-    TableDataInfo<ChatAgentManageVo> queryPageList(ChatAgentManageBo bo, PageQuery pageQuery);
-
-    /**
-     * 鏌ヨ鏅鸿兘浣撶鐞嗗垪琛�
-     */
-    List<ChatAgentManageVo> queryList(ChatAgentManageBo bo);
-
-    /**
-     * 鏂板鏅鸿兘浣撶鐞�
-     */
-    Boolean insertByBo(ChatAgentManageBo bo);
-
-    /**
-     * 淇敼鏅鸿兘浣撶鐞�
-     */
-    Boolean updateByBo(ChatAgentManageBo bo);
-
-    /**
-     * 鏍¢獙骞舵壒閲忓垹闄ゆ櫤鑳戒綋绠$悊淇℃伅
-     */
-    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAppStoreService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAppStoreService.java
deleted file mode 100644
index 59f92bd..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAppStoreService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.ruoyi.service;
-
-
-import org.ruoyi.domain.bo.ChatAppStoreBo;
-import org.ruoyi.domain.vo.ChatAppStoreVo;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.core.page.PageQuery;
-
-import java.util.Collection;
-import java.util.List;
-
-/**
- * 搴旂敤鍟嗗簵Service鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface IChatAppStoreService {
-
-    /**
-     * 鏌ヨ搴旂敤鍟嗗簵
-     */
-    ChatAppStoreVo queryById(Long id);
-
-    /**
-     * 鏌ヨ搴旂敤鍟嗗簵鍒楄〃
-     */
-    TableDataInfo<ChatAppStoreVo> queryPageList(ChatAppStoreBo bo, PageQuery pageQuery);
-
-    /**
-     * 鏌ヨ搴旂敤鍟嗗簵鍒楄〃
-     */
-    List<ChatAppStoreVo> queryList(ChatAppStoreBo bo);
-
-    /**
-     * 鏂板搴旂敤鍟嗗簵
-     */
-    Boolean insertByBo(ChatAppStoreBo bo);
-
-    /**
-     * 淇敼搴旂敤鍟嗗簵
-     */
-    Boolean updateByBo(ChatAppStoreBo bo);
-
-    /**
-     * 鏍¢獙骞舵壒閲忓垹闄ゅ簲鐢ㄥ晢搴椾俊鎭�
-     */
-    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatGptsService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatGptsService.java
deleted file mode 100644
index efdc7f8..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatGptsService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.ruoyi.service;
-
-
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.core.page.PageQuery;
-import org.ruoyi.domain.bo.ChatGptsBo;
-import org.ruoyi.domain.vo.ChatGptsVo;
-
-import java.util.Collection;
-import java.util.List;
-
-/**
- * 搴旂敤绠$悊Service鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface IChatGptsService {
-
-    /**
-     * 鏌ヨ搴旂敤绠$悊
-     */
-    ChatGptsVo queryById(Long id);
-
-    /**
-     * 鏌ヨ搴旂敤绠$悊鍒楄〃
-     */
-    TableDataInfo<ChatGptsVo> queryPageList(ChatGptsBo bo, PageQuery pageQuery);
-
-    /**
-     * 鏌ヨ搴旂敤绠$悊鍒楄〃
-     */
-    List<ChatGptsVo> queryList(ChatGptsBo bo);
-
-    /**
-     * 鏂板搴旂敤绠$悊
-     */
-    Boolean insertByBo(ChatGptsBo bo);
-
-    /**
-     * 淇敼搴旂敤绠$悊
-     */
-    Boolean updateByBo(ChatGptsBo bo);
-
-    /**
-     * 鏍¢獙骞舵壒閲忓垹闄ゅ簲鐢ㄧ鐞嗕俊鎭�
-     */
-    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPackagePlanService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPackagePlanService.java
deleted file mode 100644
index 043b6ce..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPackagePlanService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.ruoyi.service;
-
-
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.core.page.PageQuery;
-import org.ruoyi.domain.bo.ChatPackagePlanBo;
-import org.ruoyi.domain.vo.ChatPackagePlanVo;
-
-import java.util.Collection;
-import java.util.List;
-
-/**
- * 濂楅绠$悊Service鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface IChatPackagePlanService {
-
-    /**
-     * 鏌ヨ濂楅绠$悊
-     */
-    ChatPackagePlanVo queryById(Long id);
-
-    /**
-     * 鏌ヨ濂楅绠$悊鍒楄〃
-     */
-    TableDataInfo<ChatPackagePlanVo> queryPageList(ChatPackagePlanBo bo, PageQuery pageQuery);
-
-    /**
-     * 鏌ヨ濂楅绠$悊鍒楄〃
-     */
-    List<ChatPackagePlanVo> queryList(ChatPackagePlanBo bo);
-
-    /**
-     * 鏂板濂楅绠$悊
-     */
-    Boolean insertByBo(ChatPackagePlanBo bo);
-
-    /**
-     * 淇敼濂楅绠$悊
-     */
-    Boolean updateByBo(ChatPackagePlanBo bo);
-
-    /**
-     * 鏍¢獙骞舵壒閲忓垹闄ゅ椁愮鐞嗕俊鎭�
-     */
-    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPluginService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPluginService.java
deleted file mode 100644
index 13f9ac3..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPluginService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.ruoyi.service;
-
-
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.core.page.PageQuery;
-import org.ruoyi.domain.bo.ChatPluginBo;
-import org.ruoyi.domain.vo.ChatPluginVo;
-
-import java.util.Collection;
-import java.util.List;
-
-/**
- * 鎻掍欢绠$悊Service鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface IChatPluginService {
-
-    /**
-     * 鏌ヨ鎻掍欢绠$悊
-     */
-    ChatPluginVo queryById(Long id);
-
-    /**
-     * 鏌ヨ鎻掍欢绠$悊鍒楄〃
-     */
-    TableDataInfo<ChatPluginVo> queryPageList(ChatPluginBo bo, PageQuery pageQuery);
-
-    /**
-     * 鏌ヨ鎻掍欢绠$悊鍒楄〃
-     */
-    List<ChatPluginVo> queryList(ChatPluginBo bo);
-
-    /**
-     * 鏂板鎻掍欢绠$悊
-     */
-    Boolean insertByBo(ChatPluginBo bo);
-
-    /**
-     * 淇敼鎻掍欢绠$悊
-     */
-    Boolean updateByBo(ChatPluginBo bo);
-
-    /**
-     * 鏍¢獙骞舵壒閲忓垹闄ゆ彃浠剁鐞嗕俊鎭�
-     */
-    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatTokenService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatTokenService.java
index d2aca24..defbf95 100644
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatTokenService.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatTokenService.java
@@ -1,6 +1,6 @@
 package org.ruoyi.service;
 
-import org.ruoyi.domain.ChatToken;
+import org.ruoyi.domain.ChatUsageToken;
 
 /**
  * 鑱婂ぉ娑堟伅Service鎺ュ彛
@@ -13,7 +13,7 @@
     /**
      * 鏌ヨ鐢ㄦ埛token
      */
-    ChatToken queryByUserId(Long userId, String modelName);
+    ChatUsageToken queryByUserId(Long userId, String modelName);
 
     /**
      * 娓呯┖鐢ㄦ埛token
@@ -23,6 +23,6 @@
     /**
      * 淇敼鐢ㄦ埛token
      */
-    void editToken(ChatToken chatToken);
+    void editToken(ChatUsageToken chatToken);
 
 }
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVisitorUsageService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVisitorUsageService.java
deleted file mode 100644
index bd3d0aa..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVisitorUsageService.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.ruoyi.service;
-
-import org.ruoyi.core.page.PageQuery;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.domain.bo.ChatVisitorUsageBo;
-import org.ruoyi.domain.vo.ChatVisitorUsageVo;
-
-import java.util.Collection;
-import java.util.List;
-
-/**
- * 璁垮绠$悊Service鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface IChatVisitorUsageService {
-
-    /**
-     * 鏌ヨ璁垮绠$悊
-     */
-    ChatVisitorUsageVo queryById(Long id);
-
-    /**
-     * 鏌ヨ璁垮绠$悊鍒楄〃
-     */
-    TableDataInfo<ChatVisitorUsageVo> queryPageList(ChatVisitorUsageBo bo, PageQuery pageQuery);
-
-    /**
-     * 鏌ヨ璁垮绠$悊鍒楄〃
-     */
-    List<ChatVisitorUsageVo> queryList(ChatVisitorUsageBo bo);
-
-    /**
-     * 鏂板璁垮绠$悊
-     */
-    Boolean insertByBo(ChatVisitorUsageBo bo);
-
-    /**
-     * 淇敼璁垮绠$悊
-     */
-    Boolean updateByBo(ChatVisitorUsageBo bo);
-
-    /**
-     * 鏍¢獙骞舵壒閲忓垹闄よ瀹㈢鐞嗕俊鎭�
-     */
-    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVoucherService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVoucherService.java
deleted file mode 100644
index eb62b54..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVoucherService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.ruoyi.service;
-
-
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.core.page.PageQuery;
-import org.ruoyi.domain.bo.ChatVoucherBo;
-import org.ruoyi.domain.vo.ChatVoucherVo;
-
-import java.util.Collection;
-import java.util.List;
-
-/**
- * 鐢ㄦ埛鍏戞崲璁板綍Service鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface IChatVoucherService {
-
-    /**
-     * 鏌ヨ鐢ㄦ埛鍏戞崲璁板綍
-     */
-    ChatVoucherVo queryById(Long id);
-
-    /**
-     * 鏌ヨ鐢ㄦ埛鍏戞崲璁板綍鍒楄〃
-     */
-    TableDataInfo<ChatVoucherVo> queryPageList(ChatVoucherBo bo, PageQuery pageQuery);
-
-    /**
-     * 鏌ヨ鐢ㄦ埛鍏戞崲璁板綍鍒楄〃
-     */
-    List<ChatVoucherVo> queryList(ChatVoucherBo bo);
-
-    /**
-     * 鏂板鐢ㄦ埛鍏戞崲璁板綍
-     */
-    Boolean insertByBo(ChatVoucherBo bo);
-
-    /**
-     * 淇敼鐢ㄦ埛鍏戞崲璁板綍
-     */
-    Boolean updateByBo(ChatVoucherBo bo);
-
-    /**
-     * 鏍¢獙骞舵壒閲忓垹闄ょ敤鎴峰厬鎹㈣褰曚俊鎭�
-     */
-    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVxService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVxService.java
deleted file mode 100644
index 60ed4ff..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVxService.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.ruoyi.service;
-
-/**
- * 浼佷笟寰俊鑱婂ぉ绠$悊Service鎺ュ彛
- *
- * @author ageerle
- * @date 2025-04-08
- */
-public interface IChatVxService {
-
-
-    /**
-     * 浼佷笟寰俊搴旂敤鍥炲
-     * @param prompt 鎻愮ず璇�
-     * @return 鍥炲鍐呭
-     */
-    String chat(String prompt);
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAgentManageServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAgentManageServiceImpl.java
deleted file mode 100644
index 2cd92a3..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAgentManageServiceImpl.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package org.ruoyi.service.impl;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import org.ruoyi.common.core.utils.MapstructUtils;
-import org.ruoyi.common.core.utils.StringUtils;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.core.page.PageQuery;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import lombok.RequiredArgsConstructor;
-import org.ruoyi.domain.ChatAgentManage;
-import org.ruoyi.domain.bo.ChatAgentManageBo;
-import org.ruoyi.mapper.ChatAgentManageMapper;
-import org.ruoyi.service.IChatAgentManageService;
-import org.springframework.stereotype.Service;
-
-import org.ruoyi.domain.vo.ChatAgentManageVo;
-
-
-import java.util.List;
-import java.util.Map;
-import java.util.Collection;
-
-/**
- * 鏅鸿兘浣撶鐞哠ervice涓氬姟灞傚鐞�
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@RequiredArgsConstructor
-@Service
-public class ChatAgentManageServiceImpl implements IChatAgentManageService {
-
-    private final ChatAgentManageMapper baseMapper;
-
-    /**
-     * 鏌ヨ鏅鸿兘浣撶鐞�
-     */
-    @Override
-    public ChatAgentManageVo queryById(Long id){
-        return baseMapper.selectVoById(id);
-    }
-
-    /**
-     * 鏌ヨ鏅鸿兘浣撶鐞嗗垪琛�
-     */
-    @Override
-    public TableDataInfo<ChatAgentManageVo> queryPageList(ChatAgentManageBo bo, PageQuery pageQuery) {
-        LambdaQueryWrapper<ChatAgentManage> lqw = buildQueryWrapper(bo);
-        Page<ChatAgentManageVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
-        return TableDataInfo.build(result);
-    }
-
-    /**
-     * 鏌ヨ鏅鸿兘浣撶鐞嗗垪琛�
-     */
-    @Override
-    public List<ChatAgentManageVo> queryList(ChatAgentManageBo bo) {
-        LambdaQueryWrapper<ChatAgentManage> lqw = buildQueryWrapper(bo);
-        return baseMapper.selectVoList(lqw);
-    }
-
-    private LambdaQueryWrapper<ChatAgentManage> buildQueryWrapper(ChatAgentManageBo bo) {
-        Map<String, Object> params = bo.getParams();
-        LambdaQueryWrapper<ChatAgentManage> lqw = Wrappers.lambdaQuery();
-        lqw.like(StringUtils.isNotBlank(bo.getAppName()), ChatAgentManage::getAppName, bo.getAppName());
-        lqw.eq(StringUtils.isNotBlank(bo.getAppType()), ChatAgentManage::getAppType, bo.getAppType());
-        lqw.eq(StringUtils.isNotBlank(bo.getAppIcon()), ChatAgentManage::getAppIcon, bo.getAppIcon());
-        lqw.eq(StringUtils.isNotBlank(bo.getAppDescription()), ChatAgentManage::getAppDescription, bo.getAppDescription());
-        lqw.eq(StringUtils.isNotBlank(bo.getIntroduction()), ChatAgentManage::getIntroduction, bo.getIntroduction());
-        lqw.eq(StringUtils.isNotBlank(bo.getModel()), ChatAgentManage::getModel, bo.getModel());
-        lqw.eq(StringUtils.isNotBlank(bo.getConversationModel()), ChatAgentManage::getConversationModel, bo.getConversationModel());
-        lqw.eq(StringUtils.isNotBlank(bo.getApplicationSettings()), ChatAgentManage::getApplicationSettings, bo.getApplicationSettings());
-        lqw.eq(StringUtils.isNotBlank(bo.getPluginId()), ChatAgentManage::getPluginId, bo.getPluginId());
-        lqw.eq(bo.getKnowledgeId() != null, ChatAgentManage::getKnowledgeId, bo.getKnowledgeId());
-        return lqw;
-    }
-
-    /**
-     * 鏂板鏅鸿兘浣撶鐞�
-     */
-    @Override
-    public Boolean insertByBo(ChatAgentManageBo bo) {
-        ChatAgentManage add = MapstructUtils.convert(bo, ChatAgentManage.class);
-        validEntityBeforeSave(add);
-        boolean flag = baseMapper.insert(add) > 0;
-        if (flag) {
-            bo.setId(add.getId());
-        }
-        return flag;
-    }
-
-    /**
-     * 淇敼鏅鸿兘浣撶鐞�
-     */
-    @Override
-    public Boolean updateByBo(ChatAgentManageBo bo) {
-        ChatAgentManage update = MapstructUtils.convert(bo, ChatAgentManage.class);
-        validEntityBeforeSave(update);
-        return baseMapper.updateById(update) > 0;
-    }
-
-    /**
-     * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
-     */
-    private void validEntityBeforeSave(ChatAgentManage entity){
-        //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎鏅鸿兘浣撶鐞�
-     */
-    @Override
-    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
-            //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
-        }
-        return baseMapper.deleteBatchIds(ids) > 0;
-    }
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAppStoreServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAppStoreServiceImpl.java
deleted file mode 100644
index e29e5b2..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAppStoreServiceImpl.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.ruoyi.service.impl;
-
-import org.ruoyi.common.core.utils.MapstructUtils;
-import org.ruoyi.common.core.utils.StringUtils;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import lombok.RequiredArgsConstructor;
-import org.ruoyi.domain.ChatAppStore;
-import org.ruoyi.domain.bo.ChatAppStoreBo;
-import org.ruoyi.mapper.ChatAppStoreMapper;
-import org.ruoyi.service.IChatAppStoreService;
-import org.springframework.stereotype.Service;
-import org.ruoyi.domain.vo.ChatAppStoreVo;
-import java.util.List;
-import java.util.Map;
-import java.util.Collection;
-
-/**
- * 搴旂敤鍟嗗簵Service涓氬姟灞傚鐞�
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@RequiredArgsConstructor
-@Service
-public class ChatAppStoreServiceImpl implements IChatAppStoreService {
-
-    private final ChatAppStoreMapper baseMapper;
-
-    /**
-     * 鏌ヨ搴旂敤鍟嗗簵
-     */
-    @Override
-    public ChatAppStoreVo queryById(Long id){
-        return baseMapper.selectVoById(id);
-    }
-
-    /**
-     * 鏌ヨ搴旂敤鍟嗗簵鍒楄〃
-     */
-    @Override
-    public TableDataInfo<ChatAppStoreVo> queryPageList(ChatAppStoreBo bo, PageQuery pageQuery) {
-        LambdaQueryWrapper<ChatAppStore> lqw = buildQueryWrapper(bo);
-        Page<ChatAppStoreVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
-        return TableDataInfo.build(result);
-    }
-
-    /**
-     * 鏌ヨ搴旂敤鍟嗗簵鍒楄〃
-     */
-    @Override
-    public List<ChatAppStoreVo> queryList(ChatAppStoreBo bo) {
-        LambdaQueryWrapper<ChatAppStore> lqw = buildQueryWrapper(bo);
-        return baseMapper.selectVoList(lqw);
-    }
-
-    private LambdaQueryWrapper<ChatAppStore> buildQueryWrapper(ChatAppStoreBo bo) {
-        Map<String, Object> params = bo.getParams();
-        LambdaQueryWrapper<ChatAppStore> lqw = Wrappers.lambdaQuery();
-        lqw.like(StringUtils.isNotBlank(bo.getName()), ChatAppStore::getName, bo.getName());
-        lqw.eq(StringUtils.isNotBlank(bo.getDescription()), ChatAppStore::getDescription, bo.getDescription());
-        lqw.eq(StringUtils.isNotBlank(bo.getAvatar()), ChatAppStore::getAvatar, bo.getAvatar());
-        lqw.eq(StringUtils.isNotBlank(bo.getAppUrl()), ChatAppStore::getAppUrl, bo.getAppUrl());
-        return lqw;
-    }
-
-    /**
-     * 鏂板搴旂敤鍟嗗簵
-     */
-    @Override
-    public Boolean insertByBo(ChatAppStoreBo bo) {
-        ChatAppStore add = MapstructUtils.convert(bo, ChatAppStore.class);
-        validEntityBeforeSave(add);
-        boolean flag = baseMapper.insert(add) > 0;
-        if (flag) {
-            bo.setId(add.getId());
-        }
-        return flag;
-    }
-
-    /**
-     * 淇敼搴旂敤鍟嗗簵
-     */
-    @Override
-    public Boolean updateByBo(ChatAppStoreBo bo) {
-        ChatAppStore update = MapstructUtils.convert(bo, ChatAppStore.class);
-        validEntityBeforeSave(update);
-        return baseMapper.updateById(update) > 0;
-    }
-
-    /**
-     * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
-     */
-    private void validEntityBeforeSave(ChatAppStore entity){
-        //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎搴旂敤鍟嗗簵
-     */
-    @Override
-    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
-            //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
-        }
-        return baseMapper.deleteBatchIds(ids) > 0;
-    }
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatGptsServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatGptsServiceImpl.java
deleted file mode 100644
index 0b7bb1b..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatGptsServiceImpl.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package org.ruoyi.service.impl;
-
-import org.ruoyi.common.core.utils.MapstructUtils;
-import org.ruoyi.common.core.utils.StringUtils;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import lombok.RequiredArgsConstructor;
-import org.ruoyi.domain.ChatGpts;
-import org.ruoyi.domain.bo.ChatGptsBo;
-import org.ruoyi.domain.vo.ChatGptsVo;
-import org.ruoyi.mapper.ChatGptsMapper;
-import org.ruoyi.service.IChatGptsService;
-import org.springframework.stereotype.Service;
-
-
-import java.util.List;
-import java.util.Map;
-import java.util.Collection;
-
-/**
- * 搴旂敤绠$悊Service涓氬姟灞傚鐞�
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@RequiredArgsConstructor
-@Service
-public class ChatGptsServiceImpl implements IChatGptsService {
-
-    private final ChatGptsMapper baseMapper;
-
-    /**
-     * 鏌ヨ搴旂敤绠$悊
-     */
-    @Override
-    public ChatGptsVo queryById(Long id){
-        return baseMapper.selectVoById(id);
-    }
-
-    /**
-     * 鏌ヨ搴旂敤绠$悊鍒楄〃
-     */
-    @Override
-    public TableDataInfo<ChatGptsVo> queryPageList(ChatGptsBo bo, PageQuery pageQuery) {
-        LambdaQueryWrapper<ChatGpts> lqw = buildQueryWrapper(bo);
-        Page<ChatGptsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
-        return TableDataInfo.build(result);
-    }
-
-    /**
-     * 鏌ヨ搴旂敤绠$悊鍒楄〃
-     */
-    @Override
-    public List<ChatGptsVo> queryList(ChatGptsBo bo) {
-        LambdaQueryWrapper<ChatGpts> lqw = buildQueryWrapper(bo);
-        return baseMapper.selectVoList(lqw);
-    }
-
-    private LambdaQueryWrapper<ChatGpts> buildQueryWrapper(ChatGptsBo bo) {
-        Map<String, Object> params = bo.getParams();
-        LambdaQueryWrapper<ChatGpts> lqw = Wrappers.lambdaQuery();
-        lqw.eq(StringUtils.isNotBlank(bo.getGid()), ChatGpts::getGid, bo.getGid());
-        lqw.like(StringUtils.isNotBlank(bo.getName()), ChatGpts::getName, bo.getName());
-        lqw.eq(StringUtils.isNotBlank(bo.getLogo()), ChatGpts::getLogo, bo.getLogo());
-        lqw.eq(StringUtils.isNotBlank(bo.getInfo()), ChatGpts::getInfo, bo.getInfo());
-        lqw.eq(StringUtils.isNotBlank(bo.getAuthorId()), ChatGpts::getAuthorId, bo.getAuthorId());
-        lqw.like(StringUtils.isNotBlank(bo.getAuthorName()), ChatGpts::getAuthorName, bo.getAuthorName());
-        lqw.eq(bo.getUseCnt() != null, ChatGpts::getUseCnt, bo.getUseCnt());
-        lqw.eq(bo.getBad() != null, ChatGpts::getBad, bo.getBad());
-        lqw.eq(StringUtils.isNotBlank(bo.getType()), ChatGpts::getType, bo.getType());
-        lqw.eq(StringUtils.isNotBlank(bo.getUpdateIp()), ChatGpts::getUpdateIp, bo.getUpdateIp());
-        return lqw;
-    }
-
-    /**
-     * 鏂板搴旂敤绠$悊
-     */
-    @Override
-    public Boolean insertByBo(ChatGptsBo bo) {
-        ChatGpts add = MapstructUtils.convert(bo, ChatGpts.class);
-        validEntityBeforeSave(add);
-        boolean flag = baseMapper.insert(add) > 0;
-        if (flag) {
-            bo.setId(add.getId());
-        }
-        return flag;
-    }
-
-    /**
-     * 淇敼搴旂敤绠$悊
-     */
-    @Override
-    public Boolean updateByBo(ChatGptsBo bo) {
-        ChatGpts update = MapstructUtils.convert(bo, ChatGpts.class);
-        validEntityBeforeSave(update);
-        return baseMapper.updateById(update) > 0;
-    }
-
-    /**
-     * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
-     */
-    private void validEntityBeforeSave(ChatGpts entity){
-        //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎搴旂敤绠$悊
-     */
-    @Override
-    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
-            //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
-        }
-        return baseMapper.deleteBatchIds(ids) > 0;
-    }
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPackagePlanServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPackagePlanServiceImpl.java
deleted file mode 100644
index bbf5f16..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPackagePlanServiceImpl.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.ruoyi.service.impl;
-
-import org.ruoyi.common.core.utils.MapstructUtils;
-import org.ruoyi.common.core.utils.StringUtils;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import lombok.RequiredArgsConstructor;
-import org.ruoyi.domain.ChatPackagePlan;
-import org.ruoyi.domain.bo.ChatPackagePlanBo;
-import org.ruoyi.domain.vo.ChatPackagePlanVo;
-import org.ruoyi.mapper.ChatPackagePlanMapper;
-import org.ruoyi.service.IChatPackagePlanService;
-import org.springframework.stereotype.Service;
-
-
-import java.util.List;
-import java.util.Map;
-import java.util.Collection;
-
-/**
- * 濂楅绠$悊Service涓氬姟灞傚鐞�
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@RequiredArgsConstructor
-@Service
-public class ChatPackagePlanServiceImpl implements IChatPackagePlanService {
-
-    private final ChatPackagePlanMapper baseMapper;
-
-    /**
-     * 鏌ヨ濂楅绠$悊
-     */
-    @Override
-    public ChatPackagePlanVo queryById(Long id){
-        return baseMapper.selectVoById(id);
-    }
-
-    /**
-     * 鏌ヨ濂楅绠$悊鍒楄〃
-     */
-    @Override
-    public TableDataInfo<ChatPackagePlanVo> queryPageList(ChatPackagePlanBo bo, PageQuery pageQuery) {
-        LambdaQueryWrapper<ChatPackagePlan> lqw = buildQueryWrapper(bo);
-        Page<ChatPackagePlanVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
-        return TableDataInfo.build(result);
-    }
-
-    /**
-     * 鏌ヨ濂楅绠$悊鍒楄〃
-     */
-    @Override
-    public List<ChatPackagePlanVo> queryList(ChatPackagePlanBo bo) {
-        LambdaQueryWrapper<ChatPackagePlan> lqw = buildQueryWrapper(bo);
-        return baseMapper.selectVoList(lqw);
-    }
-
-    private LambdaQueryWrapper<ChatPackagePlan> buildQueryWrapper(ChatPackagePlanBo bo) {
-        Map<String, Object> params = bo.getParams();
-        LambdaQueryWrapper<ChatPackagePlan> lqw = Wrappers.lambdaQuery();
-        lqw.like(StringUtils.isNotBlank(bo.getName()), ChatPackagePlan::getName, bo.getName());
-        lqw.eq(bo.getPrice() != null, ChatPackagePlan::getPrice, bo.getPrice());
-        lqw.eq(bo.getDuration() != null, ChatPackagePlan::getDuration, bo.getDuration());
-        lqw.eq(StringUtils.isNotBlank(bo.getPlanDetail()), ChatPackagePlan::getPlanDetail, bo.getPlanDetail());
-        return lqw;
-    }
-
-    /**
-     * 鏂板濂楅绠$悊
-     */
-    @Override
-    public Boolean insertByBo(ChatPackagePlanBo bo) {
-        ChatPackagePlan add = MapstructUtils.convert(bo, ChatPackagePlan.class);
-        validEntityBeforeSave(add);
-        boolean flag = baseMapper.insert(add) > 0;
-        if (flag) {
-            bo.setId(add.getId());
-        }
-        return flag;
-    }
-
-    /**
-     * 淇敼濂楅绠$悊
-     */
-    @Override
-    public Boolean updateByBo(ChatPackagePlanBo bo) {
-        ChatPackagePlan update = MapstructUtils.convert(bo, ChatPackagePlan.class);
-        validEntityBeforeSave(update);
-        return baseMapper.updateById(update) > 0;
-    }
-
-    /**
-     * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
-     */
-    private void validEntityBeforeSave(ChatPackagePlan entity){
-        //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎濂楅绠$悊
-     */
-    @Override
-    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
-            //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
-        }
-        return baseMapper.deleteBatchIds(ids) > 0;
-    }
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPluginServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPluginServiceImpl.java
deleted file mode 100644
index 02c6c69..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPluginServiceImpl.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.ruoyi.service.impl;
-
-import org.ruoyi.common.core.utils.MapstructUtils;
-import org.ruoyi.common.core.utils.StringUtils;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import lombok.RequiredArgsConstructor;
-import org.ruoyi.domain.ChatPlugin;
-import org.ruoyi.domain.bo.ChatPluginBo;
-import org.ruoyi.domain.vo.ChatPluginVo;
-import org.ruoyi.mapper.ChatPluginMapper;
-import org.ruoyi.service.IChatPluginService;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Collection;
-
-/**
- * 鎻掍欢绠$悊Service涓氬姟灞傚鐞�
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@RequiredArgsConstructor
-@Service
-public class ChatPluginServiceImpl implements IChatPluginService {
-
-    private final ChatPluginMapper baseMapper;
-
-    /**
-     * 鏌ヨ鎻掍欢绠$悊
-     */
-    @Override
-    public ChatPluginVo queryById(Long id){
-        return baseMapper.selectVoById(id);
-    }
-
-    /**
-     * 鏌ヨ鎻掍欢绠$悊鍒楄〃
-     */
-    @Override
-    public TableDataInfo<ChatPluginVo> queryPageList(ChatPluginBo bo, PageQuery pageQuery) {
-        LambdaQueryWrapper<ChatPlugin> lqw = buildQueryWrapper(bo);
-        Page<ChatPluginVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
-        return TableDataInfo.build(result);
-    }
-
-    /**
-     * 鏌ヨ鎻掍欢绠$悊鍒楄〃
-     */
-    @Override
-    public List<ChatPluginVo> queryList(ChatPluginBo bo) {
-        LambdaQueryWrapper<ChatPlugin> lqw = buildQueryWrapper(bo);
-        return baseMapper.selectVoList(lqw);
-    }
-
-    private LambdaQueryWrapper<ChatPlugin> buildQueryWrapper(ChatPluginBo bo) {
-        Map<String, Object> params = bo.getParams();
-        LambdaQueryWrapper<ChatPlugin> lqw = Wrappers.lambdaQuery();
-        lqw.like(StringUtils.isNotBlank(bo.getName()), ChatPlugin::getName, bo.getName());
-        lqw.eq(StringUtils.isNotBlank(bo.getCode()), ChatPlugin::getCode, bo.getCode());
-        return lqw;
-    }
-
-    /**
-     * 鏂板鎻掍欢绠$悊
-     */
-    @Override
-    public Boolean insertByBo(ChatPluginBo bo) {
-        ChatPlugin add = MapstructUtils.convert(bo, ChatPlugin.class);
-        validEntityBeforeSave(add);
-        boolean flag = baseMapper.insert(add) > 0;
-        if (flag) {
-            bo.setId(add.getId());
-        }
-        return flag;
-    }
-
-    /**
-     * 淇敼鎻掍欢绠$悊
-     */
-    @Override
-    public Boolean updateByBo(ChatPluginBo bo) {
-        ChatPlugin update = MapstructUtils.convert(bo, ChatPlugin.class);
-        validEntityBeforeSave(update);
-        return baseMapper.updateById(update) > 0;
-    }
-
-    /**
-     * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
-     */
-    private void validEntityBeforeSave(ChatPlugin entity){
-        //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎鎻掍欢绠$悊
-     */
-    @Override
-    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
-            //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
-        }
-        return baseMapper.deleteBatchIds(ids) > 0;
-    }
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatTokenServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatTokenServiceImpl.java
index 85d931d..0c29dec 100644
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatTokenServiceImpl.java
+++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatTokenServiceImpl.java
@@ -4,7 +4,8 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import lombok.RequiredArgsConstructor;
 import org.ruoyi.domain.ChatToken;
-import org.ruoyi.mapper.ChatTokenMapper;
+import org.ruoyi.domain.ChatUsageToken;
+import org.ruoyi.mapper.ChatUsageTokenMapper;
 import org.ruoyi.service.IChatTokenService;
 import org.springframework.stereotype.Service;
 
@@ -18,14 +19,14 @@
 @Service
 public class ChatTokenServiceImpl implements IChatTokenService {
 
-    private final ChatTokenMapper baseMapper;
+    private final ChatUsageTokenMapper baseMapper;
 
     @Override
-    public ChatToken queryByUserId(Long userId, String modelName) {
+    public ChatUsageToken queryByUserId(Long userId, String modelName) {
         return baseMapper.selectOne(
-            new LambdaQueryWrapper<ChatToken>()
-                .eq(ChatToken::getUserId, userId)
-                .eq(ChatToken::getModelName, modelName)
+            new LambdaQueryWrapper<ChatUsageToken>()
+                .eq(ChatUsageToken::getUserId, userId)
+                .eq(ChatUsageToken::getModelName, modelName)
                 .last("limit 1")
         );
     }
@@ -36,7 +37,7 @@
      */
     @Override
     public void resetToken(Long userId,String modelName) {
-        ChatToken chatToken = queryByUserId(userId, modelName);
+        ChatUsageToken chatToken = queryByUserId(userId, modelName);
         chatToken.setToken(0);
         baseMapper.updateById(chatToken);
     }
@@ -46,7 +47,7 @@
      *
      */
     @Override
-    public void editToken(ChatToken chatToken) {
+    public void editToken(ChatUsageToken chatToken) {
         if(chatToken.getId() == null){
             baseMapper.insert(chatToken);
         }else {
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatVoucherServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatVoucherServiceImpl.java
deleted file mode 100644
index 0b2e777..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatVoucherServiceImpl.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.ruoyi.service.impl;
-
-import org.ruoyi.common.core.utils.MapstructUtils;
-import org.ruoyi.common.core.utils.StringUtils;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import lombok.RequiredArgsConstructor;
-import org.ruoyi.domain.ChatVoucher;
-import org.ruoyi.domain.bo.ChatVoucherBo;
-import org.ruoyi.domain.vo.ChatVoucherVo;
-import org.ruoyi.mapper.ChatVoucherMapper;
-import org.ruoyi.service.IChatVoucherService;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Collection;
-
-/**
- * 鐢ㄦ埛鍏戞崲璁板綍Service涓氬姟灞傚鐞�
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@RequiredArgsConstructor
-@Service
-public class ChatVoucherServiceImpl implements IChatVoucherService {
-
-    private final ChatVoucherMapper baseMapper;
-
-    /**
-     * 鏌ヨ鐢ㄦ埛鍏戞崲璁板綍
-     */
-    @Override
-    public ChatVoucherVo queryById(Long id){
-        return baseMapper.selectVoById(id);
-    }
-
-    /**
-     * 鏌ヨ鐢ㄦ埛鍏戞崲璁板綍鍒楄〃
-     */
-    @Override
-    public TableDataInfo<ChatVoucherVo> queryPageList(ChatVoucherBo bo, PageQuery pageQuery) {
-        LambdaQueryWrapper<ChatVoucher> lqw = buildQueryWrapper(bo);
-        Page<ChatVoucherVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
-        return TableDataInfo.build(result);
-    }
-
-    /**
-     * 鏌ヨ鐢ㄦ埛鍏戞崲璁板綍鍒楄〃
-     */
-    @Override
-    public List<ChatVoucherVo> queryList(ChatVoucherBo bo) {
-        LambdaQueryWrapper<ChatVoucher> lqw = buildQueryWrapper(bo);
-        return baseMapper.selectVoList(lqw);
-    }
-
-    private LambdaQueryWrapper<ChatVoucher> buildQueryWrapper(ChatVoucherBo bo) {
-        Map<String, Object> params = bo.getParams();
-        LambdaQueryWrapper<ChatVoucher> lqw = Wrappers.lambdaQuery();
-        lqw.eq(StringUtils.isNotBlank(bo.getCode()), ChatVoucher::getCode, bo.getCode());
-        lqw.eq(bo.getAmount() != null, ChatVoucher::getAmount, bo.getAmount());
-        lqw.eq(bo.getUserId() != null, ChatVoucher::getUserId, bo.getUserId());
-        lqw.eq(StringUtils.isNotBlank(bo.getStatus()), ChatVoucher::getStatus, bo.getStatus());
-        lqw.eq(bo.getBalanceBefore() != null, ChatVoucher::getBalanceBefore, bo.getBalanceBefore());
-        lqw.eq(bo.getBalanceAfter() != null, ChatVoucher::getBalanceAfter, bo.getBalanceAfter());
-        return lqw;
-    }
-
-    /**
-     * 鏂板鐢ㄦ埛鍏戞崲璁板綍
-     */
-    @Override
-    public Boolean insertByBo(ChatVoucherBo bo) {
-        ChatVoucher add = MapstructUtils.convert(bo, ChatVoucher.class);
-        validEntityBeforeSave(add);
-        boolean flag = baseMapper.insert(add) > 0;
-        if (flag) {
-            bo.setId(add.getId());
-        }
-        return flag;
-    }
-
-    /**
-     * 淇敼鐢ㄦ埛鍏戞崲璁板綍
-     */
-    @Override
-    public Boolean updateByBo(ChatVoucherBo bo) {
-        ChatVoucher update = MapstructUtils.convert(bo, ChatVoucher.class);
-        validEntityBeforeSave(update);
-        return baseMapper.updateById(update) > 0;
-    }
-
-    /**
-     * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
-     */
-    private void validEntityBeforeSave(ChatVoucher entity){
-        //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎鐢ㄦ埛鍏戞崲璁板綍
-     */
-    @Override
-    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
-            //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
-        }
-        return baseMapper.deleteBatchIds(ids) > 0;
-    }
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatVxServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatVxServiceImpl.java
deleted file mode 100644
index 7b013b5..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatVxServiceImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.ruoyi.service.impl;
-
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.ruoyi.common.chat.entity.chat.ChatCompletion;
-import org.ruoyi.common.chat.entity.chat.ChatCompletionResponse;
-import org.ruoyi.common.chat.entity.chat.Message;
-import org.ruoyi.common.chat.openai.OpenAiStreamClient;
-import org.ruoyi.service.IChatVxService;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Service
-@Slf4j
-@RequiredArgsConstructor
-public class ChatVxServiceImpl implements IChatVxService {
-
-    private final OpenAiStreamClient openAiStreamClient;
-
-    @Override
-    public String chat(String prompt) {
-        List<Message> messageList = new ArrayList<>();
-        Message message = Message.builder().role(Message.Role.USER).content(prompt).build();
-        messageList.add(message);
-        ChatCompletion chatCompletion = ChatCompletion
-            .builder()
-            .messages(messageList)
-            .model("gpt-4o-mini")
-            .stream(false)
-            .build();
-        ChatCompletionResponse chatCompletionResponse = openAiStreamClient.chatCompletion(chatCompletion);
-        return chatCompletionResponse.getChoices().get(0).getMessage().getContent().toString();
-    }
-
-}
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAgentManageMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAgentManageMapper.xml
deleted file mode 100644
index cfa640d..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAgentManageMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.ruoyi.mapper.ChatAgentManageMapper">
-
-</mapper>
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAppStoreMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAppStoreMapper.xml
deleted file mode 100644
index 53b29af..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAppStoreMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.ruoyi.mapper.ChatAppStoreMapper">
-
-</mapper>
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatGptsMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatGptsMapper.xml
deleted file mode 100644
index cc22a8f..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatGptsMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.ruoyi.mapper.ChatGptsMapper">
-
-</mapper>
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPackagePlanMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPackagePlanMapper.xml
deleted file mode 100644
index 9875672..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPackagePlanMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.ruoyi.mapper.ChatPackagePlanMapper">
-
-</mapper>
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPluginMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPluginMapper.xml
deleted file mode 100644
index f1dacfb..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPluginMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.ruoyi.mapper.ChatPluginMapper">
-
-</mapper>
diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatVoucherMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatVoucherMapper.xml
deleted file mode 100644
index 9ef2787..0000000
--- a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatVoucherMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.ruoyi.mapper.ChatVoucherMapper">
-
-</mapper>
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/CsvFileLoader.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/CsvFileLoader.java
index 37d9903..41d1209 100644
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/CsvFileLoader.java
+++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/CsvFileLoader.java
@@ -1,7 +1,5 @@
 package org.ruoyi.chain.loader;
 
-import org.ruoyi.chain.loader.ResourceLoader;
-
 import java.io.InputStream;
 import java.util.List;
 
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ExcelFileLoader.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ExcelFileLoader.java
deleted file mode 100644
index b47ce11..0000000
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ExcelFileLoader.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.ruoyi.chain.loader;
-
-import dev.langchain4j.data.document.Document;
-import dev.langchain4j.data.document.parser.apache.tika.ApacheTikaDocumentParser;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.ruoyi.chain.split.TextSplitter;
-import org.ruoyi.common.core.exception.UtilException;
-import org.springframework.stereotype.Component;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-@Component
-@AllArgsConstructor
-@Slf4j
-public class ExcelFileLoader implements ResourceLoader {
-    private final TextSplitter textSplitter;
-    private static final int DEFAULT_BUFFER_SIZE = 8192;
-    @Override
-    public String getContent(InputStream inputStream) {
-        // 浣跨敤甯︾紦鍐茬殑杈撳叆娴佸寘瑁咃紙淇濇寔鍘熸祦涓嶈嚜鍔ㄥ叧闂級
-        try (InputStream bufferedStream = new BufferedInputStream(inputStream, DEFAULT_BUFFER_SIZE)) {
-            ApacheTikaDocumentParser apacheTikaDocumentParser = new ApacheTikaDocumentParser();
-            Document document = apacheTikaDocumentParser.parse(bufferedStream);
-            return document.text();
-        } catch (IOException e) {
-            String errorMsg = "Excel鏂囦欢娴佽鍙栧け璐�";
-            throw new UtilException(errorMsg, e);
-        } catch (RuntimeException e) {
-            String errorMsg = "Excel鍐呭瑙f瀽寮傚父";
-            throw new UtilException(errorMsg, e);
-        }
-    }
-
-    @Override
-    public List<String> getChunkList(String content, String kid) {
-        return textSplitter.split(content, kid);
-    }
-}
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/GithubLoader.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/GithubLoader.java
index 55446ef..762be7f 100644
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/GithubLoader.java
+++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/GithubLoader.java
@@ -1,7 +1,5 @@
 package org.ruoyi.chain.loader;
 
-import org.ruoyi.chain.loader.ResourceLoader;
-
 import java.io.InputStream;
 import java.util.List;
 
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/JsonFileLoader.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/JsonFileLoader.java
index 35f3fd4..95d24cf 100644
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/JsonFileLoader.java
+++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/JsonFileLoader.java
@@ -1,7 +1,5 @@
 package org.ruoyi.chain.loader;
 
-import org.ruoyi.chain.loader.ResourceLoader;
-
 import java.io.InputStream;
 import java.util.List;
 
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/MarkDownFileLoader.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/MarkDownFileLoader.java
index 182d0a7..ab7c498 100644
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/MarkDownFileLoader.java
+++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/MarkDownFileLoader.java
@@ -2,7 +2,6 @@
 
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.ruoyi.chain.loader.ResourceLoader;
 import org.ruoyi.chain.split.TextSplitter;
 import org.springframework.stereotype.Component;
 
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/PdfFileLoader.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/PdfFileLoader.java
index 06e74b8..c00f00b 100644
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/PdfFileLoader.java
+++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/PdfFileLoader.java
@@ -3,7 +3,6 @@
 import lombok.AllArgsConstructor;
 import org.apache.pdfbox.pdmodel.PDDocument;
 import org.apache.pdfbox.text.PDFTextStripper;
-import org.ruoyi.chain.loader.ResourceLoader;
 import org.ruoyi.chain.split.TextSplitter;
 import org.springframework.stereotype.Component;
 
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ResourceLoaderFactory.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ResourceLoaderFactory.java
index ec33c66..4aeefaa 100644
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ResourceLoaderFactory.java
+++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ResourceLoaderFactory.java
@@ -1,8 +1,9 @@
 package org.ruoyi.chain.loader;
 
 import lombok.AllArgsConstructor;
-import org.ruoyi.chain.split.*;
-
+import org.ruoyi.chain.split.CharacterTextSplitter;
+import org.ruoyi.chain.split.CodeTextSplitter;
+import org.ruoyi.chain.split.MarkdownTextSplitter;
 import org.ruoyi.constant.FileType;
 import org.springframework.stereotype.Component;
 
@@ -12,8 +13,7 @@
     private final CharacterTextSplitter characterTextSplitter;
     private final CodeTextSplitter codeTextSplitter;
     private final MarkdownTextSplitter markdownTextSplitter;
-    private final TokenTextSplitter tokenTextSplitter;
-    private final ExcelTextSplitter excelTextSplitter;
+
 
     public ResourceLoader getLoaderByFileType(String fileType){
         if (FileType.isTextFile(fileType)){
@@ -24,8 +24,6 @@
             return new PdfFileLoader(characterTextSplitter);
         } else if (FileType.isMdFile(fileType)) {
             return new MarkDownFileLoader(markdownTextSplitter);
-        }else if (FileType.isExcel(fileType)) {
-            return new ExcelFileLoader(excelTextSplitter);
         }else if (FileType.isCodeFile(fileType)) {
             return new CodeFileLoader(codeTextSplitter);
         }else {
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/WordLoader.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/WordLoader.java
index 624f01b..b6e7a87 100644
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/WordLoader.java
+++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/WordLoader.java
@@ -4,7 +4,6 @@
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
 import org.apache.poi.xwpf.usermodel.XWPFDocument;
-import org.ruoyi.chain.loader.ResourceLoader;
 import org.ruoyi.chain.split.TextSplitter;
 import org.springframework.stereotype.Component;
 
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/CharacterTextSplitter.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/CharacterTextSplitter.java
index 83ca334..14c6a0e 100644
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/CharacterTextSplitter.java
+++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/CharacterTextSplitter.java
@@ -3,7 +3,6 @@
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.ruoyi.common.core.utils.StringUtils;
-import org.ruoyi.chain.split.TextSplitter;
 import org.ruoyi.domain.vo.KnowledgeInfoVo;
 import org.ruoyi.service.IKnowledgeInfoService;
 import org.springframework.context.annotation.Lazy;
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/CodeTextSplitter.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/CodeTextSplitter.java
index f082ec8..ba50398 100644
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/CodeTextSplitter.java
+++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/CodeTextSplitter.java
@@ -2,7 +2,6 @@
 
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.ruoyi.chain.split.TextSplitter;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/ExcelTextSplitter.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/ExcelTextSplitter.java
deleted file mode 100644
index cc2b5f0..0000000
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/ExcelTextSplitter.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.ruoyi.chain.split;
-
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-@Component
-@AllArgsConstructor
-@Slf4j
-public class ExcelTextSplitter implements TextSplitter{
-    @Override
-    public List<String> split(String content, String kid) {
-        return null;
-    }
-}
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/TokenTextSplitter.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/TokenTextSplitter.java
index 823014a..ec39e85 100644
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/TokenTextSplitter.java
+++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/TokenTextSplitter.java
@@ -2,7 +2,6 @@
 
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.ruoyi.chain.split.TextSplitter;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/constant/DealStatus.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/constant/DealStatus.java
deleted file mode 100644
index 273b1b0..0000000
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/constant/DealStatus.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.ruoyi.constant;
-
-/**
- * @Description:
- * @Date: 2025/5/14 涓嬪崍2:04
- */
-public class DealStatus {
-  //鏈紑濮�
-  public static final Integer STATUS_10 = 10;
-  //杩涜涓�
-  public static final Integer STATUS_20 = 20;
-  //宸茬粨鏉�
-  public static final Integer STATUS_30 = 30;
-  //澶勭悊澶辫触
-  public static final Integer STATUS_40 = 40;
-
-
-}
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/domain/PdfFileContentResult.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/domain/PdfFileContentResult.java
deleted file mode 100644
index d6594e4..0000000
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/domain/PdfFileContentResult.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.ruoyi.domain;
-
-/**
- * 鏂囦欢鍐呭缁撴灉灏佽绫�
- */
-public class PdfFileContentResult {
-    private String filename;
-    private String content;
-
-    public PdfFileContentResult(String filename, String content) {
-        this.filename = filename;
-        this.content = content;
-    }
-
-    public String getFilename() {
-        return filename;
-    }
-
-    public void setFilename(String filename) {
-        this.filename = filename;
-    }
-
-    public String getContent() {
-        return content;
-    }
-
-    public void setContent(String content) {
-        this.content = content;
-    }
-}
\ No newline at end of file
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/PdfImageExtractService.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/PdfImageExtractService.java
deleted file mode 100644
index 759b439..0000000
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/PdfImageExtractService.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.ruoyi.service;
-
-import java.io.IOException;
-import java.util.List;
-import org.ruoyi.domain.PdfFileContentResult;
-import org.springframework.web.multipart.MultipartFile;
-
-/**
- * PDF鍥剧墖鎻愬彇鏈嶅姟鎺ュ彛
- */
-public interface PdfImageExtractService {
-
-  /**
-   * 浠嶱DF鏂囦欢涓彁鍙栧浘鐗�
-   *
-   * @param pdfFile PDF鏂囦欢
-   * @param imageFormat 杈撳嚭鍥剧墖鏍煎紡 (png, jpeg, gif)
-   * @param allowDuplicates 鏄惁鍏佽閲嶅鍥剧墖
-   * @return 鍖呭惈鎻愬彇鍥剧墖鐨刏IP鏂囦欢鐨勫瓧鑺傛暟缁�
-   * @throws IOException 濡傛灉鏂囦欢澶勭悊杩囩▼涓彂鐢熼敊璇�
-   */
-  byte[] extractImages(MultipartFile pdfFile, String imageFormat, boolean allowDuplicates)
-      throws IOException;
-
-  /**
-   * 澶勭悊鏂囦欢鍐呭
-   *
-   * @param unzip Base64缂栫爜鐨勫浘鐗囨暟缁�
-   * @return 鏂囦欢鍐呭缁撴灉鍒楄〃
-   * @throws IOException 濡傛灉API璋冪敤杩囩▼涓彂鐢熼敊璇�
-   */
-  List<PdfFileContentResult> dealFileContent(String[] unzip) throws IOException;
-
-  /**
-   * 鎻愬彇PDF涓殑鍥剧墖骞惰皟鐢╣pt-4o-mini,璇嗗埆鍥剧墖鍐呭骞惰繑鍥�
-   * @param file
-   * @return
-   * @throws IOException
-   */
-  List<PdfFileContentResult> extractImages(MultipartFile file) throws IOException;
-}
\ No newline at end of file
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/PdfImageExtractServiceImpl.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/PdfImageExtractServiceImpl.java
deleted file mode 100644
index 29aae8e..0000000
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/PdfImageExtractServiceImpl.java
+++ /dev/null
@@ -1,149 +0,0 @@
-package org.ruoyi.service.impl;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.extern.slf4j.Slf4j;
-import okhttp3.MediaType;
-import okhttp3.MultipartBody;
-import okhttp3.OkHttpClient;
-import okhttp3.OkHttpClient.Builder;
-import okhttp3.Request;
-import okhttp3.RequestBody;
-import okhttp3.Response;
-import org.ruoyi.common.core.domain.R;
-import org.ruoyi.domain.PdfFileContentResult;
-import org.ruoyi.service.PdfImageExtractService;
-import org.ruoyi.utils.ZipUtils;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-
-/**
- * PDF鍥剧墖鎻愬彇鏈嶅姟瀹炵幇绫�
- */
-//@Service
-@Slf4j
-@Data
-@AllArgsConstructor
-//public class PdfImageExtractServiceImpl implements PdfImageExtractService {
-public class PdfImageExtractServiceImpl  {
-
-//  @Value("${pdf.extract.service.url}")
-  private String serviceUrl;
-//  @Value("${pdf.extract.ai-api.url}")
-  private String aiApiUrl;
-//  @Value("${pdf.extract.ai-api.key}")
-  private String aiApiKey;
-
-  private final OkHttpClient client = new Builder()
-      .connectTimeout(100, TimeUnit.SECONDS)
-      .readTimeout(150, TimeUnit.SECONDS)
-      .writeTimeout(150, TimeUnit.SECONDS)
-      .callTimeout(300, TimeUnit.SECONDS)
-      .build();
-
-  private static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
-
-//  @Override
-  public byte[] extractImages(MultipartFile pdfFile, String imageFormat, boolean allowDuplicates)
-      throws IOException {
-    // 鏋勫缓multipart璇锋眰
-    RequestBody requestBody = new MultipartBody.Builder()
-        .setType(MultipartBody.FORM)
-        .addFormDataPart("fileInput", pdfFile.getOriginalFilename(),
-            RequestBody.create(MediaType.parse("application/pdf"), pdfFile.getBytes()))
-        .addFormDataPart("format", imageFormat)
-        .addFormDataPart("allowDuplicates", String.valueOf(allowDuplicates))
-        .build();
-
-    // 鍒涘缓璇锋眰
-    Request request = new Request.Builder()
-        .url(serviceUrl + "/api/v1/misc/extract-images")
-        .post(requestBody)
-        .build();
-
-    // 鎵ц璇锋眰
-    try (Response response = client.newCall(request).execute()) {
-      if (!response.isSuccessful()) {
-        throw new IOException("璇锋眰澶辫触: " + response.code());
-      }
-      return response.body().bytes();
-    }
-  }
-
-  /**
-   * 澶勭悊鏂囦欢鍐呭
-   *
-   * @param unzip Base64缂栫爜鐨勫浘鐗囨暟缁�
-   * @return 鏂囦欢鍐呭缁撴灉鍒楄〃
-   * @throws IOException 濡傛灉API璋冪敤杩囩▼涓彂鐢熼敊璇�
-   */
-//  @Override
-  public List<PdfFileContentResult> dealFileContent(String[] unzip) throws IOException {
-    List<PdfFileContentResult> results = new ArrayList<>();
-    int i = 0;
-    for (String base64Image : unzip) {
-      // 鏋勫缓璇锋眰JSON
-      String requestJson = String.format("{"
-          + "\"model\": \"gpt-4o\","
-          + "\"stream\": false,"
-          + "\"messages\": [{"
-          + "\"role\": \"user\","
-          + "\"content\": [{"
-          + "\"type\": \"text\","
-          + "\"text\": \"杩欏紶鍥剧墖鏈変粈涔圽""
-          + "}, {"
-          + "\"type\": \"image_url\","
-          + "\"image_url\": {"
-          + "\"url\": \"%s\""
-          + "}}"
-          + "]}],"
-          + "\"max_tokens\": 400"
-          + "}", base64Image);
-
-      // 鍒涘缓璇锋眰
-      Request request = new Request.Builder()
-          .url(aiApiUrl)
-          .addHeader("Authorization", "Bearer " + aiApiKey)
-          .post(RequestBody.create(JSON, requestJson))
-          .build();
-
-      // 鎵ц璇锋眰
-      try {
-        log.info("=============call=" + ++i);
-
-        Response response = client.newCall(request).execute();
-        log.info("=============response=" + response);
-        if (!response.isSuccessful()) {
-          throw new IOException("API璇锋眰澶辫触: " + response.code() + response.toString());
-        }
-
-        String responseBody = response.body().string();
-        log.info("=============responseBody=" + responseBody);
-        // 浣跨敤鏂囦欢鍚嶏紙杩欓噷浣跨敤base64鐨勫墠10涓瓧绗︿綔涓烘爣璇嗭級鍜孉PI杩斿洖鍐呭鍒涘缓缁撴灉瀵硅薄
-        String filename = base64Image.substring(0, Math.min(base64Image.length(), 10));
-        results.add(new PdfFileContentResult(filename, responseBody));
-      } catch (Exception e) {
-        log.error(e.getMessage());
-        throw new RuntimeException(e);
-      }
-    }
-    return results;
-  }
-
-//  @Override
-  public List<PdfFileContentResult> extractImages(MultipartFile file) throws IOException {
-    String format = "png";
-    boolean allowDuplicates = true;
-    // 鑾峰彇ZIP鏁版嵁
-    byte[] zipData = this.extractImages(file, format, allowDuplicates);
-    // 瑙e帇鏂囦欢骞惰瘑鍒浘鐗囧唴瀹瑰苟杩斿洖
-    String[] unzip = ZipUtils.unzipForBase64(zipData);
-    //瑙f瀽鍥剧墖鍐呭
-    return this.dealFileContent(unzip);
-  }
-}
\ No newline at end of file
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java
index 4b6c01d..7d16b45 100644
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java
+++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/VectorStoreServiceImpl.java
@@ -11,9 +11,6 @@
 import dev.langchain4j.store.embedding.EmbeddingStore;
 import dev.langchain4j.store.embedding.filter.Filter;
 import dev.langchain4j.store.embedding.filter.comparison.IsEqualTo;
-import dev.langchain4j.store.embedding.inmemory.InMemoryEmbeddingStore;
-import dev.langchain4j.store.embedding.milvus.MilvusEmbeddingStore;
-import dev.langchain4j.store.embedding.qdrant.QdrantEmbeddingStore;
 import dev.langchain4j.store.embedding.weaviate.WeaviateEmbeddingStore;
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
@@ -23,16 +20,14 @@
 import org.ruoyi.domain.bo.StoreEmbeddingBo;
 import org.ruoyi.service.VectorStoreService;
 import org.springframework.stereotype.Service;
-
-import static dev.langchain4j.model.openai.OpenAiEmbeddingModelName.TEXT_EMBEDDING_3_SMALL;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * 鍚戦噺搴撶鐞�
+ *
  * @author ageer
  */
 @Service
@@ -45,51 +40,23 @@
     private EmbeddingStore<TextSegment> embeddingStore;
 
     @Override
-    public void createSchema(String kid,String modelName) {
-        switch (modelName) {
-            case "weaviate" -> {
-                String protocol = configService.getConfigValue("weaviate", "protocol");
-                String host = configService.getConfigValue("weaviate", "host");
-                String className = configService.getConfigValue("weaviate", "classname");
-                embeddingStore = WeaviateEmbeddingStore.builder()
-                        .scheme(protocol)
-                        .host(host)
-                        .objectClass(className + kid)
-                        .scheme(protocol)
-                        .avoidDups(true)
-                        .consistencyLevel("ALL")
-                        .build();
-            }
-            case "milvus" -> {
-                String uri = configService.getConfigValue("milvus", "host");
-                String collection = configService.getConfigValue("milvus", "collection");
-                String dimension = configService.getConfigValue("milvus", "dimension");
-                embeddingStore = MilvusEmbeddingStore.builder()
-                        .uri(uri)
-                        .collectionName(collection + kid)
-                        .dimension(Integer.parseInt(dimension))
-                        .build();
-            }
-            case "qdrant" -> {
-                String host = configService.getConfigValue("qdrant", "host");
-                String port = configService.getConfigValue("qdrant", "port");
-                String collectionName = configService.getConfigValue("qdrant", "collectionName");
-                embeddingStore = QdrantEmbeddingStore.builder()
-                        .host(host)
-                        .port(Integer.parseInt(port))
-                        .collectionName(collectionName)
-                        .build();
-            }
-            default -> {
-                //浣跨敤鍐呭瓨
-                embeddingStore = new InMemoryEmbeddingStore<>();
-            }
-        }
+    public void createSchema(String kid, String modelName) {
+        String protocol = configService.getConfigValue("weaviate", "protocol");
+        String host = configService.getConfigValue("weaviate", "host");
+        String className = configService.getConfigValue("weaviate", "classname");
+        embeddingStore = WeaviateEmbeddingStore.builder()
+                .scheme(protocol)
+                .host(host)
+                .objectClass(className + kid)
+                .scheme(protocol)
+                .avoidDups(true)
+                .consistencyLevel("ALL")
+                .build();
     }
 
     @Override
     public void storeEmbeddings(StoreEmbeddingBo storeEmbeddingBo) {
-        createSchema(storeEmbeddingBo.getKid(),storeEmbeddingBo.getVectorModelName());
+        createSchema(storeEmbeddingBo.getKid(), storeEmbeddingBo.getVectorModelName());
         EmbeddingModel embeddingModel = getEmbeddingModel(storeEmbeddingBo.getEmbeddingModelName(),
                 storeEmbeddingBo.getApiKey(), storeEmbeddingBo.getBaseUrl());
         List<String> chunkList = storeEmbeddingBo.getChunkList();
@@ -101,22 +68,22 @@
             Embedding embedding = embeddingModel.embed(chunkList.get(i)).content();
             TextSegment segment = TextSegment.from(chunkList.get(i));
             segment.metadata().putAll(dataSchema);
-            embeddingStore.add(embedding,segment);
+            embeddingStore.add(embedding, segment);
         }
     }
 
     @Override
     public List<String> getQueryVector(QueryVectorBo queryVectorBo) {
-        createSchema(queryVectorBo.getKid(),queryVectorBo.getVectorModelName());
+        createSchema(queryVectorBo.getKid(), queryVectorBo.getVectorModelName());
         EmbeddingModel embeddingModel = getEmbeddingModel(queryVectorBo.getEmbeddingModelName(),
                 queryVectorBo.getApiKey(), queryVectorBo.getBaseUrl());
-       // Filter simpleFilter = new IsEqualTo("kid", queryVectorBo.getKid());
+        // Filter simpleFilter = new IsEqualTo("kid", queryVectorBo.getKid());
         Embedding queryEmbedding = embeddingModel.embed(queryVectorBo.getQuery()).content();
         EmbeddingSearchRequest embeddingSearchRequest = EmbeddingSearchRequest.builder()
                 .queryEmbedding(queryEmbedding)
                 .maxResults(queryVectorBo.getMaxResults())
                 // 娣诲姞杩囨护鏉′欢
-         //       .filter(simpleFilter)
+                //       .filter(simpleFilter)
                 .build();
         List<EmbeddingMatch<TextSegment>> matches = embeddingStore.search(embeddingSearchRequest).matches();
         List<String> results = new ArrayList<>();
@@ -126,24 +93,24 @@
 
 
     @Override
-    public void removeByKid(String kid,String modelName) {
-        createSchema(kid,modelName);
+    public void removeByKid(String kid, String modelName) {
+        createSchema(kid, modelName);
         // 鏍规嵁鏉′欢鍒犻櫎鍚戦噺鏁版嵁
         Filter simpleFilter = new IsEqualTo("kid", kid);
         embeddingStore.removeAll(simpleFilter);
     }
 
     @Override
-    public void removeByDocId(String kid, String docId,String modelName) {
-        createSchema(kid,modelName);
+    public void removeByDocId(String kid, String docId, String modelName) {
+        createSchema(kid, modelName);
         // 鏍规嵁鏉′欢鍒犻櫎鍚戦噺鏁版嵁
         Filter simpleFilterByDocId = new IsEqualTo("docId", docId);
         embeddingStore.removeAll(simpleFilterByDocId);
     }
 
     @Override
-    public void removeByKidAndFid(String kid, String fid,String modelName) {
-        createSchema(kid,modelName);
+    public void removeByKidAndFid(String kid, String fid, String modelName) {
+        createSchema(kid, modelName);
         // 鏍规嵁鏉′欢鍒犻櫎鍚戦噺鏁版嵁
         Filter simpleFilterByKid = new IsEqualTo("kid", kid);
         Filter simpleFilterFid = new IsEqualTo("fid", fid);
@@ -157,25 +124,18 @@
     @SneakyThrows
     public EmbeddingModel getEmbeddingModel(String modelName, String apiKey, String baseUrl) {
         EmbeddingModel embeddingModel;
-        if(TEXT_EMBEDDING_3_SMALL.toString().equals(modelName)) {
-             embeddingModel = OpenAiEmbeddingModel.builder()
-                    .apiKey(apiKey)
-                    .baseUrl(baseUrl)
-                    .modelName(modelName)
-                    .build();
-        // TODO 娣诲姞鏋氫妇
-        }else if("quentinz/bge-large-zh-v1.5".equals(modelName)) {
+        if ("quentinz/bge-large-zh-v1.5".equals(modelName)) {
             embeddingModel = OllamaEmbeddingModel.builder()
                     .baseUrl(baseUrl)
                     .modelName(modelName)
                     .build();
-        }else if("baai/bge-m3".equals(modelName)) {
+        } else if ("baai/bge-m3".equals(modelName)) {
             embeddingModel = OpenAiEmbeddingModel.builder()
                     .apiKey(apiKey)
                     .baseUrl(baseUrl)
                     .modelName(modelName)
                     .build();
-        }else {
+        } else {
             throw new ServiceException("鏈壘鍒板搴斿悜閲忓寲妯″瀷!");
         }
         return embeddingModel;
diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/utils/ZipUtils.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/utils/ZipUtils.java
deleted file mode 100644
index 3c16131..0000000
--- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/utils/ZipUtils.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package org.ruoyi.utils;
-
-import java.io.BufferedOutputStream;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Base64;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-import org.springframework.mock.web.MockMultipartFile;
-import org.springframework.web.multipart.MultipartFile;
-
-/**
- * ZIP鏂囦欢澶勭悊宸ュ叿绫�
- */
-public class ZipUtils {
-
-    /**
-     * 瑙e帇ZIP鏂囦欢鍒版寚瀹氱洰褰�
-     *
-     * @param zipData ZIP鏂囦欢鐨勫瓧鑺傛暟缁�
-     * @param destDir 鐩爣鐩綍
-     * @return 瑙e帇鍚庣殑鏂囦欢璺緞鍒楄〃
-     * @throws IOException 濡傛灉瑙e帇杩囩▼涓彂鐢熼敊璇�
-     */
-    public static String[] unzip(byte[] zipData, String destDir) throws IOException {
-        File destDirFile = new File(destDir);
-        if (!destDirFile.exists()) {
-            destDirFile.mkdirs();
-        }
-
-        List<String> extractedPaths = new ArrayList<>();
-        try (ByteArrayInputStream bis = new ByteArrayInputStream(zipData);
-             ZipInputStream zis = new ZipInputStream(bis)) {
-
-            ZipEntry zipEntry;
-            while ((zipEntry = zis.getNextEntry()) != null) {
-                String filePath = destDir + File.separator + zipEntry.getName();
-                if (!zipEntry.isDirectory()) {
-                    extractFile(zis, filePath);
-                    extractedPaths.add(filePath);
-                } else {
-                    new File(filePath).mkdirs();
-                }
-                zis.closeEntry();
-            }
-        }
-        return extractedPaths.toArray(new String[0]);
-    }
-
-    private static void extractFile(ZipInputStream zis, String filePath) throws IOException {
-        try (BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath))) {
-            byte[] buffer = new byte[4096];
-            int read;
-            while ((read = zis.read(buffer)) != -1) {
-                bos.write(buffer, 0, read);
-            }
-        }
-    }
-
-    /**
-     * 瑙e帇ZIP鏂囦欢骞惰繑鍥炴枃浠跺唴瀹圭殑Base64缂栫爜瀛楃涓叉暟缁�
-     *
-     * @param zipData ZIP鏂囦欢鐨勫瓧鑺傛暟缁�
-     * @return Base64缂栫爜鐨勬枃浠跺唴瀹规暟缁�
-     * @throws IOException 濡傛灉瑙e帇杩囩▼涓彂鐢熼敊璇�
-     */
-    public static String[] unzipForBase64(byte[] zipData) throws IOException {
-        List<String> base64Contents = new ArrayList<>();
-        try (ByteArrayInputStream bis = new ByteArrayInputStream(zipData);
-             ZipInputStream zis = new ZipInputStream(bis)) {
-
-            ZipEntry zipEntry;
-            while ((zipEntry = zis.getNextEntry()) != null) {
-                if (!zipEntry.isDirectory()) {
-                    // 璇诲彇鏂囦欢鍐呭鍒板唴瀛�
-                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
-                    byte[] buffer = new byte[4096];
-                    int read;
-                    while ((read = zis.read(buffer)) != -1) {
-                        baos.write(buffer, 0, read);
-                    }
-                    
-                    // 灏嗘枃浠跺唴瀹硅浆鎹负Base64瀛楃涓�
-                    String base64Content = Base64.getEncoder().encodeToString(baos.toByteArray());
-                    base64Contents.add(base64Content);
-                }
-                zis.closeEntry();
-            }
-        }
-        return base64Contents.toArray(new String[0]);
-    }
-
-  /**
-   * 瑙e帇ZIP鏂囦欢骞惰繑鍥濵ultipartFile鏁扮粍
-   *
-   * @param zipData ZIP鏂囦欢鐨勫瓧鑺傛暟缁�
-   * @return MultipartFile鏁扮粍
-   * @throws IOException 濡傛灉瑙e帇杩囩▼涓彂鐢熼敊璇�
-   */
-  public static MultipartFile[] unzipToMultipartFiles(byte[] zipData) throws IOException {
-    List<MultipartFile> multipartFiles = new ArrayList<>();
-    try (ByteArrayInputStream bis = new ByteArrayInputStream(zipData);
-        ZipInputStream zis = new ZipInputStream(bis)) {
-
-      ZipEntry zipEntry;
-      while ((zipEntry = zis.getNextEntry()) != null) {
-        if (!zipEntry.isDirectory()) {
-          // 璇诲彇鏂囦欢鍐呭鍒板唴瀛�
-          ByteArrayOutputStream baos = new ByteArrayOutputStream();
-          byte[] buffer = new byte[4096];
-          int read;
-          while ((read = zis.read(buffer)) != -1) {
-            baos.write(buffer, 0, read);
-          }
-
-          // 鍒涘缓MultipartFile瀵硅薄
-          String fileName = zipEntry.getName();
-          byte[] content = baos.toByteArray();
-          String contentType = determineContentType(fileName);
-
-          MultipartFile multipartFile = new MockMultipartFile(
-              fileName,                  // 鏂囦欢鍚�
-              fileName,                  // 鍘熷鏂囦欢鍚�
-              contentType,               // 鍐呭绫诲瀷
-              content                    // 鏂囦欢鍐呭
-          );
-
-          multipartFiles.add(multipartFile);
-        }
-        zis.closeEntry();
-      }
-    }
-    return multipartFiles.toArray(new MultipartFile[0]);
-  }
-
-  /**
-   * 鏍规嵁鏂囦欢鍚嶇‘瀹氬唴瀹圭被鍨�
-   *
-   * @param fileName 鏂囦欢鍚�
-   * @return 鍐呭绫诲瀷
-   */
-  private static String determineContentType(String fileName) {
-    String extension = "";
-    int i = fileName.lastIndexOf('.');
-    if (i > 0) {
-      extension = fileName.substring(i + 1).toLowerCase();
-    }
-
-    switch (extension) {
-      case "txt":
-        return "text/plain";
-      case "html":
-      case "htm":
-        return "text/html";
-      case "pdf":
-        return "application/pdf";
-      case "jpg":
-      case "jpeg":
-        return "image/jpeg";
-      case "png":
-        return "image/png";
-      case "gif":
-        return "image/gif";
-      case "doc":
-      case "docx":
-        return "application/msword";
-      case "xls":
-      case "xlsx":
-        return "application/vnd.ms-excel";
-      case "xml":
-        return "application/xml";
-      case "json":
-        return "application/json";
-      default:
-        return "application/octet-stream";
-    }
-  }
-}
\ No newline at end of file
diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml
index 044e0bc..1b3ff0c 100644
--- a/ruoyi-modules/pom.xml
+++ b/ruoyi-modules/pom.xml
@@ -21,7 +21,6 @@
         <module>ruoyi-chat</module>
         <module>ruoyi-system</module>
         <module>ruoyi-generator</module>
-        <module>ruoyi-wechat</module>
     </modules>
 
     <properties>
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAgentManageController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAgentManageController.java
deleted file mode 100644
index 35618d7..0000000
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAgentManageController.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.ruoyi.chat.controller.chat;
-
-import java.util.List;
-
-import lombok.RequiredArgsConstructor;
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.validation.constraints.*;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import org.ruoyi.common.excel.utils.ExcelUtil;
-import org.ruoyi.common.idempotent.annotation.RepeatSubmit;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.common.web.core.BaseController;
-import org.ruoyi.domain.bo.ChatAgentManageBo;
-import org.ruoyi.domain.vo.ChatAgentManageVo;
-import org.ruoyi.service.IChatAgentManageService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.validation.annotation.Validated;
-import org.ruoyi.common.log.annotation.Log;
-import org.ruoyi.core.page.PageQuery;
-import org.ruoyi.common.core.domain.R;
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.common.log.enums.BusinessType;
-
-/**
- * 鏅鸿兘浣撶鐞�
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Validated
-@RequiredArgsConstructor
-@RestController
-@RequestMapping("/system/agentManage")
-public class ChatAgentManageController extends BaseController {
-
-    private final IChatAgentManageService chatAgentManageService;
-
-    /**
-     * 鏌ヨ鏅鸿兘浣撶鐞嗗垪琛�
-     */
-    @SaCheckPermission("system:agentManage:list")
-    @GetMapping("/list")
-    public TableDataInfo<ChatAgentManageVo> list(ChatAgentManageBo bo, PageQuery pageQuery) {
-        return chatAgentManageService.queryPageList(bo, pageQuery);
-    }
-
-    /**
-     * 瀵煎嚭鏅鸿兘浣撶鐞嗗垪琛�
-     */
-    @SaCheckPermission("system:agentManage:export")
-    @Log(title = "鏅鸿兘浣撶鐞�", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(ChatAgentManageBo bo, HttpServletResponse response) {
-        List<ChatAgentManageVo> list = chatAgentManageService.queryList(bo);
-        ExcelUtil.exportExcel(list, "鏅鸿兘浣撶鐞�", ChatAgentManageVo.class, response);
-    }
-
-    /**
-     * 鑾峰彇鏅鸿兘浣撶鐞嗚缁嗕俊鎭�
-     *
-     * @param id 涓婚敭
-     */
-    @SaCheckPermission("system:agentManage:query")
-    @GetMapping("/{id}")
-    public R<ChatAgentManageVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
-                                     @PathVariable Long id) {
-        return R.ok(chatAgentManageService.queryById(id));
-    }
-
-    /**
-     * 鏂板鏅鸿兘浣撶鐞�
-     */
-    @SaCheckPermission("system:agentManage:add")
-    @Log(title = "鏅鸿兘浣撶鐞�", businessType = BusinessType.INSERT)
-    @RepeatSubmit()
-    @PostMapping()
-    public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatAgentManageBo bo) {
-        return toAjax(chatAgentManageService.insertByBo(bo));
-    }
-
-    /**
-     * 淇敼鏅鸿兘浣撶鐞�
-     */
-    @SaCheckPermission("system:agentManage:edit")
-    @Log(title = "鏅鸿兘浣撶鐞�", businessType = BusinessType.UPDATE)
-    @RepeatSubmit()
-    @PutMapping()
-    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatAgentManageBo bo) {
-        return toAjax(chatAgentManageService.updateByBo(bo));
-    }
-
-    /**
-     * 鍒犻櫎鏅鸿兘浣撶鐞�
-     *
-     * @param ids 涓婚敭涓�
-     */
-    @SaCheckPermission("system:agentManage:remove")
-    @Log(title = "鏅鸿兘浣撶鐞�", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{ids}")
-    public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
-                          @PathVariable Long[] ids) {
-        return toAjax(chatAgentManageService.deleteWithValidByIds(List.of(ids), true));
-    }
-}
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAppStoreController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAppStoreController.java
deleted file mode 100644
index d941a32..0000000
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAppStoreController.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.ruoyi.chat.controller.chat;
-
-import java.util.List;
-
-import lombok.RequiredArgsConstructor;
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.validation.constraints.*;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import org.ruoyi.common.excel.utils.ExcelUtil;
-import org.ruoyi.common.idempotent.annotation.RepeatSubmit;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.domain.bo.ChatAppStoreBo;
-import org.ruoyi.domain.vo.ChatAppStoreVo;
-import org.ruoyi.service.IChatAppStoreService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.validation.annotation.Validated;
-import org.ruoyi.common.log.annotation.Log;
-import org.ruoyi.common.web.core.BaseController;
-import org.ruoyi.core.page.PageQuery;
-import org.ruoyi.common.core.domain.R;
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.common.log.enums.BusinessType;
-
-/**
- * 搴旂敤鍟嗗簵
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Validated
-@RequiredArgsConstructor
-@RestController
-@RequestMapping("/system/appStore")
-public class ChatAppStoreController extends BaseController {
-
-    private final IChatAppStoreService chatAppStoreService;
-
-    /**
-     * 鏌ヨ搴旂敤鍟嗗簵鍒楄〃
-     */
-    @SaCheckPermission("system:appStore:list")
-    @GetMapping("/list")
-    public TableDataInfo<ChatAppStoreVo> list(ChatAppStoreBo bo, PageQuery pageQuery) {
-        return chatAppStoreService.queryPageList(bo, pageQuery);
-    }
-
-    /**
-     * 瀵煎嚭搴旂敤鍟嗗簵鍒楄〃
-     */
-    @SaCheckPermission("system:appStore:export")
-    @Log(title = "搴旂敤鍟嗗簵", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(ChatAppStoreBo bo, HttpServletResponse response) {
-        List<ChatAppStoreVo> list = chatAppStoreService.queryList(bo);
-        ExcelUtil.exportExcel(list, "搴旂敤鍟嗗簵", ChatAppStoreVo.class, response);
-    }
-
-    /**
-     * 鑾峰彇搴旂敤鍟嗗簵璇︾粏淇℃伅
-     *
-     * @param id 涓婚敭
-     */
-    @SaCheckPermission("system:appStore:query")
-    @GetMapping("/{id}")
-    public R<ChatAppStoreVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
-                                     @PathVariable Long id) {
-        return R.ok(chatAppStoreService.queryById(id));
-    }
-
-    /**
-     * 鏂板搴旂敤鍟嗗簵
-     */
-    @SaCheckPermission("system:appStore:add")
-    @Log(title = "搴旂敤鍟嗗簵", businessType = BusinessType.INSERT)
-    @RepeatSubmit()
-    @PostMapping()
-    public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatAppStoreBo bo) {
-        return toAjax(chatAppStoreService.insertByBo(bo));
-    }
-
-    /**
-     * 淇敼搴旂敤鍟嗗簵
-     */
-    @SaCheckPermission("system:appStore:edit")
-    @Log(title = "搴旂敤鍟嗗簵", businessType = BusinessType.UPDATE)
-    @RepeatSubmit()
-    @PutMapping()
-    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatAppStoreBo bo) {
-        return toAjax(chatAppStoreService.updateByBo(bo));
-    }
-
-    /**
-     * 鍒犻櫎搴旂敤鍟嗗簵
-     *
-     * @param ids 涓婚敭涓�
-     */
-    @SaCheckPermission("system:appStore:remove")
-    @Log(title = "搴旂敤鍟嗗簵", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{ids}")
-    public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
-                          @PathVariable Long[] ids) {
-        return toAjax(chatAppStoreService.deleteWithValidByIds(List.of(ids), true));
-    }
-}
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatController.java
index 032c44d..f0b0fe1 100644
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatController.java
+++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatController.java
@@ -10,15 +10,6 @@
 import org.ruoyi.common.chat.entity.Tts.TextToSpeech;
 import org.ruoyi.common.chat.entity.files.UploadFileResponse;
 import org.ruoyi.common.chat.entity.whisper.WhisperResponse;
-import org.ruoyi.common.core.domain.R;
-import org.ruoyi.common.core.domain.model.LoginUser;
-import org.ruoyi.common.core.exception.base.BaseException;
-import org.ruoyi.core.page.PageQuery;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.common.satoken.utils.LoginHelper;
-import org.ruoyi.domain.bo.ChatMessageBo;
-import org.ruoyi.domain.vo.ChatMessageVo;
-import org.ruoyi.service.IChatMessageService;
 import org.springframework.core.io.Resource;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
@@ -40,8 +31,6 @@
 public class ChatController {
 
     private final ISseService sseService;
-
-    private final IChatMessageService chatMessageService;
 
     /**
      * 鑱婂ぉ鎺ュ彛
@@ -82,23 +71,6 @@
     @ResponseBody
     public ResponseEntity<Resource> speech(@RequestBody TextToSpeech textToSpeech) {
         return sseService.textToSpeed(textToSpeech);
-    }
-
-
-    /**
-     * 鑱婂ぉ璁板綍
-     */
-    @PostMapping("/chatList")
-    @ResponseBody
-    public R<TableDataInfo<ChatMessageVo>> list(@RequestBody @Valid ChatMessageBo chatRequest, @RequestBody PageQuery pageQuery) {
-        // 榛樿鏌ヨ褰撳墠鐧诲綍鐢ㄦ埛娑堟伅璁板綍
-        LoginUser loginUser = LoginHelper.getLoginUser();
-        if (loginUser == null) {
-            throw new BaseException("鐢ㄦ埛鏈櫥褰曪紒");
-        }
-        chatRequest.setUserId(loginUser.getUserId());
-        TableDataInfo<ChatMessageVo> chatMessageVoTableDataInfo = chatMessageService.queryPageList(chatRequest, pageQuery);
-        return R.ok(chatMessageVoTableDataInfo);
     }
 
 }
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatGptsController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatGptsController.java
deleted file mode 100644
index 6985742..0000000
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatGptsController.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.ruoyi.chat.controller.chat;
-
-import java.util.List;
-
-import lombok.RequiredArgsConstructor;
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.validation.constraints.*;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import org.ruoyi.common.excel.utils.ExcelUtil;
-import org.ruoyi.common.idempotent.annotation.RepeatSubmit;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.domain.bo.ChatGptsBo;
-import org.ruoyi.domain.vo.ChatGptsVo;
-import org.ruoyi.service.IChatGptsService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.validation.annotation.Validated;
-import org.ruoyi.common.log.annotation.Log;
-import org.ruoyi.common.web.core.BaseController;
-import org.ruoyi.core.page.PageQuery;
-import org.ruoyi.common.core.domain.R;
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.common.log.enums.BusinessType;
-
-/**
- * 搴旂敤绠$悊
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Validated
-@RequiredArgsConstructor
-@RestController
-@RequestMapping("/system/gpts")
-public class ChatGptsController extends BaseController {
-
-    private final IChatGptsService chatGptsService;
-
-    /**
-     * 鏌ヨ搴旂敤绠$悊鍒楄〃
-     */
-    @GetMapping("/list")
-    public TableDataInfo<ChatGptsVo> list(ChatGptsBo bo, PageQuery pageQuery) {
-        return chatGptsService.queryPageList(bo, pageQuery);
-    }
-
-    /**
-     * 瀵煎嚭搴旂敤绠$悊鍒楄〃
-     */
-    @SaCheckPermission("system:gpts:export")
-    @Log(title = "搴旂敤绠$悊", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(ChatGptsBo bo, HttpServletResponse response) {
-        List<ChatGptsVo> list = chatGptsService.queryList(bo);
-        ExcelUtil.exportExcel(list, "搴旂敤绠$悊", ChatGptsVo.class, response);
-    }
-
-    /**
-     * 鑾峰彇搴旂敤绠$悊璇︾粏淇℃伅
-     *
-     * @param id 涓婚敭
-     */
-    @SaCheckPermission("system:gpts:query")
-    @GetMapping("/{id}")
-    public R<ChatGptsVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
-                                     @PathVariable Long id) {
-        return R.ok(chatGptsService.queryById(id));
-    }
-
-    /**
-     * 鏂板搴旂敤绠$悊
-     */
-    @SaCheckPermission("system:gpts:add")
-    @Log(title = "搴旂敤绠$悊", businessType = BusinessType.INSERT)
-    @RepeatSubmit()
-    @PostMapping()
-    public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatGptsBo bo) {
-        return toAjax(chatGptsService.insertByBo(bo));
-    }
-
-    /**
-     * 淇敼搴旂敤绠$悊
-     */
-    @SaCheckPermission("system:gpts:edit")
-    @Log(title = "搴旂敤绠$悊", businessType = BusinessType.UPDATE)
-    @RepeatSubmit()
-    @PutMapping()
-    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatGptsBo bo) {
-        return toAjax(chatGptsService.updateByBo(bo));
-    }
-
-    /**
-     * 鍒犻櫎搴旂敤绠$悊
-     *
-     * @param ids 涓婚敭涓�
-     */
-    @SaCheckPermission("system:gpts:remove")
-    @Log(title = "搴旂敤绠$悊", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{ids}")
-    public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
-                          @PathVariable Long[] ids) {
-        return toAjax(chatGptsService.deleteWithValidByIds(List.of(ids), true));
-    }
-}
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatModelController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatModelController.java
index 64b2fe2..e19cb1a 100644
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatModelController.java
+++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatModelController.java
@@ -6,7 +6,7 @@
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.*;
 import cn.dev33.satoken.annotation.SaCheckPermission;
-import org.ruoyi.chat.service.chat.UserModelService;
+import org.ruoyi.chat.enums.DisplayType;
 import org.ruoyi.common.excel.utils.ExcelUtil;
 import org.ruoyi.common.idempotent.annotation.RepeatSubmit;
 import org.ruoyi.core.page.TableDataInfo;
@@ -37,8 +37,6 @@
 
     private final IChatModelService chatModelService;
 
-    private final UserModelService modelService;
-
     /**
      * 鏌ヨ鑱婂ぉ妯″瀷鍒楄〃
      */
@@ -53,7 +51,8 @@
      */
     @GetMapping("/modelList")
     public R<List<ChatModelVo>> modelList(ChatModelBo bo) {
-        return R.ok(modelService.modelList(bo));
+        bo.setModelShow(DisplayType.VISIBLE.getCode());
+        return R.ok(chatModelService.queryList(bo));
     }
 
     /**
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPackagePlanController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPackagePlanController.java
deleted file mode 100644
index c8fb392..0000000
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPackagePlanController.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.ruoyi.chat.controller.chat;
-
-import java.util.List;
-
-import lombok.RequiredArgsConstructor;
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.validation.constraints.*;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import org.ruoyi.common.excel.utils.ExcelUtil;
-import org.ruoyi.common.idempotent.annotation.RepeatSubmit;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.domain.bo.ChatPackagePlanBo;
-import org.ruoyi.domain.vo.ChatPackagePlanVo;
-import org.ruoyi.service.IChatPackagePlanService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.validation.annotation.Validated;
-import org.ruoyi.common.log.annotation.Log;
-import org.ruoyi.common.web.core.BaseController;
-import org.ruoyi.core.page.PageQuery;
-import org.ruoyi.common.core.domain.R;
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.common.log.enums.BusinessType;
-
-/**
- * 濂楅绠$悊
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Validated
-@RequiredArgsConstructor
-@RestController
-@RequestMapping("/system/packagePlan")
-public class ChatPackagePlanController extends BaseController {
-
-    private final IChatPackagePlanService chatPackagePlanService;
-
-    /**
-     * 鏌ヨ濂楅绠$悊鍒楄〃
-     */
-    @SaCheckPermission("system:packagePlan:list")
-    @GetMapping("/list")
-    public TableDataInfo<ChatPackagePlanVo> list(ChatPackagePlanBo bo, PageQuery pageQuery) {
-        return chatPackagePlanService.queryPageList(bo, pageQuery);
-    }
-
-    /**
-     * 鏌ヨ濂楅鍒楄〃-涓嶅垎椤�
-     */
-    @GetMapping("/listPlan")
-    public R<List<ChatPackagePlanVo>> listPlan() {
-        return R.ok(chatPackagePlanService.queryList(new ChatPackagePlanBo()));
-    }
-
-    /**
-     * 瀵煎嚭濂楅绠$悊鍒楄〃
-     */
-    @SaCheckPermission("system:packagePlan:export")
-    @Log(title = "濂楅绠$悊", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(ChatPackagePlanBo bo, HttpServletResponse response) {
-        List<ChatPackagePlanVo> list = chatPackagePlanService.queryList(bo);
-        ExcelUtil.exportExcel(list, "濂楅绠$悊", ChatPackagePlanVo.class, response);
-    }
-
-    /**
-     * 鑾峰彇濂楅绠$悊璇︾粏淇℃伅
-     *
-     * @param id 涓婚敭
-     */
-    @SaCheckPermission("system:packagePlan:query")
-    @GetMapping("/{id}")
-    public R<ChatPackagePlanVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
-                                     @PathVariable Long id) {
-        return R.ok(chatPackagePlanService.queryById(id));
-    }
-
-    /**
-     * 鏂板濂楅绠$悊
-     */
-    @SaCheckPermission("system:packagePlan:add")
-    @Log(title = "濂楅绠$悊", businessType = BusinessType.INSERT)
-    @RepeatSubmit()
-    @PostMapping()
-    public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatPackagePlanBo bo) {
-        return toAjax(chatPackagePlanService.insertByBo(bo));
-    }
-
-    /**
-     * 淇敼濂楅绠$悊
-     */
-    @SaCheckPermission("system:packagePlan:edit")
-    @Log(title = "濂楅绠$悊", businessType = BusinessType.UPDATE)
-    @RepeatSubmit()
-    @PutMapping()
-    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatPackagePlanBo bo) {
-        return toAjax(chatPackagePlanService.updateByBo(bo));
-    }
-
-    /**
-     * 鍒犻櫎濂楅绠$悊
-     *
-     * @param ids 涓婚敭涓�
-     */
-    @SaCheckPermission("system:packagePlan:remove")
-    @Log(title = "濂楅绠$悊", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{ids}")
-    public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
-                          @PathVariable Long[] ids) {
-        return toAjax(chatPackagePlanService.deleteWithValidByIds(List.of(ids), true));
-    }
-}
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPluginController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPluginController.java
deleted file mode 100644
index be07bdf..0000000
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPluginController.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.ruoyi.chat.controller.chat;
-
-import java.util.List;
-
-import lombok.RequiredArgsConstructor;
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.validation.constraints.*;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import org.ruoyi.common.excel.utils.ExcelUtil;
-import org.ruoyi.common.idempotent.annotation.RepeatSubmit;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.domain.bo.ChatPluginBo;
-import org.ruoyi.domain.vo.ChatPluginVo;
-import org.ruoyi.service.IChatPluginService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.validation.annotation.Validated;
-import org.ruoyi.common.log.annotation.Log;
-import org.ruoyi.common.web.core.BaseController;
-import org.ruoyi.core.page.PageQuery;
-import org.ruoyi.common.core.domain.R;
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.common.log.enums.BusinessType;
-
-/**
- * 鎻掍欢绠$悊
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Validated
-@RequiredArgsConstructor
-@RestController
-@RequestMapping("/system/plugin")
-public class ChatPluginController extends BaseController {
-
-    private final IChatPluginService chatPluginService;
-
-    /**
-     * 鏌ヨ鎻掍欢绠$悊鍒楄〃
-     */
-    @SaCheckPermission("system:plugin:list")
-    @GetMapping("/list")
-    public TableDataInfo<ChatPluginVo> list(ChatPluginBo bo, PageQuery pageQuery) {
-        return chatPluginService.queryPageList(bo, pageQuery);
-    }
-
-    /**
-     * 瀵煎嚭鎻掍欢绠$悊鍒楄〃
-     */
-    @SaCheckPermission("system:plugin:export")
-    @Log(title = "鎻掍欢绠$悊", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(ChatPluginBo bo, HttpServletResponse response) {
-        List<ChatPluginVo> list = chatPluginService.queryList(bo);
-        ExcelUtil.exportExcel(list, "鎻掍欢绠$悊", ChatPluginVo.class, response);
-    }
-
-    /**
-     * 鑾峰彇鎻掍欢绠$悊璇︾粏淇℃伅
-     *
-     * @param id 涓婚敭
-     */
-    @SaCheckPermission("system:plugin:query")
-    @GetMapping("/{id}")
-    public R<ChatPluginVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
-                                     @PathVariable Long id) {
-        return R.ok(chatPluginService.queryById(id));
-    }
-
-    /**
-     * 鏂板鎻掍欢绠$悊
-     */
-    @SaCheckPermission("system:plugin:add")
-    @Log(title = "鎻掍欢绠$悊", businessType = BusinessType.INSERT)
-    @RepeatSubmit()
-    @PostMapping()
-    public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatPluginBo bo) {
-        return toAjax(chatPluginService.insertByBo(bo));
-    }
-
-    /**
-     * 淇敼鎻掍欢绠$悊
-     */
-    @SaCheckPermission("system:plugin:edit")
-    @Log(title = "鎻掍欢绠$悊", businessType = BusinessType.UPDATE)
-    @RepeatSubmit()
-    @PutMapping()
-    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatPluginBo bo) {
-        return toAjax(chatPluginService.updateByBo(bo));
-    }
-
-    /**
-     * 鍒犻櫎鎻掍欢绠$悊
-     *
-     * @param ids 涓婚敭涓�
-     */
-    @SaCheckPermission("system:plugin:remove")
-    @Log(title = "鎻掍欢绠$悊", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{ids}")
-    public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
-                          @PathVariable Long[] ids) {
-        return toAjax(chatPluginService.deleteWithValidByIds(List.of(ids), true));
-    }
-}
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatStoreController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatStoreController.java
deleted file mode 100644
index 3886902..0000000
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatStoreController.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.ruoyi.chat.controller.chat;
-
-import lombok.RequiredArgsConstructor;
-import org.ruoyi.common.core.domain.R;
-import org.ruoyi.common.web.core.BaseController;
-import org.ruoyi.domain.bo.ChatAppStoreBo;
-import org.ruoyi.domain.vo.ChatAppStoreVo;
-import org.ruoyi.service.IChatAppStoreService;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import java.util.List;
-
-
-/**
- * 搴旂敤鍟嗗簵
- *
- * @author Lion Li
- * @date 2024-03-19
- */
-@RequiredArgsConstructor
-@RestController
-@RequestMapping("/system/store")
-public class ChatStoreController extends BaseController {
-
-    private final IChatAppStoreService appStoreService;
-
-    /**
-     * 搴旂敤鍟嗗簵
-     */
-    @GetMapping("/appList")
-    public R<List<ChatAppStoreVo>> appList(ChatAppStoreBo bo) {
-        return R.ok(appStoreService.queryList(bo));
-    }
-
-    /**
-     * 鏀惰棌搴旂敤
-     */
-    @PostMapping("/copyApp")
-    public R<String> copyApp() {
-        return R.ok();
-    }
-}
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatVoucherController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatVoucherController.java
deleted file mode 100644
index a2c12b8..0000000
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatVoucherController.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.ruoyi.chat.controller.chat;
-
-import java.util.List;
-
-import lombok.RequiredArgsConstructor;
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.validation.constraints.*;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import org.ruoyi.common.idempotent.annotation.RepeatSubmit;
-import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.domain.bo.ChatVoucherBo;
-import org.ruoyi.domain.vo.ChatVoucherVo;
-import org.ruoyi.service.IChatVoucherService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.validation.annotation.Validated;
-import org.ruoyi.common.log.annotation.Log;
-import org.ruoyi.common.web.core.BaseController;
-import org.ruoyi.core.page.PageQuery;
-import org.ruoyi.common.core.domain.R;
-import org.ruoyi.common.core.validate.AddGroup;
-import org.ruoyi.common.core.validate.EditGroup;
-import org.ruoyi.common.log.enums.BusinessType;
-import org.ruoyi.common.excel.utils.ExcelUtil;
-/**
- * 鐢ㄦ埛鍏戞崲璁板綍
- *
- * @author ageerle
- * @date 2025-04-08
- */
-@Validated
-@RequiredArgsConstructor
-@RestController
-@RequestMapping("/system/voucher")
-public class ChatVoucherController extends BaseController {
-
-    private final IChatVoucherService chatVoucherService;
-
-    /**
-     * 鏌ヨ鐢ㄦ埛鍏戞崲璁板綍鍒楄〃
-     */
-    @SaCheckPermission("system:voucher:list")
-    @GetMapping("/list")
-    public TableDataInfo<ChatVoucherVo> list(ChatVoucherBo bo, PageQuery pageQuery) {
-        return chatVoucherService.queryPageList(bo, pageQuery);
-    }
-
-    /**
-     * 瀵煎嚭鐢ㄦ埛鍏戞崲璁板綍鍒楄〃
-     */
-    @SaCheckPermission("system:voucher:export")
-    @Log(title = "鐢ㄦ埛鍏戞崲璁板綍", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(ChatVoucherBo bo, HttpServletResponse response) {
-        List<ChatVoucherVo> list = chatVoucherService.queryList(bo);
-        ExcelUtil.exportExcel(list, "鐢ㄦ埛鍏戞崲璁板綍", ChatVoucherVo.class, response);
-    }
-
-    /**
-     * 鑾峰彇鐢ㄦ埛鍏戞崲璁板綍璇︾粏淇℃伅
-     *
-     * @param id 涓婚敭
-     */
-    @SaCheckPermission("system:voucher:query")
-    @GetMapping("/{id}")
-    public R<ChatVoucherVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
-                                     @PathVariable Long id) {
-        return R.ok(chatVoucherService.queryById(id));
-    }
-
-    /**
-     * 鏂板鐢ㄦ埛鍏戞崲璁板綍
-     */
-    @SaCheckPermission("system:voucher:add")
-    @Log(title = "鐢ㄦ埛鍏戞崲璁板綍", businessType = BusinessType.INSERT)
-    @RepeatSubmit()
-    @PostMapping()
-    public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatVoucherBo bo) {
-        return toAjax(chatVoucherService.insertByBo(bo));
-    }
-
-    /**
-     * 淇敼鐢ㄦ埛鍏戞崲璁板綍
-     */
-    @SaCheckPermission("system:voucher:edit")
-    @Log(title = "鐢ㄦ埛鍏戞崲璁板綍", businessType = BusinessType.UPDATE)
-    @RepeatSubmit()
-    @PutMapping()
-    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatVoucherBo bo) {
-        return toAjax(chatVoucherService.updateByBo(bo));
-    }
-
-    /**
-     * 鍒犻櫎鐢ㄦ埛鍏戞崲璁板綍
-     *
-     * @param ids 涓婚敭涓�
-     */
-    @SaCheckPermission("system:voucher:remove")
-    @Log(title = "鐢ㄦ埛鍏戞崲璁板綍", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{ids}")
-    public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
-                          @PathVariable Long[] ids) {
-        return toAjax(chatVoucherService.deleteWithValidByIds(List.of(ids), true));
-    }
-}
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/knowledge/KnowledgeController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/knowledge/KnowledgeController.java
index 8236253..0e2a2f6 100644
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/knowledge/KnowledgeController.java
+++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/knowledge/KnowledgeController.java
@@ -1,12 +1,9 @@
 package org.ruoyi.chat.controller.knowledge;
 
 import cn.dev33.satoken.stp.StpUtil;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
-import java.io.IOException;
 import lombok.RequiredArgsConstructor;
 import org.ruoyi.common.core.domain.R;
 import org.ruoyi.common.core.validate.AddGroup;
@@ -17,7 +14,6 @@
 import org.ruoyi.common.web.core.BaseController;
 import org.ruoyi.core.page.PageQuery;
 import org.ruoyi.core.page.TableDataInfo;
-import org.ruoyi.domain.PdfFileContentResult;
 import org.ruoyi.domain.bo.KnowledgeAttachBo;
 import org.ruoyi.domain.bo.KnowledgeFragmentBo;
 import org.ruoyi.domain.bo.KnowledgeInfoBo;
@@ -28,7 +24,6 @@
 import org.ruoyi.service.IKnowledgeAttachService;
 import org.ruoyi.service.IKnowledgeFragmentService;
 import org.ruoyi.service.IKnowledgeInfoService;
-import org.ruoyi.service.PdfImageExtractService;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -51,8 +46,6 @@
   private final IKnowledgeAttachService attachService;
 
   private final IKnowledgeFragmentService fragmentService;
-
-//  private final PdfImageExtractService pdfImageExtractService;
 
   /**
    * 鏍规嵁鐢ㄦ埛淇℃伅鏌ヨ鏈湴鐭ヨ瘑搴�
@@ -164,17 +157,4 @@
     return attachService.translationByFile(file, targetLanguage);
   }
 
-  /**
-   * 鎻愬彇PDF涓殑鍥剧墖骞惰皟鐢╣pt-4o-mini,璇嗗埆鍥剧墖鍐呭骞惰繑鍥�
-   *
-   * @param file PDF鏂囦欢
-   * @return 鏂囦欢鍚嶇О鍜屽浘鐗囧唴瀹�
-   */
-//  @PostMapping("/extract-images")
-//  @Operation(summary = "鎻愬彇PDF涓殑鍥剧墖骞惰皟鐢ㄥぇ妯″瀷,璇嗗埆鍥剧墖鍐呭骞惰繑鍥�", description = "鎻愬彇PDF涓殑鍥剧墖骞惰皟鐢╣pt-4o-mini,璇嗗埆鍥剧墖鍐呭骞惰繑鍥�")
-//  public R<List<PdfFileContentResult>> extractImages(
-//      @RequestPart("file") MultipartFile file
-//  ) throws IOException {
-//    return R.ok(pdfImageExtractService.extractImages(file));
-//  }
 }
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/FaceController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/FaceController.java
index dbadfa6..12816b3 100644
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/FaceController.java
+++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/FaceController.java
@@ -37,7 +37,7 @@
     @PostMapping("/insight-face/swap")
     public String insightFace(@RequestBody InsightFace insightFace) {
         // 鎵i櫎鎺ュ彛璐圭敤骞朵笖淇濆瓨娑堟伅璁板綍
-        chatCostService.taskDeduct("mj","Face Changing", NumberUtils.toDouble(mjOkHttpUtil.getKey("faceSwapping"), 0.1));
+        chatCostService.taskDeduct("mj","Face Changing", 0.0);
         // 鍒涘缓璇锋眰浣擄紙杩欓噷浣跨敤JSON浣滀负濯掍綋绫诲瀷锛�
         String insightFaceJson = JSONUtil.toJsonStr(insightFace);
         String url = "mj/insight-face/swap";
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/SubmitController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/SubmitController.java
index b13569c..dd72094 100644
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/SubmitController.java
+++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/SubmitController.java
@@ -6,7 +6,6 @@
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import okhttp3.Request;
-import org.apache.commons.lang3.math.NumberUtils;
 import org.ruoyi.chat.domain.dto.*;
 import org.ruoyi.chat.enums.ActionType;
 import org.ruoyi.chat.service.chat.IChatCostService;
@@ -50,17 +49,17 @@
             type -> {
                 switch (type) {
                     case UP_SAMPLE:
-                        chatCostService.taskDeduct("mj","enlarge", NumberUtils.toDouble(mjOkHttpUtil.getKey("upsample"), 0.3));
+                        chatCostService.taskDeduct("mj","enlarge", 0.0);
                         break;
                     case IN_PAINT:
                         // 灞�閮ㄩ噸缁樺凡缁忔墸璐�,涓嶆墽琛屼换浣曟搷浣�
                         break;
                     default:
-                        chatCostService.taskDeduct("mj","change", NumberUtils.toDouble(mjOkHttpUtil.getKey("change"), 0.3));
+                        chatCostService.taskDeduct("mj","change", 0.0);
                         break;
                 }
             },
-            () -> chatCostService.taskDeduct("mj","change", NumberUtils.toDouble(mjOkHttpUtil.getKey("change"), 0.3))
+            () -> chatCostService.taskDeduct("mj","change", 0.0)
         );
 
         String jsonStr = JSONUtil.toJsonStr(changeDTO);
@@ -81,7 +80,7 @@
     @ApiOperation(value = "鎻愪氦鍥剧敓鍥俱�佹贩鍥句换鍔�")
     @PostMapping("/blend")
     public String blend(@RequestBody SubmitBlendDTO blendDTO) {
-        chatCostService.taskDeduct("mj","blend", NumberUtils.toDouble(mjOkHttpUtil.getKey("blend"), 0.3));
+        chatCostService.taskDeduct("mj","blend", 0.0);
         String jsonStr = JSONUtil.toJsonStr(blendDTO);
         String url = "mj/submit/blend";
         Request request = mjOkHttpUtil.createPostRequest(url, jsonStr);
@@ -91,7 +90,7 @@
     @ApiOperation(value = "鎻愪氦鍥剧敓鏂囦换鍔�")
     @PostMapping("/describe")
     public String describe(@RequestBody SubmitDescribeDTO describeDTO) {
-        chatCostService.taskDeduct("mj","describe", NumberUtils.toDouble(mjOkHttpUtil.getKey("describe"), 0.1));
+        chatCostService.taskDeduct("mj","describe",0.0);
         String jsonStr = JSONUtil.toJsonStr(describeDTO);
         String url = "mj/submit/describe";
         Request request = mjOkHttpUtil.createPostRequest(url, jsonStr);
@@ -101,7 +100,7 @@
     @ApiOperation(value = "鎻愪氦鏂囩敓鍥句换鍔�")
     @PostMapping("/imagine")
     public String imagine(@RequestBody SubmitImagineDTO imagineDTO) {
-        chatCostService.taskDeduct("mj",imagineDTO.getPrompt(), NumberUtils.toDouble(mjOkHttpUtil.getKey("imagine"), 0.3));
+        chatCostService.taskDeduct("mj",imagineDTO.getPrompt(), 0.0);
         String jsonStr = JSONUtil.toJsonStr(imagineDTO);
         String url = "mj/submit/imagine";
         Request request = mjOkHttpUtil.createPostRequest(url, jsonStr);
@@ -111,7 +110,7 @@
     @ApiOperation(value = "鎻愪氦灞�閮ㄩ噸缁樹换鍔�")
     @PostMapping("/modal")
     public String modal(@RequestBody SubmitModalDTO submitModalDTO) {
-        chatCostService.taskDeduct("mj","repaint ", NumberUtils.toDouble(mjOkHttpUtil.getKey("inpaint"), 0.1));
+        chatCostService.taskDeduct("mj","repaint ", 0.0);
         String jsonStr = JSONUtil.toJsonStr(submitModalDTO);
         String url = "mj/submit/modal";
         Request request = mjOkHttpUtil.createPostRequest(url, jsonStr);
@@ -121,7 +120,7 @@
     @ApiOperation(value = "鎻愪氦鎻愮ず璇嶅垎鏋愪换鍔�")
     @PostMapping("/shorten")
     public String shorten(@RequestBody SubmitShortenDTO submitShortenDTO) {
-        chatCostService.taskDeduct("mj","shorten", NumberUtils.toDouble(mjOkHttpUtil.getKey("shorten"), 0.1));
+        chatCostService.taskDeduct("mj","shorten", 0.0);
         String jsonStr = JSONUtil.toJsonStr(submitShortenDTO);
         String url = "mj/submit/shorten";
         Request request = mjOkHttpUtil.createPostRequest(url, jsonStr);
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/listener/SSEEventSourceListener.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/listener/SSEEventSourceListener.java
index 485d10f..938a124 100644
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/listener/SSEEventSourceListener.java
+++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/listener/SSEEventSourceListener.java
@@ -34,12 +34,19 @@
 @Component
 public class SSEEventSourceListener extends EventSourceListener {
 
+    private SseEmitter emitter;
+
+    private Long userId;
+
+    private Long sessionId;
+
     @Autowired(required = false)
-    public SSEEventSourceListener(SseEmitter emitter) {
+    public SSEEventSourceListener(SseEmitter emitter,Long userId,Long sessionId) {
         this.emitter = emitter;
+        this.userId = userId;
+        this.sessionId = sessionId;
     }
 
-    private SseEmitter emitter;
 
     private StringBuilder stringBuffer = new StringBuilder();
 
@@ -70,6 +77,8 @@
                 // 璁剧疆瀵硅瘽瑙掕壊
                 chatRequest.setRole(Message.Role.ASSISTANT.getName());
                 chatRequest.setModel(modelName);
+                chatRequest.setUserId(userId);
+                chatRequest.setSessionId(sessionId);
                 chatRequest.setPrompt(stringBuffer.toString());
                 chatCostService.deductToken(chatRequest);
                 return;
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/UserModelService.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/UserModelService.java
deleted file mode 100644
index 01b677d..0000000
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/UserModelService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.ruoyi.chat.service.chat;
-
-import lombok.RequiredArgsConstructor;
-import org.ruoyi.chat.enums.DisplayType;
-import org.ruoyi.domain.bo.ChatModelBo;
-import org.ruoyi.domain.vo.ChatModelVo;
-import org.ruoyi.service.IChatModelService;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * 鐢ㄦ埛妯″瀷淇℃伅
- *
- * @author ageerle@163.com
- * date 2025/4/10
- */
-
-@Service
-@RequiredArgsConstructor
-public class UserModelService {
-
-    private final IChatModelService chatModelService;
-
-    public List<ChatModelVo> modelList(ChatModelBo bo) {
-        bo.setModelShow(DisplayType.VISIBLE.getCode());
-        return chatModelService.queryList(bo);
-    }
-
-}
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java
index da2e589..cac159f 100644
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java
+++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java
@@ -13,7 +13,7 @@
 import org.ruoyi.common.core.exception.ServiceException;
 import org.ruoyi.common.core.exception.base.BaseException;
 import org.ruoyi.common.satoken.utils.LoginHelper;
-import org.ruoyi.domain.ChatToken;
+import org.ruoyi.domain.ChatUsageToken;
 import org.ruoyi.domain.bo.ChatMessageBo;
 import org.ruoyi.domain.vo.ChatModelVo;
 import org.ruoyi.service.IChatMessageService;
@@ -48,6 +48,9 @@
      */
     @Override
     public void deductToken(ChatRequest chatRequest) {
+        if(chatRequest.getUserId()==null || chatRequest.getSessionId()==null){
+            return;
+        }
 
         int tokens = TikTokensUtil.tokens(chatRequest.getModel(), chatRequest.getPrompt());
 
@@ -55,24 +58,19 @@
 
         ChatMessageBo chatMessageBo = new ChatMessageBo();
 
-        if(chatRequest.getSessionId() == null){
-            Object sessionId = LocalCache.CACHE.get("sessionId");
-            chatRequest.setSessionId((Long) sessionId);
-        }
-
-        Object userId = LocalCache.CACHE.get("userId");
-        chatMessageBo.setUserId((Long) userId);
-
+        // 璁剧疆鐢ㄦ埛id
+        chatMessageBo.setUserId(chatRequest.getUserId());
         // 璁剧疆瀵硅瘽瑙掕壊
         chatMessageBo.setRole(chatRequest.getRole());
-
+        // 璁剧疆浼氳瘽id
         chatMessageBo.setSessionId(chatRequest.getSessionId());
+        // 璁剧疆瀵硅瘽鍐呭
         chatMessageBo.setContent(chatRequest.getPrompt());
 
         // 璁$畻鎬籺oken鏁�
-        ChatToken chatToken = chatTokenService.queryByUserId(chatMessageBo.getUserId(), modelName);
+        ChatUsageToken chatToken = chatTokenService.queryByUserId(chatMessageBo.getUserId(), modelName);
         if (chatToken == null) {
-            chatToken = new ChatToken();
+            chatToken = new ChatUsageToken();
             chatToken.setToken(0);
         }
         int totalTokens = chatToken.getToken() + tokens;
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java
index 094689c..6f749ae 100644
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java
+++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java
@@ -55,7 +55,7 @@
             Message userMessage = Message.builder().content("宸ュ叿杩斿洖淇℃伅锛�"+toolString).role(Message.Role.USER).build();
             messages.add(userMessage);
         }
-        SSEEventSourceListener listener = new SSEEventSourceListener(emitter);
+        SSEEventSourceListener listener = new SSEEventSourceListener(emitter,chatRequest.getUserId(),chatRequest.getSessionId());
         ChatCompletion completion = ChatCompletion
                 .builder()
                 .messages(messages)
diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/SseServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/SseServiceImpl.java
index 4fa12ee..2a28f0d 100644
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/SseServiceImpl.java
+++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/SseServiceImpl.java
@@ -21,6 +21,7 @@
 import org.ruoyi.common.core.utils.StringUtils;
 import org.ruoyi.common.core.utils.file.FileUtils;
 import org.ruoyi.common.core.utils.file.MimeTypeUtils;
+import org.ruoyi.common.satoken.utils.LoginHelper;
 import org.ruoyi.domain.bo.ChatSessionBo;
 import org.ruoyi.domain.bo.QueryVectorBo;
 import org.ruoyi.domain.vo.ChatModelVo;
@@ -77,23 +78,22 @@
         try {
             // 鏋勫缓娑堟伅鍒楄〃
             buildChatMessageList(chatRequest);
-
-            LocalCache.CACHE.put("userId", chatCostService.getUserId());
-            chatRequest.setUserId(chatCostService.getUserId());
-            // 淇濆瓨浼氳瘽淇℃伅
-            if(chatRequest.getSessionId()==null){
-                ChatSessionBo chatSessionBo = new ChatSessionBo();
-                chatSessionBo.setUserId(chatCostService.getUserId());
-                chatSessionBo.setSessionTitle(getFirst10Characters(chatRequest.getPrompt()));
-                chatSessionBo.setSessionContent(chatRequest.getPrompt());
-                chatSessionService.insertByBo(chatSessionBo);
-                chatRequest.setSessionId(chatSessionBo.getId());
-            }
-            LocalCache.CACHE.put("sessionId", chatRequest.getSessionId());
             // 璁剧疆瀵硅瘽瑙掕壊
             chatRequest.setRole(Message.Role.USER.getName());
-            // 淇濆瓨娑堟伅璁板綍 骞舵墸闄よ垂鐢�
-            chatCostService.deductToken(chatRequest);
+
+            if(LoginHelper.isLogin()){
+                // 淇濆瓨娑堟伅璁板綍 骞舵墸闄よ垂鐢�
+                chatCostService.deductToken(chatRequest);
+                chatRequest.setUserId(chatCostService.getUserId());
+                if(chatRequest.getSessionId()==null){
+                    ChatSessionBo chatSessionBo = new ChatSessionBo();
+                    chatSessionBo.setUserId(chatCostService.getUserId());
+                    chatSessionBo.setSessionTitle(getFirst10Characters(chatRequest.getPrompt()));
+                    chatSessionBo.setSessionContent(chatRequest.getPrompt());
+                    chatSessionService.insertByBo(chatSessionBo);
+                    chatRequest.setSessionId(chatSessionBo.getId());
+                }
+            }
             // 鏍规嵁妯″瀷鍒嗙被璋冪敤涓嶅悓鐨勫鐞嗛�昏緫
             IChatService chatService = chatServiceFactory.getChatService(chatModelVo.getCategory());
             chatService.chat(chatRequest, sseEmitter);
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/config/WxMaConfiguration.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/config/WxMaConfiguration.java
deleted file mode 100644
index 19a7eff..0000000
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/config/WxMaConfiguration.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.ruoyi.system.config;
-
-import cn.binarywang.wx.miniapp.api.WxMaService;
-import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
-import cn.binarywang.wx.miniapp.bean.WxMaKefuMessage;
-import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage;
-import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
-import cn.binarywang.wx.miniapp.message.WxMaMessageHandler;
-import cn.binarywang.wx.miniapp.message.WxMaMessageRouter;
-import com.google.common.collect.Lists;
-import lombok.extern.slf4j.Slf4j;
-import me.chanjar.weixin.common.bean.result.WxMediaUploadResult;
-import me.chanjar.weixin.common.error.WxErrorException;
-import me.chanjar.weixin.common.error.WxRuntimeException;
-import org.ruoyi.system.properties.WxMaProperties;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import java.io.File;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * @author Admin
- */
-@Slf4j
-@Configuration
-@EnableConfigurationProperties(WxMaProperties.class)
-public class WxMaConfiguration {
-    private final WxMaProperties properties;
-
-    @Autowired
-    public WxMaConfiguration(WxMaProperties properties) {
-        this.properties = properties;
-    }
-
-    @Bean
-    public WxMaService wxMaService() {
-        List<WxMaProperties.Config> configs = this.properties.getConfigs();
-        if (configs == null) {
-            throw new WxRuntimeException("澶у摜锛屾嫓鎵樺厛鐪嬩笅椤圭洰棣栭〉鐨勮鏄庯紙readme鏂囦欢锛夛紝娣诲姞涓嬬浉鍏抽厤缃紝娉ㄦ剰鍒厤閿欎簡锛�");
-        }
-        WxMaService maService = new WxMaServiceImpl();
-        maService.setMultiConfigs(
-            configs.stream()
-                .map(a -> {
-                    WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
-//                WxMaDefaultConfigImpl config = new WxMaRedisConfigImpl(new JedisPool());
-                    // 浣跨敤涓婇潰鐨勯厤缃椂锛岄渶瑕佸悓鏃跺紩鍏edis-lock鐨勪緷璧栵紝鍚﹀垯浼氭姤绫绘棤娉曟壘鍒扮殑寮傚父
-                    config.setAppid(a.getAppid());
-                    config.setSecret(a.getSecret());
-                    config.setToken(a.getToken());
-                    config.setAesKey(a.getAesKey());
-                    config.setMsgDataFormat(a.getMsgDataFormat());
-                    return config;
-                }).collect(Collectors.toMap(WxMaDefaultConfigImpl::getAppid, a -> a, (o, n) -> o)));
-        return maService;
-    }
-
-    @Bean
-    public WxMaMessageRouter wxMaMessageRouter(WxMaService wxMaService) {
-        final WxMaMessageRouter router = new WxMaMessageRouter(wxMaService);
-        router
-            .rule().handler(logHandler).next()
-            .rule().async(false).content("璁㈤槄娑堟伅").handler(subscribeMsgHandler).end()
-            .rule().async(false).content("鏂囨湰").handler(textHandler).end()
-            .rule().async(false).content("鍥剧墖").handler(picHandler).end()
-            .rule().async(false).content("浜岀淮鐮�").handler(qrcodeHandler).end();
-        return router;
-    }
-
-    private final WxMaMessageHandler subscribeMsgHandler = (wxMessage, context, service, sessionManager) -> {
-        service.getMsgService().sendSubscribeMsg(WxMaSubscribeMessage.builder()
-            .templateId("姝ゅ鏇存崲涓鸿嚜宸辩殑妯℃澘id")
-            .data(Lists.newArrayList(
-                new WxMaSubscribeMessage.MsgData("keyword1", "339208499")))
-            .toUser(wxMessage.getFromUser())
-            .build());
-        return null;
-    };
-
-    private final WxMaMessageHandler logHandler = (wxMessage, context, service, sessionManager) -> {
-        log.info("鏀跺埌娑堟伅锛�" + wxMessage.toString());
-        service.getMsgService().sendKefuMsg(WxMaKefuMessage.newTextBuilder().content("鏀跺埌淇℃伅涓猴細" + wxMessage.toJson())
-            .toUser(wxMessage.getFromUser()).build());
-        return null;
-    };
-
-    private final WxMaMessageHandler textHandler = (wxMessage, context, service, sessionManager) -> {
-        service.getMsgService().sendKefuMsg(WxMaKefuMessage.newTextBuilder().content("鍥炲鏂囨湰娑堟伅")
-            .toUser(wxMessage.getFromUser()).build());
-        return null;
-    };
-
-    private final WxMaMessageHandler picHandler = (wxMessage, context, service, sessionManager) -> {
-        try {
-            WxMediaUploadResult uploadResult = service.getMediaService()
-                .uploadMedia("image", "png",
-                    ClassLoader.getSystemResourceAsStream("tmp.png"));
-            service.getMsgService().sendKefuMsg(
-                WxMaKefuMessage
-                    .newImageBuilder()
-                    .mediaId(uploadResult.getMediaId())
-                    .toUser(wxMessage.getFromUser())
-                    .build());
-        } catch (WxErrorException e) {
-            e.printStackTrace();
-        }
-
-        return null;
-    };
-
-    private final WxMaMessageHandler qrcodeHandler = (wxMessage, context, service, sessionManager) -> {
-        try {
-            final File file = service.getQrcodeService().createQrcode("123", 430);
-            WxMediaUploadResult uploadResult = service.getMediaService().uploadMedia("image", file);
-            service.getMsgService().sendKefuMsg(
-                WxMaKefuMessage
-                    .newImageBuilder()
-                    .mediaId(uploadResult.getMediaId())
-                    .toUser(wxMessage.getFromUser())
-                    .build());
-        } catch (WxErrorException e) {
-            e.printStackTrace();
-        }
-
-        return null;
-    };
-
-}
-
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/properties/WxMaProperties.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/properties/WxMaProperties.java
deleted file mode 100644
index b0e6d66..0000000
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/properties/WxMaProperties.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.ruoyi.system.properties;
-
-/**
- * 寰俊灏忕▼搴忓睘鎬ч厤缃被
- *
- * @author: wangle
- * @date: 2023/5/18
- */
-
-import lombok.Data;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-import java.util.List;
-
-/**
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-@Data
-@ConfigurationProperties(prefix = "wx.miniapp")
-public class WxMaProperties {
-
-    private List<Config> configs;
-
-    @Data
-    public static class Config {
-        /**
-         * 璁剧疆寰俊灏忕▼搴忕殑appid
-         */
-        private String appid;
-
-        /**
-         * 璁剧疆寰俊灏忕▼搴忕殑Secret
-         */
-        private String secret;
-
-        /**
-         * 璁剧疆寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨則oken
-         */
-        private String token;
-
-        /**
-         * 璁剧疆寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨凟ncodingAESKey
-         */
-        private String aesKey;
-
-        /**
-         * 娑堟伅鏍煎紡锛孹ML鎴栬�匤SON
-         */
-        private String msgDataFormat;
-    }
-
-}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java
index af88f61..9efa9b5 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java
@@ -1,8 +1,5 @@
 package org.ruoyi.system.service;
 
-import cn.binarywang.wx.miniapp.api.WxMaService;
-import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
-import cn.binarywang.wx.miniapp.util.WxMaConfigHolder;
 import cn.dev33.satoken.exception.NotLoginException;
 import cn.dev33.satoken.secure.BCrypt;
 import cn.dev33.satoken.stp.StpUtil;
@@ -11,8 +8,6 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import me.chanjar.weixin.common.error.WxErrorException;
-import org.apache.commons.lang3.math.NumberUtils;
 import org.ruoyi.common.core.constant.Constants;
 import org.ruoyi.common.core.constant.GlobalConstants;
 import org.ruoyi.common.core.constant.TenantConstants;
@@ -53,7 +48,6 @@
 public class SysLoginService {
 
     private final SysUserMapper userMapper;
-    private final WxMaService wxMaService;
     private final ISysPermissionService permissionService;
     private final ISysTenantService tenantService;
 
@@ -62,19 +56,6 @@
     @Value("${user.password.lockTime}")
     private Integer lockTime;
 
-    /**
-     * 鑾峰彇寰俊code
-     * @param xcxCode 鑾峰彇xcxCode
-    */
-    public String getOpenidFromCode(String xcxCode) {
-        try {
-            WxMaJscode2SessionResult sessionInfo = wxMaService.getUserService().getSessionInfo(xcxCode);
-            return sessionInfo.getOpenid();
-        } catch (WxErrorException e) {
-            e.printStackTrace();
-            return null;
-        }
-    }
     /**
      * 鐧诲綍楠岃瘉
      *
@@ -129,32 +110,6 @@
         recordLogininfor(loginUser.getTenantId(), user.getUserName(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
         recordLoginInfo(user.getUserId());
         return StpUtil.getTokenValue();
-    }
-
-    /**
-     * 寰俊灏忕▼搴忕櫥褰�
-     *
-     * @param loginBody
-     * @return String
-     * @Date 2023/5/18
-     **/
-    public void visitorLogin(VisitorLoginBody loginBody) {
-        String openid = "";
-        // PC绔父瀹㈢櫥褰�
-        if (LoginUserType.PC.getCode().equals(loginBody.getType())) {
-            openid = loginBody.getCode();
-        } else {
-            // 灏忕▼搴忓尶鍚嶇櫥褰�
-            try {
-                WxMaJscode2SessionResult session = wxMaService.getUserService().getSessionInfo(loginBody.getCode());
-                openid = session.getOpenid();
-            } catch (WxErrorException e) {
-                log.error(e.getMessage(), e);
-            } finally {
-                // 娓呯悊ThreadLocal
-                WxMaConfigHolder.remove();
-            }
-        }
     }
 
     /**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysRegisterService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysRegisterService.java
index a2a2451..d101fe2 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysRegisterService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysRegisterService.java
@@ -2,7 +2,6 @@
 
 import cn.dev33.satoken.secure.BCrypt;
 import lombok.RequiredArgsConstructor;
-import org.apache.commons.lang3.math.NumberUtils;
 import org.ruoyi.common.core.constant.Constants;
 import org.ruoyi.common.core.constant.GlobalConstants;
 import org.ruoyi.common.core.domain.model.RegisterBody;
@@ -10,7 +9,6 @@
 import org.ruoyi.common.core.exception.user.CaptchaException;
 import org.ruoyi.common.core.exception.user.CaptchaExpireException;
 import org.ruoyi.common.core.exception.user.UserException;
-import org.ruoyi.common.core.service.ConfigService;
 import org.ruoyi.common.core.utils.MessageUtils;
 import org.ruoyi.common.core.utils.ServletUtils;
 import org.ruoyi.common.core.utils.SpringUtils;
@@ -37,7 +35,6 @@
 
     private final SysUserRoleMapper userRoleMapper;
 
-   // private final ConfigService configService;
     /**
      * 娉ㄥ唽
      */
@@ -61,9 +58,7 @@
         if (!userService.checkUserNameUnique(sysUser)) {
             throw new UserException("娣诲姞鐢ㄦ埛澶辫触", username);
         }
-        // String configValue = configService.getConfigValue("mail", "amount");
-
-        sysUser.setUserBalance(NumberUtils.toDouble("configValue",1));
+        sysUser.setUserBalance(1.0);
         SysUser user = userService.registerUser(sysUser, tenantId);
         if (user == null) {
             throw new UserException("鐢ㄦ埛娉ㄥ唽澶辫触!");
@@ -105,7 +100,6 @@
             throw new BaseException("楠岃瘉鐮侀敊璇�,璇烽噸璇曪紒");
         }
     }
-
 
     /**
      * 鏍¢獙楠岃瘉鐮�
diff --git a/ruoyi-modules/ruoyi-wechat/pom.xml b/ruoyi-modules/ruoyi-wechat/pom.xml
deleted file mode 100644
index 7e3cdfe..0000000
--- a/ruoyi-modules/ruoyi-wechat/pom.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.ruoyi</groupId>
-        <artifactId>ruoyi-modules</artifactId>
-        <version>${revision}</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>ruoyi-wechat</artifactId>
-
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.ruoyi</groupId>
-            <artifactId>ruoyi-chat-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.ruoyi</groupId>
-            <artifactId>ruoyi-system-api</artifactId>
-        </dependency>
-    </dependencies>
-
-</project>
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/builder/AbstractBuilder.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/builder/AbstractBuilder.java
deleted file mode 100644
index 6e97f5d..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/builder/AbstractBuilder.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.ruoyi.builder;
-
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
-
-/**
- *  @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-public abstract class AbstractBuilder {
-  public abstract WxCpXmlOutMessage build(String content, WxCpXmlMessage wxMessage, WxCpService service);
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/builder/ImageBuilder.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/builder/ImageBuilder.java
deleted file mode 100644
index f6786b0..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/builder/ImageBuilder.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.ruoyi.builder;
-
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutImageMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
-
-/**
- *  @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-public class ImageBuilder extends AbstractBuilder {
-
-  @Override
-  public WxCpXmlOutMessage build(String content, WxCpXmlMessage wxMessage,
-                                 WxCpService service) {
-
-    WxCpXmlOutImageMessage m = WxCpXmlOutMessage.IMAGE().mediaId(content)
-        .fromUser(wxMessage.getToUserName()).toUser(wxMessage.getFromUserName())
-        .build();
-
-    return m;
-  }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/builder/TextBuilder.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/builder/TextBuilder.java
deleted file mode 100644
index 707471e..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/builder/TextBuilder.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.ruoyi.builder;
-
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutTextMessage;
-
-/**
- *  @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-public class TextBuilder extends AbstractBuilder {
-
-  @Override
-  public WxCpXmlOutMessage build(String content, WxCpXmlMessage wxMessage,
-                                 WxCpService service) {
-    WxCpXmlOutTextMessage m = WxCpXmlOutMessage.TEXT().content(content)
-        .fromUser(wxMessage.getToUserName()).toUser(wxMessage.getFromUserName())
-        .build();
-    return m;
-  }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/config/WxCpConfiguration.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/config/WxCpConfiguration.java
deleted file mode 100644
index 8a5f0fb..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/config/WxCpConfiguration.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package org.ruoyi.config;
-
-
-import com.google.common.collect.Maps;
-import jakarta.annotation.PostConstruct;
-import lombok.val;
-import me.chanjar.weixin.common.api.WxConsts;
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
-import me.chanjar.weixin.cp.config.impl.WxCpDefaultConfigImpl;
-import me.chanjar.weixin.cp.constant.WxCpConsts;
-import me.chanjar.weixin.cp.message.WxCpMessageHandler;
-import me.chanjar.weixin.cp.message.WxCpMessageRouter;
-import org.ruoyi.handler.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
-
-import java.util.Map;
-import java.util.stream.Collectors;
-
-/**
- * 鍗曞疄渚嬮厤缃�
- *
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-@Configuration
-@EnableConfigurationProperties(WxCpProperties.class)
-public class WxCpConfiguration {
-    private final LogHandler logHandler;
-    private NullHandler nullHandler;
-    private LocationHandler locationHandler;
-    private MenuHandler menuHandler;
-    private MsgHandler msgHandler;
-    private final UnsubscribeHandler unsubscribeHandler;
-    private SubscribeHandler subscribeHandler;
-    private WxCpProperties properties;
-
-    private static Map<Integer, WxCpMessageRouter> routers = Maps.newHashMap();
-    private static Map<Integer, WxCpService> cpServices = Maps.newHashMap();
-
-    @Autowired
-    public WxCpConfiguration(LogHandler logHandler, NullHandler nullHandler, LocationHandler locationHandler,
-                             MenuHandler menuHandler, MsgHandler msgHandler, UnsubscribeHandler unsubscribeHandler,
-                             SubscribeHandler subscribeHandler, WxCpProperties properties) {
-        this.logHandler = logHandler;
-        this.nullHandler = nullHandler;
-        this.locationHandler = locationHandler;
-        this.menuHandler = menuHandler;
-        this.msgHandler = msgHandler;
-        this.unsubscribeHandler = unsubscribeHandler;
-        this.subscribeHandler = subscribeHandler;
-        this.properties = properties;
-    }
-
-
-    public static Map<Integer, WxCpMessageRouter> getRouters() {
-        return routers;
-    }
-
-    public static WxCpService getCpService(Integer agentId) {
-        return cpServices.get(agentId);
-    }
-
-    @PostConstruct
-    public void initServices() {
-        cpServices = this.properties.getAppConfigs().stream().map(a -> {
-            val configStorage = new WxCpDefaultConfigImpl();
-            configStorage.setCorpId(this.properties.getCorpId());
-            configStorage.setAgentId(a.getAgentId());
-            configStorage.setCorpSecret(a.getSecret());
-            configStorage.setToken(a.getToken());
-            configStorage.setAesKey(a.getAesKey());
-            val service = new WxCpServiceImpl();
-            service.setWxCpConfigStorage(configStorage);
-            routers.put(a.getAgentId(), this.newRouter(service));
-            return service;
-        }).collect(Collectors.toMap(service -> service.getWxCpConfigStorage().getAgentId(), a -> a));
-    }
-
-    private WxCpMessageRouter newRouter(WxCpService wxCpService) {
-        final val newRouter = new WxCpMessageRouter(wxCpService);
-
-        // 璁板綍鎵�鏈変簨浠剁殑鏃ュ織 锛堝紓姝ユ墽琛岋級
-        newRouter.rule().handler(this.logHandler).next();
-
-        // 鑷畾涔夎彍鍗曚簨浠�
-        newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
-            .event(WxConsts.MenuButtonType.CLICK).handler(this.menuHandler).end();
-
-        // 鐐瑰嚮鑿滃崟閾炬帴浜嬩欢锛堣繖閲屼娇鐢ㄤ簡涓�涓┖鐨勫鐞嗗櫒锛屽彲浠ユ牴鎹嚜宸遍渶瑕佽繘琛屾墿灞曪級
-        newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
-            .event(WxConsts.MenuButtonType.VIEW).handler(this.nullHandler).end();
-
-        // 鍏虫敞浜嬩欢
-        newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
-            .event(WxConsts.EventType.SUBSCRIBE).handler(this.subscribeHandler)
-            .end();
-
-        // 鍙栨秷鍏虫敞浜嬩欢
-        newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
-            .event(WxConsts.EventType.UNSUBSCRIBE)
-            .handler((WxCpMessageHandler) this.unsubscribeHandler).end();
-
-        // 涓婃姤鍦扮悊浣嶇疆浜嬩欢
-        newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
-            .event(WxConsts.EventType.LOCATION).handler(this.locationHandler)
-            .end();
-
-        // 鎺ユ敹鍦扮悊浣嶇疆娑堟伅
-        newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.LOCATION)
-            .handler(this.locationHandler).end();
-
-        // 鎵爜浜嬩欢锛堣繖閲屼娇鐢ㄤ簡涓�涓┖鐨勫鐞嗗櫒锛屽彲浠ユ牴鎹嚜宸遍渶瑕佽繘琛屾墿灞曪級
-        newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
-            .event(WxConsts.EventType.SCAN).handler((WxCpMessageHandler) this.nullHandler).end();
-
-        newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
-            .event(WxCpConsts.EventType.CHANGE_CONTACT).handler(new ContactChangeHandler()).end();
-
-        newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
-            .event(WxCpConsts.EventType.ENTER_AGENT).handler(new EnterAgentHandler()).end();
-
-        // 榛樿
-        newRouter.rule().async(false).handler(this.msgHandler).end();
-
-        return newRouter;
-    }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/config/WxCpProperties.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/config/WxCpProperties.java
deleted file mode 100644
index 0588447..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/config/WxCpProperties.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.ruoyi.config;
-
-import lombok.Data;
-import lombok.Getter;
-import lombok.Setter;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-import java.util.List;
-
-/**
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-@Data
-@ConfigurationProperties(prefix = "wechat.cp")
-public class WxCpProperties {
-  /**
-   * 璁剧疆浼佷笟寰俊鐨刢orpId
-   */
-  private String corpId;
-
-  private List<AppConfig> appConfigs;
-
-  @Getter
-  @Setter
-  public static class AppConfig {
-    /**
-     * 璁剧疆浼佷笟寰俊搴旂敤鐨凙gentId
-     */
-    private Integer agentId;
-
-    /**
-     * 璁剧疆浼佷笟寰俊搴旂敤鐨凷ecret
-     */
-    private String secret;
-
-    /**
-     * 璁剧疆浼佷笟寰俊搴旂敤鐨則oken
-     */
-    private String token;
-
-    /**
-     * 璁剧疆浼佷笟寰俊搴旂敤鐨凟ncodingAESKey
-     */
-    private String aesKey;
-
-  }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/controller/WeixinServerController.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/controller/WeixinServerController.java
deleted file mode 100644
index 370e5fe..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/controller/WeixinServerController.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.ruoyi.controller;
-
-
-import jakarta.servlet.http.HttpServletRequest;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.ruoyi.service.WeixinUserService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * 浼佷笟寰俊搴旂敤
- *
- * @author ageerle
- * @date 2025-05-03
- */
-@Slf4j
-@RestController
-public class WeixinServerController {
-
-    @Autowired
-    private WeixinUserService weixinUserService;
-
-    @GetMapping(value = "/weixin/check")
-    public String weixinCheck(HttpServletRequest request) {
-        String signature = request.getParameter("signature");
-        String timestamp = request.getParameter("timestamp");
-        String nonce = request.getParameter("nonce");
-        String echostr = request.getParameter("echostr");
-
-        if (StringUtils.isEmpty(signature) || StringUtils.isEmpty(timestamp) || StringUtils.isEmpty(nonce)) {
-            return "";
-        }
-        weixinUserService.checkSignature(signature, timestamp, nonce);
-        return echostr;
-    }
-
-    @PostMapping(value = "/weixin/check")
-    public String weixinMsg(@RequestBody String requestBody, @RequestParam("signature") String signature,
-        @RequestParam("timestamp") String timestamp, @RequestParam("nonce") String nonce) {
-
-        log.debug("requestBody:{}", requestBody);
-        log.debug("signature:{}", signature);
-        log.debug("timestamp:{}", timestamp);
-        log.debug("nonce:{}", nonce);
-
-        weixinUserService.checkSignature(signature, timestamp, nonce);
-        return weixinUserService.handleWeixinMsg(requestBody);
-    }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/controller/WeixinUserController.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/controller/WeixinUserController.java
deleted file mode 100644
index 4537488..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/controller/WeixinUserController.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.ruoyi.controller;
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.ruoyi.common.core.domain.R;
-import org.ruoyi.domin.WeixinQrCode;
-import org.ruoyi.service.VxLoginService;
-import org.ruoyi.system.domain.vo.LoginVo;
-import org.ruoyi.util.WeixinApiUtil;
-import org.ruoyi.util.WeixinQrCodeCacheUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 寰俊鍏紬鍙风櫥褰�
- *
- * @author ageerle
- * @date 2025-05-03
- */
-@Slf4j
-@RestController
-public class WeixinUserController {
-
-    @Autowired
-    private WeixinApiUtil weixinApiUtil;
-
-    @Autowired
-    private VxLoginService loginService;
-
-    @GetMapping(value = "/user/qrcode")
-    public R<WeixinQrCode> getQrCode() {
-        WeixinQrCode qrCode = weixinApiUtil.getQrCode();
-        qrCode.setUrl(null);
-        qrCode.setExpireSeconds(null);
-        return R.ok(qrCode);
-    }
-
-    /**
-     * 鏍¢獙鏄惁鎵弿瀹屾垚
-     * 瀹屾垚锛岃繑鍥� JWT
-     * 鏈畬鎴愶紝杩斿洖 check failed
-     */
-    @GetMapping(value = "/user/login/qrcode")
-    public R<LoginVo> userLogin(String ticket) {
-        String openId = WeixinQrCodeCacheUtil.get(ticket);
-        if (StringUtils.isNotEmpty(openId)) {
-            log.info("login success,open id:{}", openId);
-            LoginVo loginVo = loginService.mpLogin(openId);
-            return R.ok(loginVo);
-        }
-        log.info("login error,ticket:{}", ticket);
-        return R.fail("check failed");
-    }
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/controller/WxPortalController.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/controller/WxPortalController.java
deleted file mode 100644
index 676333f..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/controller/WxPortalController.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.ruoyi.controller;
-
-import lombok.extern.slf4j.Slf4j;
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
-import me.chanjar.weixin.cp.util.crypto.WxCpCryptUtil;
-import org.apache.commons.lang3.StringUtils;
-import org.ruoyi.common.core.utils.JsonUtils;
-
-import org.ruoyi.config.WxCpConfiguration;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * 寰俊鍏紬鍙风櫥褰曟牎楠�
- *
- * @author ageerle
- * @date 2025-05-03
- */
-@RestController
-@RequestMapping("/wx/cp")
-@Slf4j
-public class WxPortalController {
-
-    @Value("${wechat.cp.appConfigs[0].agentId}")
-    private Integer agentId;
-
-
-  @GetMapping(produces = "text/plain;charset=utf-8")
-  public String authGet(
-                        @RequestParam(name = "msg_signature", required = false) String signature,
-                        @RequestParam(name = "timestamp", required = false) String timestamp,
-                        @RequestParam(name = "nonce", required = false) String nonce,
-                        @RequestParam(name = "echostr", required = false) String echostr) {
-    log.info("\n鎺ユ敹鍒版潵鑷井淇℃湇鍔″櫒鐨勮璇佹秷鎭細signature = [{}], timestamp = [{}], nonce = [{}], echostr = [{}]",
-        signature, timestamp, nonce, echostr);
-
-    if (StringUtils.isAnyBlank(signature, timestamp, nonce, echostr)) {
-      throw new IllegalArgumentException("璇锋眰鍙傛暟闈炴硶锛岃鏍稿疄!");
-    }
-
-    final WxCpService wxCpService = WxCpConfiguration.getCpService(agentId);
-    if (wxCpService == null) {
-      throw new IllegalArgumentException(String.format("鏈壘鍒板搴攁gentId=[%d]鐨勯厤缃紝璇锋牳瀹烇紒", agentId));
-    }
-
-    if (wxCpService.checkSignature(signature, timestamp, nonce, echostr)) {
-      return new WxCpCryptUtil(wxCpService.getWxCpConfigStorage()).decrypt(echostr);
-    }
-
-    return "闈炴硶璇锋眰";
-  }
-
-  @PostMapping(produces = "application/xml; charset=UTF-8")
-  public String post(
-                     @RequestBody String requestBody,
-                     @RequestParam("msg_signature") String signature,
-                     @RequestParam("timestamp") String timestamp,
-                     @RequestParam("nonce") String nonce) {
-    log.info("\n鎺ユ敹寰俊璇锋眰锛歔signature=[{}], timestamp=[{}], nonce=[{}], requestBody=[\n{}\n] ",
-        signature, timestamp, nonce, requestBody);
-
-    final WxCpService wxCpService = WxCpConfiguration.getCpService(1000002);
-    WxCpXmlMessage inMessage = WxCpXmlMessage.fromEncryptedXml(requestBody, wxCpService.getWxCpConfigStorage(),
-        timestamp, nonce, signature);
-    log.debug("\n娑堟伅瑙e瘑鍚庡唴瀹逛负锛歕n{} ", JsonUtils.toJson(inMessage));
-    WxCpXmlOutMessage outMessage = this.route(1000002, inMessage);
-    if (outMessage == null) {
-      return "";
-    }
-
-    String out = outMessage.toEncryptedXml(wxCpService.getWxCpConfigStorage());
-    log.debug("\n缁勮鍥炲淇℃伅锛歿}", out);
-    return out;
-  }
-
-  private WxCpXmlOutMessage route(Integer agentId, WxCpXmlMessage message) {
-    try {
-      return WxCpConfiguration.getRouters().get(agentId).route(message);
-    } catch (Exception e) {
-      log.error(e.getMessage(), e);
-    }
-
-    return null;
-  }
-
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/domin/ReceiveMessage.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/domin/ReceiveMessage.java
deleted file mode 100644
index 9bc6dcb..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/domin/ReceiveMessage.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.ruoyi.domin;
-
-import lombok.Data;
-
-@Data
-public class ReceiveMessage {
-    /**
-     * 寮�鍙戣�呭井淇″彿
-     */
-    private String toUserName;
-    /**
-     * 鍙戦�佹柟璐﹀彿(涓�涓猳penid锛�
-     */
-    private String fromUserName;
-    /**
-     * 娑堟伅鍒涘缓鏃堕棿锛堟暣褰級
-     */
-    private String createTime;
-    /**
-     * 娑堟伅绫诲瀷
-     */
-    private String msgType;
-    /**
-     * 鏂囨湰娑堟伅鍐呭
-     */
-    private String content;
-    /**
-     * 娑堟伅ID 64浣�
-     */
-    String msgId;
-    /**
-     * 娑堟伅鐨勬暟鎹甀D 娑堟伅鏉ヨ嚜鏂囩珷鎵嶆湁
-     */
-    private String msgDataId;
-    /**
-     * 澶氬浘鏂囨椂绗嚑绡囨枃绔狅紝浠�1寮�濮� 娑堟伅濡傛灉鏉ヨ嚜鏂囩珷鎵嶆湁
-     */
-    private String idx;
-    /**
-     * 璁㈤槄浜嬩欢 subscribe 璁㈤槄 unsbscribe 鍙栨秷璁㈤槄
-     */
-    private String event;
-    /**
-     * 鎵爜 - ticket
-     */
-    private String ticket;
-
-    public String getReplyTextMsg(String msg) {
-        String xml = "<xml>\n"
-            + "       <ToUserName><![CDATA[" + getFromUserName() + "]]></ToUserName>\n"
-            + "       <FromUserName><![CDATA[" + getToUserName() + "]]></FromUserName>\n"
-            + "       <CreateTime>" + System.currentTimeMillis() + "</CreateTime>\n"
-            + "       <MsgType><![CDATA[text]]></MsgType>\n"
-            + "       <Content><![CDATA[" + msg + "]]></Content>\n"
-            + "     </xml>";
-        return xml;
-    }
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/domin/WeixinQrCode.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/domin/WeixinQrCode.java
deleted file mode 100644
index 0363b3b..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/domin/WeixinQrCode.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.ruoyi.domin;
-
-import lombok.Data;
-
-/**
- * @author https://www.wdbyte.com
- */
-@Data
-public class WeixinQrCode {
-
-    private String ticket;
-    private Long expireSeconds;
-    private String url;
-    private String qrCodeUrl;
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/AbstractHandler.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/AbstractHandler.java
deleted file mode 100644
index 7ec2b0c..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/AbstractHandler.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.ruoyi.handler;
-
-import me.chanjar.weixin.cp.message.WxCpMessageHandler;
-
-/**
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-public abstract class AbstractHandler implements WxCpMessageHandler {
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/ContactChangeHandler.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/ContactChangeHandler.java
deleted file mode 100644
index 178229d..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/ContactChangeHandler.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.ruoyi.handler;
-
-
-import lombok.extern.slf4j.Slf4j;
-import me.chanjar.weixin.common.session.WxSessionManager;
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
-import org.ruoyi.builder.TextBuilder;
-import org.ruoyi.common.core.utils.JsonUtils;
-
-import org.springframework.stereotype.Component;
-
-import java.util.Map;
-
-/**
- * 閫氳褰曞彉鏇翠簨浠跺鐞嗗櫒.
- *
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-@Slf4j
-@Component
-public class ContactChangeHandler extends AbstractHandler {
-
-    @Override
-    public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context, WxCpService cpService,
-                                    WxSessionManager sessionManager) {
-        String content = "鏀跺埌閫氳褰曞彉鏇翠簨浠讹紝鍐呭锛�" + JsonUtils.toJson(wxMessage);
-        log.info(content);
-
-        return new TextBuilder().build(content, wxMessage, cpService);
-    }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/EnterAgentHandler.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/EnterAgentHandler.java
deleted file mode 100644
index c98fe68..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/EnterAgentHandler.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.ruoyi.handler;
-
-import lombok.extern.slf4j.Slf4j;
-import me.chanjar.weixin.common.error.WxErrorException;
-import me.chanjar.weixin.common.session.WxSessionManager;
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
-
-import java.util.Map;
-
-/**
- * <pre>
- *
- * Created by Binary Wang on 2018/8/27.
- * </pre>
- *
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-@Slf4j
-public class EnterAgentHandler extends AbstractHandler {
-    private static final int TEST_AGENT = 1000002;
-
-    @Override
-    public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context, WxCpService wxCpService, WxSessionManager sessionManager) throws WxErrorException {
-        // do something
-        return null;
-    }
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/LocationHandler.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/LocationHandler.java
deleted file mode 100644
index 56d1fb3..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/LocationHandler.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.ruoyi.handler;
-
-import lombok.extern.slf4j.Slf4j;
-import me.chanjar.weixin.common.api.WxConsts;
-import me.chanjar.weixin.common.session.WxSessionManager;
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
-import org.ruoyi.builder.TextBuilder;
-import org.springframework.stereotype.Component;
-
-import java.util.Map;
-
-/**
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-@Slf4j
-@Component
-public class LocationHandler extends AbstractHandler {
-
-    @Override
-    public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context, WxCpService cpService,
-                                    WxSessionManager sessionManager) {
-        if (wxMessage.getMsgType().equals(WxConsts.XmlMsgType.LOCATION)) {
-            //TODO 鎺ユ敹澶勭悊鐢ㄦ埛鍙戦�佺殑鍦扮悊浣嶇疆娑堟伅
-            try {
-                String content = "鎰熻阿鍙嶉锛屾偍鐨勭殑鍦扮悊浣嶇疆宸叉敹鍒帮紒";
-                return new TextBuilder().build(content, wxMessage, null);
-            } catch (Exception e) {
-                log.error("浣嶇疆娑堟伅鎺ユ敹澶勭悊澶辫触", e);
-                return null;
-            }
-        }
-
-        //涓婃姤鍦扮悊浣嶇疆浜嬩欢
-        log.info("\n涓婃姤鍦扮悊浣嶇疆锛岀含搴� : {}\n缁忓害 : {}\n绮惧害 : {}",
-            wxMessage.getLatitude(), wxMessage.getLongitude(), String.valueOf(wxMessage.getPrecision()));
-
-        //TODO  鍙互灏嗙敤鎴峰湴鐞嗕綅缃俊鎭繚瀛樺埌鏈湴鏁版嵁搴擄紝浠ヤ究浠ュ悗浣跨敤
-
-        return null;
-    }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/LogHandler.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/LogHandler.java
deleted file mode 100644
index ea12c40..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/LogHandler.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.ruoyi.handler;
-
-import lombok.extern.slf4j.Slf4j;
-import me.chanjar.weixin.common.session.WxSessionManager;
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
-import org.ruoyi.common.core.utils.JsonUtils;
-import org.springframework.stereotype.Component;
-
-import java.util.Map;
-
-/**
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-@Slf4j
-@Component
-public class LogHandler extends AbstractHandler {
-    @Override
-    public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context, WxCpService cpService,
-                                    WxSessionManager sessionManager) {
-        log.info("\n鎺ユ敹鍒拌姹傛秷鎭紝鍐呭锛歿}", JsonUtils.toJson(wxMessage));
-        return null;
-    }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/MenuHandler.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/MenuHandler.java
deleted file mode 100644
index 803db7f..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/MenuHandler.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.ruoyi.handler;
-
-import me.chanjar.weixin.common.api.WxConsts.MenuButtonType;
-import me.chanjar.weixin.common.session.WxSessionManager;
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
-import org.springframework.stereotype.Component;
-
-import java.util.Map;
-
-/**
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-@Component
-public class MenuHandler extends AbstractHandler {
-
-  @Override
-  public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context, WxCpService cpService,
-                                  WxSessionManager sessionManager) {
-
-    String msg = String.format("type:%s, event:%s, key:%s",
-        wxMessage.getMsgType(), wxMessage.getEvent(),
-        wxMessage.getEventKey());
-    if (MenuButtonType.VIEW.equals(wxMessage.getEvent())) {
-      return null;
-    }
-
-    return WxCpXmlOutMessage.TEXT().content(msg)
-        .fromUser(wxMessage.getToUserName()).toUser(wxMessage.getFromUserName())
-        .build();
-  }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/MsgHandler.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/MsgHandler.java
deleted file mode 100644
index 6527371..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/MsgHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.ruoyi.handler;
-
-import lombok.RequiredArgsConstructor;
-import me.chanjar.weixin.common.api.WxConsts;
-import me.chanjar.weixin.common.session.WxSessionManager;
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
-
-import org.ruoyi.builder.TextBuilder;
-import org.ruoyi.service.IChatVxService;
-import org.springframework.stereotype.Component;
-
-import java.util.Map;
-
-/**
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-@Component
-@RequiredArgsConstructor
-public class MsgHandler extends AbstractHandler {
-
-    private final IChatVxService chatVxService;
-
-    @Override
-    public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context, WxCpService cpService,
-                                    WxSessionManager sessionManager) {
-        final String msgType = wxMessage.getMsgType();
-        if (msgType == null) {
-            // 濡傛灉msgType娌℃湁锛屽氨鑷繁鏍规嵁鍏蜂綋鎶ユ枃鍐呭鍋氬鐞�
-        }
-
-        if (!msgType.equals(WxConsts.XmlMsgType.EVENT)) {
-            //TODO 鍙互閫夋嫨灏嗘秷鎭繚瀛樺埌鏈湴
-        }
-        //TODO 缁勮鍥炲娑堟伅
-        String content = chatVxService.chat(wxMessage.getContent());
-
-        return new TextBuilder().build(content, wxMessage, cpService);
-
-    }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/NullHandler.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/NullHandler.java
deleted file mode 100644
index 2677d73..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/NullHandler.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.ruoyi.handler;
-
-import me.chanjar.weixin.common.session.WxSessionManager;
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
-import org.springframework.stereotype.Component;
-
-import java.util.Map;
-
-/**
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-@Component
-public class NullHandler extends AbstractHandler {
-
-  @Override
-  public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context, WxCpService cpService,
-                                  WxSessionManager sessionManager) {
-    return null;
-  }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/ScanHandler.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/ScanHandler.java
deleted file mode 100644
index 4d9a502..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/ScanHandler.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.ruoyi.handler;
-
-/**
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-public abstract class ScanHandler extends AbstractHandler {
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/SubscribeHandler.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/SubscribeHandler.java
deleted file mode 100644
index c5e42fb..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/SubscribeHandler.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.ruoyi.handler;
-
-import lombok.extern.slf4j.Slf4j;
-import me.chanjar.weixin.common.error.WxErrorException;
-import me.chanjar.weixin.common.session.WxSessionManager;
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.bean.WxCpUser;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
-import org.ruoyi.builder.TextBuilder;
-import org.springframework.stereotype.Component;
-
-import java.util.Map;
-
-/**
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-@Slf4j
-@Component
-public class SubscribeHandler extends AbstractHandler {
-
-    @Override
-    public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context, WxCpService cpService,
-                                    WxSessionManager sessionManager) throws WxErrorException {
-
-        log.info("鏂板叧娉ㄧ敤鎴� OPENID: " + wxMessage.getFromUserName());
-
-        // 鑾峰彇寰俊鐢ㄦ埛鍩烘湰淇℃伅
-        WxCpUser userWxInfo = cpService.getUserService().getById(wxMessage.getFromUserName());
-
-        if (userWxInfo != null) {
-            // TODO 鍙互娣诲姞鍏虫敞鐢ㄦ埛鍒版湰鍦�
-        }
-
-        WxCpXmlOutMessage responseResult = null;
-        try {
-            responseResult = handleSpecial(wxMessage);
-        } catch (Exception e) {
-            log.error(e.getMessage(), e);
-        }
-
-        if (responseResult != null) {
-            return responseResult;
-        }
-
-        try {
-            return new TextBuilder().build("鎰熻阿鍏虫敞", wxMessage, cpService);
-        } catch (Exception e) {
-            log.error(e.getMessage(), e);
-        }
-
-        return null;
-    }
-
-    /**
-     * 澶勭悊鐗规畩璇锋眰锛屾瘮濡傚鏋滄槸鎵爜杩涙潵鐨勶紝鍙互鍋氱浉搴斿鐞�
-     */
-    private WxCpXmlOutMessage handleSpecial(WxCpXmlMessage wxMessage) {
-        //TODO
-        return null;
-    }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/UnsubscribeHandler.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/UnsubscribeHandler.java
deleted file mode 100644
index 7793346..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/UnsubscribeHandler.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.ruoyi.handler;
-
-import lombok.extern.slf4j.Slf4j;
-import me.chanjar.weixin.common.session.WxSessionManager;
-import me.chanjar.weixin.cp.api.WxCpService;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage;
-import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage;
-import org.springframework.stereotype.Component;
-
-import java.util.Map;
-
-/**
- * @author <a href="https://github.com/binarywang">Binary Wang</a>
- */
-@Slf4j
-@Component
-public class UnsubscribeHandler extends AbstractHandler {
-
-    @Override
-    public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context, WxCpService cpService,
-                                    WxSessionManager sessionManager) {
-        String openId = wxMessage.getFromUserName();
-        log.info("鍙栨秷鍏虫敞鐢ㄦ埛 OPENID: " + openId);
-        // TODO 鍙互鏇存柊鏈湴鏁版嵁搴撲负鍙栨秷鍏虫敞鐘舵��
-        return null;
-    }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/VxLoginService.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/VxLoginService.java
deleted file mode 100644
index 874a8bf..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/VxLoginService.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.ruoyi.service;
-
-import cn.dev33.satoken.secure.BCrypt;
-import cn.dev33.satoken.stp.StpUtil;
-import cn.hutool.core.util.ObjectUtil;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.math.NumberUtils;
-import org.ruoyi.common.core.constant.Constants;
-import org.ruoyi.common.core.domain.model.VisitorLoginUser;
-import org.ruoyi.common.core.enums.DeviceType;
-import org.ruoyi.common.core.enums.UserType;
-import org.ruoyi.common.core.service.ConfigService;
-import org.ruoyi.common.core.utils.MessageUtils;
-import org.ruoyi.common.core.utils.ServletUtils;
-import org.ruoyi.common.core.utils.SpringUtils;
-import org.ruoyi.common.log.event.LogininforEvent;
-import org.ruoyi.common.satoken.utils.LoginHelper;
-import org.ruoyi.system.domain.SysUser;
-import org.ruoyi.system.domain.bo.SysUserBo;
-import org.ruoyi.system.domain.vo.LoginVo;
-import org.ruoyi.system.domain.vo.SysUserVo;
-import org.ruoyi.system.service.ISysUserService;
-import org.springframework.stereotype.Service;
-
-import java.util.UUID;
-
-/**
- *  寰俊鍏紬鍙风櫥褰�
- *
- * @author ageerle@163.com
- * date 2025/4/30
- */
-@Slf4j
-@Service
-@RequiredArgsConstructor
-public class VxLoginService {
-
-    private final ISysUserService userService;
-
-    private final ConfigService configService;
-
-    public LoginVo mpLogin(String openid) {
-        // 浣跨敤 openid 鏌ヨ缁戝畾鐢ㄦ埛 濡傛湭缁戝畾鐢ㄦ埛 鍒欐牴鎹笟鍔¤嚜琛屽鐞� 渚嬪 鍒涘缓榛樿鐢ㄦ埛
-        SysUserVo user = userService.selectUserByOpenId(openid);
-        VisitorLoginUser loginUser = new VisitorLoginUser();
-        if (ObjectUtil.isNull(user)) {
-            SysUserBo sysUser = new SysUserBo();
-            String name = "鐢ㄦ埛" + UUID.randomUUID().toString().replace("-", "");
-            // 璁剧疆榛樿鐢ㄦ埛鍚�
-            sysUser.setUserName(name);
-            // 璁剧疆榛樿鏄电О
-            sysUser.setNickName(name);
-            // 璁剧疆榛樿瀵嗙爜
-            sysUser.setPassword(BCrypt.hashpw("123456"));
-            // 璁剧疆寰俊openId
-            sysUser.setOpenId(openid);
-            String configValue = configService.getConfigValue("mail", "amount");
-            // 璁剧疆榛樿浣欓
-            sysUser.setUserBalance(NumberUtils.toDouble(configValue, 1));
-            // 娉ㄥ唽鐢ㄦ埛,璁剧疆榛樿绉熸埛涓�0
-            SysUser registerUser = userService.registerUser(sysUser, "0");
-
-            // 鏋勫缓鐧诲綍鐢ㄦ埛淇℃伅
-            loginUser.setTenantId("0");
-            loginUser.setUserId(registerUser.getUserId());
-            loginUser.setUsername(registerUser.getUserName());
-            loginUser.setUserType(UserType.APP_USER.getUserType());
-            loginUser.setOpenid(openid);
-            loginUser.setNickName(registerUser.getNickName());
-        } else {
-            // 姝ゅ鍙牴鎹櫥褰曠敤鎴风殑鏁版嵁涓嶅悓 鑷鍒涘缓 loginUser
-            loginUser.setTenantId(user.getTenantId());
-            loginUser.setUserId(user.getUserId());
-            loginUser.setUsername(user.getUserName());
-            loginUser.setUserType(user.getUserType());
-            loginUser.setNickName(user.getNickName());
-            loginUser.setAvatar(user.getWxAvatar());
-            loginUser.setOpenid(openid);
-        }
-        // 鐢熸垚token
-        LoginHelper.loginByDevice(loginUser, DeviceType.XCX);
-        recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
-        LoginVo loginVo = new LoginVo();
-        // 鐢熸垚浠ょ墝
-        loginVo.setToken(StpUtil.getTokenValue());
-        loginVo.setUserInfo(loginUser);
-        return loginVo;
-    }
-
-    /**
-     * 璁板綍鐧诲綍淇℃伅
-     *
-     * @param tenantId 绉熸埛ID
-     * @param username 鐢ㄦ埛鍚�
-     * @param status   鐘舵��
-     * @param message  娑堟伅鍐呭
-     */
-    private void recordLogininfor(String tenantId, String username, String status, String message) {
-        LogininforEvent logininforEvent = new LogininforEvent();
-        logininforEvent.setTenantId(tenantId);
-        logininforEvent.setUsername(username);
-        logininforEvent.setStatus(status);
-        logininforEvent.setMessage(message);
-        logininforEvent.setRequest(ServletUtils.getRequest());
-        SpringUtils.context().publishEvent(logininforEvent);
-    }
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/WeixinUserService.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/WeixinUserService.java
deleted file mode 100644
index c999679..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/WeixinUserService.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.ruoyi.service;
-
-
-public interface WeixinUserService {
-
-    void checkSignature(String signature, String timestamp, String nonce);
-
-    String handleWeixinMsg(String body);
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/impl/WeixinUserServiceImpl.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/impl/WeixinUserServiceImpl.java
deleted file mode 100644
index 57fcdfb..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/impl/WeixinUserServiceImpl.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.ruoyi.service.impl;
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.codec.digest.DigestUtils;
-import org.ruoyi.domin.ReceiveMessage;
-import org.ruoyi.service.WeixinUserService;
-import org.ruoyi.util.WeixinMsgUtil;
-import org.ruoyi.util.WeixinQrCodeCacheUtil;
-import org.springframework.stereotype.Service;
-
-import java.util.Arrays;
-
-
-@Slf4j
-@Service
-public class WeixinUserServiceImpl implements WeixinUserService {
-
-    private String token = "panda";
-
-    @Override
-    public void checkSignature(String signature, String timestamp, String nonce) {
-        String[] arr = new String[] {token, timestamp, nonce};
-        Arrays.sort(arr);
-        StringBuilder content = new StringBuilder();
-        for (String str : arr) {
-            content.append(str);
-        }
-        String tmpStr = DigestUtils.sha1Hex(content.toString());
-        if (tmpStr.equals(signature)) {
-            log.info("check success");
-            return;
-        }
-        log.error("check fail");
-        throw new RuntimeException("check fail");
-    }
-
-    @Override
-    public String handleWeixinMsg(String requestBody) {
-        ReceiveMessage receiveMessage = WeixinMsgUtil.msgToReceiveMessage(requestBody);
-        // 鎵爜鐧诲綍
-        if (WeixinMsgUtil.isScanQrCode(receiveMessage)) {
-            return handleScanLogin(receiveMessage);
-        }
-        // 鍏虫敞
-        if (WeixinMsgUtil.isEventAndSubscribe(receiveMessage)) {
-            return receiveMessage.getReplyTextMsg("鎰熻阿鎮ㄧ殑鍏虫敞锛�");
-        }
-        return receiveMessage.getReplyTextMsg("鏀跺埌锛堣嚜鍔ㄥ洖澶嶏級");
-    }
-
-    /**
-     * 澶勭悊鎵爜鐧诲綍
-     *
-     * @param receiveMessage
-     * @return
-     */
-    private String handleScanLogin(ReceiveMessage receiveMessage) {
-        String qrCodeTicket = WeixinMsgUtil.getQrCodeTicket(receiveMessage);
-        if (WeixinQrCodeCacheUtil.get(qrCodeTicket) == null) {
-            String openId = receiveMessage.getFromUserName();
-            WeixinQrCodeCacheUtil.put(qrCodeTicket, openId);
-        }
-        return receiveMessage.getReplyTextMsg("浣犲凡鎴愬姛鐧诲綍锛�");
-    }
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/KeyUtils.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/KeyUtils.java
deleted file mode 100644
index 6bbf917..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/KeyUtils.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.ruoyi.util;
-
-import org.apache.commons.lang3.RandomStringUtils;
-
-import java.util.UUID;
-
-/**
- * @author https://www.wdbyte.com
- */
-public class KeyUtils {
-
-    public synchronized static String key6() {
-        return RandomStringUtils.randomAlphanumeric(6);
-    }
-
-    public synchronized static String key16() {
-        return RandomStringUtils.randomAlphanumeric(16);
-    }
-
-    public static String uuid32() {
-        return UUID.randomUUID().toString().replace("-", "");
-    }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/WeixinApiUtil.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/WeixinApiUtil.java
deleted file mode 100644
index 1aa9c39..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/WeixinApiUtil.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.ruoyi.util;
-
-import cn.hutool.http.HttpUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.ruoyi.common.core.service.ConfigService;
-import org.ruoyi.domin.WeixinQrCode;
-import org.springframework.stereotype.Component;
-
-import java.net.URI;
-import java.time.LocalDateTime;
-
-/**
- * @author https://www.wdbyte.com
- */
-@Slf4j
-@Component
-@RequiredArgsConstructor
-public class WeixinApiUtil {
-
-    private final ConfigService configService;
-
-    private static String QR_CODE_URL_PREFIX = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=";
-
-    private static String ACCESS_TOKEN = null;
-    private static LocalDateTime ACCESS_TOKEN_EXPIRE_TIME = null;
-    /**
-     * 浜岀淮鐮� Ticket 杩囨湡鏃堕棿
-     */
-    private static int QR_CODE_TICKET_TIMEOUT = 10 * 60;
-
-    /**
-     * 鑾峰彇 access token
-     *
-     * @return
-     */
-    public synchronized String getAccessToken() {
-        if (ACCESS_TOKEN != null && ACCESS_TOKEN_EXPIRE_TIME.isAfter(LocalDateTime.now())) {
-            return ACCESS_TOKEN;
-        }
-        String api = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + getKey("appid") + "&secret="
-            + getKey("secret");
-        String result = HttpUtil.get(api);
-        JSONObject jsonObject = JSON.parseObject(result);
-        ACCESS_TOKEN = jsonObject.getString("access_token");
-        ACCESS_TOKEN_EXPIRE_TIME = LocalDateTime.now().plusSeconds(jsonObject.getLong("expires_in") - 10);
-        return ACCESS_TOKEN;
-    }
-
-    /**
-     * 鑾峰彇浜岀淮鐮� Ticket
-     *
-     * https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Generating_a_Parametric_QR_Code.html
-     *
-     * @return
-     */
-    public WeixinQrCode getQrCode() {
-        String api = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + getAccessToken();
-        String jsonBody = String.format("{\n"
-            + "  \"expire_seconds\": %d,\n"
-            + "  \"action_name\": \"QR_STR_SCENE\",\n"
-            + "  \"action_info\": {\n"
-            + "    \"scene\": {\n"
-            + "      \"scene_str\": \"%s\"\n"
-            + "    }\n"
-            + "  }\n"
-            + "}", QR_CODE_TICKET_TIMEOUT, KeyUtils.uuid32());
-        String result = HttpUtil.post(api, jsonBody);
-        log.info("get qr code params:{}", jsonBody);
-        log.info("get qr code result:{}", result);
-        WeixinQrCode weixinQrCode = JSON.parseObject(result, WeixinQrCode.class);
-        weixinQrCode.setQrCodeUrl(QR_CODE_URL_PREFIX + URI.create(weixinQrCode.getTicket()).toASCIIString());
-        return weixinQrCode;
-    }
-
-    public String getKey(String key) {
-        return configService.getConfigValue("weixin", key);
-    }
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/WeixinMsgUtil.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/WeixinMsgUtil.java
deleted file mode 100644
index e1fd520..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/WeixinMsgUtil.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.ruoyi.util;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import org.apache.commons.lang3.StringUtils;
-import org.ruoyi.domin.ReceiveMessage;
-
-/**
- * @author https://www.wdbyte.com
- */
-public class WeixinMsgUtil {
-
-    // 浜嬩欢-鍏虫敞
-    private static String EVENT_SUBSCRIBE = "subscribe";
-
-    /**
-     * 寰俊娑堟伅杞璞�
-     *
-     * @param xml
-     * @return
-     */
-    public static ReceiveMessage msgToReceiveMessage(String xml) {
-        JSONObject jsonObject = JSON.parseObject(XmlUtil.xml2json(xml));
-        ReceiveMessage receiveMessage = new ReceiveMessage();
-        receiveMessage.setToUserName(jsonObject.getString("ToUserName"));
-        receiveMessage.setFromUserName(jsonObject.getString("FromUserName"));
-        receiveMessage.setCreateTime(jsonObject.getString("CreateTime"));
-        receiveMessage.setMsgType(jsonObject.getString("MsgType"));
-        receiveMessage.setContent(jsonObject.getString("Content"));
-        receiveMessage.setMsgId(jsonObject.getString("MsgId"));
-        receiveMessage.setEvent(jsonObject.getString("Event"));
-        receiveMessage.setTicket(jsonObject.getString("Ticket"));
-        return receiveMessage;
-    }
-
-    /**
-     * 鏄惁鏄闃呬簨浠�
-     *
-     * @param receiveMessage
-     * @return
-     */
-    public static boolean isEventAndSubscribe(ReceiveMessage receiveMessage) {
-        return StringUtils.equals(receiveMessage.getEvent(), EVENT_SUBSCRIBE);
-    }
-
-    /**
-     * 鏄惁鏄簩缁寸爜鎵弿浜嬩欢
-     *
-     * @param receiveMessage
-     * @return
-     */
-    public static boolean isScanQrCode(ReceiveMessage receiveMessage) {
-        return StringUtils.isNotEmpty(receiveMessage.getTicket());
-    }
-
-    /**
-     * 鑾峰彇鎵弿鐨勪簩缁寸爜 Ticket
-     *
-     * @param receiveMessage
-     * @return
-     */
-    public static String getQrCodeTicket(ReceiveMessage receiveMessage) {
-        return receiveMessage.getTicket();
-    }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/WeixinQrCodeCacheUtil.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/WeixinQrCodeCacheUtil.java
deleted file mode 100644
index aaebd1e..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/WeixinQrCodeCacheUtil.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.ruoyi.util;
-
-import java.util.LinkedHashMap;
-
-/**
- * 寰俊浜岀淮鐮佺紦瀛樺伐鍏风被
- *
- * @author https://www.wdbyte.com
- */
-public class WeixinQrCodeCacheUtil {
-    private static long MAX_CACHE_SIZE = 10000;
-    private static LinkedHashMap<String, String> QR_CODE_TICKET_MAP = new LinkedHashMap<>();
-
-    /**
-     * 澧炲姞涓�涓� Ticket
-     * 棣栨 put锛歷alue 涓� ""
-     * 鍐嶆 put: value 鏈� openId锛岃嫢openId宸茬粡瀛樺湪锛屽垯宸茶鎵爜
-     *
-     * @param key
-     * @param value
-     */
-    public synchronized static void put(String key, String value) {
-        QR_CODE_TICKET_MAP.put(key, value);
-        if (QR_CODE_TICKET_MAP.size() > MAX_CACHE_SIZE) {
-            String first = QR_CODE_TICKET_MAP.keySet().stream().findFirst().get();
-            QR_CODE_TICKET_MAP.remove(first);
-        }
-    }
-
-    public synchronized static String get(String key) {
-        return QR_CODE_TICKET_MAP.remove(key);
-    }
-
-}
diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/XmlUtil.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/XmlUtil.java
deleted file mode 100644
index d6e58f6..0000000
--- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/XmlUtil.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.ruoyi.util;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.xml.XmlMapper;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-
-/**
- * @author https://www.wdbyte.com
- */
-@Slf4j
-public class XmlUtil {
-
-    public static String xml2json(String requestBody) {
-        requestBody = StringUtils.trim(requestBody);
-        XmlMapper xmlMapper = new XmlMapper();
-        JsonNode node = null;
-        try {
-            node = xmlMapper.readTree(requestBody.getBytes());
-            ObjectMapper jsonMapper = new ObjectMapper();
-            return jsonMapper.writeValueAsString(node);
-        } catch (Exception e) {
-            log.error("xml 2 json error,msg:" + e.getMessage(), e);
-        }
-        return null;
-    }
-}
diff --git "a/docker-deploy/Ruoyi-AI\345\271\263\345\217\260\345\256\271\345\231\250\345\214\226\346\236\204\345\273\272\344\270\216\351\203\250\347\275\262\346\211\213\345\206\214.docx" "b/script/deploy/Ruoyi-AI\345\271\263\345\217\260\345\256\271\345\231\250\345\214\226\346\236\204\345\273\272\344\270\216\351\203\250\347\275\262\346\211\213\345\206\214.docx"
similarity index 100%
rename from "docker-deploy/Ruoyi-AI\345\271\263\345\217\260\345\256\271\345\231\250\345\214\226\346\236\204\345\273\272\344\270\216\351\203\250\347\275\262\346\211\213\345\206\214.docx"
rename to "script/deploy/Ruoyi-AI\345\271\263\345\217\260\345\256\271\345\231\250\345\214\226\346\236\204\345\273\272\344\270\216\351\203\250\347\275\262\346\211\213\345\206\214.docx"
Binary files differ
diff --git a/docker-deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-admin/Dockerfile b/script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-admin/Dockerfile
similarity index 100%
rename from docker-deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-admin/Dockerfile
rename to script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-admin/Dockerfile
diff --git a/docker-deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-admin/nginx.conf b/script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-admin/nginx.conf
similarity index 100%
rename from docker-deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-admin/nginx.conf
rename to script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-admin/nginx.conf
diff --git a/docker-deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-backend/Dockerfile b/script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-backend/Dockerfile
similarity index 100%
rename from docker-deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-backend/Dockerfile
rename to script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-backend/Dockerfile
diff --git a/docker-deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-web/Dockerfile b/script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-web/Dockerfile
similarity index 100%
rename from docker-deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-web/Dockerfile
rename to script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-web/Dockerfile
diff --git a/docker-deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-web/nginx.conf b/script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-web/nginx.conf
similarity index 100%
rename from docker-deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-web/nginx.conf
rename to script/deploy/build-docker-images/Dockerfile-Resources/ruoyi-ai-web/nginx.conf
diff --git a/docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env b/script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env
similarity index 100%
rename from docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env
rename to script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env
diff --git a/docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.analyze b/script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.analyze
similarity index 100%
rename from docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.analyze
rename to script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.analyze
diff --git a/docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.development b/script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.development
similarity index 100%
rename from docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.development
rename to script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.development
diff --git a/docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.production b/script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.production
similarity index 100%
rename from docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.production
rename to script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.production
diff --git a/docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.test b/script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.test
similarity index 100%
rename from docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.test
rename to script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.test
diff --git a/docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/vite.config.mts b/script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/vite.config.mts
similarity index 100%
rename from docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/vite.config.mts
rename to script/deploy/build-docker-images/modify-source-code/ruoyi-ai-admin/vite.config.mts
diff --git a/docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-backend/application-prod.yml b/script/deploy/build-docker-images/modify-source-code/ruoyi-ai-backend/application-prod.yml
similarity index 100%
rename from docker-deploy/build-docker-images/modify-source-code/ruoyi-ai-backend/application-prod.yml
rename to script/deploy/build-docker-images/modify-source-code/ruoyi-ai-backend/application-prod.yml
diff --git a/docker-deploy/build-docker-images/scripts/build-ruoyi-admin-image.sh b/script/deploy/build-docker-images/scripts/build-ruoyi-admin-image.sh
old mode 100755
new mode 100644
similarity index 100%
rename from docker-deploy/build-docker-images/scripts/build-ruoyi-admin-image.sh
rename to script/deploy/build-docker-images/scripts/build-ruoyi-admin-image.sh
diff --git a/docker-deploy/build-docker-images/scripts/build-ruoyi-backend-image.sh b/script/deploy/build-docker-images/scripts/build-ruoyi-backend-image.sh
old mode 100755
new mode 100644
similarity index 100%
rename from docker-deploy/build-docker-images/scripts/build-ruoyi-backend-image.sh
rename to script/deploy/build-docker-images/scripts/build-ruoyi-backend-image.sh
diff --git a/docker-deploy/build-docker-images/scripts/build-ruoyi-web-image.sh b/script/deploy/build-docker-images/scripts/build-ruoyi-web-image.sh
old mode 100755
new mode 100644
similarity index 100%
rename from docker-deploy/build-docker-images/scripts/build-ruoyi-web-image.sh
rename to script/deploy/build-docker-images/scripts/build-ruoyi-web-image.sh
diff --git a/docker-deploy/build-docker-images/scripts/remove-blank.sh b/script/deploy/build-docker-images/scripts/remove-blank.sh
old mode 100755
new mode 100644
similarity index 100%
rename from docker-deploy/build-docker-images/scripts/remove-blank.sh
rename to script/deploy/build-docker-images/scripts/remove-blank.sh
diff --git a/docker-deploy/deploy/.env b/script/deploy/deploy/.env
similarity index 100%
rename from docker-deploy/deploy/.env
rename to script/deploy/deploy/.env
diff --git a/docker-deploy/deploy/copy-mysql-init-script.sh b/script/deploy/deploy/copy-mysql-init-script.sh
old mode 100755
new mode 100644
similarity index 100%
rename from docker-deploy/deploy/copy-mysql-init-script.sh
rename to script/deploy/deploy/copy-mysql-init-script.sh
diff --git a/docker-deploy/deploy/docker-compose.yaml b/script/deploy/deploy/docker-compose.yaml
similarity index 100%
rename from docker-deploy/deploy/docker-compose.yaml
rename to script/deploy/deploy/docker-compose.yaml
diff --git a/docker-deploy/deploy/mysql-init/01_ruoyi-ai.sql b/script/deploy/deploy/mysql-init/01_ruoyi-ai.sql
similarity index 100%
rename from docker-deploy/deploy/mysql-init/01_ruoyi-ai.sql
rename to script/deploy/deploy/mysql-init/01_ruoyi-ai.sql
diff --git a/docker-deploy/deploy/mysql-init/02_update_20250407.sql b/script/deploy/deploy/mysql-init/02_update_20250407.sql
similarity index 100%
rename from docker-deploy/deploy/mysql-init/02_update_20250407.sql
rename to script/deploy/deploy/mysql-init/02_update_20250407.sql
diff --git a/docker-deploy/deploy/mysql-init/03_update_20250505.sql b/script/deploy/deploy/mysql-init/03_update_20250505.sql
similarity index 100%
rename from docker-deploy/deploy/mysql-init/03_update_20250505.sql
rename to script/deploy/deploy/mysql-init/03_update_20250505.sql
diff --git a/docker-deploy/deploy/mysql-init/04_update_20250509.sql b/script/deploy/deploy/mysql-init/04_update_20250509.sql
similarity index 100%
rename from docker-deploy/deploy/mysql-init/04_update_20250509.sql
rename to script/deploy/deploy/mysql-init/04_update_20250509.sql
diff --git a/docker-deploy/deploy/update_ruoyi-qi-sql.sh b/script/deploy/deploy/update_ruoyi-qi-sql.sh
old mode 100755
new mode 100644
similarity index 100%
rename from docker-deploy/deploy/update_ruoyi-qi-sql.sh
rename to script/deploy/deploy/update_ruoyi-qi-sql.sh
diff --git a/docker-deploy/one-step-script/deploy-cn.sh b/script/deploy/one-step-script/deploy-cn.sh
old mode 100755
new mode 100644
similarity index 100%
rename from docker-deploy/one-step-script/deploy-cn.sh
rename to script/deploy/one-step-script/deploy-cn.sh
diff --git a/docker-deploy/one-step-script/deploy-en.sh b/script/deploy/one-step-script/deploy-en.sh
old mode 100755
new mode 100644
similarity index 100%
rename from docker-deploy/one-step-script/deploy-en.sh
rename to script/deploy/one-step-script/deploy-en.sh
diff --git a/docker-deploy/one-step-script/mysql-init/01_ruoyi-ai.sql b/script/deploy/one-step-script/mysql-init/01_ruoyi-ai.sql
similarity index 100%
rename from docker-deploy/one-step-script/mysql-init/01_ruoyi-ai.sql
rename to script/deploy/one-step-script/mysql-init/01_ruoyi-ai.sql
diff --git a/docker-deploy/one-step-script/mysql-init/02_update_20250407.sql b/script/deploy/one-step-script/mysql-init/02_update_20250407.sql
similarity index 100%
rename from docker-deploy/one-step-script/mysql-init/02_update_20250407.sql
rename to script/deploy/one-step-script/mysql-init/02_update_20250407.sql
diff --git a/docker-deploy/one-step-script/mysql-init/03_update_20250505.sql b/script/deploy/one-step-script/mysql-init/03_update_20250505.sql
similarity index 100%
rename from docker-deploy/one-step-script/mysql-init/03_update_20250505.sql
rename to script/deploy/one-step-script/mysql-init/03_update_20250505.sql
diff --git a/docker-deploy/one-step-script/mysql-init/04_update_20250509.sql b/script/deploy/one-step-script/mysql-init/04_update_20250509.sql
similarity index 100%
rename from docker-deploy/one-step-script/mysql-init/04_update_20250509.sql
rename to script/deploy/one-step-script/mysql-init/04_update_20250509.sql
diff --git a/docker-deploy/one-step-script/template/.env.template b/script/deploy/one-step-script/template/.env.template
similarity index 100%
rename from docker-deploy/one-step-script/template/.env.template
rename to script/deploy/one-step-script/template/.env.template
diff --git a/docker-deploy/one-step-script/template/application-prod.yml.template b/script/deploy/one-step-script/template/application-prod.yml.template
similarity index 99%
rename from docker-deploy/one-step-script/template/application-prod.yml.template
rename to script/deploy/one-step-script/template/application-prod.yml.template
index 1e0cc33..469d89a 100644
--- a/docker-deploy/one-step-script/template/application-prod.yml.template
+++ b/script/deploy/one-step-script/template/application-prod.yml.template
@@ -1,89 +1,89 @@
----
-# 鏁版嵁婧愰厤缃�
-spring:
-  datasource:
-    type: com.zaxxer.hikari.HikariDataSource
-    dynamic:
-      # 鎬ц兘鍒嗘瀽鎻掍欢(鏈夋�ц兘鎹熻�� 涓嶅缓璁敓浜х幆澧冧娇鐢�)
-      p6spy: false
-      # 璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓� master
-      primary: master
-      # 涓ユ牸妯″紡 鍖归厤涓嶅埌鏁版嵁婧愬垯鎶ラ敊
-      strict: true
-      datasource:
-        # 涓诲簱鏁版嵁婧�
-        master:
-          type: ${spring.datasource.type}
-          driverClassName: com.mysql.cj.jdbc.Driver
-          url: {{PROD_DB_URL}}
-          username: {{PROD_DB_USERNAME}}
-          password: {{PROD_DB_PASSWORD}}
-      hikari:
-        # 鏈�澶ц繛鎺ユ睜鏁伴噺
-        maxPoolSize: 20
-        # 鏈�灏忕┖闂茬嚎绋嬫暟閲�
-        minIdle: 10
-        # 閰嶇疆鑾峰彇杩炴帴绛夊緟瓒呮椂鐨勬椂闂�
-        connectionTimeout: 30000
-        # 鏍¢獙瓒呮椂鏃堕棿
-        validationTimeout: 5000
-        # 绌洪棽杩炴帴瀛樻椿鏈�澶ф椂闂达紝榛樿10鍒嗛挓
-        idleTimeout: 600000
-        # 姝ゅ睘鎬ф帶鍒舵睜涓繛鎺ョ殑鏈�闀跨敓鍛藉懆鏈燂紝鍊�0琛ㄧず鏃犻檺鐢熷懡鍛ㄦ湡锛岄粯璁�30鍒嗛挓
-        maxLifetime: 1800000
-        # 杩炴帴娴嬭瘯query锛堥厤缃娴嬭繛鎺ユ槸鍚︽湁鏁堬級
-        connectionTestQuery: SELECT 1
-        # 澶氫箙妫�鏌ヤ竴娆¤繛鎺ョ殑娲绘��
-        keepaliveTime: 30000
-
---- # redis 鍗曟満閰嶇疆
-spring.data:
-  redis:
-    # 鍦板潃
-    host: {{PROD_REDIS_HOST}}
-    # 绔彛锛岄粯璁や负6379
-    port: {{PROD_REDIS_PORT}}
-    # 鏁版嵁搴撶储寮�
-    database: {{PROD_REDIS_DATABASE}}
-    # 瀵嗙爜
-    password: {{PROD_REDIS_PASSWORD}}
-    # 杩炴帴瓒呮椂鏃堕棿
-    timeout: {{PROD_REDIS_TIMEOUT}}
-    # 鏄惁寮�鍚痵sl
-    ssl: false
-
-# 鏃ュ織閰嶇疆
-logging:
-  level:
-    org.ruoyi: info
-    org.springframework: warn
-  config: classpath:logback-plus.xml
-
-# Sa-Token閰嶇疆
-sa-token:
-  # token鍚嶇О (鍚屾椂涔熸槸cookie鍚嶇О)
-  token-name: Authorization
-  # token鏈夋晥鏈� 璁句负7澶� (蹇呭畾杩囨湡) 鍗曚綅: 绉�
-  timeout: 604800
-  # token涓存椂鏈夋晥鏈� (鎸囧畾鏃堕棿鏃犳搷浣滃氨杩囨湡) 鍗曚綅: 绉�
-  activity-timeout: 604800
-  # 鏄惁鍏佽鍚屼竴璐﹀彿骞跺彂鐧诲綍 (涓簍rue鏃跺厑璁镐竴璧风櫥褰�, 涓篺alse鏃舵柊鐧诲綍鎸ゆ帀鏃х櫥褰�)
-  is-concurrent: true
-  # 鍦ㄥ浜虹櫥褰曞悓涓�璐﹀彿鏃讹紝鏄惁鍏辩敤涓�涓猼oken (涓簍rue鏃舵墍鏈夌櫥褰曞叡鐢ㄤ竴涓猼oken, 涓篺alse鏃舵瘡娆$櫥褰曟柊寤轰竴涓猼oken)
-  is-share: false
-  # 鏄惁灏濊瘯浠巋eader閲岃鍙杢oken
-  is-read-header: true
-  # 鏄惁灏濊瘯浠巆ookie閲岃鍙杢oken
-  is-read-cookie: false
-  # token鍓嶇紑
-  token-prefix: "Bearer"
-  # jwt绉橀挜
-  jwt-secret-key: abcdefghijklmnopqrstuvwxyz
-
-# websocket
-websocket:
-  enabled: true
-  # 璺緞
-  path: '/resource/websocket'
-  # 璁剧疆璁块棶婧愬湴鍧�
+---
+# 鏁版嵁婧愰厤缃�
+spring:
+  datasource:
+    type: com.zaxxer.hikari.HikariDataSource
+    dynamic:
+      # 鎬ц兘鍒嗘瀽鎻掍欢(鏈夋�ц兘鎹熻�� 涓嶅缓璁敓浜х幆澧冧娇鐢�)
+      p6spy: false
+      # 璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓� master
+      primary: master
+      # 涓ユ牸妯″紡 鍖归厤涓嶅埌鏁版嵁婧愬垯鎶ラ敊
+      strict: true
+      datasource:
+        # 涓诲簱鏁版嵁婧�
+        master:
+          type: ${spring.datasource.type}
+          driverClassName: com.mysql.cj.jdbc.Driver
+          url: {{PROD_DB_URL}}
+          username: {{PROD_DB_USERNAME}}
+          password: {{PROD_DB_PASSWORD}}
+      hikari:
+        # 鏈�澶ц繛鎺ユ睜鏁伴噺
+        maxPoolSize: 20
+        # 鏈�灏忕┖闂茬嚎绋嬫暟閲�
+        minIdle: 10
+        # 閰嶇疆鑾峰彇杩炴帴绛夊緟瓒呮椂鐨勬椂闂�
+        connectionTimeout: 30000
+        # 鏍¢獙瓒呮椂鏃堕棿
+        validationTimeout: 5000
+        # 绌洪棽杩炴帴瀛樻椿鏈�澶ф椂闂达紝榛樿10鍒嗛挓
+        idleTimeout: 600000
+        # 姝ゅ睘鎬ф帶鍒舵睜涓繛鎺ョ殑鏈�闀跨敓鍛藉懆鏈燂紝鍊�0琛ㄧず鏃犻檺鐢熷懡鍛ㄦ湡锛岄粯璁�30鍒嗛挓
+        maxLifetime: 1800000
+        # 杩炴帴娴嬭瘯query锛堥厤缃娴嬭繛鎺ユ槸鍚︽湁鏁堬級
+        connectionTestQuery: SELECT 1
+        # 澶氫箙妫�鏌ヤ竴娆¤繛鎺ョ殑娲绘��
+        keepaliveTime: 30000
+
+--- # redis 鍗曟満閰嶇疆
+spring.data:
+  redis:
+    # 鍦板潃
+    host: {{PROD_REDIS_HOST}}
+    # 绔彛锛岄粯璁や负6379
+    port: {{PROD_REDIS_PORT}}
+    # 鏁版嵁搴撶储寮�
+    database: {{PROD_REDIS_DATABASE}}
+    # 瀵嗙爜
+    password: {{PROD_REDIS_PASSWORD}}
+    # 杩炴帴瓒呮椂鏃堕棿
+    timeout: {{PROD_REDIS_TIMEOUT}}
+    # 鏄惁寮�鍚痵sl
+    ssl: false
+
+# 鏃ュ織閰嶇疆
+logging:
+  level:
+    org.ruoyi: info
+    org.springframework: warn
+  config: classpath:logback-plus.xml
+
+# Sa-Token閰嶇疆
+sa-token:
+  # token鍚嶇О (鍚屾椂涔熸槸cookie鍚嶇О)
+  token-name: Authorization
+  # token鏈夋晥鏈� 璁句负7澶� (蹇呭畾杩囨湡) 鍗曚綅: 绉�
+  timeout: 604800
+  # token涓存椂鏈夋晥鏈� (鎸囧畾鏃堕棿鏃犳搷浣滃氨杩囨湡) 鍗曚綅: 绉�
+  activity-timeout: 604800
+  # 鏄惁鍏佽鍚屼竴璐﹀彿骞跺彂鐧诲綍 (涓簍rue鏃跺厑璁镐竴璧风櫥褰�, 涓篺alse鏃舵柊鐧诲綍鎸ゆ帀鏃х櫥褰�)
+  is-concurrent: true
+  # 鍦ㄥ浜虹櫥褰曞悓涓�璐﹀彿鏃讹紝鏄惁鍏辩敤涓�涓猼oken (涓簍rue鏃舵墍鏈夌櫥褰曞叡鐢ㄤ竴涓猼oken, 涓篺alse鏃舵瘡娆$櫥褰曟柊寤轰竴涓猼oken)
+  is-share: false
+  # 鏄惁灏濊瘯浠巋eader閲岃鍙杢oken
+  is-read-header: true
+  # 鏄惁灏濊瘯浠巆ookie閲岃鍙杢oken
+  is-read-cookie: false
+  # token鍓嶇紑
+  token-prefix: "Bearer"
+  # jwt绉橀挜
+  jwt-secret-key: abcdefghijklmnopqrstuvwxyz
+
+# websocket
+websocket:
+  enabled: true
+  # 璺緞
+  path: '/resource/websocket'
+  # 璁剧疆璁块棶婧愬湴鍧�
   allowedOrigins: '*'
\ No newline at end of file
diff --git a/docker-deploy/one-step-script/template/docker-compose.yaml.template b/script/deploy/one-step-script/template/docker-compose.yaml.template
similarity index 99%
rename from docker-deploy/one-step-script/template/docker-compose.yaml.template
rename to script/deploy/one-step-script/template/docker-compose.yaml.template
index ac20bcf..2a38883 100644
--- a/docker-deploy/one-step-script/template/docker-compose.yaml.template
+++ b/script/deploy/one-step-script/template/docker-compose.yaml.template
@@ -1,115 +1,115 @@
-version: '3'
-
-services:
-  mysql:
-    image: registry.cn-shenzhen.aliyuncs.com/breeze-project/mysql:8.0.33
-    container_name: ruoyi-ai-mysql
-    env_file:
-      - ./.env
-    environment:
-      - MYSQL_ROOT_PASSWORD={{MYSQL_ROOT_PASSWORD}}
-      - MYSQL_DATABASE={{MYSQL_DATABASE}}
-    ports:
-      - "{{MYSQL_PORT}}:3306"
-    volumes:
-      - ./mysql-init:/docker-entrypoint-initdb.d
-      - ./data/mysql:/var/lib/mysql
-    command:
-      --default-authentication-plugin=mysql_native_password
-      --character-set-server=utf8mb4
-      --collation-server=utf8mb4_general_ci
-      --explicit_defaults_for_timestamp=true
-      --lower_case_table_names=1
-    restart: always
-    networks:
-      - ruoyi-net
-
-  redis:
-    image: registry.cn-shenzhen.aliyuncs.com/breeze-project/redis:6.2
-    container_name: ruoyi-ai-redis
-    env_file:
-      - ./.env
-    ports:
-      - "{{REDIS_PORT}}:6379"
-    volumes:
-      - ./data/redis:/data
-    command: redis-server --appendonly yes ${REDIS_PASSWORD:+--requirepass ${REDIS_PASSWORD}}
-    restart: always
-    networks:
-      - ruoyi-net
-
-  weaviate:
-    image: registry.cn-shenzhen.aliyuncs.com/breeze-project/weaviate:1.30.0
-    container_name: ruoyi-ai-weaviate
-    ports:
-      - "{{WEAVIATE_HTTP_PORT}}:8080"
-      - "{{WEAVIATE_GRPC_PORT}}:50051"
-    volumes:
-      - ./data/weaviate:/var/lib/weaviate
-    env_file:
-      - ./.env
-    environment:
-      - QUERY_DEFAULTS_LIMIT={{WEAVIATE_QUERY_LIMIT}}
-      - AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED={{WEAVIATE_ANONYMOUS_ACCESS}}
-      - PERSISTENCE_DATA_PATH={{WEAVIATE_DATA_PATH}}
-      - DEFAULT_VECTORIZER_MODULE={{WEAVIATE_VECTORIZER_MODULE}}
-      - ENABLE_MODULES={{WEAVIATE_MODULES}}
-      - CLUSTER_HOSTNAME={{WEAVIATE_CLUSTER_HOSTNAME}}
-    command: --host 0.0.0.0 --port 8080 --scheme http
-    restart: always
-    networks:
-      - ruoyi-net
-
-  ruoyi-backend:
-    image: ruoyi-ai-backend:latest
-    container_name: ruoyi-ai-backend
-    env_file:
-      - ./.env
-    ports:
-      - "{{SERVER_PORT}}:{{SERVER_PORT}}"
-    environment:
-      - SERVER_PORT={{SERVER_PORT}}
-      - DB_URL={{DB_URL}}
-      - DB_USERNAME={{DB_USERNAME}}
-      - DB_PASSWORD={{DB_PASSWORD}}
-      - REDIS_HOST={{REDIS_HOST}}
-      - REDIS_PORT={{REDIS_PORT}}
-      - REDIS_DATABASE={{REDIS_DATABASE}}
-      - REDIS_PASSWORD={{REDIS_PASSWORD}}
-      - REDIS_TIMEOUT={{REDIS_TIMEOUT}}
-      - TZ={{TZ}}
-    volumes:
-      - ./data/logs:/ruoyi/server/logs
-    restart: always
-    depends_on:
-      - mysql
-      - redis
-      - weaviate
-    networks:
-      - ruoyi-net
-
-  ruoyi-admin:
-    image: ruoyi-ai-admin:latest
-    container_name: ruoyi-ai-admin
-    ports:
-      - "{{ADMIN_PORT}}:80"
-    restart: always
-    depends_on:
-      - ruoyi-backend
-    networks:
-      - ruoyi-net
-
-  ruoyi-web:
-    image: ruoyi-ai-web:latest
-    container_name: ruoyi-ai-web
-    ports:
-      - "{{WEB_PORT}}:80"
-    restart: always
-    depends_on:
-      - ruoyi-backend
-    networks:
-      - ruoyi-net
-
-networks:
-  ruoyi-net:
-    driver: bridge
+version: '3'
+
+services:
+  mysql:
+    image: registry.cn-shenzhen.aliyuncs.com/breeze-project/mysql:8.0.33
+    container_name: ruoyi-ai-mysql
+    env_file:
+      - ./.env
+    environment:
+      - MYSQL_ROOT_PASSWORD={{MYSQL_ROOT_PASSWORD}}
+      - MYSQL_DATABASE={{MYSQL_DATABASE}}
+    ports:
+      - "{{MYSQL_PORT}}:3306"
+    volumes:
+      - ./mysql-init:/docker-entrypoint-initdb.d
+      - ./data/mysql:/var/lib/mysql
+    command:
+      --default-authentication-plugin=mysql_native_password
+      --character-set-server=utf8mb4
+      --collation-server=utf8mb4_general_ci
+      --explicit_defaults_for_timestamp=true
+      --lower_case_table_names=1
+    restart: always
+    networks:
+      - ruoyi-net
+
+  redis:
+    image: registry.cn-shenzhen.aliyuncs.com/breeze-project/redis:6.2
+    container_name: ruoyi-ai-redis
+    env_file:
+      - ./.env
+    ports:
+      - "{{REDIS_PORT}}:6379"
+    volumes:
+      - ./data/redis:/data
+    command: redis-server --appendonly yes ${REDIS_PASSWORD:+--requirepass ${REDIS_PASSWORD}}
+    restart: always
+    networks:
+      - ruoyi-net
+
+  weaviate:
+    image: registry.cn-shenzhen.aliyuncs.com/breeze-project/weaviate:1.30.0
+    container_name: ruoyi-ai-weaviate
+    ports:
+      - "{{WEAVIATE_HTTP_PORT}}:8080"
+      - "{{WEAVIATE_GRPC_PORT}}:50051"
+    volumes:
+      - ./data/weaviate:/var/lib/weaviate
+    env_file:
+      - ./.env
+    environment:
+      - QUERY_DEFAULTS_LIMIT={{WEAVIATE_QUERY_LIMIT}}
+      - AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED={{WEAVIATE_ANONYMOUS_ACCESS}}
+      - PERSISTENCE_DATA_PATH={{WEAVIATE_DATA_PATH}}
+      - DEFAULT_VECTORIZER_MODULE={{WEAVIATE_VECTORIZER_MODULE}}
+      - ENABLE_MODULES={{WEAVIATE_MODULES}}
+      - CLUSTER_HOSTNAME={{WEAVIATE_CLUSTER_HOSTNAME}}
+    command: --host 0.0.0.0 --port 8080 --scheme http
+    restart: always
+    networks:
+      - ruoyi-net
+
+  ruoyi-backend:
+    image: ruoyi-ai-backend:latest
+    container_name: ruoyi-ai-backend
+    env_file:
+      - ./.env
+    ports:
+      - "{{SERVER_PORT}}:{{SERVER_PORT}}"
+    environment:
+      - SERVER_PORT={{SERVER_PORT}}
+      - DB_URL={{DB_URL}}
+      - DB_USERNAME={{DB_USERNAME}}
+      - DB_PASSWORD={{DB_PASSWORD}}
+      - REDIS_HOST={{REDIS_HOST}}
+      - REDIS_PORT={{REDIS_PORT}}
+      - REDIS_DATABASE={{REDIS_DATABASE}}
+      - REDIS_PASSWORD={{REDIS_PASSWORD}}
+      - REDIS_TIMEOUT={{REDIS_TIMEOUT}}
+      - TZ={{TZ}}
+    volumes:
+      - ./data/logs:/ruoyi/server/logs
+    restart: always
+    depends_on:
+      - mysql
+      - redis
+      - weaviate
+    networks:
+      - ruoyi-net
+
+  ruoyi-admin:
+    image: ruoyi-ai-admin:latest
+    container_name: ruoyi-ai-admin
+    ports:
+      - "{{ADMIN_PORT}}:80"
+    restart: always
+    depends_on:
+      - ruoyi-backend
+    networks:
+      - ruoyi-net
+
+  ruoyi-web:
+    image: ruoyi-ai-web:latest
+    container_name: ruoyi-ai-web
+    ports:
+      - "{{WEB_PORT}}:80"
+    restart: always
+    depends_on:
+      - ruoyi-backend
+    networks:
+      - ruoyi-net
+
+networks:
+  ruoyi-net:
+    driver: bridge
diff --git a/docker-deploy/one-step-script/template/nginx.admin.conf.template b/script/deploy/one-step-script/template/nginx.admin.conf.template
similarity index 99%
rename from docker-deploy/one-step-script/template/nginx.admin.conf.template
rename to script/deploy/one-step-script/template/nginx.admin.conf.template
index 6300aa0..be3bb97 100644
--- a/docker-deploy/one-step-script/template/nginx.admin.conf.template
+++ b/script/deploy/one-step-script/template/nginx.admin.conf.template
@@ -1,22 +1,22 @@
-server {
-    listen       80;
-    server_name  localhost;
-
-    location / {
-        root   /usr/share/nginx/html;
-        index  index.html index.htm;
-        try_files $uri $uri/ /index.html;
-    }
-
-    location /prod-api/ {
-        proxy_pass http://{{BACKEND_HOST}}:{{SERVER_PORT}}/;
-        proxy_set_header Host $host;
-        proxy_set_header X-Real-IP $remote_addr;
-        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    }
-
-    error_page   500 502 503 504  /50x.html;
-    location = /50x.html {
-        root   /usr/share/nginx/html;
-    }
+server {
+    listen       80;
+    server_name  localhost;
+
+    location / {
+        root   /usr/share/nginx/html;
+        index  index.html index.htm;
+        try_files $uri $uri/ /index.html;
+    }
+
+    location /prod-api/ {
+        proxy_pass http://{{BACKEND_HOST}}:{{SERVER_PORT}}/;
+        proxy_set_header Host $host;
+        proxy_set_header X-Real-IP $remote_addr;
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+    }
+
+    error_page   500 502 503 504  /50x.html;
+    location = /50x.html {
+        root   /usr/share/nginx/html;
+    }
 }
\ No newline at end of file
diff --git a/docker-deploy/one-step-script/template/nginx.web.conf.template b/script/deploy/one-step-script/template/nginx.web.conf.template
similarity index 99%
rename from docker-deploy/one-step-script/template/nginx.web.conf.template
rename to script/deploy/one-step-script/template/nginx.web.conf.template
index 2ac40ca..9119459 100644
--- a/docker-deploy/one-step-script/template/nginx.web.conf.template
+++ b/script/deploy/one-step-script/template/nginx.web.conf.template
@@ -1,22 +1,22 @@
-server {
-    listen       80;
-    server_name  localhost;
-
-    location / {
-        root   /usr/share/nginx/html;
-        index  index.html index.htm;
-        try_files $uri $uri/ /index.html;
-    }
-
-    location /api/ {
-        proxy_pass http://{{BACKEND_HOST}}:{{SERVER_PORT}}/;
-        proxy_set_header Host $host;
-        proxy_set_header X-Real-IP $remote_addr;
-        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    }
-
-    error_page   500 502 503 504  /50x.html;
-    location = /50x.html {
-        root   /usr/share/nginx/html;
-    }
+server {
+    listen       80;
+    server_name  localhost;
+
+    location / {
+        root   /usr/share/nginx/html;
+        index  index.html index.htm;
+        try_files $uri $uri/ /index.html;
+    }
+
+    location /api/ {
+        proxy_pass http://{{BACKEND_HOST}}:{{SERVER_PORT}}/;
+        proxy_set_header Host $host;
+        proxy_set_header X-Real-IP $remote_addr;
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+    }
+
+    error_page   500 502 503 504  /50x.html;
+    location = /50x.html {
+        root   /usr/share/nginx/html;
+    }
 }
\ No newline at end of file
diff --git a/docker-deploy/source-code/fetch-admin-source-code.sh b/script/deploy/source-code/fetch-admin-source-code.sh
old mode 100755
new mode 100644
similarity index 100%
rename from docker-deploy/source-code/fetch-admin-source-code.sh
rename to script/deploy/source-code/fetch-admin-source-code.sh
diff --git a/docker-deploy/source-code/fetch-backend-source-code.sh b/script/deploy/source-code/fetch-backend-source-code.sh
old mode 100755
new mode 100644
similarity index 100%
rename from docker-deploy/source-code/fetch-backend-source-code.sh
rename to script/deploy/source-code/fetch-backend-source-code.sh
diff --git a/docker-deploy/source-code/fetch-web-source-code.sh b/script/deploy/source-code/fetch-web-source-code.sh
old mode 100755
new mode 100644
similarity index 100%
rename from docker-deploy/source-code/fetch-web-source-code.sh
rename to script/deploy/source-code/fetch-web-source-code.sh
diff --git a/script/docker/milvus/docker-compose.yml b/script/docker/milvus/docker-compose.yml
deleted file mode 100644
index 37506be..0000000
--- a/script/docker/milvus/docker-compose.yml
+++ /dev/null
@@ -1,63 +0,0 @@
-version: '3.5'
-
-services:
-  etcd:
-    container_name: milvus-etcd
-    image: quay.io/coreos/etcd:v3.5.5
-    environment:
-      - ETCD_AUTO_COMPACTION_MODE=revision
-      - ETCD_AUTO_COMPACTION_RETENTION=1000
-      - ETCD_QUOTA_BACKEND_BYTES=4294967296
-      - ETCD_SNAPSHOT_COUNT=50000
-    volumes:
-      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
-    command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
-    healthcheck:
-      test: ["CMD", "etcdctl", "endpoint", "health"]
-      interval: 30s
-      timeout: 20s
-      retries: 3
-
-  minio:
-    container_name: milvus-minio
-    image: minio/minio:RELEASE.2023-03-20T20-16-18Z
-    environment:
-      MINIO_ACCESS_KEY: minioadmin
-      MINIO_SECRET_KEY: minioadmin
-    ports:
-      - "9001:9001"
-      - "9000:9000"
-    volumes:
-      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data
-    command: minio server /minio_data --console-address ":9001"
-    healthcheck:
-      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
-      interval: 30s
-      timeout: 20s
-      retries: 3
-
-  standalone:
-    container_name: milvus-standalone
-    image: milvusdb/milvus:v2.3.1
-    command: ["milvus", "run", "standalone"]
-    environment:
-      ETCD_ENDPOINTS: etcd:2379
-      MINIO_ADDRESS: minio:9000
-    volumes:
-      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus
-    healthcheck:
-      test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
-      interval: 30s
-      start_period: 90s
-      timeout: 20s
-      retries: 3
-    ports:
-      - "19530:19530"
-      - "9091:9091"
-    depends_on:
-      - "etcd"
-      - "minio"
-
-networks:
-  default:
-    name: milvus
diff --git a/script/docker/ruoyiai/docker-compose.yaml b/script/docker/ruoyiai/docker-compose.yaml
deleted file mode 100644
index 722ad24..0000000
--- a/script/docker/ruoyiai/docker-compose.yaml
+++ /dev/null
@@ -1,105 +0,0 @@
-version: '3'
-
-services:
-  mysql:
-    image: registry.cn-shenzhen.aliyuncs.com/breeze-project/mysql:8.0.33
-    container_name: ruoyi-ai-mysql
-    env_file:
-      - ./.env
-    environment:
-      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
-      - MYSQL_DATABASE=${MYSQL_DATABASE}
-    #ports:
-    #  - "${MYSQL_PORT}:3306"
-    volumes:
-      - ./mysql-init:/docker-entrypoint-initdb.d
-      - ./data/mysql:/var/lib/mysql
-    command:
-      --default-authentication-plugin=mysql_native_password
-      --character-set-server=utf8mb4
-      --collation-server=utf8mb4_general_ci
-      --explicit_defaults_for_timestamp=true
-      --lower_case_table_names=1
-    restart: always
-    networks:
-      - ruoyi-net
-
-  redis:
-    image: registry.cn-shenzhen.aliyuncs.com/breeze-project/redis:6.2
-    container_name: ruoyi-ai-redis
-    env_file:
-      - ./.env
-    #ports:
-    #  - "${REDIS_PORT}:6379"
-    volumes:
-      - ./data/redis:/data
-    command: redis-server --appendonly yes ${REDIS_PASSWORD:+--requirepass ${REDIS_PASSWORD}}
-    restart: always
-    networks:
-      - ruoyi-net
-
-  weaviate:
-    image: registry.cn-shenzhen.aliyuncs.com/breeze-project/weaviate:1.30.0
-    container_name: ruoyi-ai-weaviate
-    env_file:
-      - ./.env
-    environment:  
-      - QUERY_DEFAULTS_LIMIT=${WEAVIATE_QUERY_LIMIT}  
-      - AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=${WEAVIATE_ANONYMOUS_ACCESS}  
-      - PERSISTENCE_DATA_PATH=${WEAVIATE_DATA_PATH}  
-      - DEFAULT_VECTORIZER_MODULE=${WEAVIATE_VECTORIZER_MODULE}  
-      - ENABLE_MODULES=${WEAVIATE_MODULES}  
-      - CLUSTER_HOSTNAME=${WEAVIATE_CLUSTER_HOSTNAME}  
-    command: --host 0.0.0.0 --port 8080 --scheme http
-    ports:
-      - "50050:8080"
-      - "50051:50051"
-    volumes:
-      - ./data/weaviate:/var/lib/weaviate
-    restart: always
-    networks:
-      - ruoyi-net
-
-  ruoyi-backend:
-    image: registry.cn-shenzhen.aliyuncs.com/breeze-project/ruoyi-ai-backend:v2.0.5
-    container_name: ruoyi-ai-backend
-    env_file:
-      - ./.env
-    ports:
-      - "${BACKEND_SERVER_PORT}:${BACKEND_SERVER_PORT}"
-    volumes:
-      - ./data/logs:/ruoyi/server/logs
-    restart: always
-    depends_on:
-      - mysql
-      - redis
-    networks:
-      - ruoyi-net
-
-  ruoyi-admin:
-    image: registry.cn-shenzhen.aliyuncs.com/breeze-project/ruoyi-ai-admin:v2.0.5
-    container_name: ruoyi-ai-admin
-    ports:
-      #- "8082:80"
-      - "${ADMIN_SERVER_PORT}:80"
-    restart: always
-    depends_on:
-      - ruoyi-backend
-    networks:
-      - ruoyi-net
-
-  ruoyi-web:
-    image: registry.cn-shenzhen.aliyuncs.com/breeze-project/ruoyi-ai-web:v2.0.5
-    container_name: ruoyi-ai-web
-    ports:
-      #- "8081:80"
-      - "${WEB_SERVER_PORT}:80"
-    restart: always
-    depends_on:
-      - ruoyi-backend
-    networks:
-      - ruoyi-net
-
-networks:
-  ruoyi-net:
-    driver: bridge
diff --git a/script/docker/weaviate/docker-compose.yml b/script/docker/weaviate/docker-compose.yml
index b43bd5d..4504591 100644
--- a/script/docker/weaviate/docker-compose.yml
+++ b/script/docker/weaviate/docker-compose.yml
@@ -1,5 +1,4 @@
 ---
-version: '3.4'
 services:
   weaviate:
     command:
@@ -9,19 +8,17 @@
       - '6038'
       - --scheme
       - http
-    image: cr.weaviate.io/semitechnologies/weaviate:1.19.7
+    image: semitechnologies/weaviate:1.19.7
     ports:
       - 6038:6038
       - 50051:50051
     volumes:
       - weaviate_data:/var/lib/weaviate
-    restart: on-failure:0
     environment:
       QUERY_DEFAULTS_LIMIT: 25
       AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
       PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
       DEFAULT_VECTORIZER_MODULE: 'none'
-      ENABLE_MODULES: 'text2vec-cohere,text2vec-huggingface,text2vec-palm,text2vec-openai,generative-openai,generative-cohere,generative-palm,ref2vec-centroid,reranker-cohere,qna-openai'
       CLUSTER_HOSTNAME: 'node1'
 volumes:
   weaviate_data:
diff --git a/script/sql/ruoyi-ai.sql b/script/sql/ruoyi-ai.sql
index ae38f07..e69de29 100644
--- a/script/sql/ruoyi-ai.sql
+++ b/script/sql/ruoyi-ai.sql
@@ -1,2687 +0,0 @@
-/*
- Navicat MySQL Data Transfer
-
- Source Server         : ruoyi-ai
- Source Server Type    : MySQL
- Source Server Version : 50740
- Source Host           : 43.139.70.230:3306
- Source Schema         : ruoyi-ai
-
- Target Server Type    : MySQL
- Target Server Version : 50740
- File Encoding         : 65001
-
- Date: 31/03/2025 20:11:04
-*/
-
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for chat_agent_manage
--- ----------------------------
-DROP TABLE IF EXISTS `chat_agent_manage`;
-CREATE TABLE `chat_agent_manage`  (
-  `id` bigint(20) NOT NULL COMMENT '涓婚敭id',
-  `app_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '搴旂敤鍚嶇О',
-  `app_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '搴旂敤绫诲瀷',
-  `app_icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '搴旂敤澶村儚',
-  `app_description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '搴旂敤鎻忚堪',
-  `introduction` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '寮�鍦轰粙缁�',
-  `model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '妯″瀷',
-  `conversation_model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '瀵硅瘽鍙�夋ā鍨�',
-  `application_settings` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '搴旂敤璁惧畾',
-  `plugin_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鎻掍欢id',
-  `Knowledge_id` bigint(20) NULL DEFAULT NULL COMMENT '鐭ヨ瘑搴搃d',
-  `create_dept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '閮ㄩ棬',
-  `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍒涘缓浜�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鏅鸿兘浣撶鐞�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of chat_agent_manage
--- ----------------------------
-
--- ----------------------------
--- Table structure for chat_app_store
--- ----------------------------
-DROP TABLE IF EXISTS `chat_app_store`;
-CREATE TABLE `chat_app_store`  (
-  `id` bigint(20) NOT NULL COMMENT 'id',
-  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鍚嶇О',
-  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '鎻忚堪',
-  `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'logo',
-  `app_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍦板潃',
-  `create_dept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '搴旂敤鍟嗗簵' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of chat_app_store
--- ----------------------------
-INSERT INTO `chat_app_store` VALUES (1, '鐭ヨ瘑搴�', '鍒涘缓灞炰簬鑷繁鐨勬湰鍦扮煡璇嗗簱', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2025/02/11/9178bd7126b0478b9713e18844de58d4.png', '/knowledge', '', NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `chat_app_store` VALUES (2, '缁樼敾', '寮�鍚垱鎰忕粯鐢讳箣鏃�', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2025/02/11/e8b4ff15af6945d09accb59f5dd6279b.png', '/draw', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `chat_app_store` VALUES (3, '缈昏瘧', '鎻愪緵绮惧噯楂樻晥鐨勮瑷�缈昏瘧鏈嶅姟', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2025/02/11/3b5e87263c004ba389d6af8d43552770.png', '/fanyi', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `chat_app_store` VALUES (4, '闊充箰鍒涗綔', '婵�鍙戦煶涔愬垱浣滄綔鑳�', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2025/02/11/a761c32e823945d29daeaeaf45a6dfe9.png', '/music', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `chat_app_store` VALUES (5, '鏅鸿兘PPT', '涓�閿敓鎴愪笓涓� PPT', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2025/02/11/8de63c7a2d5e4c22bc8121a3c9e0fec1.png', '/ppt', NULL, NULL, NULL, NULL, NULL, NULL);
-INSERT INTO `chat_app_store` VALUES (6, '鏂囩敓瑙嗛', '灏嗘枃瀛楀唴瀹硅浆鍖栦负鐢熷姩瑙嗛', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2025/02/11/15d878c58db248afa886032efb292467.png', '/video', NULL, NULL, NULL, NULL, NULL, NULL);
-
--- ----------------------------
--- Table structure for chat_config
--- ----------------------------
-DROP TABLE IF EXISTS `chat_config`;
-CREATE TABLE `chat_config`  (
-  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
-  `category` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '閰嶇疆绫诲瀷',
-  `config_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '閰嶇疆鍚嶇О',
-  `config_value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '閰嶇疆鍊�',
-  `config_dict` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '璇存槑',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鍒涘缓鑰�',
-  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  `version` int(11) NULL DEFAULT NULL COMMENT '鐗堟湰',
-  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�',
-  `update_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏇存柊IP',
-  `tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '绉熸埛Id',
-  PRIMARY KEY (`id`) USING BTREE,
-  UNIQUE INDEX `unique_category_key`(`category`, `config_name`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1904862904897019906 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '閰嶇疆淇℃伅琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of chat_config
--- ----------------------------
-INSERT INTO `chat_config` VALUES (1779450794448789505, 'chat', 'apiKey', 'sk-xxs', 'API 瀵嗛挜', 103, '2024-04-14 18:05:05', '1', '1', '2025-03-31 19:54:16', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779450794448799507, 'cover', 'token', 'xx', '缁樺0缇庨煶token', 103, '2024-04-14 18:05:05', '1', '1', '2024-04-23 23:56:54', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779450794448799508, 'cover', 'cover_url', 'https://wechatscan.com/a/open/karaoke/cover', '缈诲敱鍦板潃', 103, '2024-04-14 18:05:05', '1', '1', '2024-04-23 23:56:54', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779450794448799509, 'cover', 'search_music_url', 'https://wechatscan.com/a/open/karaoke/search', '鏌ユ壘姝屾洸', 103, '2024-04-14 18:05:05', '1', '1', '2024-04-23 23:56:54', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779450794448799601, 'ppt', 'apiKey', 'xx', '鏂囧澶歛pikey', 103, '2024-04-14 18:05:05', '1', '1', '2024-04-23 23:56:54', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779450794872414210, 'chat', 'apiHost', 'https://api.pandarobot.chat/', 'API 鍦板潃', 103, '2024-04-14 18:05:05', '1', '1', '2025-03-31 19:54:16', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779497340548784129, 'pay', 'pid', '1000', '鍟嗘埛PID', 103, '2024-04-14 21:10:02', '1', NULL, '2025-03-31 17:31:19', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779497340938854401, 'pay', 'key', 'xx', '鍟嗘埛瀵嗛挜', 103, '2024-04-14 21:10:02', '1', NULL, '2025-03-31 17:31:19', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779497341135986690, 'pay', 'payUrl', 'https://pay.pandarobot.chat/mapi.php', '鏀粯鍦板潃', 103, '2024-04-14 21:10:02', '1', NULL, '2025-03-31 17:31:19', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779497341400227842, 'pay', 'notify_url', 'https://www.pandarobot.chat/pay/notifyUrl', '鍥炶皟鍦板潃', 103, '2024-04-14 21:10:02', '1', NULL, '2025-03-31 17:31:19', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779497341588971522, 'pay', 'return_url', 'https://www.pandarobot.chat/pay/returnUrl', '璺宠浆閫氱煡', 103, '2024-04-14 21:10:02', '1', '1', '2024-04-28 17:46:31', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779513580331835394, 'mail', 'host', 'smtp.163.com', '涓绘満鍦板潃', 103, '2024-04-14 22:14:34', '1', '1', '2024-07-17 17:28:51', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779513580658991106, 'mail', 'port', '465', '涓绘満绔彛', 103, '2024-04-14 22:14:34', '1', '1', '2024-07-17 17:28:51', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779513580919037953, 'mail', 'from', 'ageerle@163.com', '鍙戦�佹柟', 103, '2024-04-14 22:14:34', '1', '1', '2024-07-17 17:28:51', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779513581107781634, 'mail', 'user', 'ageerle@163.com', '鐢ㄦ埛鍚�', 103, '2024-04-14 22:14:34', '1', '1', '2024-07-17 17:28:52', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779513581309108225, 'mail', 'pass', 'xx', '閭鎺堟潈鐮�', 103, '2024-04-14 22:14:34', '1', '1', '2024-07-17 17:28:52', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779726450625687553, 'mj', 'apiKey', 'sk-xx', 'API 瀵嗛挜', 103, '2024-04-15 12:20:26', '1', '1', '2024-04-23 23:56:58', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1779726451036729346, 'mj', 'apiHost', 'https://api.pandarobot.chat/', 'API 鍦板潃', 103, '2024-04-15 12:20:26', '1', '1', '2024-04-23 23:56:59', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1782331509679181825, 'mj', 'imagine', '1', '鏂囩敓鍥�', 103, '2024-04-22 16:52:01', '1', '1', '2025-03-31 19:54:28', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1782331509939228674, 'mj', 'blend', '0', '鍥剧敓鍥�', 103, '2024-04-22 16:52:01', '1', '1', '2025-03-31 19:54:28', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1782331510199275522, 'mj', 'describe', '0', '鍥剧敓鏂�', 103, '2024-04-22 16:52:01', '1', '1', '2025-03-31 19:54:28', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1782331510392213505, 'mj', 'change', '0', '鍙樺寲浠锋牸', 103, '2024-04-22 16:52:01', '1', '1', '2025-03-31 19:54:29', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1782331510652260353, 'mj', 'upsample', '0', '鏀惧ぇ浠锋牸', 103, '2024-04-22 16:52:01', '1', '1', '2025-03-31 19:54:29', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1782331510845198338, 'mj', 'inpaint', '0', '灞�閮ㄩ噸缁�', 103, '2024-04-22 16:52:01', '1', '1', '2025-03-31 19:54:29', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1782331511117828098, 'mj', 'faceSwapping', '0', '鎹㈣劯浠锋牸', 103, '2024-04-22 16:52:01', '1', '1', '2025-03-31 19:54:29', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1782331511306571778, 'mj', 'shorten', '0', '鎻愮ず璇嶅垎鏋�', 103, '2024-04-22 16:52:01', '1', '1', '2025-03-31 19:54:29', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1782766864937119746, 'mail', 'amount', '1', '鐢ㄦ埛娉ㄥ唽棰濆害', 103, '2024-04-23 21:41:57', '1', '1', '2024-07-17 17:28:52', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1784166479104135169, 'audio', 'apiKey', 'sk-xx', 'API 瀵嗛挜', 103, '2024-04-27 18:23:31', '1', '1', '2024-04-27 18:24:31', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1784166479615840258, 'audio', 'apiHost', 'https://v1.reecho.cn/', 'API 鍦板潃', 103, '2024-04-27 18:23:32', '1', '1', '2024-04-27 18:24:31', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1786058372188569602, 'review', 'enabled', 'false', '鏂囨湰瀹℃牳', 103, '2024-05-02 23:41:14', '1', '1', '2025-03-30 22:45:29', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1786058372637360129, 'review', 'apiKey', 'xx', 'apiKey', 103, '2024-05-02 23:41:14', '1', '1', '2025-03-30 22:45:29', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1786058372897406977, 'review', 'secretKey', 'xx', 'secretKey', 103, '2024-05-02 23:41:14', '1', '1', '2025-03-30 22:45:29', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1792069350789324801, 'weixin', 'appId', 'xx', '搴旂敤ID', 103, '2024-05-19 13:46:43', '1', '1', '2025-03-28 17:33:46', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1792069351246503938, 'weixin', 'appSecret', 'xx', '搴旂敤瀵嗛挜', 103, '2024-05-19 13:46:43', '1', '1', '2025-03-28 17:33:47', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1792069351246503939, 'weixin', 'mchId', '1677338089', '鍟嗘埛ID', 103, '2024-05-19 13:46:43', '1', '1', '2025-03-28 17:33:47', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1792183360796790785, 'weixin', 'notifyUrl', 'https://mp.pandarobot.chat/pay/notify/wxOrder', '鍥炶皟鍦板潃', 103, '2024-05-19 21:19:45', '1', '1', '2025-03-28 17:33:47', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1792183361065226241, 'weixin', 'enabled', 'true', '寮�鍚敮浠�', 103, '2024-05-19 21:19:45', '1', '1', '2025-03-28 17:33:47', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1792207511704100866, 'sys', 'name', '鐔婄尗鍔╂墜', '缃戠珯鍚嶇О', 103, '2024-05-19 22:55:43', '1', '1', '2025-03-26 19:48:33', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1792207512089976834, 'sys', 'logoImage', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2024/05/19/4c106628754b4bd882a4c002eaa317f5.jpg', '缃戠珯logo', 103, '2024-05-19 22:55:43', '1', '1', '2025-03-26 19:48:33', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1792207512412938241, 'sys', 'copyright', 'ageerle', '鐗堟潈淇℃伅', 103, '2024-05-19 22:55:43', '1', '1', '2025-03-26 19:48:33', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1792207512740093954, 'sys', 'customImage', '', '瀹㈡湇浜岀淮鐮�', 103, '2024-05-19 22:55:43', '1', '1', '2025-03-26 19:48:33', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1792207512740093955, 'sys', 'activate', 'true', '绯荤粺婵�娲荤姸鎬�', 103, '2024-05-19 22:55:43', '1', '1', '2024-06-04 04:26:14', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1795022320576143362, 'sys', 'authcode', '1716475338010', '璇佷功缂栧彿', 103, '2024-05-27 17:20:46', NULL, NULL, '2024-05-27 17:20:46', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1795022320576143363, 'stripe', 'success', 'http://xx:6039/success', '鎴愬姛鍥炶皟', 103, '2024-05-27 17:20:46', NULL, '1', '2024-08-11 12:02:41', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1795022320576143364, 'stripe', 'cancel', 'http://xx:6039/cancel', '鍙栨秷鍥炶皟', 103, '2024-05-27 17:20:46', NULL, '1', '2024-08-11 12:02:41', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1795022320576143365, 'stripe', 'key', 'xx0005', '鏀粯瀵嗛挜', 103, '2024-05-27 17:20:46', NULL, '1', '2024-08-11 12:02:42', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1795022320576143366, 'stripe', 'secret', 'xx0005', '鍥炶皟瀵嗛挜', 103, '2024-05-27 17:20:46', NULL, '1', '2024-08-11 12:02:42', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1811317731650797570, 'mail', 'free', '3', '鍏嶈垂瀵硅瘽娆℃暟', 103, '2024-07-11 16:32:55', '1', '1', '2024-07-17 17:28:52', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1811317732300914689, 'mail', 'mailModel', '<p>鎮ㄦ娆$殑楠岃瘉鐮佷负锛歿code}锛屾湁鏁堟湡涓�30鍒嗛挓锛岃灏藉揩濉啓!</p><p><br></p>', '閭妯℃澘', 103, '2024-07-11 16:32:55', '1', '1', '2024-07-17 17:28:52', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1813506141979254785, 'mail', 'mailTitle', '銆愮唺鐚姪鎵嬨�戦獙璇佺爜', '閭鏍囬', 103, '2024-07-17 17:28:52', '1', '1', '2024-07-17 17:28:52', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1818270017648070657, 'stripe', 'prompt', 'This system is for demonstration only and does not currently support this feature!', '鎻愮ず璇�', 103, '2024-07-30 20:58:49', '1', '1', '2024-08-11 12:02:42', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1818270017966837761, 'stripe', 'enabled', 'true', '寮�鍚敮浠�', 103, '2024-07-30 20:58:49', '1', '1', '2024-08-11 12:02:42', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1897610056458412050, 'weaviate', 'protocol', 'http', '鍗忚', 103, '2025-03-06 21:10:02', '1', '1', '2025-03-06 21:10:31', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1897610056458412051, 'weaviate', 'host', '127.0.0.1:6038', '鍦板潃', 103, '2025-03-06 21:10:02', '1', '1', '2025-03-06 21:10:31', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1897610056458412052, 'weaviate', 'classname', 'LocalKnowledge', '鍒嗙被鍚嶇О', 103, '2025-03-06 21:10:02', '1', '1', '2025-03-06 21:10:31', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1897610056458412053, 'milvus', 'host', '127.0.0.1', '鍦板潃', 103, '2025-03-06 21:10:02', '1', '1', '2025-03-06 21:10:31', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1897610056458412054, 'milvus', 'port', '19530', '绔彛', 103, '2025-03-06 21:10:02', '1', '1', '2025-03-06 21:10:31', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1897610056458412055, 'milvus', 'dimension', '1536', '缁村害', 103, '2025-03-06 21:10:02', '1', '1', '2025-03-06 21:10:31', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1897610056458412056, 'milvus', 'collection', 'LocalKnowledge', '鍒嗙被鍚嶇О', 103, '2025-03-06 21:10:02', '1', '1', '2025-03-06 21:10:31', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1897610056458412057, 'zhipu', 'key', '', '鏅鸿氨娓呰█key', 103, '2025-03-12 00:13:12', '1', '1', '2025-03-12 00:13:10', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_config` VALUES (1904862904897019905, 'sys', 'model', '', '绯荤粺妯″瀷', 103, '2025-03-26 19:48:02', '1', '1', '2025-03-26 19:48:02', NULL, NULL, '0', NULL, 0);
-
--- ----------------------------
--- Table structure for chat_gpts
--- ----------------------------
-DROP TABLE IF EXISTS `chat_gpts`;
-CREATE TABLE `chat_gpts`  (
-  `id` bigint(20) NOT NULL COMMENT 'id',
-  `gid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'gpts搴旂敤id',
-  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'gpts搴旂敤鍚嶇О',
-  `logo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'gpts鍥炬爣',
-  `info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'gpts鎻忚堪',
-  `author_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浣滆�卛d',
-  `author_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浣滆�呭悕绉�',
-  `use_cnt` int(11) NULL DEFAULT 0 COMMENT '鐐硅禐',
-  `bad` int(11) NULL DEFAULT 0 COMMENT '宸瘎',
-  `type` char(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '绫诲瀷',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鍒涘缓鑰�',
-  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  `version` int(11) NULL DEFAULT NULL COMMENT '鐗堟湰',
-  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�',
-  `update_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏇存柊IP',
-  `tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '绉熸埛Id',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '搴旂敤绠$悊' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of chat_gpts
--- ----------------------------
-INSERT INTO `chat_gpts` VALUES (1810602934286237698, 'gpt-4-gizmo-g-RQAWjtI6u', '缈昏瘧鍔╂墜', 'https://external-content.duckduckgo.com/ip3/chat.openai.com.ico', '涓嫳鍜岃嫳涓炕璇戜笓瀹�', NULL, NULL, 0, 0, NULL, 103, '2024-07-09 17:12:34', '1', '1', '2024-07-12 15:40:13', 'Ms. Smith, the AI-powered Language Teacher, is a revolutionary GPT-based bot that offers personalized language learning experiences in over 20 languages, including Spanish, German, French, English, Chinese, Korean, Japanese, and more\n', NULL, '0', NULL, 0);
-INSERT INTO `chat_gpts` VALUES (1811668415990931458, 'gpt-4-gizmo-g-XbReEL4Uq', '娓呭寳鍏ㄧ鍖荤敓', 'https://external-content.duckduckgo.com/ip3/chat.openai.com.ico', '瀵屾湁鍚屾儏蹇冪殑鍏ㄧ鍖荤敓鎻愪緵鍋ュ悍鎸囧', NULL, NULL, 0, 0, NULL, 103, '2024-07-12 15:46:24', '1', '1', '2024-07-12 15:46:24', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_gpts` VALUES (1811670922074988545, 'gpt-4-gizmo-g-AphhNRLxt', '鎻愮ず璇嶄紭鍖�', 'https://external-content.duckduckgo.com/ip3/chat.openai.com.ico', '鎿呴暱涓篜rompt 鎻愬崌娓呮櫚搴﹀拰鍒涢�犲姏鐨勫ぇ甯�', NULL, NULL, 0, 0, NULL, 103, '2024-07-12 15:56:22', '1', '1', '2024-07-12 15:56:22', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_gpts` VALUES (1811815442062188545, 'gpt-4-gizmo-g-ThuHxKi7e', '灏忕孩涔︽枃妗堢敓鎴愬櫒', 'https://external-content.duckduckgo.com/ip3/chat.openai.com.ico', '灏忕孩涔︽枃妗堢敓鎴愬櫒', NULL, NULL, 0, 0, NULL, 103, '2024-07-13 01:30:38', '1', '1', '2024-07-13 01:30:38', NULL, NULL, '0', NULL, 0);
-INSERT INTO `chat_gpts` VALUES (1811817605668741121, 'gpt-4-gizmo-g-AsQCd3k8', '涓浗娉曞緥鍔╂墜', 'https://external-content.duckduckgo.com/ip3/chat.openai.com.ico', '鍏ㄩ潰鎺屾彙涓浗娉曞緥鐨勬櫤鑳藉姪鎵嬶紝鍙府鍔╄捣鑽夋枃涔︼紝鍒嗘瀽妗堜欢锛岃繘琛屾硶寰嬪挩璇�', NULL, NULL, 0, 0, NULL, 103, '2024-07-13 01:39:14', '1', '1', '2024-07-13 01:39:14', NULL, NULL, '2', NULL, 0);
-INSERT INTO `chat_gpts` VALUES (1811817605668741122, 'gpt-4-gizmo-g-IXwub6dJu', '鑻辫鑰佸笀', 'https://external-content.duckduckgo.com/ip3/chat.openai.com.ico', '鑻辫瀛︿範GPT鏄竴涓笓闂ㄨ璁℃潵甯姪鐢ㄦ埛鎻愰珮浠栦滑鐨勮嫳璇妧鑳界殑浜哄伐鏅鸿兘鍔╂墜', NULL, NULL, 0, 0, NULL, NULL, NULL, '', '', NULL, NULL, NULL, '0', NULL, 0);
-
--- ----------------------------
--- Table structure for chat_message
--- ----------------------------
-DROP TABLE IF EXISTS `chat_message`;
-CREATE TABLE `chat_message`  (
-  `id` bigint(20) NOT NULL COMMENT '涓婚敭',
-  `user_id` bigint(20) NOT NULL COMMENT '鐢ㄦ埛id',
-  `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '娑堟伅鍐呭',
-  `role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '瀵硅瘽瑙掕壊',
-  `deduct_cost` double(20, 2) NULL DEFAULT 0.00 COMMENT '鎵i櫎閲戦',
-  `total_tokens` int(20) NULL DEFAULT 0 COMMENT '绱 Tokens',
-  `model_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '妯″瀷鍚嶇О',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鑱婂ぉ娑堟伅琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of chat_message
--- ----------------------------
-
--- ----------------------------
--- Table structure for chat_model
--- ----------------------------
-DROP TABLE IF EXISTS `chat_model`;
-CREATE TABLE `chat_model`  (
-  `id` bigint(20) NOT NULL COMMENT '涓婚敭',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '绉熸埛缂栧彿',
-  `category` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '妯″瀷鍒嗙被',
-  `model_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '妯″瀷鍚嶇О',
-  `model_describe` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '妯″瀷鎻忚堪',
-  `model_price` double NULL DEFAULT NULL COMMENT '妯″瀷浠锋牸',
-  `model_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '璁¤垂绫诲瀷',
-  `model_show` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏄惁鏄剧ず',
-  `system_prompt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '绯荤粺鎻愮ず璇�',
-  `api_host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '璇锋眰鍦板潃',
-  `api_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '瀵嗛挜',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鑱婂ぉ妯″瀷' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of chat_model
--- ----------------------------
-INSERT INTO `chat_model` VALUES (1781709495515783171, '000000', 'chat', 'gpt-4-all', 'gpt-4-hhh', 0, '2', '0', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-20 23:40:41', 1, '2025-03-31 16:32:19', 'My name is Tr0e');
-INSERT INTO `chat_model` VALUES (1781715781896646657, '000000', 'chat', 'suno-v3', 'suno-v3', 0.3, '1', '0', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-21 00:05:20', 1, '2025-03-31 13:24:33', 'suno-v3');
-INSERT INTO `chat_model` VALUES (1781728235120791553, '000000', 'chat', 'stable-diffusion', 'stable-diffusion', 0.1, '2', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-21 00:54:49', 1, '2025-03-26 10:46:38', 'stable-diffusion');
-INSERT INTO `chat_model` VALUES (1782736322308943873, '000000', 'chat', 'dall-e-3', 'dall3', 0.3, '2', '1', '', 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-23 19:40:36', 1, '2025-03-27 10:08:07', 'dall3');
-INSERT INTO `chat_model` VALUES (1782736729471004673, '000000', 'chat', 'gpt-4-gizmo', 'gpt-4-gizmo', 0.2, '2', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-23 19:42:13', 1, '2025-03-06 20:16:42', 'gpt-4-gizmo');
-INSERT INTO `chat_model` VALUES (1782792839548735490, '000000', 'chat', 'midjourney', 'midjourney', 0.5, '2', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-23 23:25:10', 1, '2025-03-23 09:15:55', 'midjourney');
-INSERT INTO `chat_model` VALUES (1782792839548735491, '000000', 'chat', 'suno', 'suno', 0.3, '2', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-23 23:25:10', 1, '2024-12-27 22:29:15', 'suno');
-INSERT INTO `chat_model` VALUES (1782792839548735492, '000000', 'chat', 'luma', 'luma', 1, '2', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-04-23 23:25:10', 1, '2025-03-27 10:08:15', 'luma');
-INSERT INTO `chat_model` VALUES (1782792839548735493, '000000', 'chat', 'ppt', 'ppt', 1.1, '2', '1', NULL, 'https://docmee.cn', 'sk-xx', 103, 1, '2025-01-10 23:25:10', 1, '2025-03-22 08:30:29', 'ppt');
-INSERT INTO `chat_model` VALUES (1811030708604317697, '000000', 'chat', 'gemini-1.5-pro', 'gemini-1.5-pro', 0.2, '1', '0', '', 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-07-10 21:32:23', 1, '2025-03-27 16:37:17', 'gemini-1.5-pro');
-INSERT INTO `chat_model` VALUES (1813306888443305986, '000000', 'chat', 'claude-3-5-sonnet-20240620', 'claude-3-5-sonnet-20240620', 0.2, '1', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-07-17 04:17:06', 1, '2025-03-23 09:15:49', 'claude-3-5-sonnet-20240620');
-INSERT INTO `chat_model` VALUES (1814227154275082242, '000000', 'chat', 'o1-mini-2024-09-12', 'o1-mini-2024-09-12', 0.01, '1', '1', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-07-19 17:13:55', 1, '2025-03-23 09:15:41', 'o1-mini-2024-09-12');
-INSERT INTO `chat_model` VALUES (1828324413241466881, '000000', 'chat', 'deepseek-r1', 'deepseek-r1', 0.01, '1', '0', NULL, 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-08-27 14:51:23', NULL, '2025-03-27 16:21:04', 'chatgpt-4o-latest');
-INSERT INTO `chat_model` VALUES (1859570229117022211, '000000', 'chat', 'gpt-4o-mini', 'gpt-4o-mini', 0.1, '2', '0', '', 'https://api.pandarobot.chat/', 'sk-xx', 103, 1, '2024-11-21 20:11:06', 1, '2025-03-27 16:20:39', '1');
-
--- ----------------------------
--- Table structure for chat_package_plan
--- ----------------------------
-DROP TABLE IF EXISTS `chat_package_plan`;
-CREATE TABLE `chat_package_plan`  (
-  `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
-  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '濂楅鍚嶇О',
-  `price` double(10, 2) NOT NULL COMMENT '濂楅浠锋牸',
-  `duration` int(11) NOT NULL COMMENT '鏈夋晥鏃堕棿',
-  `plan_detail` varchar(5000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '璁″垝璇︽儏',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1819934166912442370 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '濂楅绠$悊' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of chat_package_plan
--- ----------------------------
-INSERT INTO `chat_package_plan` VALUES (1787085620534378498, '鍒濈骇濂楅', 4.90, 30, 'o1-mini-2024-09-12', 103, 1, '2024-05-05 19:43:09', 1, '2024-08-27 15:00:35', '3');
-INSERT INTO `chat_package_plan` VALUES (1787085808271425538, '涓骇濂楅', 9.90, 30, 'o1-mini-2024-09-12', 103, 1, '2024-05-05 19:43:54', 1, '2024-08-27 15:01:32', '3');
-INSERT INTO `chat_package_plan` VALUES (1787085903419211778, '楂樼骇濂楅', 14.90, 30, 'o1-mini-2024-09-12', 103, 1, '2024-05-05 19:44:16', 1, '2024-08-27 15:02:16', '3');
-INSERT INTO `chat_package_plan` VALUES (1819933853652459522, 'Visitor', 0.00, 365, 'o1-mini-2024-09-12', 103, 1, '2024-08-04 11:10:18', 1, '2024-08-27 15:32:01', '1');
-INSERT INTO `chat_package_plan` VALUES (1819934166912442369, 'Free', 0.00, 365, 'o1-mini-2024-09-12', 103, 1, '2024-08-04 11:11:33', 1, '2024-08-27 15:31:51', '2');
-
--- ----------------------------
--- Table structure for chat_pay_order
--- ----------------------------
-DROP TABLE IF EXISTS `chat_pay_order`;
-CREATE TABLE `chat_pay_order`  (
-  `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
-  `order_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '璁㈠崟缂栧彿',
-  `order_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '璁㈠崟鍚嶇О',
-  `amount` decimal(10, 2) NOT NULL COMMENT '閲戦',
-  `payment_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏀粯鐘舵��',
-  `payment_method` char(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏀粯鏂瑰紡',
-  `user_id` bigint(20) NULL DEFAULT NULL COMMENT '鐢ㄦ埛ID',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鏀粯璁㈠崟琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of chat_pay_order
--- ----------------------------
-
--- ----------------------------
--- Table structure for chat_plugin
--- ----------------------------
-DROP TABLE IF EXISTS `chat_plugin`;
-CREATE TABLE `chat_plugin`  (
-  `id` bigint(20) NOT NULL COMMENT '涓婚敭',
-  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鎻掍欢鍚嶇О',
-  `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鎻掍欢缂栫爜',
-  `create_dept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '閮ㄩ棬',
-  `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍒涘缓浜�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鎻掍欢绠$悊' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of chat_plugin
--- ----------------------------
-
--- ----------------------------
--- Table structure for chat_rob_config
--- ----------------------------
-DROP TABLE IF EXISTS `chat_rob_config`;
-CREATE TABLE `chat_rob_config`  (
-  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
-  `user_id` bigint(20) NULL DEFAULT NULL COMMENT '鎵�灞炵敤鎴�',
-  `bot_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鏈哄櫒浜哄悕绉�',
-  `unique_key` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '鏈哄櫒鍞竴鐮�',
-  `default_friend` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '\0' COMMENT '榛樿濂藉弸鍥炲寮�鍏�',
-  `default_group` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '\0' COMMENT '榛樿缇ゅ洖澶嶅紑鍏�',
-  `enable` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鏈哄櫒浜虹姸鎬�  0姝e父 1鍚敤',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`id`) USING BTREE,
-  UNIQUE INDEX `udx_wx_rob_config_uniquekey`(`unique_key`) USING BTREE,
-  UNIQUE INDEX `udx_wx_name`(`bot_name`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鑱婂ぉ鏈哄櫒浜洪厤缃�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of chat_rob_config
--- ----------------------------
-
--- ----------------------------
--- Table structure for chat_usage_token
--- ----------------------------
-DROP TABLE IF EXISTS `chat_usage_token`;
-CREATE TABLE `chat_usage_token`  (
-  `id` bigint(20) NOT NULL COMMENT '涓婚敭',
-  `user_id` bigint(20) NOT NULL COMMENT '鐢ㄦ埛',
-  `token` int(10) NULL DEFAULT NULL COMMENT '寰呯粨绠梩oken',
-  `model_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '妯″瀷鍚嶇О',
-  `total_token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '绱浣跨敤token',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐢ㄦ埛token浣跨敤璇︽儏' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of chat_usage_token
--- ----------------------------
-
--- ----------------------------
--- Table structure for chat_voucher
--- ----------------------------
-DROP TABLE IF EXISTS `chat_voucher`;
-CREATE TABLE `chat_voucher`  (
-  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
-  `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鍏戞崲鐮�',
-  `amount` double(10, 2) NOT NULL COMMENT '鍏戞崲閲戦',
-  `user_id` bigint(20) NULL DEFAULT NULL COMMENT '鐢ㄦ埛id',
-  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '鍏戞崲鐘舵��',
-  `balance_before` double(10, 2) NULL DEFAULT NULL COMMENT '鍏戞崲鍓嶄綑棰�',
-  `balance_after` double(10, 2) NULL DEFAULT NULL COMMENT '鍏戞崲鍚庝綑棰�',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鍒涘缓鑰�',
-  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐢ㄦ埛鍏戞崲璁板綍' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of chat_voucher
--- ----------------------------
-
--- ----------------------------
--- Table structure for gen_table
--- ----------------------------
-DROP TABLE IF EXISTS `gen_table`;
-CREATE TABLE `gen_table`  (
-  `table_id` bigint(20) NOT NULL COMMENT '缂栧彿',
-  `table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '琛ㄥ悕绉�',
-  `table_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '琛ㄦ弿杩�',
-  `sub_table_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍏宠仈瀛愯〃鐨勮〃鍚�',
-  `sub_table_fk_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '瀛愯〃鍏宠仈鐨勫閿悕',
-  `class_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '瀹炰綋绫诲悕绉�',
-  `tpl_category` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'crud' COMMENT '浣跨敤鐨勬ā鏉匡紙crud鍗曡〃鎿嶄綔 tree鏍戣〃鎿嶄綔锛�',
-  `package_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鐢熸垚鍖呰矾寰�',
-  `module_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鐢熸垚妯″潡鍚�',
-  `business_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鐢熸垚涓氬姟鍚�',
-  `function_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鐢熸垚鍔熻兘鍚�',
-  `function_author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鐢熸垚鍔熻兘浣滆��',
-  `gen_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鐢熸垚浠g爜鏂瑰紡锛�0zip鍘嬬缉鍖� 1鑷畾涔夎矾寰勶級',
-  `gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '/' COMMENT '鐢熸垚璺緞锛堜笉濉粯璁ら」鐩矾寰勶級',
-  `options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍏跺畠鐢熸垚閫夐」',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`table_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '浠g爜鐢熸垚涓氬姟琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of gen_table
--- ----------------------------
-INSERT INTO `gen_table` VALUES (1906673887579049985, 'chat_config', '閰嶇疆淇℃伅琛�', NULL, NULL, 'ChatConfig', 'crud', 'org.ruoyi.system', 'system', 'config', '閰嶇疆淇℃伅', 'ageerle', '0', '/', NULL, 103, 1, '2025-03-31 19:36:27', 1, '2025-03-31 19:36:27', NULL);
-
--- ----------------------------
--- Table structure for gen_table_column
--- ----------------------------
-DROP TABLE IF EXISTS `gen_table_column`;
-CREATE TABLE `gen_table_column`  (
-  `column_id` bigint(20) NOT NULL COMMENT '缂栧彿',
-  `table_id` bigint(20) NULL DEFAULT NULL COMMENT '褰掑睘琛ㄧ紪鍙�',
-  `column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍒楀悕绉�',
-  `column_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍒楁弿杩�',
-  `column_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍒楃被鍨�',
-  `java_type` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'JAVA绫诲瀷',
-  `java_field` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'JAVA瀛楁鍚�',
-  `is_pk` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏄惁涓婚敭锛�1鏄級',
-  `is_increment` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏄惁鑷锛�1鏄級',
-  `is_required` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏄惁蹇呭~锛�1鏄級',
-  `is_insert` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏄惁涓烘彃鍏ュ瓧娈碉紙1鏄級',
-  `is_edit` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏄惁缂栬緫瀛楁锛�1鏄級',
-  `is_list` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏄惁鍒楄〃瀛楁锛�1鏄級',
-  `is_query` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏄惁鏌ヨ瀛楁锛�1鏄級',
-  `query_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'EQ' COMMENT '鏌ヨ鏂瑰紡锛堢瓑浜庛�佷笉绛変簬銆佸ぇ浜庛�佸皬浜庛�佽寖鍥达級',
-  `html_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏄剧ず绫诲瀷锛堟枃鏈銆佹枃鏈煙銆佷笅鎷夋銆佸閫夋銆佸崟閫夋銆佹棩鏈熸帶浠讹級',
-  `dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '瀛楀吀绫诲瀷',
-  `sort` int(11) NULL DEFAULT NULL COMMENT '鎺掑簭',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  PRIMARY KEY (`column_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '浠g爜鐢熸垚涓氬姟琛ㄥ瓧娈�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of gen_table_column
--- ----------------------------
-INSERT INTO `gen_table_column` VALUES (1906673888229167105, 1906673887579049985, 'id', '涓婚敭', 'bigint(20)', 'Long', 'id', '1', '1', '1', NULL, '1', '1', NULL, 'EQ', 'input', '', 1, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888229167106, 1906673887579049985, 'category', '閰嶇疆绫诲瀷', 'varchar(255)', 'String', 'category', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888229167107, 1906673887579049985, 'config_name', '閰嶇疆鍚嶇О', 'varchar(255)', 'String', 'configName', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 3, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888229167108, 1906673887579049985, 'config_value', '閰嶇疆鍊�', 'text', 'String', 'configValue', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'textarea', '', 4, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888229167109, 1906673887579049985, 'config_dict', '璇存槑', 'varchar(255)', 'String', 'configDict', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 5, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888229167110, 1906673887579049985, 'create_dept', '鍒涘缓閮ㄩ棬', 'bigint(20)', 'Long', 'createDept', '0', '0', NULL, NULL, NULL, NULL, NULL, 'EQ', 'input', '', 6, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888229167111, 1906673887579049985, 'create_time', '鍒涘缓鏃堕棿', 'datetime', 'Date', 'createTime', '0', '0', NULL, NULL, NULL, NULL, NULL, 'EQ', 'datetime', '', 7, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888229167112, 1906673887579049985, 'create_by', '鍒涘缓鑰�', 'varchar(64)', 'String', 'createBy', '0', '0', NULL, NULL, NULL, NULL, NULL, 'EQ', 'input', '', 8, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888229167113, 1906673887579049985, 'update_by', '鏇存柊鑰�', 'varchar(64)', 'String', 'updateBy', '0', '0', NULL, NULL, NULL, NULL, NULL, 'EQ', 'input', '', 9, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888229167114, 1906673887579049985, 'update_time', '鏇存柊鏃堕棿', 'datetime', 'Date', 'updateTime', '0', '0', NULL, NULL, NULL, NULL, NULL, 'EQ', 'datetime', '', 10, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888229167115, 1906673887579049985, 'remark', '澶囨敞', 'varchar(500)', 'String', 'remark', '0', '0', '1', '1', '1', '1', NULL, 'EQ', 'textarea', '', 11, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888229167116, 1906673887579049985, 'version', '鐗堟湰', 'int(11)', 'Long', 'version', '0', '0', NULL, NULL, NULL, NULL, NULL, 'EQ', 'input', '', 12, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888292081665, 1906673887579049985, 'del_flag', '鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�', 'char(1)', 'String', 'delFlag', '0', '0', NULL, NULL, NULL, NULL, NULL, 'EQ', 'input', '', 13, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888292081666, 1906673887579049985, 'update_ip', '鏇存柊IP', 'varchar(128)', 'String', 'updateIp', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 14, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-INSERT INTO `gen_table_column` VALUES (1906673888292081667, 1906673887579049985, 'tenant_id', '绉熸埛Id', 'bigint(20)', 'Long', 'tenantId', '0', '0', '1', NULL, NULL, NULL, NULL, 'EQ', 'input', '', 15, 103, 1, '2025-03-31 19:44:14', 1, '2025-03-31 19:44:14');
-
--- ----------------------------
--- Table structure for knowledge_attach
--- ----------------------------
-DROP TABLE IF EXISTS `knowledge_attach`;
-CREATE TABLE `knowledge_attach`  (
-  `id` bigint(20) NOT NULL AUTO_INCREMENT,
-  `kid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鐭ヨ瘑搴揑D',
-  `doc_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鏂囨。ID',
-  `doc_name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏂囨。鍚嶇О',
-  `doc_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鏂囨。绫诲瀷',
-  `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '鏂囨。鍐呭',
-  `create_dept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '閮ㄩ棬',
-  `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍒涘缓浜�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`id`) USING BTREE,
-  UNIQUE INDEX `idx_kname`(`kid`, `doc_name`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1906640977816494082 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐭ヨ瘑搴撻檮浠�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of knowledge_attach
--- ----------------------------
-
--- ----------------------------
--- Table structure for knowledge_fragment
--- ----------------------------
-DROP TABLE IF EXISTS `knowledge_fragment`;
-CREATE TABLE `knowledge_fragment`  (
-  `id` bigint(20) NOT NULL AUTO_INCREMENT,
-  `kid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鐭ヨ瘑搴揑D',
-  `doc_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏂囨。ID',
-  `fid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鐭ヨ瘑鐗囨ID',
-  `idx` int(11) NOT NULL COMMENT '鐗囨绱㈠紩涓嬫爣',
-  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鏂囨。鍐呭',
-  `create_dept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '閮ㄩ棬',
-  `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍒涘缓浜�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1906640976134578257 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐭ヨ瘑鐗囨' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of knowledge_fragment
--- ----------------------------
-
--- ----------------------------
--- Table structure for knowledge_info
--- ----------------------------
-DROP TABLE IF EXISTS `knowledge_info`;
-CREATE TABLE `knowledge_info`  (
-  `id` bigint(20) NOT NULL AUTO_INCREMENT,
-  `kid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鐭ヨ瘑搴揑D',
-  `uid` bigint(20) NOT NULL DEFAULT 0 COMMENT '鐢ㄦ埛ID',
-  `kname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鐭ヨ瘑搴撳悕绉�',
-  `share` tinyint(4) NULL DEFAULT NULL COMMENT '鏄惁鍏紑鐭ヨ瘑搴擄紙0 鍚� 1鏄級',
-  `description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鎻忚堪',
-  `knowledge_separator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鐭ヨ瘑鍒嗛殧绗�',
-  `question_separator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鎻愰棶鍒嗛殧绗�',
-  `overlap_char` int(11) NULL DEFAULT NULL COMMENT '閲嶅彔瀛楃鏁�',
-  `retrieve_limit` int(11) NULL DEFAULT NULL COMMENT '鐭ヨ瘑搴撲腑妫�绱㈢殑鏉℃暟',
-  `text_block_size` int(11) NULL DEFAULT NULL COMMENT '鏂囨湰鍧楀ぇ灏�',
-  `vector` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍚戦噺搴�',
-  `vector_model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍚戦噺妯″瀷',
-  `create_dept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '閮ㄩ棬',
-  `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍒涘缓浜�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`id`) USING BTREE,
-  UNIQUE INDEX `idx_kid`(`kid`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1906589542361899010 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐭ヨ瘑搴�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of knowledge_info
--- ----------------------------
-
--- ----------------------------
--- Table structure for sys_config
--- ----------------------------
-DROP TABLE IF EXISTS `sys_config`;
-CREATE TABLE `sys_config`  (
-  `config_id` bigint(20) NOT NULL COMMENT '鍙傛暟涓婚敭',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '绉熸埛缂栧彿',
-  `config_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鍙傛暟鍚嶇О',
-  `config_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鍙傛暟閿悕',
-  `config_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鍙傛暟閿��',
-  `config_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '绯荤粺鍐呯疆锛圷鏄� N鍚︼級',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`config_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鍙傛暟閰嶇疆琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_config
--- ----------------------------
-INSERT INTO `sys_config` VALUES (1, '000000', '鏃堕棿鍙傛暟', 'skin-purple', 'skin-blue', 'N', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-28 22:30:49', '钃濊壊 skin-blue銆佺豢鑹� skin-green銆佺传鑹� skin-purple銆佺孩鑹� skin-red銆侀粍鑹� skin-yellow');
-INSERT INTO `sys_config` VALUES (2, '000000', '鏄剧ず鏂瑰紡', 'sys.user.initPassword', '123456', 'N', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-28 10:40:44', '鍒濆鍖栧瘑鐮� 123456');
-INSERT INTO `sys_config` VALUES (3, '000000', '鍥炵瓟妯℃澘', 'sys.index.sideTheme', 'theme-dark', 'Y', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-28 10:40:50', '娣辫壊涓婚theme-dark锛屾祬鑹蹭富棰榯heme-light');
-INSERT INTO `sys_config` VALUES (5, '000000', '鏃犵粨鏋滄椂鏄惁浜ょ敱鍏朵粬鍥炵瓟鎸囦护妯℃澘杩涜閰嶇疆澶勭悊', 'sys.account.registerUser', 'false', 'Y', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-28 10:40:57', '鏄惁寮�鍚敞鍐岀敤鎴峰姛鑳斤紙true寮�鍚紝false鍏抽棴锛�');
-INSERT INTO `sys_config` VALUES (11, '000000', 'OSS棰勮鍒楄〃璧勬簮寮�鍏�', 'sys.oss.previewListResource', 'true', 'Y', 103, 1, '2023-05-14 15:19:42', NULL, NULL, 'true:寮�鍚�, false:鍏抽棴');
-INSERT INTO `sys_config` VALUES (1901957791626854401, '000000', '1', '1', '1', 'N', 103, 1, '2025-03-18 19:24:09', 1, '2025-03-18 19:24:09', NULL);
-INSERT INTO `sys_config` VALUES (1902001922927525890, '000000', '111', '111', '111', 'N', 103, 1, '2025-03-18 22:19:31', 1, '2025-03-18 22:19:31', NULL);
-INSERT INTO `sys_config` VALUES (1903121770873139202, '000000', '12', '12', '12', 'N', 103, 1, '2025-03-22 00:29:23', 1, '2025-03-22 00:29:23', NULL);
-INSERT INTO `sys_config` VALUES (1903148170321637377, '000000', '324', '234', '234', 'N', 103, 1, '2025-03-22 02:14:17', 1, '2025-03-22 02:14:17', NULL);
-INSERT INTO `sys_config` VALUES (1903150187299516418, '000000', '1鍘�', '棰�', '棰濆', 'N', 103, 1, '2025-03-22 02:22:18', 1, '2025-03-22 02:22:18', NULL);
-INSERT INTO `sys_config` VALUES (1903150796597669890, '000000', '1323321', '1321', '1', 'Y', 103, 1, '2025-03-22 02:24:43', 1, '2025-03-22 02:24:43', NULL);
-INSERT INTO `sys_config` VALUES (1903977127044497410, '000000', 'aq', 'as', 'sa', 'Y', 103, 1, '2025-03-24 09:08:16', 1, '2025-03-24 09:08:16', 'as');
-INSERT INTO `sys_config` VALUES (1903992403639189505, '000000', '12', '12323234', '1', 'N', 103, 1, '2025-03-24 10:08:58', 1, '2025-03-24 10:08:58', '1');
-INSERT INTO `sys_config` VALUES (1904348758011060225, '000000', '123', '123', '123', 'N', 103, 1, '2025-03-25 09:45:00', 1, '2025-03-25 09:45:00', NULL);
-INSERT INTO `sys_config` VALUES (1904433831695654913, '000000', 'Test01', '1111', '1222', 'N', 103, 1, '2025-03-25 15:23:03', 1, '2025-03-28 22:30:53', '123123');
-INSERT INTO `sys_config` VALUES (1904492290667487233, '000000', 'test', 'test', 'test', 'Y', 103, 1, '2025-03-25 19:15:21', 1, '2025-03-25 19:15:21', '闃挎柉椤垮彂');
-INSERT INTO `sys_config` VALUES (1904526572685402114, '000000', 'a', 'k', '123', 'N', 103, 1, '2025-03-25 21:31:34', 1, '2025-03-25 21:31:34', NULL);
-INSERT INTO `sys_config` VALUES (1904730931222323202, '000000', '鏀粯111', '鏀粯111', '100', 'N', 103, 1, '2025-03-26 11:03:37', 1, '2025-03-26 11:03:37', '娴嬭瘯');
-INSERT INTO `sys_config` VALUES (1904731973473312770, '000000', '绉垎鍏戞崲111', '121', '121', 'N', 103, 1, '2025-03-26 11:07:45', 1, '2025-03-26 11:07:45', '绉垎鍏戞崲');
-INSERT INTO `sys_config` VALUES (1904789679236227073, '000000', '2', '2', '2', 'N', 103, 1, '2025-03-26 14:57:03', 1, '2025-03-26 14:57:03', NULL);
-INSERT INTO `sys_config` VALUES (1905070856643846146, '000000', '21', '21', '2121', 'N', 103, 1, '2025-03-27 09:34:21', 1, '2025-03-27 09:34:21', '21212');
-INSERT INTO `sys_config` VALUES (1905449847099793409, '000000', '鎸囨爣鏃堕棿鍙傛暟閰嶇疆', '12321', '12321', 'N', 103, 1, '2025-03-28 10:40:20', 1, '2025-03-28 10:40:20', NULL);
-INSERT INTO `sys_config` VALUES (1906533795238289409, '000000', '123222', '123222', '123222', 'Y', 103, 1, '2025-03-31 10:27:33', 1, '2025-03-31 10:27:33', NULL);
-INSERT INTO `sys_config` VALUES (1906597665071996929, '000000', '浠�涔堥兘鍙傛暟', '浠�涔堥兘鍙傛暟', '1', 'Y', 103, 1, '2025-03-31 14:41:21', 1, '2025-03-31 14:41:21', '1');
-INSERT INTO `sys_config` VALUES (1906619956543660034, '000000', '娴嬭瘯', '娴嬭瘯', '娴嬭瘯', 'N', 103, 1, '2025-03-31 16:09:56', 1, '2025-03-31 16:09:56', NULL);
-
--- ----------------------------
--- Table structure for sys_dept
--- ----------------------------
-DROP TABLE IF EXISTS `sys_dept`;
-CREATE TABLE `sys_dept`  (
-  `dept_id` bigint(20) NOT NULL COMMENT '閮ㄩ棬id',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '绉熸埛缂栧彿',
-  `parent_id` bigint(20) NULL DEFAULT 0 COMMENT '鐖堕儴闂╥d',
-  `ancestors` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '绁栫骇鍒楄〃',
-  `dept_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '閮ㄩ棬鍚嶇О',
-  `order_num` int(4) NULL DEFAULT 0 COMMENT '鏄剧ず椤哄簭',
-  `leader` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '璐熻矗浜�',
-  `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鑱旂郴鐢佃瘽',
-  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '閭',
-  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '閮ㄩ棬鐘舵�侊紙0姝e父 1鍋滅敤锛�',
-  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  PRIMARY KEY (`dept_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '閮ㄩ棬琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_dept
--- ----------------------------
-INSERT INTO `sys_dept` VALUES (100, '000000', 0, '0', '鐔婄尗绉戞妧', 0, 'ageerle', '15888888888', 'ageerle@163.com', '0', '0', 103, 1, '2023-05-14 15:19:39', 1, '2023-12-29 11:18:24');
-INSERT INTO `sys_dept` VALUES (101, '000000', 100, '0,100', '娣卞湷鎬诲叕鍙�', 1, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL);
-INSERT INTO `sys_dept` VALUES (102, '000000', 100, '0,100', '闀挎矙鍒嗗叕鍙�', 2, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL);
-INSERT INTO `sys_dept` VALUES (103, '000000', 101, '0,100,101', '鐮斿彂閮ㄩ棬', 1, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL);
-INSERT INTO `sys_dept` VALUES (104, '000000', 101, '0,100,101', '甯傚満閮ㄩ棬', 2, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL);
-INSERT INTO `sys_dept` VALUES (105, '000000', 101, '0,100,101', '娴嬭瘯閮ㄩ棬', 3, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL);
-INSERT INTO `sys_dept` VALUES (106, '000000', 101, '0,100,101', '璐㈠姟閮ㄩ棬', 4, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL);
-INSERT INTO `sys_dept` VALUES (107, '000000', 101, '0,100,101', '杩愮淮閮ㄩ棬', 5, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL);
-INSERT INTO `sys_dept` VALUES (108, '000000', 102, '0,100,102', '甯傚満閮ㄩ棬', 1, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL);
-INSERT INTO `sys_dept` VALUES (109, '000000', 102, '0,100,102', '璐㈠姟閮ㄩ棬', 2, '鐤媯鐨勭嫯瀛怢i', '15888888888', 'xxx@qq.com', '0', '2', 103, 1, '2023-05-14 15:19:39', NULL, NULL);
-INSERT INTO `sys_dept` VALUES (1903101865297752066, '000000', 103, '0,100,101,103', 'AA', 1, NULL, '18701676790', '1234@ss.com', '0', '0', 103, 1, '2025-03-21 23:10:17', 1, '2025-03-21 23:10:17');
-INSERT INTO `sys_dept` VALUES (1904430886174367746, '000000', 1903101865297752066, '0,100,101,103,1903101865297752066', '娴嬭瘯', 1, NULL, NULL, NULL, '0', '0', 103, 1, '2025-03-25 15:11:21', 1, '2025-03-25 15:11:21');
-INSERT INTO `sys_dept` VALUES (1904736932721893377, '000000', 101, '0,100,101', '鐮斿彂閮ㄩ棬2', 100, NULL, NULL, NULL, '0', '0', 103, 1, '2025-03-26 11:27:28', 1, '2025-03-26 11:27:28');
-INSERT INTO `sys_dept` VALUES (1905140221372309505, '000000', 1903101865297752066, '0,100,101,103,1903101865297752066', 'test', 1, NULL, NULL, NULL, '0', '0', 103, 1, '2025-03-27 14:09:59', 1, '2025-03-27 14:09:59');
-INSERT INTO `sys_dept` VALUES (1905554900431183874, '000000', 103, '0,100,101,103', '閮ㄩ棬1', 5, NULL, NULL, NULL, '0', '0', 103, 1, '2025-03-28 17:37:46', 1, '2025-03-28 17:37:46');
-INSERT INTO `sys_dept` VALUES (1905849169498906626, '000000', 1903101865297752066, '0,100,101,103,1903101865297752066', '111111', 1, NULL, NULL, NULL, '0', '0', 103, 1, '2025-03-29 13:07:06', 1, '2025-03-29 13:07:06');
-
--- ----------------------------
--- Table structure for sys_dict_data
--- ----------------------------
-DROP TABLE IF EXISTS `sys_dict_data`;
-CREATE TABLE `sys_dict_data`  (
-  `dict_code` bigint(20) NOT NULL COMMENT '瀛楀吀缂栫爜',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '绉熸埛缂栧彿',
-  `dict_sort` int(4) NULL DEFAULT 0 COMMENT '瀛楀吀鎺掑簭',
-  `dict_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '瀛楀吀鏍囩',
-  `dict_value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '瀛楀吀閿��',
-  `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '瀛楀吀绫诲瀷',
-  `css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏍峰紡灞炴�э紙鍏朵粬鏍峰紡鎵╁睍锛�',
-  `list_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '琛ㄦ牸鍥炴樉鏍峰紡',
-  `is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '鏄惁榛樿锛圷鏄� N鍚︼級',
-  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`dict_code`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '瀛楀吀鏁版嵁琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_dict_data
--- ----------------------------
-INSERT INTO `sys_dict_data` VALUES (1, '000000', 1, '鐢�', '0', 'sys_user_sex', '', '', 'Y', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鎬у埆鐢�');
-INSERT INTO `sys_dict_data` VALUES (2, '000000', 2, '濂�', '1', 'sys_user_sex', '', '', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鎬у埆濂�');
-INSERT INTO `sys_dict_data` VALUES (3, '000000', 3, '鏈煡', '2', 'sys_user_sex', '', '', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鎬у埆鏈煡');
-INSERT INTO `sys_dict_data` VALUES (4, '000000', 1, '鏄剧ず', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鏄剧ず鑿滃崟');
-INSERT INTO `sys_dict_data` VALUES (5, '000000', 2, '闅愯棌', '1', 'sys_show_hide', '', 'danger', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '闅愯棌鑿滃崟');
-INSERT INTO `sys_dict_data` VALUES (6, '000000', 1, '姝e父', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '姝e父鐘舵��');
-INSERT INTO `sys_dict_data` VALUES (7, '000000', 2, '鍋滅敤', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鍋滅敤鐘舵��');
-INSERT INTO `sys_dict_data` VALUES (12, '000000', 1, '鏄�', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '绯荤粺榛樿鏄�');
-INSERT INTO `sys_dict_data` VALUES (13, '000000', 2, '鍚�', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '绯荤粺榛樿鍚�');
-INSERT INTO `sys_dict_data` VALUES (14, '000000', 1, '閫氱煡', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '閫氱煡');
-INSERT INTO `sys_dict_data` VALUES (15, '000000', 2, '鍏憡', '2', 'sys_notice_type', '', 'success', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鍏憡');
-INSERT INTO `sys_dict_data` VALUES (16, '000000', 1, '姝e父', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '姝e父鐘舵��');
-INSERT INTO `sys_dict_data` VALUES (17, '000000', 2, '鍏抽棴', '1', 'sys_notice_status', '', 'danger', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鍏抽棴鐘舵��');
-INSERT INTO `sys_dict_data` VALUES (18, '000000', 1, '鏂板', '1', 'sys_oper_type', '', 'info', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鏂板鎿嶄綔');
-INSERT INTO `sys_dict_data` VALUES (19, '000000', 2, '淇敼', '2', 'sys_oper_type', '', 'info', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '淇敼鎿嶄綔');
-INSERT INTO `sys_dict_data` VALUES (20, '000000', 3, '鍒犻櫎', '3', 'sys_oper_type', '', 'danger', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鍒犻櫎鎿嶄綔');
-INSERT INTO `sys_dict_data` VALUES (21, '000000', 4, '鎺堟潈', '4', 'sys_oper_type', '', 'primary', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鎺堟潈鎿嶄綔');
-INSERT INTO `sys_dict_data` VALUES (22, '000000', 5, '瀵煎嚭', '5', 'sys_oper_type', '', 'warning', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '瀵煎嚭鎿嶄綔');
-INSERT INTO `sys_dict_data` VALUES (23, '000000', 6, '瀵煎叆', '6', 'sys_oper_type', '', 'warning', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '瀵煎叆鎿嶄綔');
-INSERT INTO `sys_dict_data` VALUES (24, '000000', 7, '寮洪��', '7', 'sys_oper_type', '', 'danger', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '寮洪��鎿嶄綔');
-INSERT INTO `sys_dict_data` VALUES (25, '000000', 8, '鐢熸垚浠g爜', '8', 'sys_oper_type', '', 'warning', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鐢熸垚鎿嶄綔');
-INSERT INTO `sys_dict_data` VALUES (26, '000000', 9, '娓呯┖鏁版嵁', '9', 'sys_oper_type', '', 'danger', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '娓呯┖鎿嶄綔');
-INSERT INTO `sys_dict_data` VALUES (27, '000000', 1, '鎴愬姛', '0', 'sys_common_status', '', 'primary', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '姝e父鐘舵��');
-INSERT INTO `sys_dict_data` VALUES (28, '000000', 2, '澶辫触', '1', 'sys_common_status', '', 'danger', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鍋滅敤鐘舵��');
-INSERT INTO `sys_dict_data` VALUES (29, '000000', 99, '鍏朵粬', '0', 'sys_oper_type', '', 'info', 'N', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鍏朵粬鎿嶄綔');
-INSERT INTO `sys_dict_data` VALUES (1775756996568993793, '000000', 1, '鍏嶈垂鐢ㄦ埛', '0', 'sys_user_grade', '', 'info', 'N', '0', 103, 1, '2024-04-04 13:27:15', 1, '2024-04-04 13:30:09', '');
-INSERT INTO `sys_dict_data` VALUES (1775757116970684418, '000000', 2, '楂樼骇浼氬憳', '1', 'sys_user_grade', '', 'success', 'N', '0', 103, 1, '2024-04-04 13:27:43', 1, '2024-04-04 13:30:15', '');
-INSERT INTO `sys_dict_data` VALUES (1776109770934677506, '000000', 0, 'token璁¤垂', '1', 'sys_model_billing', '', 'primary', 'N', '0', 103, 1, '2024-04-05 12:49:03', 1, '2024-04-21 00:05:41', '');
-INSERT INTO `sys_dict_data` VALUES (1776109853377916929, '000000', 0, '娆℃暟璁¤垂', '2', 'sys_model_billing', '', 'success', 'N', '0', 103, 1, '2024-04-05 12:49:22', 1, '2024-04-05 12:49:22', '');
-INSERT INTO `sys_dict_data` VALUES (1780264338471858177, '000000', 0, '鏈敮浠�', '1', 'pay_state', '', 'info', 'N', '0', 103, 1, '2024-04-16 23:57:49', 1, '2024-04-16 23:58:29', '');
-INSERT INTO `sys_dict_data` VALUES (1780264431589601282, '000000', 2, '宸叉敮浠�', '2', 'pay_state', '', 'success', 'N', '0', 103, 1, '2024-04-16 23:58:11', 1, '2024-04-16 23:58:21', '');
-
--- ----------------------------
--- Table structure for sys_dict_type
--- ----------------------------
-DROP TABLE IF EXISTS `sys_dict_type`;
-CREATE TABLE `sys_dict_type`  (
-  `dict_id` bigint(20) NOT NULL COMMENT '瀛楀吀涓婚敭',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '绉熸埛缂栧彿',
-  `dict_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '瀛楀吀鍚嶇О',
-  `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '瀛楀吀绫诲瀷',
-  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`dict_id`) USING BTREE,
-  UNIQUE INDEX `tenant_id`(`tenant_id`, `dict_type`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '瀛楀吀绫诲瀷琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_dict_type
--- ----------------------------
-INSERT INTO `sys_dict_type` VALUES (1, '000000', '鐢ㄦ埛鎬у埆', 'sys_user_sex', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鐢ㄦ埛鎬у埆鍒楄〃');
-INSERT INTO `sys_dict_type` VALUES (2, '000000', '鑿滃崟鐘舵��', 'sys_show_hide', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鑿滃崟鐘舵�佸垪琛�');
-INSERT INTO `sys_dict_type` VALUES (3, '000000', '绯荤粺寮�鍏�', 'sys_normal_disable', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '绯荤粺寮�鍏冲垪琛�');
-INSERT INTO `sys_dict_type` VALUES (6, '000000', '绯荤粺鏄惁', 'sys_yes_no', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '绯荤粺鏄惁鍒楄〃');
-INSERT INTO `sys_dict_type` VALUES (7, '000000', '閫氱煡绫诲瀷', 'sys_notice_type', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '閫氱煡绫诲瀷鍒楄〃');
-INSERT INTO `sys_dict_type` VALUES (8, '000000', '閫氱煡鐘舵��', 'sys_notice_status', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '閫氱煡鐘舵�佸垪琛�');
-INSERT INTO `sys_dict_type` VALUES (9, '000000', '鎿嶄綔绫诲瀷', 'sys_oper_type', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鎿嶄綔绫诲瀷鍒楄〃');
-INSERT INTO `sys_dict_type` VALUES (10, '000000', '绯荤粺鐘舵��', 'sys_common_status', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '鐧诲綍鐘舵�佸垪琛�');
-INSERT INTO `sys_dict_type` VALUES (1729685494468083714, '911866', '鐢ㄦ埛鎬у埆', 'sys_user_sex', '0', 103, 1, '2023-05-14 15:19:41', 1, '2023-05-14 15:19:41', '鐢ㄦ埛鎬у埆鍒楄〃');
-INSERT INTO `sys_dict_type` VALUES (1729685494468083715, '911866', '鑿滃崟鐘舵��', 'sys_show_hide', '0', 103, 1, '2023-05-14 15:19:41', 1, '2023-05-14 15:19:41', '鑿滃崟鐘舵�佸垪琛�');
-INSERT INTO `sys_dict_type` VALUES (1729685494468083716, '911866', '绯荤粺寮�鍏�', 'sys_normal_disable', '0', 103, 1, '2023-05-14 15:19:41', 1, '2023-05-14 15:19:41', '绯荤粺寮�鍏冲垪琛�');
-INSERT INTO `sys_dict_type` VALUES (1729685494468083717, '911866', '绯荤粺鏄惁', 'sys_yes_no', '0', 103, 1, '2023-05-14 15:19:41', 1, '2023-05-14 15:19:41', '绯荤粺鏄惁鍒楄〃');
-INSERT INTO `sys_dict_type` VALUES (1729685494468083718, '911866', '閫氱煡绫诲瀷', 'sys_notice_type', '0', 103, 1, '2023-05-14 15:19:41', 1, '2023-05-14 15:19:41', '閫氱煡绫诲瀷鍒楄〃');
-INSERT INTO `sys_dict_type` VALUES (1729685494468083719, '911866', '閫氱煡鐘舵��', 'sys_notice_status', '0', 103, 1, '2023-05-14 15:19:41', 1, '2023-05-14 15:19:41', '閫氱煡鐘舵�佸垪琛�');
-INSERT INTO `sys_dict_type` VALUES (1729685494468083720, '911866', '鎿嶄綔绫诲瀷', 'sys_oper_type', '0', 103, 1, '2023-05-14 15:19:41', 1, '2023-05-14 15:19:41', '鎿嶄綔绫诲瀷鍒楄〃');
-INSERT INTO `sys_dict_type` VALUES (1729685494468083721, '911866', '绯荤粺鐘舵��', 'sys_common_status', '0', 103, 1, '2023-05-14 15:19:41', 1, '2023-05-14 15:19:41', '鐧诲綍鐘舵�佸垪琛�');
-INSERT INTO `sys_dict_type` VALUES (1775756736895438849, '000000', '鐢ㄦ埛绛夌骇', 'sys_user_grade', '0', 103, 1, '2024-04-04 13:26:13', 1, '2024-04-04 13:26:13', '');
-INSERT INTO `sys_dict_type` VALUES (1776109665045278721, '000000', '妯″瀷璁¤垂鏂瑰紡', 'sys_model_billing', '0', 103, 1, '2024-04-05 12:48:37', 1, '2024-04-08 11:22:18', '妯″瀷璁¤垂鏂瑰紡');
-INSERT INTO `sys_dict_type` VALUES (1780263881368219649, '000000', '鏀粯鐘舵��', 'pay_state', '0', 103, 1, '2024-04-16 23:56:00', 1, '2025-03-29 15:21:57', '鏀粯鐘舵��');
-INSERT INTO `sys_dict_type` VALUES (1904565568803217409, '000000', '鐘舵�佺被鍨�', 'status_type', '0', 103, 1, '2025-03-26 00:06:31', 1, '2025-03-26 00:06:31', NULL);
-INSERT INTO `sys_dict_type` VALUES (1904753371814076417, '000000', '222', 'sadffasd', '0', 103, 1, '2025-03-26 12:32:47', 1, '2025-03-26 12:32:47', '34444');
-INSERT INTO `sys_dict_type` VALUES (1905807388002525185, '000000', '11', 'ee', '0', 103, 1, '2025-03-29 10:21:04', 1, '2025-03-29 10:21:04', '11');
-
--- ----------------------------
--- Table structure for sys_file_info
--- ----------------------------
-DROP TABLE IF EXISTS `sys_file_info`;
-CREATE TABLE `sys_file_info`  (
-  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '鏂囦欢id',
-  `url` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '鏂囦欢璁块棶鍦板潃',
-  `size` bigint(20) NULL DEFAULT NULL COMMENT '鏂囦欢澶у皬锛屽崟浣嶅瓧鑺�',
-  `filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏂囦欢鍚嶇О',
-  `original_filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍘熷鏂囦欢鍚�',
-  `base_path` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍩虹瀛樺偍璺緞',
-  `path` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '瀛樺偍璺緞',
-  `ext` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏂囦欢鎵╁睍鍚�',
-  `user_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏂囦欢鎵�灞炵敤鎴�',
-  `file_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏂囦欢绫诲瀷',
-  `attr` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '闄勫姞灞炴��',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鍒涘缓鑰�',
-  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  `version` int(11) NULL DEFAULT NULL COMMENT '鐗堟湰',
-  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 1浠h〃鍒犻櫎锛�',
-  `update_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏇存柊IP',
-  `tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '绉熸埛Id',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '鏂囦欢璁板綍琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_file_info
--- ----------------------------
-
--- ----------------------------
--- Table structure for sys_logininfor
--- ----------------------------
-DROP TABLE IF EXISTS `sys_logininfor`;
-CREATE TABLE `sys_logininfor`  (
-  `info_id` bigint(20) NOT NULL COMMENT '璁块棶ID',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '绉熸埛缂栧彿',
-  `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鐢ㄦ埛璐﹀彿',
-  `ipaddr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鐧诲綍IP鍦板潃',
-  `login_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鐧诲綍鍦扮偣',
-  `browser` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '娴忚鍣ㄧ被鍨�',
-  `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鎿嶄綔绯荤粺',
-  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鐧诲綍鐘舵�侊紙0鎴愬姛 1澶辫触锛�',
-  `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鎻愮ず娑堟伅',
-  `login_time` datetime NULL DEFAULT NULL COMMENT '璁块棶鏃堕棿',
-  PRIMARY KEY (`info_id`) USING BTREE,
-  INDEX `idx_sys_logininfor_s`(`status`) USING BTREE,
-  INDEX `idx_sys_logininfor_lt`(`login_time`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '绯荤粺璁块棶璁板綍' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_logininfor
--- ----------------------------
-INSERT INTO `sys_logininfor` VALUES (1906674629019475969, '00000', 'admin', '127.0.0.1', '鍐呯綉IP', 'Chrome', 'Windows 10 or Windows Server 2016', '0', 'Login successful', '2025-03-31 19:47:11');
-INSERT INTO `sys_logininfor` VALUES (1906677855705931778, '00000', 'admin', '127.0.0.1', '鍐呯綉IP', 'Chrome', 'Windows 10 or Windows Server 2016', '0', 'Login successful', '2025-03-31 20:00:00');
-
--- ----------------------------
--- Table structure for sys_menu
--- ----------------------------
-DROP TABLE IF EXISTS `sys_menu`;
-CREATE TABLE `sys_menu`  (
-  `menu_id` bigint(20) NOT NULL COMMENT '鑿滃崟ID',
-  `menu_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鑿滃崟鍚嶇О',
-  `parent_id` bigint(20) NULL DEFAULT 0 COMMENT '鐖惰彍鍗旾D',
-  `order_num` int(11) NULL DEFAULT 0 COMMENT '鏄剧ず椤哄簭',
-  `path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '璺敱鍦板潃',
-  `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '缁勪欢璺緞',
-  `query_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '璺敱鍙傛暟',
-  `is_frame` int(11) NULL DEFAULT 1 COMMENT '鏄惁涓哄閾撅紙0鏄� 1鍚︼級',
-  `is_cache` int(11) NULL DEFAULT 0 COMMENT '鏄惁缂撳瓨锛�0缂撳瓨 1涓嶇紦瀛橈級',
-  `menu_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鑿滃崟绫诲瀷锛圡鐩綍 C鑿滃崟 F鎸夐挳锛�',
-  `visible` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鏄剧ず鐘舵�侊紙0鏄剧ず 1闅愯棌锛�',
-  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鑿滃崟鐘舵�侊紙0姝e父 1鍋滅敤锛�',
-  `perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鏉冮檺鏍囪瘑',
-  `icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '#' COMMENT '鑿滃崟鍥炬爣',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '澶囨敞',
-  PRIMARY KEY (`menu_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鑿滃崟鏉冮檺琛�' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of sys_menu
--- ----------------------------
-INSERT INTO `sys_menu` VALUES (1, '绯荤粺绠$悊', 0, 2, 'system', NULL, '', 1, 0, 'M', '0', '0', '', 'eos-icons:system-group', 103, 1, '2023-05-14 15:19:39', 1, '2024-10-06 21:08:06', '绯荤粺绠$悊鐩綍');
-INSERT INTO `sys_menu` VALUES (100, '鐢ㄦ埛绠$悊', 1775500307898949634, 1, 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', 'system:user:list', 'ph:user-fill', 103, 1, '2023-05-14 15:19:39', 1, '2024-10-07 21:29:29', '鐢ㄦ埛绠$悊鑿滃崟');
-INSERT INTO `sys_menu` VALUES (101, '瑙掕壊绠$悊', 1, 2, 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role:list', 'ri:user-3-fill', 103, 1, '2023-05-14 15:19:39', 1, '2024-10-07 21:04:59', '瑙掕壊绠$悊鑿滃崟');
-INSERT INTO `sys_menu` VALUES (102, '鑿滃崟绠$悊', 1, 3, 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'typcn:th-menu-outline', 103, 1, '2023-05-14 15:19:39', 1, '2024-10-07 21:06:06', '鑿滃崟绠$悊鑿滃崟');
-INSERT INTO `sys_menu` VALUES (103, '閮ㄩ棬绠$悊', 1, 4, 'dept', 'system/dept/index', '', 1, 0, 'C', '1', '1', 'system:dept:list', 'mdi:company', 103, 1, '2023-05-14 15:19:39', 1, '2024-10-07 21:07:38', '閮ㄩ棬绠$悊鑿滃崟');
-INSERT INTO `sys_menu` VALUES (104, '宀椾綅绠$悊', 1, 5, 'post', 'system/post/index', '', 1, 0, 'C', '1', '1', 'system:post:list', 'post', 103, 1, '2023-05-14 15:19:39', 1, '2024-04-04 22:36:15', '宀椾綅绠$悊鑿滃崟');
-INSERT INTO `sys_menu` VALUES (105, '瀛楀吀绠$悊', 1, 6, 'dict', 'system/dict/index', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'fluent-mdl2:dictionary', 103, 1, '2023-05-14 15:19:40', 1, '2024-10-07 21:14:33', '瀛楀吀绠$悊鑿滃崟');
-INSERT INTO `sys_menu` VALUES (106, '绯荤粺鍙傛暟', 1, 10, 'config', 'system/config/index', '', 1, 0, 'C', '0', '0', 'system:config:list', 'tdesign:system-code', 103, 1, '2023-05-14 15:19:40', 1, '2024-10-07 21:11:07', '鍙傛暟璁剧疆鑿滃崟');
-INSERT INTO `sys_menu` VALUES (107, '閫氱煡鍏憡', 1, 14, 'notice', 'system/notice/index', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'icon-park-solid:volume-notice', 103, 1, '2023-05-14 15:19:40', 1, '2024-10-07 21:11:42', '閫氱煡鍏憡鑿滃崟');
-INSERT INTO `sys_menu` VALUES (108, '鏃ュ織绠$悊', 1, 9, 'log', '', '', 1, 0, 'M', '0', '0', '', 'icon-park-solid:log', 103, 1, '2023-05-14 15:19:40', 1, '2024-10-07 21:10:41', '鏃ュ織绠$悊鑿滃崟');
-INSERT INTO `sys_menu` VALUES (113, '缂撳瓨鐩戞帶', 1, 5, 'cache', 'monitor/cache/index', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'octicon:cache-24', 103, 1, '2023-05-14 15:19:40', 1, '2024-10-07 21:09:44', '缂撳瓨鐩戞帶鑿滃崟');
-INSERT INTO `sys_menu` VALUES (500, '鎿嶄綔鏃ュ織', 108, 1, 'operlog', 'monitor/operlog/index', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'icon-park-solid:log', 103, 1, '2023-05-14 15:19:40', 1, '2024-10-07 21:13:20', '鎿嶄綔鏃ュ織鑿滃崟');
-INSERT INTO `sys_menu` VALUES (501, '鐧诲綍鏃ュ織', 108, 2, 'logininfor', 'monitor/logininfor/index', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'icon-park-solid:log', 103, 1, '2023-05-14 15:19:40', 1, '2024-10-07 21:13:33', '鐧诲綍鏃ュ織鑿滃崟');
-INSERT INTO `sys_menu` VALUES (1001, '鐢ㄦ埛鏌ヨ', 100, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1002, '鐢ㄦ埛鏂板', 100, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1003, '鐢ㄦ埛淇敼', 100, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1004, '鐢ㄦ埛鍒犻櫎', 100, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1005, '鐢ㄦ埛瀵煎嚭', 100, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1006, '鐢ㄦ埛瀵煎叆', 100, 6, '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1007, '閲嶇疆瀵嗙爜', 100, 7, '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1008, '瑙掕壊鏌ヨ', 101, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1009, '瑙掕壊鏂板', 101, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1010, '瑙掕壊淇敼', 101, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1011, '瑙掕壊鍒犻櫎', 101, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1012, '瑙掕壊瀵煎嚭', 101, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1013, '鑿滃崟鏌ヨ', 102, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1014, '鑿滃崟鏂板', 102, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1015, '鑿滃崟淇敼', 102, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1016, '鑿滃崟鍒犻櫎', 102, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1017, '閮ㄩ棬鏌ヨ', 103, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1018, '閮ㄩ棬鏂板', 103, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1019, '閮ㄩ棬淇敼', 103, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1020, '閮ㄩ棬鍒犻櫎', 103, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1021, '宀椾綅鏌ヨ', 104, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1022, '宀椾綅鏂板', 104, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1023, '宀椾綅淇敼', 104, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1024, '宀椾綅鍒犻櫎', 104, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1025, '宀椾綅瀵煎嚭', 104, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1026, '瀛楀吀鏌ヨ', 105, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1027, '瀛楀吀鏂板', 105, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1028, '瀛楀吀淇敼', 105, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1029, '瀛楀吀鍒犻櫎', 105, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1030, '瀛楀吀瀵煎嚭', 105, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1031, '鍙傛暟鏌ヨ', 106, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1032, '鍙傛暟鏂板', 106, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1033, '鍙傛暟淇敼', 106, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1034, '鍙傛暟鍒犻櫎', 106, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1035, '鍙傛暟瀵煎嚭', 106, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1036, '鍏憡鏌ヨ', 107, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1037, '鍏憡鏂板', 107, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1038, '鍏憡淇敼', 107, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1039, '鍏憡鍒犻櫎', 107, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1040, '鎿嶄綔鏌ヨ', 500, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:query', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1041, '鎿嶄綔鍒犻櫎', 500, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1042, '鏃ュ織瀵煎嚭', 500, 4, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1043, '鐧诲綍鏌ヨ', 501, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1044, '鐧诲綍鍒犻櫎', 501, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1045, '鏃ュ織瀵煎嚭', 501, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1050, '璐︽埛瑙i攣', 501, 4, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 103, 1, '2023-05-14 15:19:40', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1775500307898949634, '杩愯惀绠$悊', 0, 0, 'operate', NULL, NULL, 1, 0, 'M', '0', '0', NULL, 'icon-park-outline:appointment', 103, 1, '2024-04-03 20:27:15', 1, '2024-10-06 21:10:18', '');
-INSERT INTO `sys_menu` VALUES (1775895273104068610, '绯荤粺妯″瀷', 1775500307898949634, 2, 'model', 'system/model/index', NULL, 1, 0, 'C', '0', '0', 'system:model:list', 'ph:list-fill', 103, 1, '2024-04-05 12:00:38', 1, '2024-10-07 21:36:00', '绯荤粺妯″瀷鑿滃崟');
-INSERT INTO `sys_menu` VALUES (1775895273104068611, '绯荤粺妯″瀷鏌ヨ', 1775895273104068610, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:model:query', '#', 103, 1, '2024-04-05 12:00:38', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1775895273104068612, '绯荤粺妯″瀷鏂板', 1775895273104068610, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:model:add', '#', 103, 1, '2024-04-05 12:00:38', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1775895273104068613, '绯荤粺妯″瀷淇敼', 1775895273104068610, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:model:edit', '#', 103, 1, '2024-04-05 12:00:38', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1775895273104068614, '绯荤粺妯″瀷鍒犻櫎', 1775895273104068610, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:model:remove', '#', 103, 1, '2024-04-05 12:00:38', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1775895273104068615, '绯荤粺妯″瀷瀵煎嚭', 1775895273104068610, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:model:export', '#', 103, 1, '2024-04-05 12:00:38', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1780240077690507266, '鑱婂ぉ娑堟伅', 1775500307898949634, 5, 'chatMessage', 'system/message/index', NULL, 1, 0, 'C', '0', '0', 'system:message:list', 'bx:chat', 103, 1, '2024-04-16 22:24:48', 1, '2024-10-07 21:38:49', '鑱婂ぉ娑堟伅鑿滃崟');
-INSERT INTO `sys_menu` VALUES (1780240077690507267, '鑱婂ぉ娑堟伅鏌ヨ', 1780240077690507266, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:message:query', '#', 103, 1, '2024-04-16 22:24:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1780240077690507268, '鑱婂ぉ娑堟伅鏂板', 1780240077690507266, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:message:add', '#', 103, 1, '2024-04-16 22:24:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1780240077690507269, '鑱婂ぉ娑堟伅淇敼', 1780240077690507266, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:message:edit', '#', 103, 1, '2024-04-16 22:24:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1780240077690507270, '鑱婂ぉ娑堟伅鍒犻櫎', 1780240077690507266, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:message:remove', '#', 103, 1, '2024-04-16 22:24:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1780240077690507271, '鑱婂ぉ娑堟伅瀵煎嚭', 1780240077690507266, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:message:export', '#', 103, 1, '2024-04-16 22:24:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1780255628576018433, '鏀粯璁㈠崟', 1775500307898949634, 6, 'order', 'system/payOrder/index', NULL, 1, 0, 'C', '0', '0', 'system:order:list', 'material-symbols:order-approve', 103, 1, '2024-04-16 23:32:48', 1, '2025-03-30 21:12:38', '鏀粯璁㈠崟鑿滃崟');
-INSERT INTO `sys_menu` VALUES (1780255628576018434, '鏀粯璁㈠崟鏌ヨ', 1780255628576018433, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:orders:query', '#', 103, 1, '2024-04-16 23:32:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1780255628576018435, '鏀粯璁㈠崟鏂板', 1780255628576018433, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:orders:add', '#', 103, 1, '2024-04-16 23:32:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1780255628576018436, '鏀粯璁㈠崟淇敼', 1780255628576018433, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:orders:edit', '#', 103, 1, '2024-04-16 23:32:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1780255628576018437, '鏀粯璁㈠崟鍒犻櫎', 1780255628576018433, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:orders:remove', '#', 103, 1, '2024-04-16 23:32:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1780255628576018438, '鏀粯璁㈠崟瀵煎嚭', 1780255628576018433, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:orders:export', '#', 103, 1, '2024-04-16 23:32:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1786379590171156481, '鍏戞崲绠$悊', 1775500307898949634, 8, 'voucher', 'system/voucher/index', NULL, 1, 0, 'C', '0', '0', 'system:voucher:list', 'mingcute:exchange-cny-fill', 103, 1, '2024-05-03 20:59:54', 1, '2025-03-30 21:18:22', '鐢ㄦ埛鍏戞崲璁板綍鑿滃崟');
-INSERT INTO `sys_menu` VALUES (1786379590171156482, '鐢ㄦ埛鍏戞崲璁板綍鏌ヨ', 1786379590171156481, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:voucher:query', '#', 103, 1, '2024-05-03 20:59:54', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1786379590171156483, '鐢ㄦ埛鍏戞崲璁板綍鏂板', 1786379590171156481, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:voucher:add', '#', 103, 1, '2024-05-03 20:59:54', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1786379590171156484, '鐢ㄦ埛鍏戞崲璁板綍淇敼', 1786379590171156481, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:voucher:edit', '#', 103, 1, '2024-05-03 20:59:55', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1786379590171156485, '鐢ㄦ埛鍏戞崲璁板綍鍒犻櫎', 1786379590171156481, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:voucher:remove', '#', 103, 1, '2024-05-03 20:59:55', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1786379590171156486, '鐢ㄦ埛鍏戞崲璁板綍瀵煎嚭', 1786379590171156481, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:voucher:export', '#', 103, 1, '2024-05-03 20:59:55', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1787078000285122561, '濂楅绠$悊', 1775500307898949634, 3, 'package', 'system/packagePlan/index', NULL, 1, 0, 'C', '0', '0', 'system:package:list', 'lets-icons:order', 103, 1, '2024-05-05 19:13:53', 1, '2025-03-30 21:04:22', '濂楅绠$悊鑿滃崟');
-INSERT INTO `sys_menu` VALUES (1810594719028834305, 'GPTS绠$悊', 1775500307898949634, 4, 'gpts', 'system/gpts/index', NULL, 1, 0, 'C', '1', '0', 'system:gpts:list', 'tdesign:app', 103, 1, '2024-07-09 16:40:18', 1, '2025-03-30 21:29:57', 'gpts绠$悊鑿滃崟');
-INSERT INTO `sys_menu` VALUES (1810594719028834306, 'gpts绠$悊鏌ヨ', 1810594719028834305, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:query', '#', 103, 1, '2024-07-09 16:40:19', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1810594719028834307, 'gpts绠$悊鏂板', 1810594719028834305, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:add', '#', 103, 1, '2024-07-09 16:40:19', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1810594719028834308, 'gpts绠$悊淇敼', 1810594719028834305, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:edit', '#', 103, 1, '2024-07-09 16:40:19', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1810594719028834309, 'gpts绠$悊鍒犻櫎', 1810594719028834305, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:remove', '#', 103, 1, '2024-07-09 16:40:19', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1810594719028834310, 'gpts绠$悊瀵煎嚭', 1810594719028834305, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:export', '#', 103, 1, '2024-07-09 16:40:19', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1843281231381852162, '鏂囦欢绠$悊', 1775500307898949634, 20, 'file', 'system/oss/index', NULL, 1, 0, 'C', '0', '0', NULL, 'material-symbols-light:folder', 103, 1, '2024-10-07 21:24:27', 1, '2024-12-27 23:03:04', '');
-INSERT INTO `sys_menu` VALUES (1860690448695549953, '閰嶇疆绠$悊123', 1775500307898949634, 9, 'configurationManage', 'system/configurationManage/index', NULL, 1, 0, 'C', '1', '0', NULL, 'mdi:archive-cog-outline', 103, 1, '2024-11-24 22:22:28', 1, '2025-03-31 20:05:34', '');
-INSERT INTO `sys_menu` VALUES (1898286496441393153, '鐭ヨ瘑搴撶鐞�', 1775500307898949634, 10, 'knowledgeBase', 'system/knowledgeBase/index', NULL, 1, 0, 'C', '0', '0', '', 'garden:knowledge-base-26', 103, 1, '2025-03-08 16:15:44', 1, '2025-03-10 00:21:26', '');
-INSERT INTO `sys_menu` VALUES (1900172314827739137, '娴佺▼缂栨帓', 1775500307898949634, 11, 'processOrchestration', 'system/processOrchestration/index', NULL, 1, 0, 'C', '1', '0', NULL, 'hugeicons:flow-square', 103, 1, '2025-03-13 21:09:18', 1, '2025-03-30 21:21:20', '');
-INSERT INTO `sys_menu` VALUES (1902184523796742145, '鏅鸿兘浣撶鐞�', 1775500307898949634, 11, 'agents', 'system/agents/index', NULL, 1, 0, 'C', '1', '0', NULL, 'icon-park-twotone:robot-two', 103, 1, '2025-03-19 10:25:06', 1, '2025-03-30 21:21:36', '');
-INSERT INTO `sys_menu` VALUES (1906199640746344450, '绯荤粺宸ュ叿', 0, 10, 'tool', '', NULL, 1, 0, 'M', '0', '0', NULL, 'carbon:tool-kit', 103, 1, '2025-03-30 12:19:44', 1, '2025-03-30 12:21:56', '');
-INSERT INTO `sys_menu` VALUES (1906200030325882882, '浠g爜鐢熸垚', 1906199640746344450, 2, 'gen', 'tool/gen/index', NULL, 1, 0, 'C', '0', '0', 'tool:gen:list', 'tabler:code', 103, 1, '2025-03-30 12:21:17', 1, '2025-03-30 12:21:17', '');
-INSERT INTO `sys_menu` VALUES (1906336170039103490, '搴旂敤绠$悊', 1775500307898949634, 10, 'gpts', 'system/gpts/index', NULL, 1, 0, 'C', '0', '0', 'system:gpts:list', 'fe:app-menu', 103, 1, '2025-03-30 21:23:59', 1, '2025-03-30 21:30:08', '搴旂敤绠$悊鑿滃崟');
-INSERT INTO `sys_menu` VALUES (1906336170039103491, '搴旂敤绠$悊鏌ヨ', 1906336170039103490, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:query', '#', 103, 1, '2025-03-30 21:23:59', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906336170039103492, '搴旂敤绠$悊鏂板', 1906336170039103490, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:add', '#', 103, 1, '2025-03-30 21:23:59', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906336170039103493, '搴旂敤绠$悊淇敼', 1906336170039103490, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:edit', '#', 103, 1, '2025-03-30 21:23:59', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906336170039103494, '搴旂敤绠$悊鍒犻櫎', 1906336170039103490, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:remove', '#', 103, 1, '2025-03-30 21:23:59', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906336170039103495, '搴旂敤绠$悊瀵煎嚭', 1906336170039103490, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:gpts:export', '#', 103, 1, '2025-03-30 21:23:59', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906358690184294402, '鎻掍欢绠$悊', 1775500307898949634, 9, 'plugin', 'system/plugin/index', NULL, 1, 0, 'C', '0', '0', 'system:plugin:list', 'mingcute:plugin-line', 103, 1, '2025-03-30 22:53:25', 1, '2025-03-31 19:56:37', '鎻掍欢绠$悊鑿滃崟');
-INSERT INTO `sys_menu` VALUES (1906358690184294403, '鎻掍欢绠$悊鏌ヨ', 1906358690184294402, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:plugin:query', '#', 103, 1, '2025-03-30 22:53:25', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906358690184294404, '鎻掍欢绠$悊鏂板', 1906358690184294402, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:plugin:add', '#', 103, 1, '2025-03-30 22:53:25', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906358690184294405, '鎻掍欢绠$悊淇敼', 1906358690184294402, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:plugin:edit', '#', 103, 1, '2025-03-30 22:53:25', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906358690184294406, '鎻掍欢绠$悊鍒犻櫎', 1906358690184294402, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:plugin:remove', '#', 103, 1, '2025-03-30 22:53:25', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906358690184294407, '鎻掍欢绠$悊瀵煎嚭', 1906358690184294402, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:plugin:export', '#', 103, 1, '2025-03-30 22:53:25', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906674838461321217, '閰嶇疆淇℃伅', 1775500307898949634, 13, 'configurationManage', 'system/configurationManage/index', '', 1, 0, 'C', '0', '0', 'system:config:list', 'mdi:archive-cog-outline', 103, 1, '2025-03-31 19:48:48', 1, '2025-03-31 19:59:58', '閰嶇疆淇℃伅鑿滃崟');
-INSERT INTO `sys_menu` VALUES (1906674838461321218, '閰嶇疆淇℃伅鏌ヨ', 1906674838461321217, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:config:query', '#', 103, 1, '2025-03-31 19:48:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906674838461321219, '閰嶇疆淇℃伅鏂板', 1906674838461321217, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:config:add', '#', 103, 1, '2025-03-31 19:48:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906674838461321220, '閰嶇疆淇℃伅淇敼', 1906674838461321217, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:config:edit', '#', 103, 1, '2025-03-31 19:48:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906674838461321221, '閰嶇疆淇℃伅鍒犻櫎', 1906674838461321217, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:config:remove', '#', 103, 1, '2025-03-31 19:48:48', NULL, NULL, '');
-INSERT INTO `sys_menu` VALUES (1906674838461321222, '閰嶇疆淇℃伅瀵煎嚭', 1906674838461321217, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:config:export', '#', 103, 1, '2025-03-31 19:48:48', NULL, NULL, '');
-
--- ----------------------------
--- Table structure for sys_notice
--- ----------------------------
-DROP TABLE IF EXISTS `sys_notice`;
-CREATE TABLE `sys_notice`  (
-  `notice_id` bigint(20) NOT NULL COMMENT '鍏憡ID',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '绉熸埛缂栧彿',
-  `notice_title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鍏憡鏍囬',
-  `notice_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鍏憡绫诲瀷锛�1閫氱煡 2鍏憡锛�',
-  `notice_content` longblob NULL COMMENT '鍏憡鍐呭',
-  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鍏憡鐘舵�侊紙0姝e父 1鍏抽棴锛�',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`notice_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '閫氱煡鍏憡琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_notice
--- ----------------------------
-INSERT INTO `sys_notice` VALUES (1789324923280932865, '000000', '鍏憡', '1', 0x3C703E3C7374726F6E67207374796C653D22636F6C6F723A20236666393930303B223EE69CACE7BD91E7AB99E4B88EE4BBBBE4BD95E585B6E4BB96E585ACE58FB8E68896E59586E6A087E6B2A1E69C89E4BBBBE4BD95E585B3E88194E68896E59088E4BD9CE585B3E7B3BB3C2F7374726F6E673E3C2F703E0A3C703E3C7370616E207374796C653D22636F6C6F723A20236536303030303B223E4149E4B99FE4BC9AE78AAFE99499E38082E8AFB7E58BBFE5B086E585B6E794A8E4BA8EE9878DE8A681E79BAEE79A843C2F7370616E3E3C2F703E0A3C703E3C7370616E207374796C653D22636F6C6F723A20236666393930303B223EE68891E4BBACE79BAEE5898DE6ADA3E59CA8E4BFAEE5A48DE68891E4BBACE7BD91E7AB99E4B88AE79A84E99499E8AFAFE5B9B6E694B9E8BF9BE7BB86E88A82E38082E5A682E69E9CE682A8E69C89E4BBBBE4BD95E79691E997AEEFBC8CE8AFB7E9809AE8BF87E4BBA5E4B88BE696B9E5BC8FE88194E7B3BBE68891E4BBACEFBC9A61676565726C65403136332E636F6D313434343434353535353C2F7370616E3E3C2F703E0A3C703E266E6273703B3C2F703E, '0', 103, 1, '2024-05-12 00:01:20', 1, '2025-03-11 19:31:59', '');
-
--- ----------------------------
--- Table structure for sys_notice_state
--- ----------------------------
-DROP TABLE IF EXISTS `sys_notice_state`;
-CREATE TABLE `sys_notice_state`  (
-  `id` bigint(20) NOT NULL COMMENT 'ID',
-  `user_id` bigint(20) NOT NULL COMMENT '鐢ㄦ埛ID',
-  `notice_id` bigint(20) NOT NULL COMMENT '鍏憡ID',
-  `read_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '闃呰鐘舵�侊紙0鏈 1宸茶锛�',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐢ㄦ埛闃呰鐘舵�佽〃' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_notice_state
--- ----------------------------
-
--- ----------------------------
--- Table structure for sys_oper_log
--- ----------------------------
-DROP TABLE IF EXISTS `sys_oper_log`;
-CREATE TABLE `sys_oper_log`  (
-  `oper_id` bigint(20) NOT NULL COMMENT '鏃ュ織涓婚敭',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '绉熸埛缂栧彿',
-  `title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '妯″潡鏍囬',
-  `business_type` int(2) NULL DEFAULT 0 COMMENT '涓氬姟绫诲瀷锛�0鍏跺畠 1鏂板 2淇敼 3鍒犻櫎锛�',
-  `method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鏂规硶鍚嶇О',
-  `request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '璇锋眰鏂瑰紡',
-  `operator_type` int(1) NULL DEFAULT 0 COMMENT '鎿嶄綔绫诲埆锛�0鍏跺畠 1鍚庡彴鐢ㄦ埛 2鎵嬫満绔敤鎴凤級',
-  `oper_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鎿嶄綔浜哄憳',
-  `dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '閮ㄩ棬鍚嶇О',
-  `oper_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '璇锋眰URL',
-  `oper_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '涓绘満鍦板潃',
-  `oper_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鎿嶄綔鍦扮偣',
-  `oper_param` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '璇锋眰鍙傛暟',
-  `json_result` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '杩斿洖鍙傛暟',
-  `status` int(1) NULL DEFAULT 0 COMMENT '鎿嶄綔鐘舵�侊紙0姝e父 1寮傚父锛�',
-  `error_msg` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '閿欒娑堟伅',
-  `oper_time` datetime NULL DEFAULT NULL COMMENT '鎿嶄綔鏃堕棿',
-  `cost_time` bigint(20) NULL DEFAULT 0 COMMENT '娑堣�楁椂闂�',
-  PRIMARY KEY (`oper_id`) USING BTREE,
-  INDEX `idx_sys_oper_log_bt`(`business_type`) USING BTREE,
-  INDEX `idx_sys_oper_log_s`(`status`) USING BTREE,
-  INDEX `idx_sys_oper_log_ot`(`oper_time`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鎿嶄綔鏃ュ織璁板綍' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_oper_log
--- ----------------------------
-INSERT INTO `sys_oper_log` VALUES (1906673220559609857, '00000', '瑙掕壊绠$悊', 2, 'org.ruoyi.system.controller.system.SysRoleController.edit()', 'PUT', 1, 'admin', '', '/system/role', '127.0.0.1', '鍐呯綉IP', '{\"createDept\":null,\"createBy\":null,\"createTime\":null,\"updateBy\":null,\"updateTime\":null,\"roleId\":2,\"roleName\":\"鏅�氳鑹瞈",\"roleKey\":\"common\",\"roleSort\":2,\"dataScope\":null,\"menuCheckStrictly\":null,\"deptCheckStrictly\":null,\"status\":\"0\",\"remark\":\"鏅�氳鑹瞈",\"menuIds\":[\"1775500307898949634\",100,\"1775895273104068610\",\"1787078000285122561\",\"1810594719028834305\",\"1780240077690507266\",\"1780255628576018433\",\"1786379590171156481\",\"1860690448695549953\",\"1906358690184294402\",\"1898286496441393153\",\"1906336170039103490\",\"1902184523796742145\",\"1900172314827739137\",\"1843281231381852162\",1001,1002,1003,1004,1005,1006,1007,\"1775895273104068611\",\"1775895273104068612\",\"1775895273104068613\",\"1775895273104068614\",\"1775895273104068615\",\"1810594719028834306\",\"1810594719028834307\",\"1810594719028834308\",\"1810594719028834309\",\"1810594719028834310\",\"1780240077690507267\",\"1780240077690507268\",\"1780240077690507269\",\"1780240077690507270\",\"1780240077690507271\",\"1780255628576018434\",\"1780255628576018435\",\"1780255628576018436\",\"1780255628576018437\",\"1780255628576018438\",\"1786379590171156482\",\"1786379590171156483\",\"1786379590171156484\",\"1786379590171156485\",\"1786379590171156486\",\"1906358690184294403\",\"1906358690184294404\",\"1906358690184294405\",\"1906358690184294406\",\"1906358690184294407\",\"1906336170039103491\",\"1906336170039103492\",\"1906336170039103493\",\"1906336170039103494\",\"1906336170039103495\",1,101,102,103,104,113,105,108,106,107,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,500,501,1040,1041,1042,1043,1044,1045,1050,\"1906199640746344450\",\"1906200030325882882\"],\"deptIds\":null,\"superAdmin\":false}', '', 1, '闈濿eb涓婁笅鏂囨棤娉曡幏鍙朢equest', '2025-03-31 19:41:35', 43);
-INSERT INTO `sys_oper_log` VALUES (1906673729755779074, '00000', '鑿滃崟绠$悊', 3, 'org.ruoyi.system.controller.system.SysMenuController.remove()', 'DELETE', 1, 'admin', '', '/system/menu/1860690448695549953', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{}', '{\"code\":601,\"msg\":\"鑿滃崟宸插垎閰�,涓嶅厑璁稿垹闄",\"data\":null}', 0, '', '2025-03-31 19:43:36', 103);
-INSERT INTO `sys_oper_log` VALUES (1906673840489598977, '00000', '浠g爜鐢熸垚', 3, 'org.ruoyi.generator.controller.GenController.remove()', 'DELETE', 1, 'admin', '', '/tool/gen/1661288222902505474,1661288223338713089,1661288223477125122,1661288223586177025,1661288223728783361,1661288223821058050,1661288223925915650,1661288223967858689,1661288385096241154,1680196323445579778', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{}', '{\"code\":200,\"msg\":\"鎿嶄綔鎴愬姛\",\"data\":null}', 0, '', '2025-03-31 19:44:03', 287);
-INSERT INTO `sys_oper_log` VALUES (1906673868964728834, '00000', '浠g爜鐢熸垚', 3, 'org.ruoyi.generator.controller.GenController.remove()', 'DELETE', 1, 'admin', '', '/tool/gen/1680196323521077249,1680199147407806465,1680481752850145282,1740573614897897473,1775895242171076610,1785390411861803009,1785390413745045505,1785390414860730369,1786379560181882881,1789155611035381761', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{}', '{\"code\":200,\"msg\":\"鎿嶄綔鎴愬姛\",\"data\":null}', 0, '', '2025-03-31 19:44:09', 247);
-INSERT INTO `sys_oper_log` VALUES (1906673890963853313, '00000', '浠g爜鐢熸垚', 6, 'org.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', '', '/tool/gen/importTable', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '\"chat_config\"', '{\"code\":200,\"msg\":\"鎿嶄綔鎴愬姛\",\"data\":null}', 0, '', '2025-03-31 19:44:15', 935);
-INSERT INTO `sys_oper_log` VALUES (1906674126281084929, '00000', '瑙掕壊绠$悊', 2, 'org.ruoyi.system.controller.system.SysRoleController.edit()', 'PUT', 1, 'admin', '', '/system/role', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{\"createDept\":null,\"createBy\":null,\"createTime\":null,\"updateBy\":null,\"updateTime\":null,\"roleId\":\"1661661183933177857\",\"roleName\":\"灏忕▼搴忕鐞嗗憳5454\",\"roleKey\":\"xcxadmin\",\"roleSort\":1,\"dataScope\":null,\"menuCheckStrictly\":true,\"deptCheckStrictly\":null,\"status\":\"0\",\"remark\":\"\",\"menuIds\":[\"1775500307898949634\",1036,1037,1038,1039,107,100,\"1775895273104068610\",\"1787078000285122561\",\"1810594719028834305\",\"1780240077690507266\",\"1780255628576018433\",\"1786379590171156481\",\"1906358690184294402\",\"1898286496441393153\",\"1906336170039103490\",\"1902184523796742145\",\"1900172314827739137\",\"1843281231381852162\",1001,1002,1003,1004,1005,1006,1007,\"1775895273104068611\",\"1775895273104068612\",\"1775895273104068613\",\"1775895273104068614\",\"1775895273104068615\",\"1810594719028834306\",\"1810594719028834307\",\"1810594719028834308\",\"1810594719028834309\",\"1810594719028834310\",\"1780240077690507267\",\"1780240077690507268\",\"1780240077690507269\",\"1780240077690507270\",\"1780240077690507271\",\"1780255628576018434\",\"1780255628576018435\",\"1780255628576018436\",\"1780255628576018437\",\"1780255628576018438\",\"1786379590171156482\",\"1786379590171156483\",\"1786379590171156484\",\"1786379590171156485\",\"1786379590171156486\",\"1906358690184294403\",\"1906358690184294404\",\"1906358690184294405\",\"1906358690184294406\",\"1906358690184294407\",\"1906336170039103491\",\"1906336170039103492\",\"1906336170039103493\",\"1906336170039103494\",\"1906336170039103495\",1,101,102,103,104,113,105,108,106,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,500,501,1040,1041,1042,1043,1044,1045,1050,\"1906199640746344450\",\"1906200030325882882\"],\"deptIds\":null,\"superAdmin\":false}', '', 1, '闈濿eb涓婁笅鏂囨棤娉曡幏鍙朢equest', '2025-03-31 19:45:11', 439);
-INSERT INTO `sys_oper_log` VALUES (1906674242551386113, '00000', '瑙掕壊绠$悊', 2, 'org.ruoyi.system.controller.system.SysRoleController.edit()', 'PUT', 1, 'admin', '', '/system/role', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{\"createDept\":null,\"createBy\":null,\"createTime\":null,\"updateBy\":null,\"updateTime\":null,\"roleId\":\"1661661183933177857\",\"roleName\":\"灏忕▼搴忕鐞嗗憳\",\"roleKey\":\"xcxadmin\",\"roleSort\":1,\"dataScope\":null,\"menuCheckStrictly\":true,\"deptCheckStrictly\":null,\"status\":\"0\",\"remark\":\"\",\"menuIds\":[1,100,101,102,103,104,105,106,107,108,\"1775500307898949634\",\"1775895273104068610\",\"1780240077690507266\",\"1780255628576018433\",\"1786379590171156481\",\"1810594719028834305\",\"1906199640746344450\",\"1906336170039103490\",\"1906358690184294402\",500,501,113,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1050,\"1787078000285122561\",\"1898286496441393153\",\"1900172314827739137\",\"1902184523796742145\",\"1843281231381852162\",\"1775895273104068611\",\"1775895273104068612\",\"1775895273104068613\",\"1775895273104068614\",\"1775895273104068615\",\"1780240077690507267\",\"1780240077690507268\",\"1780240077690507269\",\"1780240077690507270\",\"1780240077690507271\",\"1780255628576018434\",\"1780255628576018435\",\"1780255628576018436\",\"1780255628576018437\",\"1780255628576018438\",\"1786379590171156482\",\"1786379590171156483\",\"1786379590171156484\",\"1786379590171156485\",\"1786379590171156486\",\"1810594719028834306\",\"1810594719028834307\",\"1810594719028834308\",\"1810594719028834309\",\"1810594719028834310\",\"1906200030325882882\",\"1906336170039103491\",\"1906336170039103492\",\"1906336170039103493\",\"1906336170039103494\",\"1906336170039103495\",\"1906358690184294403\",\"1906358690184294404\",\"1906358690184294405\",\"1906358690184294406\",\"1906358690184294407\"],\"deptIds\":null,\"superAdmin\":false}', '', 1, '闈濿eb涓婁笅鏂囨棤娉曡幏鍙朢equest', '2025-03-31 19:45:38', 386);
-INSERT INTO `sys_oper_log` VALUES (1906674566691393538, '00000', '鑿滃崟绠$悊', 2, 'org.ruoyi.system.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '', '/system/menu', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{\"createDept\":null,\"createBy\":null,\"createTime\":null,\"updateBy\":null,\"updateTime\":null,\"menuId\":\"1860690448695549953\",\"parentId\":\"1775500307898949634\",\"menuName\":\"閰嶇疆绠$悊123\",\"orderNum\":9,\"path\":\"configurationManage\",\"component\":\"system/configurationManage/index\",\"queryParam\":null,\"isFrame\":\"1\",\"isCache\":\"0\",\"menuType\":\"C\",\"visible\":\"0\",\"status\":\"0\",\"icon\":\"mdi:archive-cog-outline\",\"remark\":null}', '{\"code\":200,\"msg\":\"鎿嶄綔鎴愬姛\",\"data\":null}', 0, '', '2025-03-31 19:46:56', 183);
-INSERT INTO `sys_oper_log` VALUES (1906674839174352898, '00000', '浠g爜鐢熸垚', 8, 'org.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', '', '/tool/gen/batchGenCode', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{\"tableIdStr\":\"1906673887579049985\"}', '', 0, '', '2025-03-31 19:48:01', 239);
-INSERT INTO `sys_oper_log` VALUES (1906675243077439490, '00000', '鑿滃崟绠$悊', 2, 'org.ruoyi.system.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '', '/system/menu', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{\"createDept\":null,\"createBy\":null,\"createTime\":null,\"updateBy\":null,\"updateTime\":null,\"menuId\":\"1906674838461321217\",\"parentId\":\"1775500307898949634\",\"menuName\":\"閰嶇疆淇℃伅\",\"orderNum\":1,\"path\":\"config\",\"component\":\"system/config/index\",\"queryParam\":null,\"isFrame\":\"1\",\"isCache\":\"0\",\"menuType\":\"C\",\"visible\":\"0\",\"status\":\"0\",\"perms\":\"system:config:list\",\"icon\":\"#\",\"remark\":null}', '{\"code\":200,\"msg\":\"鎿嶄綔鎴愬姛\",\"data\":null}', 0, '', '2025-03-31 19:49:37', 161);
-INSERT INTO `sys_oper_log` VALUES (1906675560401702914, '00000', '鑿滃崟绠$悊', 2, 'org.ruoyi.system.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '', '/system/menu', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{\"createDept\":null,\"createBy\":null,\"createTime\":null,\"updateBy\":null,\"updateTime\":null,\"menuId\":\"1906674838461321217\",\"parentId\":\"1775500307898949634\",\"menuName\":\"閰嶇疆淇℃伅\",\"orderNum\":13,\"path\":\"configurationManage\",\"component\":\"system/configurationManage/index\",\"queryParam\":\"\",\"isFrame\":\"1\",\"isCache\":\"0\",\"menuType\":\"C\",\"visible\":\"0\",\"status\":\"0\",\"perms\":\"system:config:list\",\"icon\":\"grommet-icons:document-config\",\"remark\":null}', '{\"code\":200,\"msg\":\"鎿嶄綔鎴愬姛\",\"data\":null}', 0, '', '2025-03-31 19:50:53', 148);
-INSERT INTO `sys_oper_log` VALUES (1906675637346209793, '00000', '鑿滃崟绠$悊', 2, 'org.ruoyi.system.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '', '/system/menu', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{\"createDept\":null,\"createBy\":null,\"createTime\":null,\"updateBy\":null,\"updateTime\":null,\"menuId\":\"1860690448695549953\",\"parentId\":\"1775500307898949634\",\"menuName\":\"閰嶇疆绠$悊123\",\"orderNum\":9,\"path\":\"configurationManage\",\"component\":\"system/configurationManage/index\",\"queryParam\":null,\"isFrame\":\"1\",\"isCache\":\"0\",\"menuType\":\"C\",\"visible\":\"1\",\"status\":\"0\",\"icon\":\"mdi:archive-cog-outline\",\"remark\":null}', '{\"code\":200,\"msg\":\"鎿嶄綔鎴愬姛\",\"data\":null}', 0, '', '2025-03-31 19:51:11', 155);
-INSERT INTO `sys_oper_log` VALUES (1906677004714479617, '00000', '鑿滃崟绠$悊', 2, 'org.ruoyi.system.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '', '/system/menu', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{\"createDept\":null,\"createBy\":null,\"createTime\":null,\"updateBy\":null,\"updateTime\":null,\"menuId\":\"1906358690184294402\",\"parentId\":\"1775500307898949634\",\"menuName\":\"鎻掍欢绠$悊\",\"orderNum\":9,\"path\":\"plugin\",\"component\":\"system/plugin/index\",\"queryParam\":null,\"isFrame\":\"1\",\"isCache\":\"0\",\"menuType\":\"C\",\"visible\":\"0\",\"status\":\"0\",\"perms\":\"system:plugin:list\",\"icon\":\"mingcute:plugin-line\",\"remark\":null}', '{\"code\":200,\"msg\":\"鎿嶄綔鎴愬姛\",\"data\":null}', 0, '', '2025-03-31 19:56:37', 121);
-INSERT INTO `sys_oper_log` VALUES (1906677192501858305, '00000', '鑿滃崟绠$悊', 2, 'org.ruoyi.system.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '', '/system/menu', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{\"createDept\":null,\"createBy\":null,\"createTime\":null,\"updateBy\":null,\"updateTime\":null,\"menuId\":\"1860690448695549953\",\"parentId\":\"1775500307898949634\",\"menuName\":\"閰嶇疆绠$悊123\",\"orderNum\":9,\"path\":\"configurationManage\",\"component\":\"system/configurationManage/index\",\"queryParam\":null,\"isFrame\":\"1\",\"isCache\":\"0\",\"menuType\":\"C\",\"visible\":\"0\",\"status\":\"0\",\"icon\":\"mdi:archive-cog-outline\",\"remark\":null}', '{\"code\":200,\"msg\":\"鎿嶄綔鎴愬姛\",\"data\":null}', 0, '', '2025-03-31 19:57:22', 143);
-INSERT INTO `sys_oper_log` VALUES (1906677849958977538, '00000', '鑿滃崟绠$悊', 2, 'org.ruoyi.system.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '', '/system/menu', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{\"createDept\":null,\"createBy\":null,\"createTime\":null,\"updateBy\":null,\"updateTime\":null,\"menuId\":\"1906674838461321217\",\"parentId\":\"1775500307898949634\",\"menuName\":\"閰嶇疆淇℃伅\",\"orderNum\":13,\"path\":\"configurationManage\",\"component\":\"system/configurationManage/index\",\"queryParam\":\"\",\"isFrame\":\"1\",\"isCache\":\"0\",\"menuType\":\"C\",\"visible\":\"0\",\"status\":\"0\",\"perms\":\"system:config:list\",\"icon\":\"mdi:archive-cog-outline\",\"remark\":null}', '{\"code\":200,\"msg\":\"鎿嶄綔鎴愬姛\",\"data\":null}', 0, '', '2025-03-31 19:59:58', 203);
-INSERT INTO `sys_oper_log` VALUES (1906679257265422337, '00000', '鑿滃崟绠$悊', 2, 'org.ruoyi.system.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', '', '/system/menu', '0:0:0:0:0:0:0:1', '鍐呯綉IP', '{\"createDept\":null,\"createBy\":null,\"createTime\":null,\"updateBy\":null,\"updateTime\":null,\"menuId\":\"1860690448695549953\",\"parentId\":\"1775500307898949634\",\"menuName\":\"閰嶇疆绠$悊123\",\"orderNum\":9,\"path\":\"configurationManage\",\"component\":\"system/configurationManage/index\",\"queryParam\":null,\"isFrame\":\"1\",\"isCache\":\"0\",\"menuType\":\"C\",\"visible\":\"1\",\"status\":\"0\",\"icon\":\"mdi:archive-cog-outline\",\"remark\":null}', '{\"code\":200,\"msg\":\"鎿嶄綔鎴愬姛\",\"data\":null}', 0, '', '2025-03-31 20:05:34', 239);
-
--- ----------------------------
--- Table structure for sys_oss
--- ----------------------------
-DROP TABLE IF EXISTS `sys_oss`;
-CREATE TABLE `sys_oss`  (
-  `oss_id` bigint(20) NOT NULL COMMENT '瀵硅薄瀛樺偍涓婚敭',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '绉熸埛缂栧彿',
-  `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '鏂囦欢鍚�',
-  `original_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '鍘熷悕',
-  `file_suffix` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '鏂囦欢鍚庣紑鍚�',
-  `url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'URL鍦板潃',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '涓婁紶浜�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊浜�',
-  `service` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'minio' COMMENT '鏈嶅姟鍟�',
-  PRIMARY KEY (`oss_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'OSS瀵硅薄瀛樺偍琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_oss
--- ----------------------------
-
--- ----------------------------
--- Table structure for sys_oss_config
--- ----------------------------
-DROP TABLE IF EXISTS `sys_oss_config`;
-CREATE TABLE `sys_oss_config`  (
-  `oss_config_id` bigint(20) NOT NULL COMMENT '涓诲缓',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '绉熸埛缂栧彿',
-  `config_key` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '閰嶇疆key',
-  `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'accessKey',
-  `secret_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '绉橀挜',
-  `bucket_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '妗跺悕绉�',
-  `prefix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鍓嶇紑',
-  `endpoint` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '璁块棶绔欑偣',
-  `domain` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鑷畾涔夊煙鍚�',
-  `is_https` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '鏄惁https锛圷=鏄�,N=鍚︼級',
-  `region` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鍩�',
-  `access_policy` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '1' COMMENT '妗舵潈闄愮被鍨�(0=private 1=public 2=custom)',
-  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '鏄惁榛樿锛�0=鏄�,1=鍚︼級',
-  `ext1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鎵╁睍瀛楁',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`oss_config_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '瀵硅薄瀛樺偍閰嶇疆琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_oss_config
--- ----------------------------
-INSERT INTO `sys_oss_config` VALUES (1, '000000', 'minio', 'ruoyi', 'ruoyi123', 'ruoyi', '', '127.0.0.1:9000', '', 'N', '', '1', '1', '', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-26 16:25:55', NULL);
-INSERT INTO `sys_oss_config` VALUES (2, '000000', 'qiniu', 'ruoyi', 'ruoyi123', 'ruoyi', '', 's3-cn-north-1.qiniucs.com', '', 'N', '', '1', '0', '', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-26 19:44:56', NULL);
-INSERT INTO `sys_oss_config` VALUES (3, '000000', 'aliyun', 'ruoyi', 'ruoyi123', 'ruoyi', '', 'oss-cn-beijing.aliyuncs.com', '', 'N', '', '1', '1', '', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-13 13:13:04', NULL);
-INSERT INTO `sys_oss_config` VALUES (4, '000000', 'qcloud', 'ruoyi', 'ruoyi123', 'ruoyi', 'panda', 'cos.ap-guangzhou.myqcloud.com', '', 'N', 'ap-guangzhou', '1', '1', '', 103, 1, '2023-05-14 15:19:42', 1, '2025-03-26 09:23:26', '');
-
--- ----------------------------
--- Table structure for sys_post
--- ----------------------------
-DROP TABLE IF EXISTS `sys_post`;
-CREATE TABLE `sys_post`  (
-  `post_id` bigint(20) NOT NULL COMMENT '宀椾綅ID',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '绉熸埛缂栧彿',
-  `post_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '宀椾綅缂栫爜',
-  `post_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '宀椾綅鍚嶇О',
-  `post_sort` int(4) NOT NULL COMMENT '鏄剧ず椤哄簭',
-  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`post_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '宀椾綅淇℃伅琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_post
--- ----------------------------
-INSERT INTO `sys_post` VALUES (1, '000000', 'ceo', '钁d簨闀�', 1, '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL, '');
-INSERT INTO `sys_post` VALUES (2, '000000', 'se', '椤圭洰缁忕悊', 2, '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL, '');
-INSERT INTO `sys_post` VALUES (3, '000000', 'hr', '浜哄姏璧勬簮', 3, '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL, '');
-INSERT INTO `sys_post` VALUES (4, '000000', 'user', '鏅�氬憳宸�', 4, '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL, '');
-
--- ----------------------------
--- Table structure for sys_role
--- ----------------------------
-DROP TABLE IF EXISTS `sys_role`;
-CREATE TABLE `sys_role`  (
-  `role_id` bigint(20) NOT NULL COMMENT '瑙掕壊ID',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '绉熸埛缂栧彿',
-  `role_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '瑙掕壊鍚嶇О',
-  `role_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '瑙掕壊鏉冮檺瀛楃涓�',
-  `role_sort` int(4) NOT NULL COMMENT '鏄剧ず椤哄簭',
-  `data_scope` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '鏁版嵁鑼冨洿锛�1锛氬叏閮ㄦ暟鎹潈闄� 2锛氳嚜瀹氭暟鎹潈闄� 3锛氭湰閮ㄩ棬鏁版嵁鏉冮檺 4锛氭湰閮ㄩ棬鍙婁互涓嬫暟鎹潈闄愶級',
-  `menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '鑿滃崟鏍戦�夋嫨椤规槸鍚﹀叧鑱旀樉绀�',
-  `dept_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '閮ㄩ棬鏍戦�夋嫨椤规槸鍚﹀叧鑱旀樉绀�',
-  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '瑙掕壊鐘舵�侊紙0姝e父 1鍋滅敤锛�',
-  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`role_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '瑙掕壊淇℃伅琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_role
--- ----------------------------
-INSERT INTO `sys_role` VALUES (1, '000000', '瓒呯骇绠$悊鍛�', 'superadmin', 1, '1', 1, 1, '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL, '瓒呯骇绠$悊鍛�');
-INSERT INTO `sys_role` VALUES (2, '000000', '鏅�氳鑹�', 'common', 2, '2', 0, 1, '0', '0', 103, 1, '2023-05-14 15:19:39', 1, '2025-03-31 19:41:35', '鏅�氳鑹�');
-INSERT INTO `sys_role` VALUES (3, '000000', '鏈儴闂ㄥ強浠ヤ笅', 'test1', 3, '4', 1, 1, '0', '0', 103, 1, '2023-05-14 15:20:00', 1, '2025-03-17 09:29:25', NULL);
-INSERT INTO `sys_role` VALUES (4, '000000', '浠呮湰浜�', 'test2', 4, '5', 1, 1, '0', '0', 103, 1, '2023-05-14 15:20:00', 1, '2025-03-24 10:56:45', NULL);
-INSERT INTO `sys_role` VALUES (1661661183933177857, '000000', '灏忕▼搴忕鐞嗗憳', 'xcxadmin', 1, '1', 1, 1, '0', '0', 103, 1, '2023-05-25 17:11:13', 1, '2025-03-31 19:45:38', '');
-INSERT INTO `sys_role` VALUES (1729685491108446210, '911866', '绠$悊鍛�', 'admin', 4, '1', 1, 1, '0', '0', 103, 1, '2023-11-29 10:15:32', 1, '2025-03-26 18:25:07', NULL);
-
--- ----------------------------
--- Table structure for sys_role_dept
--- ----------------------------
-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`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '瑙掕壊鍜岄儴闂ㄥ叧鑱旇〃' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_role_dept
--- ----------------------------
-INSERT INTO `sys_role_dept` VALUES (2, 100);
-INSERT INTO `sys_role_dept` VALUES (2, 101);
-INSERT INTO `sys_role_dept` VALUES (2, 105);
-
--- ----------------------------
--- Table structure for sys_role_menu
--- ----------------------------
-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`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '瑙掕壊鍜岃彍鍗曞叧鑱旇〃' ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of sys_role_menu
--- ----------------------------
-INSERT INTO `sys_role_menu` VALUES (2, 1);
-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, 113);
-INSERT INTO `sys_role_menu` VALUES (2, 500);
-INSERT INTO `sys_role_menu` VALUES (2, 501);
-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, 1050);
-INSERT INTO `sys_role_menu` VALUES (2, 1775500307898949634);
-INSERT INTO `sys_role_menu` VALUES (2, 1775895273104068610);
-INSERT INTO `sys_role_menu` VALUES (2, 1775895273104068611);
-INSERT INTO `sys_role_menu` VALUES (2, 1775895273104068612);
-INSERT INTO `sys_role_menu` VALUES (2, 1775895273104068613);
-INSERT INTO `sys_role_menu` VALUES (2, 1775895273104068614);
-INSERT INTO `sys_role_menu` VALUES (2, 1775895273104068615);
-INSERT INTO `sys_role_menu` VALUES (2, 1780240077690507266);
-INSERT INTO `sys_role_menu` VALUES (2, 1780240077690507267);
-INSERT INTO `sys_role_menu` VALUES (2, 1780240077690507268);
-INSERT INTO `sys_role_menu` VALUES (2, 1780240077690507269);
-INSERT INTO `sys_role_menu` VALUES (2, 1780240077690507270);
-INSERT INTO `sys_role_menu` VALUES (2, 1780240077690507271);
-INSERT INTO `sys_role_menu` VALUES (2, 1780255628576018433);
-INSERT INTO `sys_role_menu` VALUES (2, 1780255628576018434);
-INSERT INTO `sys_role_menu` VALUES (2, 1780255628576018435);
-INSERT INTO `sys_role_menu` VALUES (2, 1780255628576018436);
-INSERT INTO `sys_role_menu` VALUES (2, 1780255628576018437);
-INSERT INTO `sys_role_menu` VALUES (2, 1780255628576018438);
-INSERT INTO `sys_role_menu` VALUES (2, 1786379590171156481);
-INSERT INTO `sys_role_menu` VALUES (2, 1786379590171156482);
-INSERT INTO `sys_role_menu` VALUES (2, 1786379590171156483);
-INSERT INTO `sys_role_menu` VALUES (2, 1786379590171156484);
-INSERT INTO `sys_role_menu` VALUES (2, 1786379590171156485);
-INSERT INTO `sys_role_menu` VALUES (2, 1786379590171156486);
-INSERT INTO `sys_role_menu` VALUES (2, 1787078000285122561);
-INSERT INTO `sys_role_menu` VALUES (2, 1810594719028834305);
-INSERT INTO `sys_role_menu` VALUES (2, 1810594719028834306);
-INSERT INTO `sys_role_menu` VALUES (2, 1810594719028834307);
-INSERT INTO `sys_role_menu` VALUES (2, 1810594719028834308);
-INSERT INTO `sys_role_menu` VALUES (2, 1810594719028834309);
-INSERT INTO `sys_role_menu` VALUES (2, 1810594719028834310);
-INSERT INTO `sys_role_menu` VALUES (2, 1843281231381852162);
-INSERT INTO `sys_role_menu` VALUES (2, 1860690448695549953);
-INSERT INTO `sys_role_menu` VALUES (2, 1898286496441393153);
-INSERT INTO `sys_role_menu` VALUES (2, 1900172314827739137);
-INSERT INTO `sys_role_menu` VALUES (2, 1902184523796742145);
-INSERT INTO `sys_role_menu` VALUES (2, 1906199640746344450);
-INSERT INTO `sys_role_menu` VALUES (2, 1906200030325882882);
-INSERT INTO `sys_role_menu` VALUES (2, 1906336170039103490);
-INSERT INTO `sys_role_menu` VALUES (2, 1906336170039103491);
-INSERT INTO `sys_role_menu` VALUES (2, 1906336170039103492);
-INSERT INTO `sys_role_menu` VALUES (2, 1906336170039103493);
-INSERT INTO `sys_role_menu` VALUES (2, 1906336170039103494);
-INSERT INTO `sys_role_menu` VALUES (2, 1906336170039103495);
-INSERT INTO `sys_role_menu` VALUES (2, 1906358690184294402);
-INSERT INTO `sys_role_menu` VALUES (2, 1906358690184294403);
-INSERT INTO `sys_role_menu` VALUES (2, 1906358690184294404);
-INSERT INTO `sys_role_menu` VALUES (2, 1906358690184294405);
-INSERT INTO `sys_role_menu` VALUES (2, 1906358690184294406);
-INSERT INTO `sys_role_menu` VALUES (2, 1906358690184294407);
-INSERT INTO `sys_role_menu` VALUES (3, 1);
-INSERT INTO `sys_role_menu` VALUES (3, 100);
-INSERT INTO `sys_role_menu` VALUES (3, 101);
-INSERT INTO `sys_role_menu` VALUES (3, 102);
-INSERT INTO `sys_role_menu` VALUES (3, 103);
-INSERT INTO `sys_role_menu` VALUES (3, 104);
-INSERT INTO `sys_role_menu` VALUES (3, 105);
-INSERT INTO `sys_role_menu` VALUES (3, 106);
-INSERT INTO `sys_role_menu` VALUES (3, 107);
-INSERT INTO `sys_role_menu` VALUES (3, 108);
-INSERT INTO `sys_role_menu` VALUES (3, 500);
-INSERT INTO `sys_role_menu` VALUES (3, 501);
-INSERT INTO `sys_role_menu` VALUES (3, 1001);
-INSERT INTO `sys_role_menu` VALUES (3, 1002);
-INSERT INTO `sys_role_menu` VALUES (3, 1003);
-INSERT INTO `sys_role_menu` VALUES (3, 1004);
-INSERT INTO `sys_role_menu` VALUES (3, 1005);
-INSERT INTO `sys_role_menu` VALUES (3, 1006);
-INSERT INTO `sys_role_menu` VALUES (3, 1007);
-INSERT INTO `sys_role_menu` VALUES (3, 1008);
-INSERT INTO `sys_role_menu` VALUES (3, 1009);
-INSERT INTO `sys_role_menu` VALUES (3, 1010);
-INSERT INTO `sys_role_menu` VALUES (3, 1011);
-INSERT INTO `sys_role_menu` VALUES (3, 1012);
-INSERT INTO `sys_role_menu` VALUES (3, 1013);
-INSERT INTO `sys_role_menu` VALUES (3, 1014);
-INSERT INTO `sys_role_menu` VALUES (3, 1015);
-INSERT INTO `sys_role_menu` VALUES (3, 1016);
-INSERT INTO `sys_role_menu` VALUES (3, 1017);
-INSERT INTO `sys_role_menu` VALUES (3, 1018);
-INSERT INTO `sys_role_menu` VALUES (3, 1019);
-INSERT INTO `sys_role_menu` VALUES (3, 1020);
-INSERT INTO `sys_role_menu` VALUES (3, 1021);
-INSERT INTO `sys_role_menu` VALUES (3, 1022);
-INSERT INTO `sys_role_menu` VALUES (3, 1023);
-INSERT INTO `sys_role_menu` VALUES (3, 1024);
-INSERT INTO `sys_role_menu` VALUES (3, 1025);
-INSERT INTO `sys_role_menu` VALUES (3, 1026);
-INSERT INTO `sys_role_menu` VALUES (3, 1027);
-INSERT INTO `sys_role_menu` VALUES (3, 1028);
-INSERT INTO `sys_role_menu` VALUES (3, 1029);
-INSERT INTO `sys_role_menu` VALUES (3, 1030);
-INSERT INTO `sys_role_menu` VALUES (3, 1031);
-INSERT INTO `sys_role_menu` VALUES (3, 1032);
-INSERT INTO `sys_role_menu` VALUES (3, 1033);
-INSERT INTO `sys_role_menu` VALUES (3, 1034);
-INSERT INTO `sys_role_menu` VALUES (3, 1035);
-INSERT INTO `sys_role_menu` VALUES (3, 1036);
-INSERT INTO `sys_role_menu` VALUES (3, 1037);
-INSERT INTO `sys_role_menu` VALUES (3, 1038);
-INSERT INTO `sys_role_menu` VALUES (3, 1039);
-INSERT INTO `sys_role_menu` VALUES (3, 1040);
-INSERT INTO `sys_role_menu` VALUES (3, 1041);
-INSERT INTO `sys_role_menu` VALUES (3, 1042);
-INSERT INTO `sys_role_menu` VALUES (3, 1043);
-INSERT INTO `sys_role_menu` VALUES (3, 1044);
-INSERT INTO `sys_role_menu` VALUES (3, 1045);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 100);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 101);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 102);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 103);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 104);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 105);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 106);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 107);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 108);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 113);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 500);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 501);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1001);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1002);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1003);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1004);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1005);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1006);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1007);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1008);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1009);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1010);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1011);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1012);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1013);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1014);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1015);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1016);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1017);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1018);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1019);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1020);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1021);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1022);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1023);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1024);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1025);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1026);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1027);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1028);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1029);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1030);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1031);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1032);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1033);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1034);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1035);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1036);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1037);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1038);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1039);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1040);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1041);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1042);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1043);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1044);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1045);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1050);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775500307898949634);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775895273104068610);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775895273104068611);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775895273104068612);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775895273104068613);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775895273104068614);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1775895273104068615);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1780240077690507266);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1780240077690507267);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1780240077690507268);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1780240077690507269);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1780240077690507270);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1780240077690507271);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1780255628576018433);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1780255628576018434);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1780255628576018435);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1780255628576018436);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1780255628576018437);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1780255628576018438);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1786379590171156481);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1786379590171156482);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1786379590171156483);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1786379590171156484);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1786379590171156485);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1786379590171156486);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1787078000285122561);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1810594719028834305);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1810594719028834306);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1810594719028834307);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1810594719028834308);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1810594719028834309);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1810594719028834310);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1843281231381852162);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1898286496441393153);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1900172314827739137);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1902184523796742145);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906199640746344450);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906200030325882882);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906336170039103490);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906336170039103491);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906336170039103492);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906336170039103493);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906336170039103494);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906336170039103495);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906358690184294402);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906358690184294403);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906358690184294404);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906358690184294405);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906358690184294406);
-INSERT INTO `sys_role_menu` VALUES (1661661183933177857, 1906358690184294407);
-INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1689201668374556674);
-INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1689205943360188417);
-INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1689243465037561858);
-INSERT INTO `sys_role_menu` VALUES (1729685491108446210, 1689243466220355585);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 100);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1001);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1002);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1003);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1004);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1005);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1006);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1007);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1775500307898949634);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1775895273104068610);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1775895273104068611);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1775895273104068612);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1775895273104068613);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1775895273104068614);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1775895273104068615);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1780240077690507266);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1780240077690507267);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1780240077690507268);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1780240077690507269);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1780240077690507270);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1780240077690507271);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1780255628576018433);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1780255628576018434);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1780255628576018435);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1780255628576018436);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1780255628576018437);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1780255628576018438);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1786379590171156481);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1786379590171156482);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1786379590171156483);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1786379590171156484);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1786379590171156485);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1786379590171156486);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1787078000285122561);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1810594719028834305);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1810594719028834306);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1810594719028834307);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1810594719028834308);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1810594719028834309);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1810594719028834310);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1843281231381852162);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1860690448695549953);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1898286496441393153);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1900172314827739137);
-INSERT INTO `sys_role_menu` VALUES (1905899651235143681, 1902184523796742145);
-
--- ----------------------------
--- Table structure for sys_tenant
--- ----------------------------
-DROP TABLE IF EXISTS `sys_tenant`;
-CREATE TABLE `sys_tenant`  (
-  `id` bigint(20) NOT NULL COMMENT 'id',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '绉熸埛缂栧彿',
-  `contact_user_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鑱旂郴浜�',
-  `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鑱旂郴鐢佃瘽',
-  `company_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浼佷笟鍚嶇О',
-  `license_number` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '缁熶竴绀句細淇$敤浠g爜',
-  `address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍦板潃',
-  `intro` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浼佷笟绠�浠�',
-  `domain` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍩熷悕',
-  `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  `package_id` bigint(20) NULL DEFAULT NULL COMMENT '绉熸埛濂楅缂栧彿',
-  `expire_time` datetime NULL DEFAULT NULL COMMENT '杩囨湡鏃堕棿',
-  `account_count` int(11) NULL DEFAULT -1 COMMENT '鐢ㄦ埛鏁伴噺锛�-1涓嶉檺鍒讹級',
-  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '绉熸埛鐘舵�侊紙0姝e父 1鍋滅敤锛�',
-  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '绉熸埛琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_tenant
--- ----------------------------
-INSERT INTO `sys_tenant` VALUES (1, '000000', '绠$悊缁�', '15888888888', 'XXX鏈夐檺鍏徃', NULL, NULL, '澶氱鎴烽�氱敤鍚庡彴绠$悊绠$悊绯荤粺', NULL, NULL, NULL, NULL, -1, '0', '0', 103, 1, '2023-05-14 15:19:39', NULL, NULL);
-INSERT INTO `sys_tenant` VALUES (1729685490647072769, '911866', '娴嬭瘯', '11111111111', '5126', '', '', '', '', '', 1729685389795033090, NULL, 1, '0', '2', 103, 1, '2023-11-29 10:15:32', 1, '2023-11-29 10:15:32');
-
--- ----------------------------
--- Table structure for sys_tenant_package
--- ----------------------------
-DROP TABLE IF EXISTS `sys_tenant_package`;
-CREATE TABLE `sys_tenant_package`  (
-  `package_id` bigint(20) NOT NULL COMMENT '绉熸埛濂楅id',
-  `package_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '濂楅鍚嶇О',
-  `menu_ids` varchar(3000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍏宠仈鑿滃崟id',
-  `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  `menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '鑿滃崟鏍戦�夋嫨椤规槸鍚﹀叧鑱旀樉绀�',
-  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鐘舵�侊紙0姝e父 1鍋滅敤锛�',
-  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  PRIMARY KEY (`package_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '绉熸埛濂楅琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_tenant_package
--- ----------------------------
-INSERT INTO `sys_tenant_package` VALUES (1729685389795033090, '娴嬭瘯', '1689205943360188417, 1689243466220355585, 1689201668374556674, 1689243465037561858', '', 1, '0', '2', 103, 1, '2023-11-29 10:15:08', 1, '2023-11-29 10:15:08');
-
--- ----------------------------
--- Table structure for sys_user
--- ----------------------------
-DROP TABLE IF EXISTS `sys_user`;
-CREATE TABLE `sys_user`  (
-  `user_id` bigint(20) NOT NULL COMMENT '鐢ㄦ埛ID',
-  `open_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '寰俊鐢ㄦ埛鏍囪瘑',
-  `user_grade` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鐢ㄦ埛绛夌骇',
-  `user_balance` double(20, 2) NULL DEFAULT 0.00 COMMENT '璐︽埛浣欓',
-  `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '绉熸埛缂栧彿',
-  `dept_id` bigint(20) NULL DEFAULT NULL COMMENT '閮ㄩ棬ID',
-  `user_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鐢ㄦ埛璐﹀彿',
-  `nick_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鐢ㄦ埛鏄电О',
-  `user_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'sys_user' COMMENT '鐢ㄦ埛绫诲瀷锛坰ys_user绯荤粺鐢ㄦ埛锛�',
-  `user_plan` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Free' COMMENT '鐢ㄦ埛濂楅',
-  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '鐢ㄦ埛閭',
-  `phonenumber` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鎵嬫満鍙风爜',
-  `sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鐢ㄦ埛鎬у埆锛�0鐢� 1濂� 2鏈煡锛�',
-  `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶村儚鍦板潃',
-  `wx_avatar` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '寰俊澶村儚鍦板潃',
-  `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '瀵嗙爜',
-  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '甯愬彿鐘舵�侊紙0姝e父 1鍋滅敤锛�',
-  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛�',
-  `login_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '鏈�鍚庣櫥褰旾P',
-  `login_date` datetime NULL DEFAULT NULL COMMENT '鏈�鍚庣櫥褰曟椂闂�',
-  `domain_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '娉ㄥ唽鍩熷悕',
-  `create_dept` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`user_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐢ㄦ埛淇℃伅琛�' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_user
--- ----------------------------
-INSERT INTO `sys_user` VALUES (1, NULL, '1', 100.00, '00000', 103, 'admin', '111222333', 'sys_user', 'Free', 'ageerle@163.com', '15888888888', '0', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2024/10/07/09bd580f55954b50a3093231945123e0.jpg', NULL, '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2025-03-31 20:00:00', NULL, 103, 1, '2023-05-14 15:19:39', 1, '2025-03-31 20:00:00', '绠$悊鍛�');
-INSERT INTO `sys_user` VALUES (1714176194496339970, NULL, '1', 88.88, '00000', NULL, 'pandarobot@163.com', '闂瓟鍔╂墜', 'sys_user', 'Free', '', '', '0', 'http://panda-1253683406.cos.ap-guangzhou.myqcloud.com/panda/2024/04/28/346796f5c32744c1987bf28d5820325b.jpg', NULL, '$2a$10$u3LIdNBg6kM3iYqHFJe2IOWCMbT2h5NUI.CeXlF5dyBGcy3nwW836', '1', '2', '127.0.0.1', '2025-03-05 17:18:42', NULL, 103, 1713440206715650049, '2023-10-17 15:07:07', 1714176194496339970, '2025-03-05 17:18:42', NULL);
-INSERT INTO `sys_user` VALUES (1898270044544028674, NULL, '1', 1.00, '00000', NULL, '1150039659@qq.com', '1150039659@qq.com', 'sys_user', 'Free', '', '', '0', NULL, NULL, '$2a$10$Mw9T.kzBuYqvT14ZDP2VoORLU9WMWdaT/iatJxEtCQCZoBYBNmKw6', '0', '2', '127.0.0.1', '2025-03-09 23:01:03', '192.168.20.162', NULL, NULL, '2025-03-08 15:10:21', 1898270044544028674, '2025-03-09 23:01:03', NULL);
-INSERT INTO `sys_user` VALUES (1898283021590552578, NULL, '0', 1.00, '00000', NULL, '1434841024@qq.com', '1434841024@qq.com', 'sys_user', 'Free', '', '', '0', NULL, NULL, '$2a$10$R6rClsJdJK5Ovhp14Xc0w.IITFBDyocgxWqsJ9SS7AhWW6.vCKiAa', '0', '2', '192.168.20.161', '2025-03-08 17:04:37', '127.0.0.1', NULL, NULL, '2025-03-08 16:01:55', 1898283021590552578, '2025-03-08 17:04:37', NULL);
-INSERT INTO `sys_user` VALUES (1904371025403224065, NULL, '1', 999999999.00, '000000', 103, 'dddd', 'dddd', 'sys_user', 'Free', '', '', '0', NULL, NULL, '$2a$10$y0IYGL1MY5rvTUEl9Pjg4uIVMpbwwuzIl.8nH2Ie3uK2A9EJor0VK', '1', '2', '127.0.0.1', '2025-03-25 11:15:16', NULL, 103, 1, '2025-03-25 11:13:29', 1904371025403224065, '2025-03-25 11:15:16', NULL);
-INSERT INTO `sys_user` VALUES (1905928435494330370, NULL, '0', 100.00, '000000', 103, '鐔婄尗鍔╂墜', '鐔婄尗鍔╂墜', 'sys_user', 'Free', 'iii@g545.bo', '', '0', NULL, NULL, '$2a$10$8WO.FFcmu4L/DhzpfM4rbee0HRK6gIYIs2KsRXkc4ckjudbzchvPi', '0', '2', '', NULL, NULL, 103, 1, '2025-03-29 18:22:04', 1, '2025-03-31 10:15:11', NULL);
-
--- ----------------------------
--- Table structure for sys_user_post
--- ----------------------------
-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`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐢ㄦ埛涓庡矖浣嶅叧鑱旇〃' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_user_post
--- ----------------------------
-INSERT INTO `sys_user_post` VALUES (1, 1);
-INSERT INTO `sys_user_post` VALUES (2, 2);
-INSERT INTO `sys_user_post` VALUES (1661660085084250114, 2);
-INSERT INTO `sys_user_post` VALUES (1661660804847788034, 1);
-
--- ----------------------------
--- Table structure for sys_user_role
--- ----------------------------
-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`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '鐢ㄦ埛鍜岃鑹插叧鑱旇〃' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of sys_user_role
--- ----------------------------
-INSERT INTO `sys_user_role` VALUES (1, 1);
-INSERT INTO `sys_user_role` VALUES (2, 2);
-INSERT INTO `sys_user_role` VALUES (3, 3);
-INSERT INTO `sys_user_role` VALUES (4, 4);
-INSERT INTO `sys_user_role` VALUES (1661646824293031937, 1661661183933177857);
-INSERT INTO `sys_user_role` VALUES (1661660085084250114, 1661661183933177857);
-INSERT INTO `sys_user_role` VALUES (1661660804847788034, 2);
-INSERT INTO `sys_user_role` VALUES (1713427806956404738, 1);
-INSERT INTO `sys_user_role` VALUES (1713439839684689921, 1);
-INSERT INTO `sys_user_role` VALUES (1713440206715650049, 1);
-INSERT INTO `sys_user_role` VALUES (1714267685998907393, 1);
-INSERT INTO `sys_user_role` VALUES (1714269581270667265, 1);
-INSERT INTO `sys_user_role` VALUES (1714270420659949569, 1);
-INSERT INTO `sys_user_role` VALUES (1714455864827723777, 1);
-INSERT INTO `sys_user_role` VALUES (1714536425072115714, 1);
-INSERT INTO `sys_user_role` VALUES (1714819715117105153, 1);
-INSERT INTO `sys_user_role` VALUES (1714820415783976961, 1);
-INSERT INTO `sys_user_role` VALUES (1714820611611836417, 1);
-INSERT INTO `sys_user_role` VALUES (1714820755698761729, 1);
-INSERT INTO `sys_user_role` VALUES (1714823588305190914, 1);
-INSERT INTO `sys_user_role` VALUES (1714829502936530945, 1);
-INSERT INTO `sys_user_role` VALUES (1714898663033290754, 1);
-INSERT INTO `sys_user_role` VALUES (1714942733206175746, 1);
-INSERT INTO `sys_user_role` VALUES (1714943378361434113, 1);
-INSERT INTO `sys_user_role` VALUES (1714943388671033346, 1);
-INSERT INTO `sys_user_role` VALUES (1714945928464711682, 1);
-INSERT INTO `sys_user_role` VALUES (1714946100850606082, 1);
-INSERT INTO `sys_user_role` VALUES (1714952355237347329, 1);
-INSERT INTO `sys_user_role` VALUES (1714954192279584770, 1);
-INSERT INTO `sys_user_role` VALUES (1714960721598758913, 1);
-INSERT INTO `sys_user_role` VALUES (1714961357132283906, 1);
-INSERT INTO `sys_user_role` VALUES (1714963426656403458, 1);
-INSERT INTO `sys_user_role` VALUES (1714980339130318850, 1);
-INSERT INTO `sys_user_role` VALUES (1714985002550444034, 1);
-INSERT INTO `sys_user_role` VALUES (1714996959085084674, 1);
-INSERT INTO `sys_user_role` VALUES (1715000784541990913, 1);
-INSERT INTO `sys_user_role` VALUES (1715160830886297602, 1);
-INSERT INTO `sys_user_role` VALUES (1715174792021426177, 1);
-INSERT INTO `sys_user_role` VALUES (1715176760861278209, 1);
-INSERT INTO `sys_user_role` VALUES (1715187418688405506, 1);
-INSERT INTO `sys_user_role` VALUES (1715263570077564930, 1);
-INSERT INTO `sys_user_role` VALUES (1715273299113820162, 1);
-INSERT INTO `sys_user_role` VALUES (1715289765028577281, 1);
-INSERT INTO `sys_user_role` VALUES (1715642509052624897, 1);
-INSERT INTO `sys_user_role` VALUES (1715645217792868353, 1);
-INSERT INTO `sys_user_role` VALUES (1715655140035543041, 1);
-INSERT INTO `sys_user_role` VALUES (1715688813166346242, 1);
-INSERT INTO `sys_user_role` VALUES (1715695623109623810, 1);
-INSERT INTO `sys_user_role` VALUES (1716076523383177217, 1);
-INSERT INTO `sys_user_role` VALUES (1716077329079615490, 1);
-INSERT INTO `sys_user_role` VALUES (1716316658037178370, 1);
-INSERT INTO `sys_user_role` VALUES (1716375479287824386, 1);
-INSERT INTO `sys_user_role` VALUES (1716376929359380482, 1);
-INSERT INTO `sys_user_role` VALUES (1716449431389487106, 1);
-INSERT INTO `sys_user_role` VALUES (1716626232627707906, 1);
-INSERT INTO `sys_user_role` VALUES (1716668774639484929, 1);
-INSERT INTO `sys_user_role` VALUES (1716723582348050434, 1);
-INSERT INTO `sys_user_role` VALUES (1717010625036828674, 1);
-INSERT INTO `sys_user_role` VALUES (1717112818712723458, 1);
-INSERT INTO `sys_user_role` VALUES (1717171039955599361, 1);
-INSERT INTO `sys_user_role` VALUES (1717382776042569730, 1);
-INSERT INTO `sys_user_role` VALUES (1717383874597896194, 1);
-INSERT INTO `sys_user_role` VALUES (1717463477270102018, 1);
-INSERT INTO `sys_user_role` VALUES (1717550755342467074, 1);
-INSERT INTO `sys_user_role` VALUES (1718643906618605569, 1);
-INSERT INTO `sys_user_role` VALUES (1719357065528623105, 1);
-INSERT INTO `sys_user_role` VALUES (1719629669720145921, 1);
-INSERT INTO `sys_user_role` VALUES (1719631746265530370, 1);
-INSERT INTO `sys_user_role` VALUES (1719969371128086529, 1);
-INSERT INTO `sys_user_role` VALUES (1719994192431955970, 1);
-INSERT INTO `sys_user_role` VALUES (1720001597920264194, 1);
-INSERT INTO `sys_user_role` VALUES (1720054174099718145, 1);
-INSERT INTO `sys_user_role` VALUES (1720373256426635265, 1);
-INSERT INTO `sys_user_role` VALUES (1720615324298264578, 1);
-INSERT INTO `sys_user_role` VALUES (1720966085100191746, 1);
-INSERT INTO `sys_user_role` VALUES (1721433118342397954, 1);
-INSERT INTO `sys_user_role` VALUES (1721798759096270850, 1);
-INSERT INTO `sys_user_role` VALUES (1721869407395332097, 1);
-INSERT INTO `sys_user_role` VALUES (1721869952080232450, 1);
-INSERT INTO `sys_user_role` VALUES (1722083875718737921, 1);
-INSERT INTO `sys_user_role` VALUES (1722126825769185282, 1);
-INSERT INTO `sys_user_role` VALUES (1722453238653169665, 1);
-INSERT INTO `sys_user_role` VALUES (1722501722198552577, 1);
-INSERT INTO `sys_user_role` VALUES (1722546398997819394, 1);
-INSERT INTO `sys_user_role` VALUES (1722635856464097281, 1);
-INSERT INTO `sys_user_role` VALUES (1722652602847768578, 1);
-INSERT INTO `sys_user_role` VALUES (1722787874222682114, 1);
-INSERT INTO `sys_user_role` VALUES (1722799180870889473, 1);
-INSERT INTO `sys_user_role` VALUES (1722872660475817986, 1);
-INSERT INTO `sys_user_role` VALUES (1722874592401600514, 1);
-INSERT INTO `sys_user_role` VALUES (1722883137289367554, 1);
-INSERT INTO `sys_user_role` VALUES (1722918534182645762, 1);
-INSERT INTO `sys_user_role` VALUES (1723173295586848769, 1);
-INSERT INTO `sys_user_role` VALUES (1723222687891107841, 1);
-INSERT INTO `sys_user_role` VALUES (1723224404040921089, 1);
-INSERT INTO `sys_user_role` VALUES (1723225015520112641, 1);
-INSERT INTO `sys_user_role` VALUES (1723278284531478529, 1);
-INSERT INTO `sys_user_role` VALUES (1723330835209564161, 1);
-INSERT INTO `sys_user_role` VALUES (1723708198137147393, 1);
-INSERT INTO `sys_user_role` VALUES (1723754683843260417, 1);
-INSERT INTO `sys_user_role` VALUES (1723878185250369537, 1);
-INSERT INTO `sys_user_role` VALUES (1723940614634254337, 1);
-INSERT INTO `sys_user_role` VALUES (1723975861757325314, 1);
-INSERT INTO `sys_user_role` VALUES (1724306907803725826, 1);
-INSERT INTO `sys_user_role` VALUES (1724308252862492673, 1);
-INSERT INTO `sys_user_role` VALUES (1724382895124295681, 1);
-INSERT INTO `sys_user_role` VALUES (1724727778758406145, 1);
-INSERT INTO `sys_user_role` VALUES (1724815478295425026, 1);
-INSERT INTO `sys_user_role` VALUES (1725026071145107458, 1);
-INSERT INTO `sys_user_role` VALUES (1725026978817658881, 1);
-INSERT INTO `sys_user_role` VALUES (1725043562961457154, 1);
-INSERT INTO `sys_user_role` VALUES (1725058936893362178, 1);
-INSERT INTO `sys_user_role` VALUES (1725363117009162242, 1);
-INSERT INTO `sys_user_role` VALUES (1725538633251049474, 1);
-INSERT INTO `sys_user_role` VALUES (1725564937467875329, 1);
-INSERT INTO `sys_user_role` VALUES (1725891713243021314, 1);
-INSERT INTO `sys_user_role` VALUES (1725905000621932546, 1);
-INSERT INTO `sys_user_role` VALUES (1726440708294049793, 1);
-INSERT INTO `sys_user_role` VALUES (1726443526979584002, 1);
-INSERT INTO `sys_user_role` VALUES (1726445663797116929, 1);
-INSERT INTO `sys_user_role` VALUES (1726452867329687553, 1);
-INSERT INTO `sys_user_role` VALUES (1726472827451998209, 1);
-INSERT INTO `sys_user_role` VALUES (1726479651370696705, 1);
-INSERT INTO `sys_user_role` VALUES (1726487492674195458, 1);
-INSERT INTO `sys_user_role` VALUES (1726496513055784961, 1);
-INSERT INTO `sys_user_role` VALUES (1726498781398302722, 1);
-INSERT INTO `sys_user_role` VALUES (1726506873632587778, 1);
-INSERT INTO `sys_user_role` VALUES (1726529248394739714, 1);
-INSERT INTO `sys_user_role` VALUES (1726578079102664705, 1);
-INSERT INTO `sys_user_role` VALUES (1726582181383634946, 1);
-INSERT INTO `sys_user_role` VALUES (1726583555672506369, 1);
-INSERT INTO `sys_user_role` VALUES (1726596448690372609, 1);
-INSERT INTO `sys_user_role` VALUES (1726599361261207553, 1);
-INSERT INTO `sys_user_role` VALUES (1726604511749079041, 1);
-INSERT INTO `sys_user_role` VALUES (1726606973822304258, 1);
-INSERT INTO `sys_user_role` VALUES (1726609379524083713, 1);
-INSERT INTO `sys_user_role` VALUES (1726616151265640450, 1);
-INSERT INTO `sys_user_role` VALUES (1726775811478126594, 1);
-INSERT INTO `sys_user_role` VALUES (1726795490141667329, 1);
-INSERT INTO `sys_user_role` VALUES (1726798403169681410, 1);
-INSERT INTO `sys_user_role` VALUES (1726830794655399937, 1);
-INSERT INTO `sys_user_role` VALUES (1726862038013313026, 1);
-INSERT INTO `sys_user_role` VALUES (1726919220696186882, 1);
-INSERT INTO `sys_user_role` VALUES (1727140184050630658, 1);
-INSERT INTO `sys_user_role` VALUES (1727506163368722433, 1);
-INSERT INTO `sys_user_role` VALUES (1727518983086931969, 1);
-INSERT INTO `sys_user_role` VALUES (1727580969606840321, 1);
-INSERT INTO `sys_user_role` VALUES (1727590505323429890, 1);
-INSERT INTO `sys_user_role` VALUES (1727918393172164609, 1);
-INSERT INTO `sys_user_role` VALUES (1728249002000121857, 1);
-INSERT INTO `sys_user_role` VALUES (1728680561446486017, 1);
-INSERT INTO `sys_user_role` VALUES (1728964404182577153, 1);
-INSERT INTO `sys_user_role` VALUES (1729020459675611137, 1);
-INSERT INTO `sys_user_role` VALUES (1729051002043691009, 1);
-INSERT INTO `sys_user_role` VALUES (1729423744832172033, 1);
-INSERT INTO `sys_user_role` VALUES (1729429590291050497, 1);
-INSERT INTO `sys_user_role` VALUES (1729685493222375426, 1729685491108446210);
-INSERT INTO `sys_user_role` VALUES (1730050324466036738, 1);
-INSERT INTO `sys_user_role` VALUES (1730102403335254018, 1);
-INSERT INTO `sys_user_role` VALUES (1730129923250122754, 1);
-INSERT INTO `sys_user_role` VALUES (1730155108925763586, 1);
-INSERT INTO `sys_user_role` VALUES (1730273428207366145, 1);
-INSERT INTO `sys_user_role` VALUES (1730498722784669697, 1);
-INSERT INTO `sys_user_role` VALUES (1730815105229713410, 1);
-INSERT INTO `sys_user_role` VALUES (1730858886951923714, 1);
-INSERT INTO `sys_user_role` VALUES (1731357405659824130, 1);
-INSERT INTO `sys_user_role` VALUES (1731475532557090818, 1);
-INSERT INTO `sys_user_role` VALUES (1731480953627901953, 1);
-INSERT INTO `sys_user_role` VALUES (1731502381106495490, 1);
-INSERT INTO `sys_user_role` VALUES (1731524458442162177, 1);
-INSERT INTO `sys_user_role` VALUES (1731524630094053377, 1);
-INSERT INTO `sys_user_role` VALUES (1731524650293821441, 1);
-INSERT INTO `sys_user_role` VALUES (1731529253710233601, 1);
-INSERT INTO `sys_user_role` VALUES (1731559936046432258, 1);
-INSERT INTO `sys_user_role` VALUES (1731564032228884482, 1);
-INSERT INTO `sys_user_role` VALUES (1731565926737281026, 1);
-INSERT INTO `sys_user_role` VALUES (1731566918589513729, 1);
-INSERT INTO `sys_user_role` VALUES (1731567740094283778, 1);
-INSERT INTO `sys_user_role` VALUES (1731575439263563777, 1);
-INSERT INTO `sys_user_role` VALUES (1731583864055824385, 1);
-INSERT INTO `sys_user_role` VALUES (1731588155382464513, 1);
-INSERT INTO `sys_user_role` VALUES (1731589827840212993, 1);
-INSERT INTO `sys_user_role` VALUES (1731635461435719682, 1);
-INSERT INTO `sys_user_role` VALUES (1731668049902731266, 1);
-INSERT INTO `sys_user_role` VALUES (1731922694168412162, 1);
-INSERT INTO `sys_user_role` VALUES (1731944975456305153, 1);
-INSERT INTO `sys_user_role` VALUES (1731949019394506753, 1);
-INSERT INTO `sys_user_role` VALUES (1731951425054343170, 1);
-INSERT INTO `sys_user_role` VALUES (1732000242621513729, 1);
-INSERT INTO `sys_user_role` VALUES (1732027163380056066, 1);
-INSERT INTO `sys_user_role` VALUES (1732289382269353985, 1);
-INSERT INTO `sys_user_role` VALUES (1732289439282528258, 1);
-INSERT INTO `sys_user_role` VALUES (1732289699585228801, 1);
-INSERT INTO `sys_user_role` VALUES (1732290827173527553, 1);
-INSERT INTO `sys_user_role` VALUES (1732291549344595969, 1);
-INSERT INTO `sys_user_role` VALUES (1732293265184030721, 1);
-INSERT INTO `sys_user_role` VALUES (1732329664117506049, 1);
-INSERT INTO `sys_user_role` VALUES (1732334104450990081, 1);
-INSERT INTO `sys_user_role` VALUES (1732578671045672962, 1);
-INSERT INTO `sys_user_role` VALUES (1732584047426174978, 1);
-INSERT INTO `sys_user_role` VALUES (1732608690321129474, 1);
-INSERT INTO `sys_user_role` VALUES (1732678147815014401, 1);
-INSERT INTO `sys_user_role` VALUES (1732731410102910977, 1);
-INSERT INTO `sys_user_role` VALUES (1733005266763939841, 1);
-INSERT INTO `sys_user_role` VALUES (1733016149837774850, 1);
-INSERT INTO `sys_user_role` VALUES (1733053523871432705, 1);
-INSERT INTO `sys_user_role` VALUES (1733061400367497218, 1);
-INSERT INTO `sys_user_role` VALUES (1733167090469732353, 1);
-INSERT INTO `sys_user_role` VALUES (1733298702729641986, 1);
-INSERT INTO `sys_user_role` VALUES (1733488544511983617, 1);
-INSERT INTO `sys_user_role` VALUES (1733720554119659521, 1);
-INSERT INTO `sys_user_role` VALUES (1733846657777827842, 1);
-INSERT INTO `sys_user_role` VALUES (1733859832720031745, 1);
-INSERT INTO `sys_user_role` VALUES (1734137817339559938, 1);
-INSERT INTO `sys_user_role` VALUES (1734227535762849793, 1);
-INSERT INTO `sys_user_role` VALUES (1734492373726560257, 1);
-INSERT INTO `sys_user_role` VALUES (1734508040978726914, 1);
-INSERT INTO `sys_user_role` VALUES (1734513545461661697, 1);
-INSERT INTO `sys_user_role` VALUES (1734581580998451202, 1);
-INSERT INTO `sys_user_role` VALUES (1734751884580298754, 1);
-INSERT INTO `sys_user_role` VALUES (1734781716483612674, 1);
-INSERT INTO `sys_user_role` VALUES (1734833221987278849, 1);
-INSERT INTO `sys_user_role` VALUES (1734834063154946050, 1);
-INSERT INTO `sys_user_role` VALUES (1734880697666576386, 1);
-INSERT INTO `sys_user_role` VALUES (1734891995888427009, 1);
-INSERT INTO `sys_user_role` VALUES (1735132534701367297, 1);
-INSERT INTO `sys_user_role` VALUES (1735242647239991298, 1);
-INSERT INTO `sys_user_role` VALUES (1735486862444273666, 1);
-INSERT INTO `sys_user_role` VALUES (1735487912727355394, 1);
-INSERT INTO `sys_user_role` VALUES (1735542352767426561, 1);
-INSERT INTO `sys_user_role` VALUES (1735551915889598466, 1);
-INSERT INTO `sys_user_role` VALUES (1735616653411557377, 1);
-INSERT INTO `sys_user_role` VALUES (1735835864146714626, 1);
-INSERT INTO `sys_user_role` VALUES (1735953007769100289, 1);
-INSERT INTO `sys_user_role` VALUES (1735960189784891393, 1);
-INSERT INTO `sys_user_role` VALUES (1736265950381547522, 1);
-INSERT INTO `sys_user_role` VALUES (1736577606684844034, 1);
-INSERT INTO `sys_user_role` VALUES (1736638822375563266, 1);
-INSERT INTO `sys_user_role` VALUES (1736779069306511361, 1);
-INSERT INTO `sys_user_role` VALUES (1737028378602053634, 1);
-INSERT INTO `sys_user_role` VALUES (1737271234797314050, 1);
-INSERT INTO `sys_user_role` VALUES (1737315322405920770, 1);
-INSERT INTO `sys_user_role` VALUES (1737445221154234370, 1);
-INSERT INTO `sys_user_role` VALUES (1737452907568635906, 1);
-INSERT INTO `sys_user_role` VALUES (1737453186955419649, 1);
-INSERT INTO `sys_user_role` VALUES (1737717777685880833, 1);
-INSERT INTO `sys_user_role` VALUES (1737768515594166274, 1);
-INSERT INTO `sys_user_role` VALUES (1738108912170246145, 1);
-INSERT INTO `sys_user_role` VALUES (1738118086488825858, 1);
-INSERT INTO `sys_user_role` VALUES (1738520430804279297, 1);
-INSERT INTO `sys_user_role` VALUES (1738802060248817666, 1);
-INSERT INTO `sys_user_role` VALUES (1738812447119712257, 1);
-INSERT INTO `sys_user_role` VALUES (1738941480197234689, 1);
-INSERT INTO `sys_user_role` VALUES (1738963430776840194, 1);
-INSERT INTO `sys_user_role` VALUES (1739121784341995522, 1);
-INSERT INTO `sys_user_role` VALUES (1739166931951886338, 1);
-INSERT INTO `sys_user_role` VALUES (1739272055240073217, 1);
-INSERT INTO `sys_user_role` VALUES (1739451838930427905, 1);
-INSERT INTO `sys_user_role` VALUES (1739452037375533057, 1);
-INSERT INTO `sys_user_role` VALUES (1739452376946384898, 1);
-INSERT INTO `sys_user_role` VALUES (1739484503888961537, 1);
-INSERT INTO `sys_user_role` VALUES (1739485282335006722, 1);
-INSERT INTO `sys_user_role` VALUES (1739577551431999490, 1);
-INSERT INTO `sys_user_role` VALUES (1739825609910591489, 1);
-INSERT INTO `sys_user_role` VALUES (1739916453439152130, 1);
-INSERT INTO `sys_user_role` VALUES (1740188388454629378, 1);
-INSERT INTO `sys_user_role` VALUES (1741339991320580097, 1);
-INSERT INTO `sys_user_role` VALUES (1741803737633542145, 1);
-INSERT INTO `sys_user_role` VALUES (1741823858229923841, 1);
-INSERT INTO `sys_user_role` VALUES (1741845883943227393, 1);
-INSERT INTO `sys_user_role` VALUES (1742179775941201921, 1);
-INSERT INTO `sys_user_role` VALUES (1742437553771458562, 1);
-INSERT INTO `sys_user_role` VALUES (1742451201315254273, 1);
-INSERT INTO `sys_user_role` VALUES (1742469913120419841, 1);
-INSERT INTO `sys_user_role` VALUES (1742798283280568321, 1);
-INSERT INTO `sys_user_role` VALUES (1742798987701342210, 1);
-INSERT INTO `sys_user_role` VALUES (1742799476950126594, 1);
-INSERT INTO `sys_user_role` VALUES (1742799839619010562, 1);
-INSERT INTO `sys_user_role` VALUES (1742801019527057410, 1);
-INSERT INTO `sys_user_role` VALUES (1742804073915699202, 1);
-INSERT INTO `sys_user_role` VALUES (1742821280687149058, 1);
-INSERT INTO `sys_user_role` VALUES (1742821467476283394, 1);
-INSERT INTO `sys_user_role` VALUES (1742822775600009217, 1);
-INSERT INTO `sys_user_role` VALUES (1742823890928357377, 1);
-INSERT INTO `sys_user_role` VALUES (1742838225297821697, 1);
-INSERT INTO `sys_user_role` VALUES (1742902317295423490, 1);
-INSERT INTO `sys_user_role` VALUES (1742910854243373058, 1);
-INSERT INTO `sys_user_role` VALUES (1742961994725150721, 1);
-INSERT INTO `sys_user_role` VALUES (1742969861079388161, 1);
-INSERT INTO `sys_user_role` VALUES (1743068363130228737, 1);
-INSERT INTO `sys_user_role` VALUES (1743075924621479938, 1);
-INSERT INTO `sys_user_role` VALUES (1743079200725225474, 1);
-INSERT INTO `sys_user_role` VALUES (1743085878682144769, 1);
-INSERT INTO `sys_user_role` VALUES (1743110774967586818, 1);
-INSERT INTO `sys_user_role` VALUES (1743162481042870274, 1);
-INSERT INTO `sys_user_role` VALUES (1743166491284033537, 1);
-INSERT INTO `sys_user_role` VALUES (1743251016219447297, 1);
-INSERT INTO `sys_user_role` VALUES (1743469820367142914, 1);
-INSERT INTO `sys_user_role` VALUES (1743514389280522242, 1);
-INSERT INTO `sys_user_role` VALUES (1743519646916083714, 1);
-INSERT INTO `sys_user_role` VALUES (1743670356026654722, 1);
-INSERT INTO `sys_user_role` VALUES (1743892570516815874, 1);
-INSERT INTO `sys_user_role` VALUES (1743952049409146882, 1);
-INSERT INTO `sys_user_role` VALUES (1744268693259993089, 1);
-INSERT INTO `sys_user_role` VALUES (1744351384550567938, 1);
-INSERT INTO `sys_user_role` VALUES (1744561041202278402, 1);
-INSERT INTO `sys_user_role` VALUES (1744574752277196801, 1);
-INSERT INTO `sys_user_role` VALUES (1744619123995373569, 1);
-INSERT INTO `sys_user_role` VALUES (1744627110742913025, 1);
-INSERT INTO `sys_user_role` VALUES (1744634408357916673, 1);
-INSERT INTO `sys_user_role` VALUES (1744645281965207554, 1);
-INSERT INTO `sys_user_role` VALUES (1744724410316156930, 1);
-INSERT INTO `sys_user_role` VALUES (1744892307919400962, 1);
-INSERT INTO `sys_user_role` VALUES (1744903174606090241, 1);
-INSERT INTO `sys_user_role` VALUES (1744904968014983169, 1);
-INSERT INTO `sys_user_role` VALUES (1744905787204497410, 1);
-INSERT INTO `sys_user_role` VALUES (1744911513595473921, 1);
-INSERT INTO `sys_user_role` VALUES (1744912178359103490, 1);
-INSERT INTO `sys_user_role` VALUES (1744912486720139266, 1);
-INSERT INTO `sys_user_role` VALUES (1744915552240463874, 1);
-INSERT INTO `sys_user_role` VALUES (1744923917133869058, 1);
-INSERT INTO `sys_user_role` VALUES (1744971513579761666, 1);
-INSERT INTO `sys_user_role` VALUES (1744984070818426882, 1);
-INSERT INTO `sys_user_role` VALUES (1744984147393835010, 1);
-INSERT INTO `sys_user_role` VALUES (1744992401243041793, 1);
-INSERT INTO `sys_user_role` VALUES (1745011131444424706, 1);
-INSERT INTO `sys_user_role` VALUES (1745061549180514306, 1);
-INSERT INTO `sys_user_role` VALUES (1745346479991091201, 1);
-INSERT INTO `sys_user_role` VALUES (1745346822607007745, 1);
-INSERT INTO `sys_user_role` VALUES (1745368346374217730, 1);
-INSERT INTO `sys_user_role` VALUES (1745424741765259266, 1);
-INSERT INTO `sys_user_role` VALUES (1745426757090582530, 1);
-INSERT INTO `sys_user_role` VALUES (1745620173124575234, 1);
-INSERT INTO `sys_user_role` VALUES (1745623876426571777, 1);
-INSERT INTO `sys_user_role` VALUES (1745654577691664386, 1);
-INSERT INTO `sys_user_role` VALUES (1745663259879972865, 1);
-INSERT INTO `sys_user_role` VALUES (1745686038692012034, 1);
-INSERT INTO `sys_user_role` VALUES (1745738268480675842, 1);
-INSERT INTO `sys_user_role` VALUES (1745790952546017281, 1);
-INSERT INTO `sys_user_role` VALUES (1746397384551211009, 1);
-INSERT INTO `sys_user_role` VALUES (1746400980533551105, 1);
-INSERT INTO `sys_user_role` VALUES (1746522414111039489, 1);
-INSERT INTO `sys_user_role` VALUES (1746873386528223234, 1);
-INSERT INTO `sys_user_role` VALUES (1747067318369333249, 1);
-INSERT INTO `sys_user_role` VALUES (1747071365822361602, 1);
-INSERT INTO `sys_user_role` VALUES (1747153912031948801, 1);
-INSERT INTO `sys_user_role` VALUES (1747197655195922434, 1);
-INSERT INTO `sys_user_role` VALUES (1747519480203390977, 1);
-INSERT INTO `sys_user_role` VALUES (1747521265550831618, 1);
-INSERT INTO `sys_user_role` VALUES (1747523421662162945, 1);
-INSERT INTO `sys_user_role` VALUES (1747797864993075201, 1);
-INSERT INTO `sys_user_role` VALUES (1747800427213697025, 1);
-INSERT INTO `sys_user_role` VALUES (1747910191046275073, 1);
-INSERT INTO `sys_user_role` VALUES (1747923453217419265, 1);
-INSERT INTO `sys_user_role` VALUES (1748187110132232193, 1);
-INSERT INTO `sys_user_role` VALUES (1748260926648823809, 1);
-INSERT INTO `sys_user_role` VALUES (1748276826697445377, 1);
-INSERT INTO `sys_user_role` VALUES (1748312313952808962, 1);
-INSERT INTO `sys_user_role` VALUES (1748635584837529601, 1);
-INSERT INTO `sys_user_role` VALUES (1748642479459610625, 1);
-INSERT INTO `sys_user_role` VALUES (1748663294624346114, 1);
-INSERT INTO `sys_user_role` VALUES (1748703876608503810, 1);
-INSERT INTO `sys_user_role` VALUES (1748704145589219329, 1);
-INSERT INTO `sys_user_role` VALUES (1748708285178523649, 1);
-INSERT INTO `sys_user_role` VALUES (1748728575929430017, 1);
-INSERT INTO `sys_user_role` VALUES (1748761666442047490, 1);
-INSERT INTO `sys_user_role` VALUES (1748925826178035713, 1);
-INSERT INTO `sys_user_role` VALUES (1749259130492235778, 1);
-INSERT INTO `sys_user_role` VALUES (1749280237328871426, 1);
-INSERT INTO `sys_user_role` VALUES (1749289400549322754, 1);
-INSERT INTO `sys_user_role` VALUES (1749327661225291778, 1);
-INSERT INTO `sys_user_role` VALUES (1749365593797636097, 1);
-INSERT INTO `sys_user_role` VALUES (1749407786692325378, 1);
-INSERT INTO `sys_user_role` VALUES (1749519043344805890, 1);
-INSERT INTO `sys_user_role` VALUES (1749683041063219202, 1);
-INSERT INTO `sys_user_role` VALUES (1749683546774646786, 1);
-INSERT INTO `sys_user_role` VALUES (1749691765567860737, 1);
-INSERT INTO `sys_user_role` VALUES (1749705571236917249, 1);
-INSERT INTO `sys_user_role` VALUES (1749740828837359618, 1);
-INSERT INTO `sys_user_role` VALUES (1749741179162406914, 1);
-INSERT INTO `sys_user_role` VALUES (1749741340039131137, 1);
-INSERT INTO `sys_user_role` VALUES (1749747618241130497, 1);
-INSERT INTO `sys_user_role` VALUES (1749747701439344641, 1);
-INSERT INTO `sys_user_role` VALUES (1749786825391157250, 1);
-INSERT INTO `sys_user_role` VALUES (1749789665819963394, 1);
-INSERT INTO `sys_user_role` VALUES (1749797707705823234, 1);
-INSERT INTO `sys_user_role` VALUES (1749974903762210818, 1);
-INSERT INTO `sys_user_role` VALUES (1749982777750081537, 1);
-INSERT INTO `sys_user_role` VALUES (1749990634667134978, 1);
-INSERT INTO `sys_user_role` VALUES (1749991325137653761, 1);
-INSERT INTO `sys_user_role` VALUES (1749992779328016386, 1);
-INSERT INTO `sys_user_role` VALUES (1749993573204905985, 1);
-INSERT INTO `sys_user_role` VALUES (1749994406877351937, 1);
-INSERT INTO `sys_user_role` VALUES (1749995279187726337, 1);
-INSERT INTO `sys_user_role` VALUES (1749995486029828097, 1);
-INSERT INTO `sys_user_role` VALUES (1749995707686211586, 1);
-INSERT INTO `sys_user_role` VALUES (1750000406883749890, 1);
-INSERT INTO `sys_user_role` VALUES (1750000942706085889, 1);
-INSERT INTO `sys_user_role` VALUES (1750005079111913473, 1);
-INSERT INTO `sys_user_role` VALUES (1750428606466117633, 1);
-INSERT INTO `sys_user_role` VALUES (1750553534423126017, 1);
-INSERT INTO `sys_user_role` VALUES (1750690119441469441, 1);
-INSERT INTO `sys_user_role` VALUES (1750723725312413698, 1);
-INSERT INTO `sys_user_role` VALUES (1750724537434525697, 1);
-INSERT INTO `sys_user_role` VALUES (1750743381616119810, 1);
-INSERT INTO `sys_user_role` VALUES (1750822931356192769, 1);
-INSERT INTO `sys_user_role` VALUES (1750823004563574785, 1);
-INSERT INTO `sys_user_role` VALUES (1751548639330177026, 1);
-INSERT INTO `sys_user_role` VALUES (1751796140318658561, 1);
-INSERT INTO `sys_user_role` VALUES (1751889049818763265, 1);
-INSERT INTO `sys_user_role` VALUES (1751896081141600258, 1);
-INSERT INTO `sys_user_role` VALUES (1751949653564723201, 1);
-INSERT INTO `sys_user_role` VALUES (1751955373517443073, 1);
-INSERT INTO `sys_user_role` VALUES (1751980511470292993, 1);
-INSERT INTO `sys_user_role` VALUES (1752128867307884546, 1);
-INSERT INTO `sys_user_role` VALUES (1752128948195037185, 1);
-INSERT INTO `sys_user_role` VALUES (1752138835683708930, 1);
-INSERT INTO `sys_user_role` VALUES (1752148500127682561, 1);
-INSERT INTO `sys_user_role` VALUES (1752276638077816834, 1);
-INSERT INTO `sys_user_role` VALUES (1752299834210521089, 1);
-INSERT INTO `sys_user_role` VALUES (1752306117726703618, 1);
-INSERT INTO `sys_user_role` VALUES (1752504006021222402, 1);
-INSERT INTO `sys_user_role` VALUES (1752602885546840066, 1);
-INSERT INTO `sys_user_role` VALUES (1752724639351050242, 1);
-INSERT INTO `sys_user_role` VALUES (1753215436756357122, 1);
-INSERT INTO `sys_user_role` VALUES (1753402656570216449, 1);
-INSERT INTO `sys_user_role` VALUES (1753486557368029185, 1);
-INSERT INTO `sys_user_role` VALUES (1753797902466551809, 1);
-INSERT INTO `sys_user_role` VALUES (1753967757819908098, 1);
-INSERT INTO `sys_user_role` VALUES (1754016754462887938, 1);
-INSERT INTO `sys_user_role` VALUES (1754029247868440577, 1);
-INSERT INTO `sys_user_role` VALUES (1754413960445562882, 1);
-INSERT INTO `sys_user_role` VALUES (1754424078633537538, 1);
-INSERT INTO `sys_user_role` VALUES (1754764137119354881, 1);
-INSERT INTO `sys_user_role` VALUES (1755042084761899009, 1);
-INSERT INTO `sys_user_role` VALUES (1755047141691625473, 1);
-INSERT INTO `sys_user_role` VALUES (1756274975479173121, 1);
-INSERT INTO `sys_user_role` VALUES (1756308183021260801, 1);
-INSERT INTO `sys_user_role` VALUES (1757325877958938626, 1);
-INSERT INTO `sys_user_role` VALUES (1758445439802675202, 1);
-INSERT INTO `sys_user_role` VALUES (1759032628991234049, 1);
-INSERT INTO `sys_user_role` VALUES (1759050804781125634, 1);
-INSERT INTO `sys_user_role` VALUES (1759089524834045954, 1);
-INSERT INTO `sys_user_role` VALUES (1759092949802029057, 1);
-INSERT INTO `sys_user_role` VALUES (1759100324189573121, 1);
-INSERT INTO `sys_user_role` VALUES (1759103449889771521, 1);
-INSERT INTO `sys_user_role` VALUES (1759147026191749121, 1);
-INSERT INTO `sys_user_role` VALUES (1759413482020147202, 1);
-INSERT INTO `sys_user_role` VALUES (1759427862430486529, 1);
-INSERT INTO `sys_user_role` VALUES (1759428010174844929, 1);
-INSERT INTO `sys_user_role` VALUES (1759496088514465794, 1);
-INSERT INTO `sys_user_role` VALUES (1759764705965510657, 1);
-INSERT INTO `sys_user_role` VALUES (1759777481207320578, 1);
-INSERT INTO `sys_user_role` VALUES (1759806155667279873, 1);
-INSERT INTO `sys_user_role` VALUES (1759812015655227394, 1);
-INSERT INTO `sys_user_role` VALUES (1759815447778693121, 1);
-INSERT INTO `sys_user_role` VALUES (1759832486966726658, 1);
-INSERT INTO `sys_user_role` VALUES (1759858071113830402, 1);
-INSERT INTO `sys_user_role` VALUES (1759863475847827458, 1);
-INSERT INTO `sys_user_role` VALUES (1759868018195173378, 1);
-INSERT INTO `sys_user_role` VALUES (1759869729374736385, 1);
-INSERT INTO `sys_user_role` VALUES (1760186079276175362, 1);
-INSERT INTO `sys_user_role` VALUES (1760319626808922114, 1);
-INSERT INTO `sys_user_role` VALUES (1760347236137963522, 1);
-INSERT INTO `sys_user_role` VALUES (1760358546837868546, 1);
-INSERT INTO `sys_user_role` VALUES (1760377107434180609, 1);
-INSERT INTO `sys_user_role` VALUES (1760472305161998338, 1);
-INSERT INTO `sys_user_role` VALUES (1760472829932343298, 1);
-INSERT INTO `sys_user_role` VALUES (1760477732188721153, 1);
-INSERT INTO `sys_user_role` VALUES (1760502088176504833, 1);
-INSERT INTO `sys_user_role` VALUES (1760508166310203394, 1);
-INSERT INTO `sys_user_role` VALUES (1760511294409543681, 1);
-INSERT INTO `sys_user_role` VALUES (1760562604135682049, 1);
-INSERT INTO `sys_user_role` VALUES (1760841877480280066, 1);
-INSERT INTO `sys_user_role` VALUES (1760896840365510658, 1);
-INSERT INTO `sys_user_role` VALUES (1760903600501428226, 1);
-INSERT INTO `sys_user_role` VALUES (1761404022634844162, 1);
-INSERT INTO `sys_user_role` VALUES (1761954868732891138, 1);
-INSERT INTO `sys_user_role` VALUES (1761955584197267458, 1);
-INSERT INTO `sys_user_role` VALUES (1762003524345401345, 1);
-INSERT INTO `sys_user_role` VALUES (1762004833618366465, 1);
-INSERT INTO `sys_user_role` VALUES (1762010183880937474, 1);
-INSERT INTO `sys_user_role` VALUES (1762298283890839554, 1);
-INSERT INTO `sys_user_role` VALUES (1762363188014747649, 1);
-INSERT INTO `sys_user_role` VALUES (1762389902388367361, 1);
-INSERT INTO `sys_user_role` VALUES (1762401081961746434, 1);
-INSERT INTO `sys_user_role` VALUES (1762481911417540610, 1);
-INSERT INTO `sys_user_role` VALUES (1762482221645041665, 1);
-INSERT INTO `sys_user_role` VALUES (1762482243174404097, 1);
-INSERT INTO `sys_user_role` VALUES (1762483838461153282, 1);
-INSERT INTO `sys_user_role` VALUES (1762487212380262401, 1);
-INSERT INTO `sys_user_role` VALUES (1762498553535008770, 1);
-INSERT INTO `sys_user_role` VALUES (1762636163465138177, 1);
-INSERT INTO `sys_user_role` VALUES (1762655625413185537, 1);
-INSERT INTO `sys_user_role` VALUES (1762656108559257601, 1);
-INSERT INTO `sys_user_role` VALUES (1762673833499217922, 1);
-INSERT INTO `sys_user_role` VALUES (1762677825344163842, 1);
-INSERT INTO `sys_user_role` VALUES (1762677876015550465, 1);
-INSERT INTO `sys_user_role` VALUES (1762678082262061057, 1);
-INSERT INTO `sys_user_role` VALUES (1762678138012749825, 1);
-INSERT INTO `sys_user_role` VALUES (1762678144652333057, 1);
-INSERT INTO `sys_user_role` VALUES (1762678174192816129, 1);
-INSERT INTO `sys_user_role` VALUES (1762678472563019777, 1);
-INSERT INTO `sys_user_role` VALUES (1762678534596775938, 1);
-INSERT INTO `sys_user_role` VALUES (1762678534894571521, 1);
-INSERT INTO `sys_user_role` VALUES (1762678581635895298, 1);
-INSERT INTO `sys_user_role` VALUES (1762678844920745985, 1);
-INSERT INTO `sys_user_role` VALUES (1762679194973163522, 1);
-INSERT INTO `sys_user_role` VALUES (1762679425299173378, 1);
-INSERT INTO `sys_user_role` VALUES (1762679810776682498, 1);
-INSERT INTO `sys_user_role` VALUES (1762679862656028674, 1);
-INSERT INTO `sys_user_role` VALUES (1762679937360777217, 1);
-INSERT INTO `sys_user_role` VALUES (1762680184698884098, 1);
-INSERT INTO `sys_user_role` VALUES (1762680290076577794, 1);
-INSERT INTO `sys_user_role` VALUES (1762680350055124993, 1);
-INSERT INTO `sys_user_role` VALUES (1762681014038614017, 1);
-INSERT INTO `sys_user_role` VALUES (1762681042207559681, 1);
-INSERT INTO `sys_user_role` VALUES (1762681082732924929, 1);
-INSERT INTO `sys_user_role` VALUES (1762681088869191682, 1);
-INSERT INTO `sys_user_role` VALUES (1762681283195490306, 1);
-INSERT INTO `sys_user_role` VALUES (1762681876752420865, 1);
-INSERT INTO `sys_user_role` VALUES (1762681980129431553, 1);
-INSERT INTO `sys_user_role` VALUES (1762682038488977410, 1);
-INSERT INTO `sys_user_role` VALUES (1762682208211488769, 1);
-INSERT INTO `sys_user_role` VALUES (1762683406603833346, 1);
-INSERT INTO `sys_user_role` VALUES (1762683500048732162, 1);
-INSERT INTO `sys_user_role` VALUES (1762683740843724801, 1);
-INSERT INTO `sys_user_role` VALUES (1762683806404890625, 1);
-INSERT INTO `sys_user_role` VALUES (1762684131715108865, 1);
-INSERT INTO `sys_user_role` VALUES (1762684408442703874, 1);
-INSERT INTO `sys_user_role` VALUES (1762684686994821121, 1);
-INSERT INTO `sys_user_role` VALUES (1762686405808017409, 1);
-INSERT INTO `sys_user_role` VALUES (1762687370061729794, 1);
-INSERT INTO `sys_user_role` VALUES (1762687537527705602, 1);
-INSERT INTO `sys_user_role` VALUES (1762687814947360769, 1);
-INSERT INTO `sys_user_role` VALUES (1762688734347186177, 1);
-INSERT INTO `sys_user_role` VALUES (1762690035701305346, 1);
-INSERT INTO `sys_user_role` VALUES (1762690104575971330, 1);
-INSERT INTO `sys_user_role` VALUES (1762691273243283457, 1);
-INSERT INTO `sys_user_role` VALUES (1762691277462753282, 1);
-INSERT INTO `sys_user_role` VALUES (1762692468406013954, 1);
-INSERT INTO `sys_user_role` VALUES (1762693304498573314, 1);
-INSERT INTO `sys_user_role` VALUES (1762693710704332801, 1);
-INSERT INTO `sys_user_role` VALUES (1762694382220791809, 1);
-INSERT INTO `sys_user_role` VALUES (1762696242545610754, 1);
-INSERT INTO `sys_user_role` VALUES (1762696275626086402, 1);
-INSERT INTO `sys_user_role` VALUES (1762696945854894082, 1);
-INSERT INTO `sys_user_role` VALUES (1762698940057702402, 1);
-INSERT INTO `sys_user_role` VALUES (1762699511732948994, 1);
-INSERT INTO `sys_user_role` VALUES (1762701338956320769, 1);
-INSERT INTO `sys_user_role` VALUES (1762701352860438530, 1);
-INSERT INTO `sys_user_role` VALUES (1762703221934575617, 1);
-INSERT INTO `sys_user_role` VALUES (1762705239214444546, 1);
-INSERT INTO `sys_user_role` VALUES (1762705858788642817, 1);
-INSERT INTO `sys_user_role` VALUES (1762706220585111553, 1);
-INSERT INTO `sys_user_role` VALUES (1762707979655237633, 1);
-INSERT INTO `sys_user_role` VALUES (1762709372369686529, 1);
-INSERT INTO `sys_user_role` VALUES (1762717698755186689, 1);
-INSERT INTO `sys_user_role` VALUES (1762719280540471297, 1);
-INSERT INTO `sys_user_role` VALUES (1762719395619590146, 1);
-INSERT INTO `sys_user_role` VALUES (1762721161459322881, 1);
-INSERT INTO `sys_user_role` VALUES (1762721300685049857, 1);
-INSERT INTO `sys_user_role` VALUES (1762724284441612290, 1);
-INSERT INTO `sys_user_role` VALUES (1762728759105474561, 1);
-INSERT INTO `sys_user_role` VALUES (1762732886506131458, 1);
-INSERT INTO `sys_user_role` VALUES (1762744418904354818, 1);
-INSERT INTO `sys_user_role` VALUES (1762749711537188865, 1);
-INSERT INTO `sys_user_role` VALUES (1762749741056700418, 1);
-INSERT INTO `sys_user_role` VALUES (1762750396991320065, 1);
-INSERT INTO `sys_user_role` VALUES (1762752966828797954, 1);
-INSERT INTO `sys_user_role` VALUES (1762753464445218817, 1);
-INSERT INTO `sys_user_role` VALUES (1762753558548623362, 1);
-INSERT INTO `sys_user_role` VALUES (1762755306625478657, 1);
-INSERT INTO `sys_user_role` VALUES (1762756726481268737, 1);
-INSERT INTO `sys_user_role` VALUES (1762756744172843010, 1);
-INSERT INTO `sys_user_role` VALUES (1762760948073410562, 1);
-INSERT INTO `sys_user_role` VALUES (1762768424588062721, 1);
-INSERT INTO `sys_user_role` VALUES (1762770353779159041, 1);
-INSERT INTO `sys_user_role` VALUES (1762770690174922754, 1);
-INSERT INTO `sys_user_role` VALUES (1762773352299671554, 1);
-INSERT INTO `sys_user_role` VALUES (1762809323107954689, 1);
-INSERT INTO `sys_user_role` VALUES (1762839585439133698, 1);
-INSERT INTO `sys_user_role` VALUES (1762854389474177026, 1);
-INSERT INTO `sys_user_role` VALUES (1762962461110611969, 1);
-INSERT INTO `sys_user_role` VALUES (1763011242199920642, 1);
-INSERT INTO `sys_user_role` VALUES (1763014994155843586, 1);
-INSERT INTO `sys_user_role` VALUES (1763017291741048833, 1);
-INSERT INTO `sys_user_role` VALUES (1763021759299760129, 1);
-INSERT INTO `sys_user_role` VALUES (1763033286434140162, 1);
-INSERT INTO `sys_user_role` VALUES (1763034914528735233, 1);
-INSERT INTO `sys_user_role` VALUES (1763039329885138945, 1);
-INSERT INTO `sys_user_role` VALUES (1763046791925248001, 1);
-INSERT INTO `sys_user_role` VALUES (1763059898533851137, 1);
-INSERT INTO `sys_user_role` VALUES (1763074956366229505, 1);
-INSERT INTO `sys_user_role` VALUES (1763083906738335746, 1);
-INSERT INTO `sys_user_role` VALUES (1763087371808059394, 1);
-INSERT INTO `sys_user_role` VALUES (1763110723763351554, 1);
-INSERT INTO `sys_user_role` VALUES (1763119583433633794, 1);
-INSERT INTO `sys_user_role` VALUES (1763121912195100674, 1);
-INSERT INTO `sys_user_role` VALUES (1763150617374142466, 1);
-INSERT INTO `sys_user_role` VALUES (1763219512067928065, 1);
-INSERT INTO `sys_user_role` VALUES (1763232955600777217, 1);
-INSERT INTO `sys_user_role` VALUES (1763234635201425410, 1);
-INSERT INTO `sys_user_role` VALUES (1763246126281568257, 1);
-INSERT INTO `sys_user_role` VALUES (1763323873230106626, 1);
-INSERT INTO `sys_user_role` VALUES (1763384782623387650, 1);
-INSERT INTO `sys_user_role` VALUES (1763386804647014401, 1);
-INSERT INTO `sys_user_role` VALUES (1763396269777661953, 1);
-INSERT INTO `sys_user_role` VALUES (1763405607485353985, 1);
-INSERT INTO `sys_user_role` VALUES (1763432831823425537, 1);
-INSERT INTO `sys_user_role` VALUES (1763453676952268802, 1);
-INSERT INTO `sys_user_role` VALUES (1763456811204653057, 1);
-INSERT INTO `sys_user_role` VALUES (1763461579713064962, 1);
-INSERT INTO `sys_user_role` VALUES (1763491204732379137, 1);
-INSERT INTO `sys_user_role` VALUES (1763497378051612674, 1);
-INSERT INTO `sys_user_role` VALUES (1763559058706096130, 1);
-INSERT INTO `sys_user_role` VALUES (1763577018824876033, 1);
-INSERT INTO `sys_user_role` VALUES (1763633124087521281, 1);
-INSERT INTO `sys_user_role` VALUES (1763886812869775362, 1);
-INSERT INTO `sys_user_role` VALUES (1763913997563285506, 1);
-INSERT INTO `sys_user_role` VALUES (1764173595432013826, 1);
-INSERT INTO `sys_user_role` VALUES (1764261292183998465, 1);
-INSERT INTO `sys_user_role` VALUES (1764287995094585346, 1);
-INSERT INTO `sys_user_role` VALUES (1764461290695774209, 1);
-INSERT INTO `sys_user_role` VALUES (1764474718197993473, 1);
-INSERT INTO `sys_user_role` VALUES (1764482496870305794, 1);
-INSERT INTO `sys_user_role` VALUES (1764495637402439682, 1);
-INSERT INTO `sys_user_role` VALUES (1764498159743619073, 1);
-INSERT INTO `sys_user_role` VALUES (1764498751559913473, 1);
-INSERT INTO `sys_user_role` VALUES (1764514945641828354, 1);
-INSERT INTO `sys_user_role` VALUES (1764519088087453698, 1);
-INSERT INTO `sys_user_role` VALUES (1764520899728986114, 1);
-INSERT INTO `sys_user_role` VALUES (1764525084016988161, 1);
-INSERT INTO `sys_user_role` VALUES (1764539443405475842, 1);
-INSERT INTO `sys_user_role` VALUES (1764564174649249794, 1);
-INSERT INTO `sys_user_role` VALUES (1764583176607977474, 1);
-INSERT INTO `sys_user_role` VALUES (1764607755468505089, 1);
-INSERT INTO `sys_user_role` VALUES (1764634462757920770, 1);
-INSERT INTO `sys_user_role` VALUES (1764827973771915265, 1);
-INSERT INTO `sys_user_role` VALUES (1764831906313596929, 1);
-INSERT INTO `sys_user_role` VALUES (1764857801929715713, 1);
-INSERT INTO `sys_user_role` VALUES (1764882243925913602, 1);
-INSERT INTO `sys_user_role` VALUES (1764897874259816449, 1);
-INSERT INTO `sys_user_role` VALUES (1764945289142677505, 1);
-INSERT INTO `sys_user_role` VALUES (1764973230396354562, 1);
-INSERT INTO `sys_user_role` VALUES (1765026702110044161, 1);
-INSERT INTO `sys_user_role` VALUES (1765029529888829441, 1);
-INSERT INTO `sys_user_role` VALUES (1765032464647532546, 1);
-INSERT INTO `sys_user_role` VALUES (1765189908342321154, 1);
-INSERT INTO `sys_user_role` VALUES (1765214567611838465, 1);
-INSERT INTO `sys_user_role` VALUES (1765219002413035521, 1);
-INSERT INTO `sys_user_role` VALUES (1765220951434801153, 1);
-INSERT INTO `sys_user_role` VALUES (1765248990147325954, 1);
-INSERT INTO `sys_user_role` VALUES (1765249652247572481, 1);
-INSERT INTO `sys_user_role` VALUES (1765256689840893953, 1);
-INSERT INTO `sys_user_role` VALUES (1765258070287003649, 1);
-INSERT INTO `sys_user_role` VALUES (1765276219292069890, 1);
-INSERT INTO `sys_user_role` VALUES (1765276256986279938, 1);
-INSERT INTO `sys_user_role` VALUES (1765288006737539074, 1);
-INSERT INTO `sys_user_role` VALUES (1765312970979094529, 1);
-INSERT INTO `sys_user_role` VALUES (1765626857976840193, 1);
-INSERT INTO `sys_user_role` VALUES (1765662415604236289, 1);
-INSERT INTO `sys_user_role` VALUES (1765673187432546306, 1);
-INSERT INTO `sys_user_role` VALUES (1765733893087510530, 1);
-INSERT INTO `sys_user_role` VALUES (1765927148689326081, 1);
-INSERT INTO `sys_user_role` VALUES (1765946481549279233, 1);
-INSERT INTO `sys_user_role` VALUES (1765987575418880002, 1);
-INSERT INTO `sys_user_role` VALUES (1765991619675848705, 1);
-INSERT INTO `sys_user_role` VALUES (1765997037533822977, 1);
-INSERT INTO `sys_user_role` VALUES (1766008273063411714, 1);
-INSERT INTO `sys_user_role` VALUES (1766011496348286978, 1);
-INSERT INTO `sys_user_role` VALUES (1766017335771561986, 1);
-INSERT INTO `sys_user_role` VALUES (1766020112446947329, 1);
-INSERT INTO `sys_user_role` VALUES (1766085955713269762, 1);
-INSERT INTO `sys_user_role` VALUES (1766102635604639746, 1);
-INSERT INTO `sys_user_role` VALUES (1766323008493355009, 1);
-INSERT INTO `sys_user_role` VALUES (1766387294112612353, 1);
-INSERT INTO `sys_user_role` VALUES (1766842982618136577, 1);
-INSERT INTO `sys_user_role` VALUES (1767018925722730497, 1);
-INSERT INTO `sys_user_role` VALUES (1767098572703563778, 1);
-INSERT INTO `sys_user_role` VALUES (1767193870939488258, 1);
-INSERT INTO `sys_user_role` VALUES (1767371461667356673, 1);
-INSERT INTO `sys_user_role` VALUES (1767472876167397377, 1);
-INSERT INTO `sys_user_role` VALUES (1767484503956684801, 1);
-INSERT INTO `sys_user_role` VALUES (1767494435045146626, 1);
-INSERT INTO `sys_user_role` VALUES (1767502928200368129, 1);
-INSERT INTO `sys_user_role` VALUES (1767790695329333250, 1);
-INSERT INTO `sys_user_role` VALUES (1767797421759823874, 1);
-INSERT INTO `sys_user_role` VALUES (1767867514107756545, 1);
-INSERT INTO `sys_user_role` VALUES (1768123513418842114, 1);
-INSERT INTO `sys_user_role` VALUES (1768125846164897794, 1);
-INSERT INTO `sys_user_role` VALUES (1768137512021688322, 1);
-INSERT INTO `sys_user_role` VALUES (1768172797870768129, 1);
-INSERT INTO `sys_user_role` VALUES (1768257272084463617, 1);
-INSERT INTO `sys_user_role` VALUES (1768452168263172097, 1);
-INSERT INTO `sys_user_role` VALUES (1768487959811096578, 1);
-INSERT INTO `sys_user_role` VALUES (1768522172358754306, 1);
-INSERT INTO `sys_user_role` VALUES (1768523379651411969, 1);
-INSERT INTO `sys_user_role` VALUES (1768528826072596482, 1);
-INSERT INTO `sys_user_role` VALUES (1768554562896560130, 1);
-INSERT INTO `sys_user_role` VALUES (1768560191165988866, 1);
-INSERT INTO `sys_user_role` VALUES (1768560307197214722, 1);
-INSERT INTO `sys_user_role` VALUES (1768561334289989633, 1);
-INSERT INTO `sys_user_role` VALUES (1768565063735083009, 1);
-INSERT INTO `sys_user_role` VALUES (1768570261782167553, 1);
-INSERT INTO `sys_user_role` VALUES (1768598711431626753, 1);
-INSERT INTO `sys_user_role` VALUES (1768635967806668802, 1);
-INSERT INTO `sys_user_role` VALUES (1768887604487946241, 1);
-INSERT INTO `sys_user_role` VALUES (1768911351987077122, 1);
-INSERT INTO `sys_user_role` VALUES (1769186172289449986, 1);
-INSERT INTO `sys_user_role` VALUES (1769408371134857218, 1);
-INSERT INTO `sys_user_role` VALUES (1769520576635371521, 1);
-INSERT INTO `sys_user_role` VALUES (1769561862704758786, 1);
-INSERT INTO `sys_user_role` VALUES (1769569234722521089, 1);
-INSERT INTO `sys_user_role` VALUES (1769607528399273986, 1);
-INSERT INTO `sys_user_role` VALUES (1769617177890553857, 1);
-INSERT INTO `sys_user_role` VALUES (1769663440459694082, 1);
-INSERT INTO `sys_user_role` VALUES (1769908456541233154, 1);
-INSERT INTO `sys_user_role` VALUES (1769957357877043201, 1);
-INSERT INTO `sys_user_role` VALUES (1770021611783168002, 1);
-INSERT INTO `sys_user_role` VALUES (1770063295095087106, 1);
-INSERT INTO `sys_user_role` VALUES (1770063700436819970, 1);
-INSERT INTO `sys_user_role` VALUES (1770281104395837442, 1);
-INSERT INTO `sys_user_role` VALUES (1770288338521661441, 1);
-INSERT INTO `sys_user_role` VALUES (1770322814056333313, 1);
-INSERT INTO `sys_user_role` VALUES (1770338641849679874, 1);
-INSERT INTO `sys_user_role` VALUES (1770351581952802817, 1);
-INSERT INTO `sys_user_role` VALUES (1770357305466486786, 1);
-INSERT INTO `sys_user_role` VALUES (1770364755406028802, 1);
-INSERT INTO `sys_user_role` VALUES (1770381062524436482, 1);
-INSERT INTO `sys_user_role` VALUES (1770470677998534657, 1);
-INSERT INTO `sys_user_role` VALUES (1770642413331218434, 1);
-INSERT INTO `sys_user_role` VALUES (1770648858382630914, 1);
-INSERT INTO `sys_user_role` VALUES (1770715116272680962, 1);
-INSERT INTO `sys_user_role` VALUES (1770720646688997377, 1);
-INSERT INTO `sys_user_role` VALUES (1770726609303175170, 1);
-INSERT INTO `sys_user_role` VALUES (1770757521378181121, 1);
-INSERT INTO `sys_user_role` VALUES (1770759021907214338, 1);
-INSERT INTO `sys_user_role` VALUES (1771002145573240833, 1);
-INSERT INTO `sys_user_role` VALUES (1771019340902629377, 1);
-INSERT INTO `sys_user_role` VALUES (1771085212270788610, 1);
-INSERT INTO `sys_user_role` VALUES (1771091102206066689, 1);
-INSERT INTO `sys_user_role` VALUES (1771105696307806210, 1);
-INSERT INTO `sys_user_role` VALUES (1771529088861274114, 1);
-INSERT INTO `sys_user_role` VALUES (1772148936234565634, 1);
-INSERT INTO `sys_user_role` VALUES (1772170742823714818, 1);
-INSERT INTO `sys_user_role` VALUES (1772173596070313986, 1);
-INSERT INTO `sys_user_role` VALUES (1772181791232819201, 1);
-INSERT INTO `sys_user_role` VALUES (1772807697592832001, 1);
-INSERT INTO `sys_user_role` VALUES (1772821509767254018, 1);
-INSERT INTO `sys_user_role` VALUES (1772947270113251330, 1);
-INSERT INTO `sys_user_role` VALUES (1773149840576434178, 1);
-INSERT INTO `sys_user_role` VALUES (1773180693536919554, 1);
-INSERT INTO `sys_user_role` VALUES (1773192472325345282, 1);
-INSERT INTO `sys_user_role` VALUES (1773200350612377601, 1);
-INSERT INTO `sys_user_role` VALUES (1773307685607395329, 1);
-INSERT INTO `sys_user_role` VALUES (1773529379840282625, 1);
-INSERT INTO `sys_user_role` VALUES (1773543535003914241, 1);
-INSERT INTO `sys_user_role` VALUES (1773615949826052097, 1);
-INSERT INTO `sys_user_role` VALUES (1773714968015278082, 1);
-INSERT INTO `sys_user_role` VALUES (1773741523022123010, 1);
-INSERT INTO `sys_user_role` VALUES (1773774290929848321, 1);
-INSERT INTO `sys_user_role` VALUES (1773969452180258818, 1);
-INSERT INTO `sys_user_role` VALUES (1774094144111198210, 1);
-INSERT INTO `sys_user_role` VALUES (1774326191970926594, 1);
-INSERT INTO `sys_user_role` VALUES (1774595110106685441, 1);
-INSERT INTO `sys_user_role` VALUES (1774603290157113346, 1);
-INSERT INTO `sys_user_role` VALUES (1774671916088287233, 1);
-INSERT INTO `sys_user_role` VALUES (1774712059876728833, 1);
-INSERT INTO `sys_user_role` VALUES (1775005868787359746, 1);
-INSERT INTO `sys_user_role` VALUES (1775039514470637569, 1);
-INSERT INTO `sys_user_role` VALUES (1775046202846208002, 1);
-INSERT INTO `sys_user_role` VALUES (1775055115012399106, 1);
-INSERT INTO `sys_user_role` VALUES (1775058985780371458, 1);
-INSERT INTO `sys_user_role` VALUES (1775066829695082497, 1);
-INSERT INTO `sys_user_role` VALUES (1775078808497283074, 1);
-INSERT INTO `sys_user_role` VALUES (1775109977754427393, 1);
-INSERT INTO `sys_user_role` VALUES (1775109977771204609, 1);
-INSERT INTO `sys_user_role` VALUES (1775192704981786626, 1);
-INSERT INTO `sys_user_role` VALUES (1775421589681987586, 1);
-INSERT INTO `sys_user_role` VALUES (1776124571507613697, 1);
-INSERT INTO `sys_user_role` VALUES (1776550027549597698, 1);
-INSERT INTO `sys_user_role` VALUES (1776815081159254018, 1);
-INSERT INTO `sys_user_role` VALUES (1776827459129171969, 1);
-INSERT INTO `sys_user_role` VALUES (1776861348769947650, 1);
-INSERT INTO `sys_user_role` VALUES (1776864185373548546, 1);
-INSERT INTO `sys_user_role` VALUES (1776871215274516482, 1);
-INSERT INTO `sys_user_role` VALUES (1776872376396275714, 1);
-INSERT INTO `sys_user_role` VALUES (1776889562355589122, 1);
-INSERT INTO `sys_user_role` VALUES (1777118704363757570, 1);
-INSERT INTO `sys_user_role` VALUES (1777126438664527874, 1);
-INSERT INTO `sys_user_role` VALUES (1777157190659727362, 1);
-INSERT INTO `sys_user_role` VALUES (1777217669537062914, 1);
-INSERT INTO `sys_user_role` VALUES (1777220647320936449, 1);
-INSERT INTO `sys_user_role` VALUES (1777252116550508545, 1);
-INSERT INTO `sys_user_role` VALUES (1777260896986193921, 1);
-INSERT INTO `sys_user_role` VALUES (1777296499484254210, 1);
-INSERT INTO `sys_user_role` VALUES (1777301747972038657, 1);
-INSERT INTO `sys_user_role` VALUES (1777363539016409089, 1);
-INSERT INTO `sys_user_role` VALUES (1777483372982820866, 1);
-INSERT INTO `sys_user_role` VALUES (1777537906459402242, 1);
-INSERT INTO `sys_user_role` VALUES (1777610641428570114, 1);
-INSERT INTO `sys_user_role` VALUES (1777613556604067842, 1);
-INSERT INTO `sys_user_role` VALUES (1777718773123244034, 1);
-INSERT INTO `sys_user_role` VALUES (1777743939492503554, 1);
-INSERT INTO `sys_user_role` VALUES (1777887539056467969, 1);
-INSERT INTO `sys_user_role` VALUES (1777887799262699521, 1);
-INSERT INTO `sys_user_role` VALUES (1777890253115088897, 1);
-INSERT INTO `sys_user_role` VALUES (1777909423068274689, 1);
-INSERT INTO `sys_user_role` VALUES (1777930481544585218, 1);
-INSERT INTO `sys_user_role` VALUES (1777954050559303681, 1);
-INSERT INTO `sys_user_role` VALUES (1778078614597525506, 1);
-INSERT INTO `sys_user_role` VALUES (1778307871026307073, 1);
-INSERT INTO `sys_user_role` VALUES (1778341191034462209, 1);
-INSERT INTO `sys_user_role` VALUES (1778352526686281729, 1);
-INSERT INTO `sys_user_role` VALUES (1778591039688138754, 1);
-INSERT INTO `sys_user_role` VALUES (1778625241280274433, 1);
-INSERT INTO `sys_user_role` VALUES (1778645603636338689, 1);
-INSERT INTO `sys_user_role` VALUES (1779329016437530626, 1);
-INSERT INTO `sys_user_role` VALUES (1779509451201306625, 1);
-INSERT INTO `sys_user_role` VALUES (1781359789389049858, 1);
-INSERT INTO `sys_user_role` VALUES (1781463900025450497, 1);
-INSERT INTO `sys_user_role` VALUES (1781519961809940482, 1);
-INSERT INTO `sys_user_role` VALUES (1781570458679963650, 1);
-INSERT INTO `sys_user_role` VALUES (1781679536911609858, 1);
-INSERT INTO `sys_user_role` VALUES (1781680345497923586, 1);
-INSERT INTO `sys_user_role` VALUES (1781938051479711745, 1);
-INSERT INTO `sys_user_role` VALUES (1781979644345659393, 1);
-INSERT INTO `sys_user_role` VALUES (1781982608724537345, 1);
-INSERT INTO `sys_user_role` VALUES (1782339521316294658, 1);
-INSERT INTO `sys_user_role` VALUES (1782584811885596674, 1);
-INSERT INTO `sys_user_role` VALUES (1782597966938411009, 1);
-INSERT INTO `sys_user_role` VALUES (1782598345608564738, 1);
-INSERT INTO `sys_user_role` VALUES (1782599696132509698, 1);
-INSERT INTO `sys_user_role` VALUES (1782655923667505153, 1);
-INSERT INTO `sys_user_role` VALUES (1782658558470557698, 1);
-INSERT INTO `sys_user_role` VALUES (1782697212870037505, 1);
-INSERT INTO `sys_user_role` VALUES (1782711689380270082, 1);
-INSERT INTO `sys_user_role` VALUES (1782733890905083906, 1);
-INSERT INTO `sys_user_role` VALUES (1782734018948796418, 1);
-INSERT INTO `sys_user_role` VALUES (1782741134992379906, 1);
-INSERT INTO `sys_user_role` VALUES (1782926062560382978, 1);
-INSERT INTO `sys_user_role` VALUES (1782941277477834753, 1);
-INSERT INTO `sys_user_role` VALUES (1782982532157050881, 1);
-INSERT INTO `sys_user_role` VALUES (1783068876598317057, 1);
-INSERT INTO `sys_user_role` VALUES (1783086777506107393, 1);
-INSERT INTO `sys_user_role` VALUES (1783144268357079041, 1);
-INSERT INTO `sys_user_role` VALUES (1783297415947915265, 1);
-INSERT INTO `sys_user_role` VALUES (1783310569679523841, 1);
-INSERT INTO `sys_user_role` VALUES (1783326930816372738, 1);
-INSERT INTO `sys_user_role` VALUES (1783358421143293953, 1);
-INSERT INTO `sys_user_role` VALUES (1783421941125910530, 1);
-INSERT INTO `sys_user_role` VALUES (1783439451980206081, 1);
-INSERT INTO `sys_user_role` VALUES (1783471940098494466, 1);
-INSERT INTO `sys_user_role` VALUES (1783777388311777281, 1);
-INSERT INTO `sys_user_role` VALUES (1783796572785643521, 1);
-INSERT INTO `sys_user_role` VALUES (1783877442208960514, 1);
-INSERT INTO `sys_user_role` VALUES (1784199358216048642, 1);
-INSERT INTO `sys_user_role` VALUES (1784389326918029313, 1);
-INSERT INTO `sys_user_role` VALUES (1784400528377286657, 1);
-INSERT INTO `sys_user_role` VALUES (1784435756558880770, 1);
-INSERT INTO `sys_user_role` VALUES (1784457537797656577, 1);
-INSERT INTO `sys_user_role` VALUES (1784521057603538945, 1);
-INSERT INTO `sys_user_role` VALUES (1784522252246724609, 1);
-INSERT INTO `sys_user_role` VALUES (1784548227567202306, 1);
-INSERT INTO `sys_user_role` VALUES (1784569508068995073, 1);
-INSERT INTO `sys_user_role` VALUES (1784777389905162242, 1);
-INSERT INTO `sys_user_role` VALUES (1784783910114308097, 1);
-INSERT INTO `sys_user_role` VALUES (1784821184902344705, 1);
-INSERT INTO `sys_user_role` VALUES (1784838825360633858, 1);
-INSERT INTO `sys_user_role` VALUES (1784870260805087233, 1);
-INSERT INTO `sys_user_role` VALUES (1784910451020279810, 1);
-INSERT INTO `sys_user_role` VALUES (1785130539233193985, 1);
-INSERT INTO `sys_user_role` VALUES (1785240710601125890, 1);
-INSERT INTO `sys_user_role` VALUES (1785360485289439233, 1);
-INSERT INTO `sys_user_role` VALUES (1785588726424023041, 1);
-INSERT INTO `sys_user_role` VALUES (1785975035152019458, 1);
-INSERT INTO `sys_user_role` VALUES (1786448824117735425, 1);
-INSERT INTO `sys_user_role` VALUES (1787036511853850625, 1);
-INSERT INTO `sys_user_role` VALUES (1787040098730356738, 1);
-INSERT INTO `sys_user_role` VALUES (1787442869522636802, 1);
-INSERT INTO `sys_user_role` VALUES (1787802087576530946, 1);
-INSERT INTO `sys_user_role` VALUES (1787878100067119105, 1);
-INSERT INTO `sys_user_role` VALUES (1788016335816716290, 1);
-INSERT INTO `sys_user_role` VALUES (1788135951385718786, 1);
-INSERT INTO `sys_user_role` VALUES (1788136924611047425, 1);
-INSERT INTO `sys_user_role` VALUES (1788564791958401026, 1);
-INSERT INTO `sys_user_role` VALUES (1788861563763126273, 1);
-INSERT INTO `sys_user_role` VALUES (1789104577664217090, 1);
-INSERT INTO `sys_user_role` VALUES (1789215891946434561, 1);
-INSERT INTO `sys_user_role` VALUES (1789891068120231937, 1);
-INSERT INTO `sys_user_role` VALUES (1789916787885961218, 1);
-INSERT INTO `sys_user_role` VALUES (1790285085844664322, 1);
-INSERT INTO `sys_user_role` VALUES (1790395963663413250, 1);
-INSERT INTO `sys_user_role` VALUES (1790626495441698817, 1);
-INSERT INTO `sys_user_role` VALUES (1790733204311015425, 1);
-INSERT INTO `sys_user_role` VALUES (1790747738857832449, 1);
-INSERT INTO `sys_user_role` VALUES (1790893072141549570, 1);
-INSERT INTO `sys_user_role` VALUES (1790953693902045186, 1);
-INSERT INTO `sys_user_role` VALUES (1790986267617689601, 1);
-INSERT INTO `sys_user_role` VALUES (1791058271444172801, 1);
-INSERT INTO `sys_user_role` VALUES (1791123542645178370, 1);
-INSERT INTO `sys_user_role` VALUES (1791170948304764929, 1);
-INSERT INTO `sys_user_role` VALUES (1791173160204533762, 1);
-INSERT INTO `sys_user_role` VALUES (1791181681805524994, 1);
-INSERT INTO `sys_user_role` VALUES (1791184448041287681, 1);
-INSERT INTO `sys_user_role` VALUES (1791281872491544578, 1);
-INSERT INTO `sys_user_role` VALUES (1791281970680201217, 1);
-INSERT INTO `sys_user_role` VALUES (1791283037744693249, 1);
-INSERT INTO `sys_user_role` VALUES (1791285337913589762, 1);
-INSERT INTO `sys_user_role` VALUES (1791289816255856641, 1);
-INSERT INTO `sys_user_role` VALUES (1791296357612683266, 1);
-INSERT INTO `sys_user_role` VALUES (1791299213191315457, 1);
-INSERT INTO `sys_user_role` VALUES (1791308308178829314, 1);
-INSERT INTO `sys_user_role` VALUES (1791318977032781826, 1);
-INSERT INTO `sys_user_role` VALUES (1791371260403687425, 1);
-INSERT INTO `sys_user_role` VALUES (1791387421707116546, 1);
-INSERT INTO `sys_user_role` VALUES (1791447204858470402, 1);
-INSERT INTO `sys_user_role` VALUES (1791729117863124993, 1);
-INSERT INTO `sys_user_role` VALUES (1793165965818912770, 1);
-INSERT INTO `sys_user_role` VALUES (1793568337082740737, 1);
-INSERT INTO `sys_user_role` VALUES (1794560044937154561, 1);
-INSERT INTO `sys_user_role` VALUES (1794749939555143681, 1);
-INSERT INTO `sys_user_role` VALUES (1795107096276410369, 1);
-INSERT INTO `sys_user_role` VALUES (1795403915137032194, 1);
-INSERT INTO `sys_user_role` VALUES (1795789913440296962, 1);
-INSERT INTO `sys_user_role` VALUES (1796141206390349825, 1);
-INSERT INTO `sys_user_role` VALUES (1796355287995031553, 1);
-INSERT INTO `sys_user_role` VALUES (1796407753490997250, 1);
-INSERT INTO `sys_user_role` VALUES (1796463188688412674, 1);
-INSERT INTO `sys_user_role` VALUES (1796906411999272961, 1);
-INSERT INTO `sys_user_role` VALUES (1797537246867791874, 1);
-INSERT INTO `sys_user_role` VALUES (1797817711835127809, 1);
-INSERT INTO `sys_user_role` VALUES (1797909973524979713, 1);
-INSERT INTO `sys_user_role` VALUES (1798175479586791425, 1);
-INSERT INTO `sys_user_role` VALUES (1798235243616313345, 1);
-INSERT INTO `sys_user_role` VALUES (1798520237534388226, 1);
-INSERT INTO `sys_user_role` VALUES (1798712494199840770, 1);
-INSERT INTO `sys_user_role` VALUES (1799280384053518338, 1);
-INSERT INTO `sys_user_role` VALUES (1799744018567307266, 1);
-INSERT INTO `sys_user_role` VALUES (1800533174780338178, 1);
-INSERT INTO `sys_user_role` VALUES (1800536812638609409, 1);
-INSERT INTO `sys_user_role` VALUES (1800674959565430786, 1);
-INSERT INTO `sys_user_role` VALUES (1801079442480996354, 1);
-INSERT INTO `sys_user_role` VALUES (1801092008536088577, 1);
-INSERT INTO `sys_user_role` VALUES (1801164484339212289, 1);
-INSERT INTO `sys_user_role` VALUES (1801390702451924994, 1);
-INSERT INTO `sys_user_role` VALUES (1801448239394103297, 1);
-INSERT INTO `sys_user_role` VALUES (1801450423980564482, 1);
-INSERT INTO `sys_user_role` VALUES (1801600035647299585, 1);
-INSERT INTO `sys_user_role` VALUES (1801917626890756098, 1);
-INSERT INTO `sys_user_role` VALUES (1802151483346952194, 1);
-INSERT INTO `sys_user_role` VALUES (1802185387541962754, 1);
-INSERT INTO `sys_user_role` VALUES (1802352201437716481, 1);
-INSERT INTO `sys_user_role` VALUES (1802595299652706305, 1);
-INSERT INTO `sys_user_role` VALUES (1802615605641519105, 1);
-INSERT INTO `sys_user_role` VALUES (1802884960002416641, 1);
-INSERT INTO `sys_user_role` VALUES (1803244799710896130, 1);
-INSERT INTO `sys_user_role` VALUES (1803310345022251010, 1);
-INSERT INTO `sys_user_role` VALUES (1803350775793360898, 1);
-INSERT INTO `sys_user_role` VALUES (1803952381528145922, 1);
-INSERT INTO `sys_user_role` VALUES (1804409446046400513, 1);
-INSERT INTO `sys_user_role` VALUES (1804412156426616834, 1);
-INSERT INTO `sys_user_role` VALUES (1805074712967282689, 1);
-INSERT INTO `sys_user_role` VALUES (1806151742303535105, 1);
-INSERT INTO `sys_user_role` VALUES (1806589360086482945, 1);
-INSERT INTO `sys_user_role` VALUES (1806743654970458113, 1);
-INSERT INTO `sys_user_role` VALUES (1807019618258419713, 1);
-INSERT INTO `sys_user_role` VALUES (1807670449198628866, 1);
-INSERT INTO `sys_user_role` VALUES (1808432476074573826, 1);
-INSERT INTO `sys_user_role` VALUES (1809093167261450242, 1);
-INSERT INTO `sys_user_role` VALUES (1809123002226606082, 1);
-INSERT INTO `sys_user_role` VALUES (1811926844047654913, 1);
-INSERT INTO `sys_user_role` VALUES (1813103212164841473, 1);
-INSERT INTO `sys_user_role` VALUES (1815634871045087233, 1);
-INSERT INTO `sys_user_role` VALUES (1816485229208297473, 1);
-INSERT INTO `sys_user_role` VALUES (1821084376519434241, 1);
-INSERT INTO `sys_user_role` VALUES (1821169552259833858, 1);
-INSERT INTO `sys_user_role` VALUES (1821804728467873793, 1);
-INSERT INTO `sys_user_role` VALUES (1822834793930637314, 1);
-INSERT INTO `sys_user_role` VALUES (1822959243497914370, 1);
-INSERT INTO `sys_user_role` VALUES (1826249520908156930, 1);
-INSERT INTO `sys_user_role` VALUES (1829035060720123905, 1);
-INSERT INTO `sys_user_role` VALUES (1831211798115991553, 1);
-INSERT INTO `sys_user_role` VALUES (1831273555001950210, 1);
-INSERT INTO `sys_user_role` VALUES (1834083211252416513, 1);
-INSERT INTO `sys_user_role` VALUES (1838475187125043201, 1);
-INSERT INTO `sys_user_role` VALUES (1846455089220632577, 1);
-INSERT INTO `sys_user_role` VALUES (1847910185208987649, 1);
-INSERT INTO `sys_user_role` VALUES (1871910972567822337, 1);
-INSERT INTO `sys_user_role` VALUES (1897620177094057985, 1);
-
-SET FOREIGN_KEY_CHECKS = 1;
diff --git a/script/sql/update/20250407.sql b/script/sql/update/20250407.sql
deleted file mode 100644
index 136302d..0000000
--- a/script/sql/update/20250407.sql
+++ /dev/null
@@ -1,4 +0,0 @@
-INSERT INTO `chat_model` (`id`, `tenant_id`, `category`, `model_name`, `model_describe`, `model_price`, `model_type`, `model_show`, `system_prompt`, `api_host`, `api_key`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1907575746601119746, '000000', 'vector', 'text-embedding-3-small', 'text-embedding-3-small', 0, '2', '0', NULL, 'https://api.pandarobot.chat/', 'sk-cdBlIaZcufccm2RaDe547cBd054d49C7B0782eCa72A0052b', 103, 1, '2025-04-03 07:27:54', 1, '2025-04-03 07:27:54', 'text-embedding-3-small');
-INSERT INTO `chat_model` (`id`, `tenant_id`, `category`, `model_name`, `model_describe`, `model_price`, `model_type`, `model_show`, `system_prompt`, `api_host`, `api_key`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1907576007017066497, '000000', 'vector', 'quentinz/bge-large-zh-v1.5', 'bge-large-zh-v1.5', 0, '2', '0', NULL, 'http://127.0.0.1:11434/', 'cdBlIaZcufccm2RaDe547cBd054d49C7B0782eCa72A0052b', 103, 1, '2025-04-03 07:28:56', 1, '2025-04-03 07:28:56', 'bge-large-zh-v1.5');
-INSERT INTO `chat_model` (`id`, `tenant_id`, `category`, `model_name`, `model_describe`, `model_price`, `model_type`, `model_show`, `system_prompt`, `api_host`, `api_key`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1907576806191362049, '000000', 'vector', 'nomic-embed-text', 'nomic-embed-text', 0, '2', '0', NULL, 'http://127.0.0.1:11434/', 'nomic-embed-text', 103, 1, '2025-04-03 07:32:06', 1, '2025-04-03 07:32:06', 'nomic-embed-text');
-INSERT INTO `chat_model` (`id`, `tenant_id`, `category`, `model_name`, `model_describe`, `model_price`, `model_type`, `model_show`, `system_prompt`, `api_host`, `api_key`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1907577073490161665, '000000', 'vector', 'snowflake-arctic-embed', 'snowflake-arctic-embed', 0, '2', '0', NULL, 'http://127.0.0.1:11434/', 'snowflake-arctic-embed', 103, 1, '2025-04-03 07:33:10', 1, '2025-04-03 07:33:10', 'snowflake-arctic-embed');
diff --git a/script/sql/update/20250505.sql b/script/sql/update/20250505.sql
deleted file mode 100644
index 5f9e25c..0000000
--- a/script/sql/update/20250505.sql
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- Navicat MySQL Data Transfer
-
- Source Server         : 129.211.24.7
- Source Server Type    : MySQL
- Source Server Version : 50744
- Source Host           : 129.211.24.7:3306
- Source Schema         : ry-vue
-
- Target Server Type    : MySQL
- Target Server Version : 50744
- File Encoding         : 65001
-
- Date: 05/05/2025 15:01:08
-*/
-
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for chat_session
--- ----------------------------
-DROP TABLE IF EXISTS `chat_session`;
-CREATE TABLE `chat_session`  (
-  `id` bigint(20) NOT NULL COMMENT '涓婚敭',
-  `user_id` bigint(20) NULL DEFAULT NULL COMMENT '鐢ㄦ埛id',
-  `session_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浼氳瘽鏍囬',
-  `session_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '浼氳瘽鍐呭',
-  `create_dept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '閮ㄩ棬',
-  `create_by` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-  `create_time` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-  `update_by` bigint(20) NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
-  `update_time` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '浼氳瘽绠$悊' ROW_FORMAT = Dynamic;
-
-SET FOREIGN_KEY_CHECKS = 1;
-
-ALTER TABLE `chat_message`
-    ADD COLUMN `session_id` bigint(20) NULL COMMENT '浼氳瘽id' AFTER `id`;
-
diff --git a/script/sql/update/20250509.sql b/script/sql/update/20250509.sql
deleted file mode 100644
index 19bfe5e..0000000
--- a/script/sql/update/20250509.sql
+++ /dev/null
@@ -1,4 +0,0 @@
-ALTER TABLE `chat_model`
-    ADD COLUMN `api_url` varchar(50) NULL COMMENT '璇锋眰鍚庣紑' AFTER `api_key`;
-
-INSERT INTO `chat_config` (`id`, `category`, `config_name`, `config_value`, `config_dict`, `create_dept`, `create_time`, `create_by`, `update_by`, `update_time`, `remark`, `version`, `del_flag`, `update_ip`, `tenant_id`) VALUES (1779450794872414211, 'chat', 'apiUrl', 'v1/chat/completions', 'API 璇锋眰鍚庣紑', 103, '2024-04-14 18:05:05', '1', '1', '2025-04-23 22:29:04', NULL, NULL, '0', NULL, 0);
diff --git a/script/sql/update/20250514.sql b/script/sql/update/20250514.sql
deleted file mode 100644
index 6507646..0000000
--- a/script/sql/update/20250514.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-ALTER TABLE `knowledge_info`
-ADD COLUMN `system_prompt` varchar(255) NULL COMMENT '绯荤粺鎻愮ず璇�' AFTER `vector_model`;
-
-ALTER TABLE `knowledge_info`
-    CHANGE COLUMN `vector` `vector_model_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍚戦噺搴�' AFTER `text_block_size`,
-    CHANGE COLUMN `vector_model` `embedding_model_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鍚戦噺妯″瀷' AFTER `vector_model_name`;
diff --git a/script/sql/update/202505141010.sql b/script/sql/update/202505141010.sql
deleted file mode 100644
index e1b81b2..0000000
--- a/script/sql/update/202505141010.sql
+++ /dev/null
@@ -1,10 +0,0 @@
-ALTER TABLE `knowledge_attach`
-ADD COLUMN `oss_id` bigint(20) NOT NULL COMMENT '瀵硅薄瀛樺偍涓婚敭' AFTER `remark`,
-ADD COLUMN `pic_status` tinyint(1) NOT NULL DEFAULT 10 COMMENT '鎷嗚В鍥剧墖鐘舵��10鏈紑濮嬶紝20杩涜涓紝30宸插畬鎴�' AFTER `oss_id`,
-ADD COLUMN `pic_anys_status` tinyint(1) NOT NULL DEFAULT 10 COMMENT '鍒嗘瀽鍥剧墖鐘舵��10鏈紑濮嬶紝20杩涜涓紝30宸插畬鎴�' AFTER `pic_status`,
-ADD COLUMN `vector_status` tinyint(1) NOT NULL DEFAULT 10 COMMENT '鍐欏叆鍚戦噺鏁版嵁搴撶姸鎬�10鏈紑濮嬶紝20杩涜涓紝30宸插畬鎴�' AFTER `pic_anys_status`,
-DROP PRIMARY KEY,
-ADD PRIMARY KEY (`id`) USING BTREE;
-
-ALTER TABLE `knowledge_attach`
-MODIFY COLUMN `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '澶囨敞' AFTER `update_time`;

--
Gitblit v1.9.3