From 373424bd010cfae218570e602199e2ac6754a0ef Mon Sep 17 00:00:00 2001 From: ageerle Date: Sat, 24 May 2025 16:18:18 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=9B=B4=E6=96=B0=E6=97=A5=E5=BF=97):?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新日志 1. 移除个人微信模块 2. 移除直播模块 3. 移除gpts模块 4. 移除应用商店模块 5. 移除套餐管理模块 6. 移除兑换管理模块 ## 微信相关 小程序相关功能迁移至企业版 微信公众号/微信机器人迁移至企业版 微信支付迁移至企业版 ## 功能模块 智能体模块迁移至企业版 插件管理改为MCP应用并迁移至企业版 知识库: excel解析迁移至企业版 pdf图片解析迁移至企业版 milvus qdrant扩展 迁移至企业版 --- pom.xml | 11 - ruoyi-admin/pom.xml | 5 - .../src/main/resources/application-dev.yml | 18 +- .../src/main/resources/application-prod.yml | 182 -- .../src/main/resources/application.yml | 4 +- .../common/chat/request/ChatRequest.java | 23 - ruoyi-common/ruoyi-common-core/pom.xml | 18 - .../org/ruoyi/domain/ChatAgentManage.java | 86 - .../java/org/ruoyi/domain/ChatAppStore.java | 56 - .../main/java/org/ruoyi/domain/ChatGpts.java | 98 - .../org/ruoyi/domain/ChatPackagePlan.java | 58 - .../java/org/ruoyi/domain/ChatPlugin.java | 46 - .../java/org/ruoyi/domain/ChatRobConfig.java | 66 - .../java/org/ruoyi/domain/ChatUsageToken.java | 6 +- .../org/ruoyi/domain/ChatVisitorUsage.java | 73 - .../java/org/ruoyi/domain/ChatVoucher.java | 68 - .../ruoyi/domain/bo/ChatAgentManageBo.java | 96 - .../org/ruoyi/domain/bo/ChatAppStoreBo.java | 60 - .../java/org/ruoyi/domain/bo/ChatGptsBo.java | 96 - .../ruoyi/domain/bo/ChatPackagePlanBo.java | 61 - .../org/ruoyi/domain/bo/ChatPluginBo.java | 48 - .../org/ruoyi/domain/bo/ChatRobConfigBo.java | 72 - .../ruoyi/domain/bo/ChatVisitorUsageBo.java | 62 - .../org/ruoyi/domain/bo/ChatVoucherBo.java | 73 - .../domain/request/TranslationRequest.java | 29 - .../ruoyi/domain/vo/ChatAgentManageVo.java | 104 - .../org/ruoyi/domain/vo/ChatAppStoreVo.java | 68 - .../java/org/ruoyi/domain/vo/ChatGptsVo.java | 104 - .../java/org/ruoyi/domain/vo/ChatModelVo.java | 3 + .../ruoyi/domain/vo/ChatPackagePlanVo.java | 69 - .../org/ruoyi/domain/vo/ChatPluginVo.java | 55 - .../org/ruoyi/domain/vo/ChatRobConfigVo.java | 78 - .../java/org/ruoyi/domain/vo/ChatTokenVo.java | 43 - .../ruoyi/domain/vo/ChatVisitorUsageVo.java | 64 - .../org/ruoyi/domain/vo/ChatVoucherVo.java | 80 - .../ruoyi/mapper/ChatAgentManageMapper.java | 16 - .../org/ruoyi/mapper/ChatAppStoreMapper.java | 16 - .../java/org/ruoyi/mapper/ChatGptsMapper.java | 15 - .../ruoyi/mapper/ChatPackagePlanMapper.java | 16 - .../org/ruoyi/mapper/ChatPluginMapper.java | 16 - .../org/ruoyi/mapper/ChatRobConfigMapper.java | 16 - .../org/ruoyi/mapper/ChatTokenMapper.java | 16 - .../ruoyi/mapper/ChatVisitorUsageMapper.java | 16 - .../org/ruoyi/mapper/ChatVoucherMapper.java | 15 - .../service/IChatAgentManageService.java | 49 - .../ruoyi/service/IChatAppStoreService.java | 49 - .../org/ruoyi/service/IChatGptsService.java | 49 - .../service/IChatPackagePlanService.java | 49 - .../org/ruoyi/service/IChatPluginService.java | 49 - .../org/ruoyi/service/IChatTokenService.java | 6 +- .../service/IChatVisitorUsageService.java | 48 - .../ruoyi/service/IChatVoucherService.java | 49 - .../org/ruoyi/service/IChatVxService.java | 19 - .../impl/ChatAgentManageServiceImpl.java | 120 - .../service/impl/ChatAppStoreServiceImpl.java | 111 - .../service/impl/ChatGptsServiceImpl.java | 119 - .../impl/ChatPackagePlanServiceImpl.java | 113 - .../service/impl/ChatPluginServiceImpl.java | 110 - .../service/impl/ChatTokenServiceImpl.java | 17 +- .../service/impl/ChatVoucherServiceImpl.java | 114 - .../ruoyi/service/impl/ChatVxServiceImpl.java | 37 - .../mapper/ChatAgentManageMapper.xml | 7 - .../resources/mapper/ChatAppStoreMapper.xml | 7 - .../main/resources/mapper/ChatGptsMapper.xml | 7 - .../mapper/ChatPackagePlanMapper.xml | 7 - .../resources/mapper/ChatPluginMapper.xml | 7 - .../resources/mapper/ChatVoucherMapper.xml | 7 - .../org/ruoyi/chain/loader/CsvFileLoader.java | 2 - .../ruoyi/chain/loader/ExcelFileLoader.java | 41 - .../org/ruoyi/chain/loader/GithubLoader.java | 2 - .../ruoyi/chain/loader/JsonFileLoader.java | 2 - .../chain/loader/MarkDownFileLoader.java | 1 - .../org/ruoyi/chain/loader/PdfFileLoader.java | 1 - .../chain/loader/ResourceLoaderFactory.java | 10 +- .../org/ruoyi/chain/loader/WordLoader.java | 1 - .../chain/split/CharacterTextSplitter.java | 1 - .../ruoyi/chain/split/CodeTextSplitter.java | 1 - .../ruoyi/chain/split/ExcelTextSplitter.java | 17 - .../ruoyi/chain/split/TokenTextSplitter.java | 1 - .../java/org/ruoyi/constant/DealStatus.java | 18 - .../ruoyi/domain/PdfFileContentResult.java | 30 - .../ruoyi/service/PdfImageExtractService.java | 41 - .../impl/PdfImageExtractServiceImpl.java | 149 - .../service/impl/VectorStoreServiceImpl.java | 94 +- .../main/java/org/ruoyi/utils/ZipUtils.java | 183 -- ruoyi-modules/pom.xml | 1 - .../chat/ChatAgentManageController.java | 105 - .../chat/ChatAppStoreController.java | 105 - .../chat/controller/chat/ChatController.java | 28 - .../controller/chat/ChatGptsController.java | 104 - .../controller/chat/ChatModelController.java | 7 +- .../chat/ChatPackagePlanController.java | 113 - .../controller/chat/ChatPluginController.java | 105 - .../controller/chat/ChatStoreController.java | 44 - .../chat/ChatVoucherController.java | 104 - .../knowledge/KnowledgeController.java | 20 - .../controller/tripartite/FaceController.java | 2 +- .../tripartite/SubmitController.java | 17 +- .../chat/listener/SSEEventSourceListener.java | 13 +- .../chat/service/chat/UserModelService.java | 30 - .../chat/impl/ChatCostServiceImpl.java | 22 +- .../service/chat/impl/OpenAIServiceImpl.java | 2 +- .../service/chat/impl/SseServiceImpl.java | 30 +- .../system/config/WxMaConfiguration.java | 133 - .../system/properties/WxMaProperties.java | 52 - .../ruoyi/system/service/SysLoginService.java | 45 - .../system/service/SysRegisterService.java | 8 +- ruoyi-modules/ruoyi-wechat/pom.xml | 32 - .../org/ruoyi/builder/AbstractBuilder.java | 12 - .../java/org/ruoyi/builder/ImageBuilder.java | 24 - .../java/org/ruoyi/builder/TextBuilder.java | 22 - .../org/ruoyi/config/WxCpConfiguration.java | 130 - .../java/org/ruoyi/config/WxCpProperties.java | 48 - .../controller/WeixinServerController.java | 51 - .../controller/WeixinUserController.java | 55 - .../ruoyi/controller/WxPortalController.java | 89 - .../java/org/ruoyi/domin/ReceiveMessage.java | 58 - .../java/org/ruoyi/domin/WeixinQrCode.java | 15 - .../org/ruoyi/handler/AbstractHandler.java | 9 - .../ruoyi/handler/ContactChangeHandler.java | 34 - .../org/ruoyi/handler/EnterAgentHandler.java | 29 - .../org/ruoyi/handler/LocationHandler.java | 44 - .../java/org/ruoyi/handler/LogHandler.java | 26 - .../java/org/ruoyi/handler/MenuHandler.java | 34 - .../java/org/ruoyi/handler/MsgHandler.java | 43 - .../java/org/ruoyi/handler/NullHandler.java | 23 - .../java/org/ruoyi/handler/ScanHandler.java | 8 - .../org/ruoyi/handler/SubscribeHandler.java | 63 - .../org/ruoyi/handler/UnsubscribeHandler.java | 28 - .../org/ruoyi/service/VxLoginService.java | 108 - .../org/ruoyi/service/WeixinUserService.java | 10 - .../service/impl/WeixinUserServiceImpl.java | 65 - .../main/java/org/ruoyi/util/KeyUtils.java | 24 - .../java/org/ruoyi/util/WeixinApiUtil.java | 81 - .../java/org/ruoyi/util/WeixinMsgUtil.java | 66 - .../org/ruoyi/util/WeixinQrCodeCacheUtil.java | 34 - .../src/main/java/org/ruoyi/util/XmlUtil.java | 28 - .../Ruoyi-AI平台容器化构建与部署手册.docx | Bin .../ruoyi-ai-admin/Dockerfile | 0 .../ruoyi-ai-admin/nginx.conf | 0 .../ruoyi-ai-backend/Dockerfile | 0 .../ruoyi-ai-web/Dockerfile | 0 .../ruoyi-ai-web/nginx.conf | 0 .../modify-source-code/ruoyi-ai-admin/.env | 0 .../ruoyi-ai-admin/.env.analyze | 0 .../ruoyi-ai-admin/.env.development | 0 .../ruoyi-ai-admin/.env.production | 0 .../ruoyi-ai-admin/.env.test | 0 .../ruoyi-ai-admin/vite.config.mts | 0 .../ruoyi-ai-backend/application-prod.yml | 0 .../scripts/build-ruoyi-admin-image.sh | 0 .../scripts/build-ruoyi-backend-image.sh | 0 .../scripts/build-ruoyi-web-image.sh | 0 .../scripts/remove-blank.sh | 0 {docker-deploy => script/deploy}/deploy/.env | 0 .../deploy}/deploy/copy-mysql-init-script.sh | 0 .../deploy}/deploy/docker-compose.yaml | 0 .../deploy}/deploy/mysql-init/01_ruoyi-ai.sql | 0 .../deploy/mysql-init/02_update_20250407.sql | 0 .../deploy/mysql-init/03_update_20250505.sql | 0 .../deploy/mysql-init/04_update_20250509.sql | 0 .../deploy}/deploy/update_ruoyi-qi-sql.sh | 0 .../deploy}/one-step-script/deploy-cn.sh | 0 .../deploy}/one-step-script/deploy-en.sh | 0 .../mysql-init/01_ruoyi-ai.sql | 0 .../mysql-init/02_update_20250407.sql | 0 .../mysql-init/03_update_20250505.sql | 0 .../mysql-init/04_update_20250509.sql | 0 .../one-step-script/template/.env.template | 0 .../template/application-prod.yml.template | 176 +- .../template/docker-compose.yaml.template | 230 +- .../template/nginx.admin.conf.template | 42 +- .../template/nginx.web.conf.template | 42 +- .../source-code/fetch-admin-source-code.sh | 0 .../source-code/fetch-backend-source-code.sh | 0 .../source-code/fetch-web-source-code.sh | 0 script/docker/milvus/docker-compose.yml | 63 - script/docker/ruoyiai/docker-compose.yaml | 105 - script/docker/weaviate/docker-compose.yml | 5 +- script/sql/ruoyi-ai.sql | 2687 ----------------- script/sql/update/20250407.sql | 4 - script/sql/update/20250505.sql | 42 - script/sql/update/20250509.sql | 4 - script/sql/update/20250514.sql | 6 - script/sql/update/202505141010.sql | 10 - 185 files changed, 348 insertions(+), 9421 deletions(-) delete mode 100644 ruoyi-admin/src/main/resources/application-prod.yml delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAgentManage.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPackagePlan.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatRobConfig.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVisitorUsage.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAgentManageBo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPackagePlanBo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatRobConfigBo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVisitorUsageBo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/request/TranslationRequest.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAgentManageVo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAppStoreVo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatGptsVo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPackagePlanVo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPluginVo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatRobConfigVo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatTokenVo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVisitorUsageVo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVoucherVo.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAgentManageMapper.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAppStoreMapper.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatGptsMapper.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPackagePlanMapper.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPluginMapper.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatRobConfigMapper.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatTokenMapper.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVisitorUsageMapper.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVoucherMapper.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAgentManageService.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAppStoreService.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatGptsService.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPackagePlanService.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPluginService.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVisitorUsageService.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVoucherService.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVxService.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAgentManageServiceImpl.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAppStoreServiceImpl.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatGptsServiceImpl.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPackagePlanServiceImpl.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPluginServiceImpl.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatVoucherServiceImpl.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatVxServiceImpl.java delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAgentManageMapper.xml delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAppStoreMapper.xml delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatGptsMapper.xml delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPackagePlanMapper.xml delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPluginMapper.xml delete mode 100644 ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatVoucherMapper.xml delete mode 100644 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/loader/ExcelFileLoader.java delete mode 100644 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/chain/split/ExcelTextSplitter.java delete mode 100644 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/constant/DealStatus.java delete mode 100644 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/domain/PdfFileContentResult.java delete mode 100644 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/PdfImageExtractService.java delete mode 100644 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/impl/PdfImageExtractServiceImpl.java delete mode 100644 ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/utils/ZipUtils.java delete mode 100644 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAgentManageController.java delete mode 100644 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAppStoreController.java delete mode 100644 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatGptsController.java delete mode 100644 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPackagePlanController.java delete mode 100644 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPluginController.java delete mode 100644 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatStoreController.java delete mode 100644 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatVoucherController.java delete mode 100644 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/UserModelService.java delete mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/config/WxMaConfiguration.java delete mode 100644 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/properties/WxMaProperties.java delete mode 100644 ruoyi-modules/ruoyi-wechat/pom.xml delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/builder/AbstractBuilder.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/builder/ImageBuilder.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/builder/TextBuilder.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/config/WxCpConfiguration.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/config/WxCpProperties.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/controller/WeixinServerController.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/controller/WeixinUserController.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/controller/WxPortalController.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/domin/ReceiveMessage.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/domin/WeixinQrCode.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/AbstractHandler.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/ContactChangeHandler.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/EnterAgentHandler.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/LocationHandler.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/LogHandler.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/MenuHandler.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/MsgHandler.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/NullHandler.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/ScanHandler.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/SubscribeHandler.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/UnsubscribeHandler.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/VxLoginService.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/WeixinUserService.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/impl/WeixinUserServiceImpl.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/KeyUtils.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/WeixinApiUtil.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/WeixinMsgUtil.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/WeixinQrCodeCacheUtil.java delete mode 100644 ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/util/XmlUtil.java rename {docker-deploy => script/deploy}/Ruoyi-AI平台容器化构建与部署手册.docx (100%) rename {docker-deploy => script/deploy}/build-docker-images/Dockerfile-Resources/ruoyi-ai-admin/Dockerfile (100%) rename {docker-deploy => script/deploy}/build-docker-images/Dockerfile-Resources/ruoyi-ai-admin/nginx.conf (100%) rename {docker-deploy => script/deploy}/build-docker-images/Dockerfile-Resources/ruoyi-ai-backend/Dockerfile (100%) rename {docker-deploy => script/deploy}/build-docker-images/Dockerfile-Resources/ruoyi-ai-web/Dockerfile (100%) rename {docker-deploy => script/deploy}/build-docker-images/Dockerfile-Resources/ruoyi-ai-web/nginx.conf (100%) rename {docker-deploy => script/deploy}/build-docker-images/modify-source-code/ruoyi-ai-admin/.env (100%) rename {docker-deploy => script/deploy}/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.analyze (100%) rename {docker-deploy => script/deploy}/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.development (100%) rename {docker-deploy => script/deploy}/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.production (100%) rename {docker-deploy => script/deploy}/build-docker-images/modify-source-code/ruoyi-ai-admin/.env.test (100%) rename {docker-deploy => script/deploy}/build-docker-images/modify-source-code/ruoyi-ai-admin/vite.config.mts (100%) rename {docker-deploy => script/deploy}/build-docker-images/modify-source-code/ruoyi-ai-backend/application-prod.yml (100%) rename {docker-deploy => script/deploy}/build-docker-images/scripts/build-ruoyi-admin-image.sh (100%) mode change 100755 => 100644 rename {docker-deploy => script/deploy}/build-docker-images/scripts/build-ruoyi-backend-image.sh (100%) mode change 100755 => 100644 rename {docker-deploy => script/deploy}/build-docker-images/scripts/build-ruoyi-web-image.sh (100%) mode change 100755 => 100644 rename {docker-deploy => script/deploy}/build-docker-images/scripts/remove-blank.sh (100%) mode change 100755 => 100644 rename {docker-deploy => script/deploy}/deploy/.env (100%) rename {docker-deploy => script/deploy}/deploy/copy-mysql-init-script.sh (100%) mode change 100755 => 100644 rename {docker-deploy => script/deploy}/deploy/docker-compose.yaml (100%) rename {docker-deploy => script/deploy}/deploy/mysql-init/01_ruoyi-ai.sql (100%) rename {docker-deploy => script/deploy}/deploy/mysql-init/02_update_20250407.sql (100%) rename {docker-deploy => script/deploy}/deploy/mysql-init/03_update_20250505.sql (100%) rename {docker-deploy => script/deploy}/deploy/mysql-init/04_update_20250509.sql (100%) rename {docker-deploy => script/deploy}/deploy/update_ruoyi-qi-sql.sh (100%) mode change 100755 => 100644 rename {docker-deploy => script/deploy}/one-step-script/deploy-cn.sh (100%) mode change 100755 => 100644 rename {docker-deploy => script/deploy}/one-step-script/deploy-en.sh (100%) mode change 100755 => 100644 rename {docker-deploy => script/deploy}/one-step-script/mysql-init/01_ruoyi-ai.sql (100%) rename {docker-deploy => script/deploy}/one-step-script/mysql-init/02_update_20250407.sql (100%) rename {docker-deploy => script/deploy}/one-step-script/mysql-init/03_update_20250505.sql (100%) rename {docker-deploy => script/deploy}/one-step-script/mysql-init/04_update_20250509.sql (100%) rename {docker-deploy => script/deploy}/one-step-script/template/.env.template (100%) rename {docker-deploy => script/deploy}/one-step-script/template/application-prod.yml.template (96%) rename {docker-deploy => script/deploy}/one-step-script/template/docker-compose.yaml.template (96%) rename {docker-deploy => script/deploy}/one-step-script/template/nginx.admin.conf.template (96%) rename {docker-deploy => script/deploy}/one-step-script/template/nginx.web.conf.template (96%) rename {docker-deploy => script/deploy}/source-code/fetch-admin-source-code.sh (100%) mode change 100755 => 100644 rename {docker-deploy => script/deploy}/source-code/fetch-backend-source-code.sh (100%) mode change 100755 => 100644 rename {docker-deploy => script/deploy}/source-code/fetch-web-source-code.sh (100%) mode change 100755 => 100644 delete mode 100644 script/docker/milvus/docker-compose.yml delete mode 100644 script/docker/ruoyiai/docker-compose.yaml delete mode 100644 script/sql/update/20250407.sql delete mode 100644 script/sql/update/20250505.sql delete mode 100644 script/sql/update/20250509.sql delete mode 100644 script/sql/update/20250514.sql delete mode 100644 script/sql/update/202505141010.sql diff --git a/pom.xml b/pom.xml index f0041fc3..848c2261 100644 --- a/pom.xml +++ b/pom.xml @@ -54,10 +54,6 @@ 3.11.0 3.0.0 1.3.0 - 4.5.0 - 4.6.0 - 4.6.0 - 4.6.0 @@ -336,13 +332,6 @@ ruoyi-generator ${revision} - - - org.ruoyi - ruoyi-wechat - ${revision} - - diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 8ae7ca7c..6f84d8b5 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -57,11 +57,6 @@ ruoyi-generator - - org.ruoyi - ruoyi-wechat - - diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 5b4c2563..d0af381a 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 @@ spring: 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 @@ sms: # 腾讯专用 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 cb495f9f..00000000 --- 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: - # 执行器AppName:执行器心跳注册分组依据;为空则关闭自动注册 - appname: xxl-job-executor - # 执行器端口号 执行器从9101开始往后写 - port: 9101 - # 执行器注册:默认IP:PORT - address: - # 执行器IP:默认自动获取IP - 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 - # 是否开启ssl - 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 - # 发送方,遵循RFC-822标准 - from: xxx@163.com - # 用户名(注意:如果使用foxmail邮箱,此处user为qq号) - user: xxx@163.com - # 密码(注意,某些邮箱需要为SMTP服务单独设置密码,详情查看相关帮助) - pass: xxxxxxxxxx - # 使用 STARTTLS安全连接,STARTTLS是对纯文本通信协议的扩展。 - 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 a82a950d..1d840e37 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -120,6 +120,8 @@ sa-token: security: # 排除路径 excludes: + # 获取模型信息 + - /system/model/modelList # 支付回调 - /pay/returnUrl - /pay/notifyUrl @@ -128,7 +130,7 @@ security: # 重置密码 - /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 167e0a81..16710ec8 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 @@ -36,16 +36,6 @@ public class ChatRequest { */ private Boolean stream = Boolean.TRUE; - /** - * 是否开启联网搜索(0关闭 1开启) - */ - private Boolean search = Boolean.FALSE; - - /** - * 是否开启mcp - */ - private Boolean isMcp = Boolean.FALSE; - /** * 知识库id */ @@ -56,7 +46,6 @@ public class ChatRequest { */ private Long userId; - /** * 会话id */ @@ -72,16 +61,4 @@ public class ChatRequest { */ 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 52934671..ee4bd63e 100644 --- a/ruoyi-common/ruoyi-common-core/pom.xml +++ b/ruoyi-common/ruoyi-common-core/pom.xml @@ -82,24 +82,6 @@ ip2region - - com.github.binarywang - weixin-java-cp - ${weixin-java-cp.version} - - - - com.github.binarywang - weixin-java-miniapp - ${weixin-java-miniapp.version} - - - - com.github.binarywang - weixin-java-pay - ${weixin-java-pay.version} - - com.fasterxml.jackson.core 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 4bc6b854..00000000 --- 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; - - /** - * 知识库id - */ - 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 cf862d37..00000000 --- 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 f1cadc72..00000000 --- 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; - - /** - * 作者id - */ - private String authorId; - - /** - * 作者名称 - */ - private String authorName; - - /** - * 点赞 - */ - private Long useCnt; - - /** - * 差评 - */ - private Long bad; - - /** - * 类型 - */ - private String type; - - /** - * 备注 - */ - private String remark; - - /** - * 版本 - */ - @Version - private Long version; - - /** - * 删除标志(0代表存在 1代表删除) - */ - @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 ddba6c0f..00000000 --- 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 c2bf55fb..00000000 --- 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 b32f0ab0..00000000 --- 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正常 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 0d66b692..1f686a11 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 @@ 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; +import java.io.Serializable; /** * 用户token使用详情对象 chat_usage_token @@ -14,9 +13,8 @@ import java.io.Serial; * @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 8598030e..00000000 --- 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代表存在 1代表删除) - */ - @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 11548317..00000000 --- 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 e12c77c0..00000000 --- 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; - - /** - * 知识库id - */ - @NotNull(message = "知识库id不能为空", 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 31413305..00000000 --- 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 219fae3f..00000000 --- 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; - - /** - * 作者id - */ - @NotBlank(message = "作者id不能为空", 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 3a21f0f7..00000000 --- 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 7c36ddcc..00000000 --- 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 9e873dde..00000000 --- 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正常 1启用 - */ - @NotBlank(message = "机器人状态 0正常 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 38e836fc..00000000 --- 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 ce2c4656..00000000 --- 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 83977698..00000000 --- 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 3ccc1760..00000000 --- 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; - - /** - * 知识库id - */ - @ExcelProperty(value = "知识库id") - 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 94840abb..00000000 --- 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 9d515d40..00000000 --- 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; - - /** - * 作者id - */ - @ExcelProperty(value = "作者id") - 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 d477435b..4c1cfc4f 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 com.alibaba.excel.annotation.ExcelProperty; 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 @@ public class ChatModelVo implements Serializable { /** * 密钥 */ + @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 39236aee..00000000 --- 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 3e900e6f..00000000 --- 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 247ebe2c..00000000 --- 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正常 1启用 - */ - @ExcelProperty(value = "机器人状态 0正常 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 60a3c20d..00000000 --- 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; - - /** - * 待结算token - */ - 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 d85963de..00000000 --- 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 8b7092da..00000000 --- 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 7188dde9..00000000 --- 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; - -/** - * 智能体管理Mapper接口 - * - * @author ageerle - * @date 2025-04-08 - */ -public interface ChatAgentManageMapper extends BaseMapperPlus { - -} 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 f659d564..00000000 --- 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 { - -} 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 4bd28c32..00000000 --- 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 { - -} 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 87e157d2..00000000 --- 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 { - -} 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 323591b3..00000000 --- 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 { - -} 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 03096210..00000000 --- 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; - -/** - * 聊天机器人配置Mapper接口 - * - * @author ageerle - * @date 2025-04-08 - */ -public interface ChatRobConfigMapper extends BaseMapperPlus { - -} 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 47418783..00000000 --- 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 { - -} 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 851084c9..00000000 --- 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 { - -} 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 71117897..00000000 --- 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 { - -} 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 85761ed1..00000000 --- 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; - -/** - * 智能体管理Service接口 - * - * @author ageerle - * @date 2025-04-08 - */ -public interface IChatAgentManageService { - - /** - * 查询智能体管理 - */ - ChatAgentManageVo queryById(Long id); - - /** - * 查询智能体管理列表 - */ - TableDataInfo queryPageList(ChatAgentManageBo bo, PageQuery pageQuery); - - /** - * 查询智能体管理列表 - */ - List queryList(ChatAgentManageBo bo); - - /** - * 新增智能体管理 - */ - Boolean insertByBo(ChatAgentManageBo bo); - - /** - * 修改智能体管理 - */ - Boolean updateByBo(ChatAgentManageBo bo); - - /** - * 校验并批量删除智能体管理信息 - */ - Boolean deleteWithValidByIds(Collection 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 59f92bde..00000000 --- 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 queryPageList(ChatAppStoreBo bo, PageQuery pageQuery); - - /** - * 查询应用商店列表 - */ - List queryList(ChatAppStoreBo bo); - - /** - * 新增应用商店 - */ - Boolean insertByBo(ChatAppStoreBo bo); - - /** - * 修改应用商店 - */ - Boolean updateByBo(ChatAppStoreBo bo); - - /** - * 校验并批量删除应用商店信息 - */ - Boolean deleteWithValidByIds(Collection 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 efdc7f85..00000000 --- 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 queryPageList(ChatGptsBo bo, PageQuery pageQuery); - - /** - * 查询应用管理列表 - */ - List queryList(ChatGptsBo bo); - - /** - * 新增应用管理 - */ - Boolean insertByBo(ChatGptsBo bo); - - /** - * 修改应用管理 - */ - Boolean updateByBo(ChatGptsBo bo); - - /** - * 校验并批量删除应用管理信息 - */ - Boolean deleteWithValidByIds(Collection 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 043b6ced..00000000 --- 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 queryPageList(ChatPackagePlanBo bo, PageQuery pageQuery); - - /** - * 查询套餐管理列表 - */ - List queryList(ChatPackagePlanBo bo); - - /** - * 新增套餐管理 - */ - Boolean insertByBo(ChatPackagePlanBo bo); - - /** - * 修改套餐管理 - */ - Boolean updateByBo(ChatPackagePlanBo bo); - - /** - * 校验并批量删除套餐管理信息 - */ - Boolean deleteWithValidByIds(Collection 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 13f9ac3d..00000000 --- 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 queryPageList(ChatPluginBo bo, PageQuery pageQuery); - - /** - * 查询插件管理列表 - */ - List queryList(ChatPluginBo bo); - - /** - * 新增插件管理 - */ - Boolean insertByBo(ChatPluginBo bo); - - /** - * 修改插件管理 - */ - Boolean updateByBo(ChatPluginBo bo); - - /** - * 校验并批量删除插件管理信息 - */ - Boolean deleteWithValidByIds(Collection 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 d2aca244..defbf952 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 @@ public interface IChatTokenService { /** * 查询用户token */ - ChatToken queryByUserId(Long userId, String modelName); + ChatUsageToken queryByUserId(Long userId, String modelName); /** * 清空用户token @@ -23,6 +23,6 @@ public interface IChatTokenService { /** * 修改用户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 bd3d0aa2..00000000 --- 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 queryPageList(ChatVisitorUsageBo bo, PageQuery pageQuery); - - /** - * 查询访客管理列表 - */ - List queryList(ChatVisitorUsageBo bo); - - /** - * 新增访客管理 - */ - Boolean insertByBo(ChatVisitorUsageBo bo); - - /** - * 修改访客管理 - */ - Boolean updateByBo(ChatVisitorUsageBo bo); - - /** - * 校验并批量删除访客管理信息 - */ - Boolean deleteWithValidByIds(Collection 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 eb62b541..00000000 --- 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 queryPageList(ChatVoucherBo bo, PageQuery pageQuery); - - /** - * 查询用户兑换记录列表 - */ - List queryList(ChatVoucherBo bo); - - /** - * 新增用户兑换记录 - */ - Boolean insertByBo(ChatVoucherBo bo); - - /** - * 修改用户兑换记录 - */ - Boolean updateByBo(ChatVoucherBo bo); - - /** - * 校验并批量删除用户兑换记录信息 - */ - Boolean deleteWithValidByIds(Collection 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 60ed4ff4..00000000 --- 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 2cd92a3f..00000000 --- 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; - -/** - * 智能体管理Service业务层处理 - * - * @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 queryPageList(ChatAgentManageBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 查询智能体管理列表 - */ - @Override - public List queryList(ChatAgentManageBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper buildQueryWrapper(ChatAgentManageBo bo) { - Map params = bo.getParams(); - LambdaQueryWrapper 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 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 e29e5b2c..00000000 --- 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 queryPageList(ChatAppStoreBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 查询应用商店列表 - */ - @Override - public List queryList(ChatAppStoreBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper buildQueryWrapper(ChatAppStoreBo bo) { - Map params = bo.getParams(); - LambdaQueryWrapper 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 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 0b7bb1b9..00000000 --- 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 queryPageList(ChatGptsBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 查询应用管理列表 - */ - @Override - public List queryList(ChatGptsBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper buildQueryWrapper(ChatGptsBo bo) { - Map params = bo.getParams(); - LambdaQueryWrapper 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 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 bbf5f162..00000000 --- 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 queryPageList(ChatPackagePlanBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 查询套餐管理列表 - */ - @Override - public List queryList(ChatPackagePlanBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper buildQueryWrapper(ChatPackagePlanBo bo) { - Map params = bo.getParams(); - LambdaQueryWrapper 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 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 02c6c69e..00000000 --- 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 queryPageList(ChatPluginBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 查询插件管理列表 - */ - @Override - public List queryList(ChatPluginBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper buildQueryWrapper(ChatPluginBo bo) { - Map params = bo.getParams(); - LambdaQueryWrapper 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 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 85d931d2..0c29decd 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 @@ package org.ruoyi.service.impl; 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 @@ import org.springframework.stereotype.Service; @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() - .eq(ChatToken::getUserId, userId) - .eq(ChatToken::getModelName, modelName) + new LambdaQueryWrapper() + .eq(ChatUsageToken::getUserId, userId) + .eq(ChatUsageToken::getModelName, modelName) .last("limit 1") ); } @@ -36,7 +37,7 @@ public class ChatTokenServiceImpl implements IChatTokenService { */ @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 @@ public class ChatTokenServiceImpl implements IChatTokenService { * */ @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 0b2e777b..00000000 --- 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 queryPageList(ChatVoucherBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 查询用户兑换记录列表 - */ - @Override - public List queryList(ChatVoucherBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper buildQueryWrapper(ChatVoucherBo bo) { - Map params = bo.getParams(); - LambdaQueryWrapper 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 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 7b013b53..00000000 --- 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 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 cfa640db..00000000 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAgentManageMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 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 53b29af4..00000000 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAppStoreMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 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 cc22a8f6..00000000 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatGptsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 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 9875672a..00000000 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPackagePlanMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 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 f1dacfb8..00000000 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPluginMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 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 9ef2787c..00000000 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatVoucherMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 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 37d99031..41d12099 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 b47ce11f..00000000 --- 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内容解析异常"; - throw new UtilException(errorMsg, e); - } - } - - @Override - public List 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 55446efe..762be7fc 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 35f3fd44..95d24cf9 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 182d0a7c..ab7c4988 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 @@ package org.ruoyi.chain.loader; 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 06e74b87..c00f00b8 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 @@ package org.ruoyi.chain.loader; 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 ec33c668..4aeefaa1 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 @@ public class ResourceLoaderFactory { 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 @@ public class ResourceLoaderFactory { 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 624f01b8..b6e7a879 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.AllArgsConstructor; 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 83ca3342..14c6a0e6 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 @@ package org.ruoyi.chain.split; 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 f082ec8a..ba503989 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 @@ package org.ruoyi.chain.split; 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 cc2b5f04..00000000 --- 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 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 823014a9..ec39e85c 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 @@ package org.ruoyi.chain.split; 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 273b1b04..00000000 --- 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 d6594e49..00000000 --- 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 759b4397..00000000 --- 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 { - - /** - * 从PDF文件中提取图片 - * - * @param pdfFile PDF文件 - * @param imageFormat 输出图片格式 (png, jpeg, gif) - * @param allowDuplicates 是否允许重复图片 - * @return 包含提取图片的ZIP文件的字节数组 - * @throws IOException 如果文件处理过程中发生错误 - */ - byte[] extractImages(MultipartFile pdfFile, String imageFormat, boolean allowDuplicates) - throws IOException; - - /** - * 处理文件内容 - * - * @param unzip Base64编码的图片数组 - * @return 文件内容结果列表 - * @throws IOException 如果API调用过程中发生错误 - */ - List dealFileContent(String[] unzip) throws IOException; - - /** - * 提取PDF中的图片并调用gpt-4o-mini,识别图片内容并返回 - * @param file - * @return - * @throws IOException - */ - List 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 29aae8eb..00000000 --- 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 dealFileContent(String[] unzip) throws IOException { - List 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个字符作为标识)和API返回内容创建结果对象 - 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 extractImages(MultipartFile file) throws IOException { - String format = "png"; - boolean allowDuplicates = true; - // 获取ZIP数据 - byte[] zipData = this.extractImages(file, format, allowDuplicates); - // 解压文件并识别图片内容并返回 - String[] unzip = ZipUtils.unzipForBase64(zipData); - //解析图片内容 - 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 4b6c01dc..7d16b45a 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.EmbeddingSearchRequest; 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.QueryVectorBo; 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 @@ public class VectorStoreServiceImpl implements VectorStoreService { private EmbeddingStore 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 chunkList = storeEmbeddingBo.getChunkList(); @@ -101,22 +68,22 @@ public class VectorStoreServiceImpl implements VectorStoreService { 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 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> matches = embeddingStore.search(embeddingSearchRequest).matches(); List results = new ArrayList<>(); @@ -126,24 +93,24 @@ public class VectorStoreServiceImpl implements VectorStoreService { @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 @@ public class VectorStoreServiceImpl implements VectorStoreService { @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 3c161311..00000000 --- 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 { - - /** - * 解压ZIP文件到指定目录 - * - * @param zipData ZIP文件的字节数组 - * @param destDir 目标目录 - * @return 解压后的文件路径列表 - * @throws IOException 如果解压过程中发生错误 - */ - public static String[] unzip(byte[] zipData, String destDir) throws IOException { - File destDirFile = new File(destDir); - if (!destDirFile.exists()) { - destDirFile.mkdirs(); - } - - List 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); - } - } - } - - /** - * 解压ZIP文件并返回文件内容的Base64编码字符串数组 - * - * @param zipData ZIP文件的字节数组 - * @return Base64编码的文件内容数组 - * @throws IOException 如果解压过程中发生错误 - */ - public static String[] unzipForBase64(byte[] zipData) throws IOException { - List 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]); - } - - /** - * 解压ZIP文件并返回MultipartFile数组 - * - * @param zipData ZIP文件的字节数组 - * @return MultipartFile数组 - * @throws IOException 如果解压过程中发生错误 - */ - public static MultipartFile[] unzipToMultipartFiles(byte[] zipData) throws IOException { - List 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 044e0bc9..1b3ff0c4 100644 --- a/ruoyi-modules/pom.xml +++ b/ruoyi-modules/pom.xml @@ -21,7 +21,6 @@ ruoyi-chat ruoyi-system ruoyi-generator - ruoyi-wechat 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 35618d71..00000000 --- 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 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 list = chatAgentManageService.queryList(bo); - ExcelUtil.exportExcel(list, "智能体管理", ChatAgentManageVo.class, response); - } - - /** - * 获取智能体管理详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("system:agentManage:query") - @GetMapping("/{id}") - public R 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 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 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 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 d941a325..00000000 --- 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 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 list = chatAppStoreService.queryList(bo); - ExcelUtil.exportExcel(list, "应用商店", ChatAppStoreVo.class, response); - } - - /** - * 获取应用商店详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("system:appStore:query") - @GetMapping("/{id}") - public R 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 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 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 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 032c44dd..f0b0fe12 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.request.ChatRequest; 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; @@ -41,8 +32,6 @@ public class ChatController { private final ISseService sseService; - private final IChatMessageService chatMessageService; - /** * 聊天接口 */ @@ -84,21 +73,4 @@ public class ChatController { return sseService.textToSpeed(textToSpeech); } - - /** - * 聊天记录 - */ - @PostMapping("/chatList") - @ResponseBody - public R> list(@RequestBody @Valid ChatMessageBo chatRequest, @RequestBody PageQuery pageQuery) { - // 默认查询当前登录用户消息记录 - LoginUser loginUser = LoginHelper.getLoginUser(); - if (loginUser == null) { - throw new BaseException("用户未登录!"); - } - chatRequest.setUserId(loginUser.getUserId()); - TableDataInfo 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 6985742f..00000000 --- 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 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 list = chatGptsService.queryList(bo); - ExcelUtil.exportExcel(list, "应用管理", ChatGptsVo.class, response); - } - - /** - * 获取应用管理详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("system:gpts:query") - @GetMapping("/{id}") - public R 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 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 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 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 64b2fe29..e19cb1af 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 lombok.RequiredArgsConstructor; 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 @@ public class ChatModelController extends BaseController { private final IChatModelService chatModelService; - private final UserModelService modelService; - /** * 查询聊天模型列表 */ @@ -53,7 +51,8 @@ public class ChatModelController extends BaseController { */ @GetMapping("/modelList") public R> 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 c8fb392f..00000000 --- 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 list(ChatPackagePlanBo bo, PageQuery pageQuery) { - return chatPackagePlanService.queryPageList(bo, pageQuery); - } - - /** - * 查询套餐列表-不分页 - */ - @GetMapping("/listPlan") - public R> 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 list = chatPackagePlanService.queryList(bo); - ExcelUtil.exportExcel(list, "套餐管理", ChatPackagePlanVo.class, response); - } - - /** - * 获取套餐管理详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("system:packagePlan:query") - @GetMapping("/{id}") - public R 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 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 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 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 be07bdfd..00000000 --- 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 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 list = chatPluginService.queryList(bo); - ExcelUtil.exportExcel(list, "插件管理", ChatPluginVo.class, response); - } - - /** - * 获取插件管理详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("system:plugin:query") - @GetMapping("/{id}") - public R 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 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 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 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 3886902a..00000000 --- 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> appList(ChatAppStoreBo bo) { - return R.ok(appStoreService.queryList(bo)); - } - - /** - * 收藏应用 - */ - @PostMapping("/copyApp") - public R 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 a2c12b80..00000000 --- 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 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 list = chatVoucherService.queryList(bo); - ExcelUtil.exportExcel(list, "用户兑换记录", ChatVoucherVo.class, response); - } - - /** - * 获取用户兑换记录详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("system:voucher:query") - @GetMapping("/{id}") - public R 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 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 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 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 82362538..0e2a2f64 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.satoken.utils.LoginHelper; 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.domain.vo.KnowledgeInfoVo; 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; @@ -52,8 +47,6 @@ public class KnowledgeController extends BaseController { private final IKnowledgeFragmentService fragmentService; -// private final PdfImageExtractService pdfImageExtractService; - /** * 根据用户信息查询本地知识库 */ @@ -164,17 +157,4 @@ public class KnowledgeController extends BaseController { return attachService.translationByFile(file, targetLanguage); } - /** - * 提取PDF中的图片并调用gpt-4o-mini,识别图片内容并返回 - * - * @param file PDF文件 - * @return 文件名称和图片内容 - */ -// @PostMapping("/extract-images") -// @Operation(summary = "提取PDF中的图片并调用大模型,识别图片内容并返回", description = "提取PDF中的图片并调用gpt-4o-mini,识别图片内容并返回") -// public R> 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 dbadfa62..12816b3c 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 @@ public class FaceController { @PostMapping("/insight-face/swap") public String insightFace(@RequestBody InsightFace insightFace) { // 扣除接口费用并且保存消息记录 - 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 b13569c5..dd720940 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 io.swagger.annotations.ApiOperation; 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 @@ public class SubmitController { 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 @@ public class SubmitController { @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 @@ public class SubmitController { @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 @@ public class SubmitController { @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 @@ public class SubmitController { @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 @@ public class SubmitController { @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 485d10fc..938a1243 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 @@ import java.util.Objects; @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 @@ public class SSEEventSourceListener extends EventSourceListener { // 设置对话角色 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 01b677d7..00000000 --- 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 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 da2e589b..cac159fc 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.domain.model.LoginUser; 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 @@ public class ChatCostServiceImpl implements IChatCostService { */ @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 @@ public class ChatCostServiceImpl implements IChatCostService { 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()); // 计算总token数 - 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 094689c2..6f749ae0 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 @@ public class OpenAIServiceImpl implements IChatService { 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 4fa12ee2..2a28f0dc 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.DateUtils; 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 @@ public class SseServiceImpl implements ISseService { 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 19a7effd..00000000 --- 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 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()); - // 使用上面的配置时,需要同时引入jedis-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 b0e6d66a..00000000 --- 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 Binary Wang - */ -@Data -@ConfigurationProperties(prefix = "wx.miniapp") -public class WxMaProperties { - - private List configs; - - @Data - public static class Config { - /** - * 设置微信小程序的appid - */ - private String appid; - - /** - * 设置微信小程序的Secret - */ - private String secret; - - /** - * 设置微信小程序消息服务器配置的token - */ - private String token; - - /** - * 设置微信小程序消息服务器配置的EncodingAESKey - */ - private String aesKey; - - /** - * 消息格式,XML或者JSON - */ - 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 af88f619..9efa9b5a 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 cn.hutool.core.util.ObjectUtil; 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 @@ import java.util.function.Supplier; public class SysLoginService { private final SysUserMapper userMapper; - private final WxMaService wxMaService; private final ISysPermissionService permissionService; private final ISysTenantService tenantService; @@ -62,19 +56,6 @@ public class SysLoginService { @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; - } - } /** * 登录验证 * @@ -131,32 +112,6 @@ public class SysLoginService { 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 a2a24511..d101fe23 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 @@ package org.ruoyi.system.service; 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.base.BaseException; 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 @@ public class SysRegisterService { private final SysUserRoleMapper userRoleMapper; - // private final ConfigService configService; /** * 注册 */ @@ -61,9 +58,7 @@ public class SysRegisterService { 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("用户注册失败!"); @@ -106,7 +101,6 @@ public class SysRegisterService { } } - /** * 校验验证码 * diff --git a/ruoyi-modules/ruoyi-wechat/pom.xml b/ruoyi-modules/ruoyi-wechat/pom.xml deleted file mode 100644 index 7e3cdfe3..00000000 --- a/ruoyi-modules/ruoyi-wechat/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - 4.0.0 - - org.ruoyi - ruoyi-modules - ${revision} - ../pom.xml - - - ruoyi-wechat - - - 17 - 17 - UTF-8 - - - - - org.ruoyi - ruoyi-chat-api - - - org.ruoyi - ruoyi-system-api - - - - 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 6e97f5d1..00000000 --- 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 Binary Wang - */ -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 f6786b01..00000000 --- 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 Binary Wang - */ -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 707471e8..00000000 --- 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 Binary Wang - */ -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 8a5f0fba..00000000 --- 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 Binary Wang - */ -@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 routers = Maps.newHashMap(); - private static Map 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 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 05884475..00000000 --- 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 Binary Wang - */ -@Data -@ConfigurationProperties(prefix = "wechat.cp") -public class WxCpProperties { - /** - * 设置企业微信的corpId - */ - private String corpId; - - private List appConfigs; - - @Getter - @Setter - public static class AppConfig { - /** - * 设置企业微信应用的AgentId - */ - private Integer agentId; - - /** - * 设置企业微信应用的Secret - */ - private String secret; - - /** - * 设置企业微信应用的token - */ - private String token; - - /** - * 设置企业微信应用的EncodingAESKey - */ - 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 370e5fe5..00000000 --- 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 4537488b..00000000 --- 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 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 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 676333f3..00000000 --- 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("未找到对应agentId=[%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消息解密后内容为:\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 9bc6dcb9..00000000 --- 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; - /** - * 发送方账号(一个openid) - */ - private String fromUserName; - /** - * 消息创建时间(整形) - */ - private String createTime; - /** - * 消息类型 - */ - private String msgType; - /** - * 文本消息内容 - */ - private String content; - /** - * 消息ID 64位 - */ - String msgId; - /** - * 消息的数据ID 消息来自文章才有 - */ - private String msgDataId; - /** - * 多图文时第几篇文章,从1开始 消息如果来自文章才有 - */ - private String idx; - /** - * 订阅事件 subscribe 订阅 unsbscribe 取消订阅 - */ - private String event; - /** - * 扫码 - ticket - */ - private String ticket; - - public String getReplyTextMsg(String msg) { - String xml = "\n" - + " \n" - + " \n" - + " " + System.currentTimeMillis() + "\n" - + " \n" - + " \n" - + " "; - 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 0363b3bf..00000000 --- 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 7ec2b0ce..00000000 --- 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 Binary Wang - */ -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 178229db..00000000 --- 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 Binary Wang - */ -@Slf4j -@Component -public class ContactChangeHandler extends AbstractHandler { - - @Override - public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map 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 c98fe68a..00000000 --- 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; - -/** - *
- *
- * Created by Binary Wang on 2018/8/27.
- * 
- * - * @author Binary Wang - */ -@Slf4j -public class EnterAgentHandler extends AbstractHandler { - private static final int TEST_AGENT = 1000002; - - @Override - public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map 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 56d1fb34..00000000 --- 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 Binary Wang - */ -@Slf4j -@Component -public class LocationHandler extends AbstractHandler { - - @Override - public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map 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 ea12c40d..00000000 --- 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 Binary Wang - */ -@Slf4j -@Component -public class LogHandler extends AbstractHandler { - @Override - public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map 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 803db7fa..00000000 --- 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 Binary Wang - */ -@Component -public class MenuHandler extends AbstractHandler { - - @Override - public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map 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 6527371e..00000000 --- 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 Binary Wang - */ -@Component -@RequiredArgsConstructor -public class MsgHandler extends AbstractHandler { - - private final IChatVxService chatVxService; - - @Override - public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map 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 2677d73d..00000000 --- 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 Binary Wang - */ -@Component -public class NullHandler extends AbstractHandler { - - @Override - public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map 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 4d9a5025..00000000 --- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/ScanHandler.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.ruoyi.handler; - -/** - * @author Binary Wang - */ -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 c5e42fb4..00000000 --- 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 Binary Wang - */ -@Slf4j -@Component -public class SubscribeHandler extends AbstractHandler { - - @Override - public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map 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 77933460..00000000 --- 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 Binary Wang - */ -@Slf4j -@Component -public class UnsubscribeHandler extends AbstractHandler { - - @Override - public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map 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 874a8bf9..00000000 --- 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 c9996791..00000000 --- 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 57fcdfb7..00000000 --- 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 6bbf917f..00000000 --- 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 1aa9c395..00000000 --- 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 e1fd520c..00000000 --- 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 aaebd1e9..00000000 --- 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 QR_CODE_TICKET_MAP = new LinkedHashMap<>(); - - /** - * 增加一个 Ticket - * 首次 put:value 为 "" - * 再次 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 d6e58f69..00000000 --- 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平台容器化构建与部署手册.docx b/script/deploy/Ruoyi-AI平台容器化构建与部署手册.docx similarity index 100% rename from docker-deploy/Ruoyi-AI平台容器化构建与部署手册.docx rename to script/deploy/Ruoyi-AI平台容器化构建与部署手册.docx 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 96% 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 1e0cc331..469d89ab 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}} - # 是否开启ssl - 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 - # 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) - is-concurrent: true - # 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token) - is-share: false - # 是否尝试从header里读取token - is-read-header: true - # 是否尝试从cookie里读取token - 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}} + # 是否开启ssl + 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 + # 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) + is-concurrent: true + # 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token) + is-share: false + # 是否尝试从header里读取token + is-read-header: true + # 是否尝试从cookie里读取token + 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 96% 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 ac20bcfb..2a38883a 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 96% 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 6300aa0b..be3bb975 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 96% 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 2ac40caa..91194597 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 37506bee..00000000 --- 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 722ad249..00000000 --- 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 b43bd5d9..4504591e 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 @@ services: - '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 ae38f077..e69de29b 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 '知识库id', - `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代表存在 1代表删除)', - `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', '绘声美音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', '文多多apikey', 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', '

您此次的验证码为:{code},有效期为30分钟,请尽快填写!


', '邮箱模板', 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 '作者id', - `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代表存在 1代表删除)', - `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', '擅长为Prompt 提升清晰度和创造力的大师', 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 '扣除金额', - `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正常 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 '待结算token', - `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 '生成代码方式(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 = '代码生成业务表' 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 = '代码生成业务表字段' 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代表存在 1代表删除)', '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 '知识库ID', - `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 '知识库ID', - `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 '知识库ID', - `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 '系统内置(Y是 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,浅色主题theme-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 '父部门id', - `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正常 1停用)', - `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', - `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, '疯狂的狮子Li', '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, '疯狂的狮子Li', '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, '疯狂的狮子Li', '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, '疯狂的狮子Li', '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, '疯狂的狮子Li', '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, '疯狂的狮子Li', '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, '疯狂的狮子Li', '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, '疯狂的狮子Li', '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, '疯狂的狮子Li', '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 '是否默认(Y是 N否)', - `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 (`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, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '正常状态'); -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, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 103, 1, '2023-05-14 15:19:41', NULL, NULL, '正常状态'); -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, '生成代码', '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, '正常状态'); -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正常 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代表存在 1代表删除)', - `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 '父菜单ID', - `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 '菜单类型(M目录 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正常 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, '账户解锁', 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, '代码生成', 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正常 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正常 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, '非Web上下文无法获取Request', '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', '代码生成', 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', '代码生成', 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', '代码生成', 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, '非Web上下文无法获取Request', '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, '非Web上下文无法获取Request', '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', '代码生成', 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(Y=是,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正常 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', '董事长', 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正常 1停用)', - `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', - `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 '统一社会信用代码', - `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正常 1停用)', - `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', - `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正常 1停用)', - `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', - `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 '用户类型(sys_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正常 1停用)', - `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', - `login_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '最后登录IP', - `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 136302d6..00000000 --- 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 5f9e25cf..00000000 --- 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 19bfe5e1..00000000 --- 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 65076469..00000000 --- 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 e1b81b25..00000000 --- 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`;