Răsfoiți Sursa

master代码

sorelythrob 1 săptămână în urmă
părinte
comite
cd34476c93
60 a modificat fișierele cu 1016 adăugiri și 78 ștergeri
  1. 54 0
      resources/database-sql/webchat-act.sql
  2. 30 0
      resources/database-sql/webchat-aigc.sql
  3. 76 0
      resources/database-sql/webchat-payment.sql
  4. 46 0
      resources/database-sql/webchat-pgc.sql
  5. 131 0
      resources/database-sql/webchat-ugc.sql
  6. 107 0
      resources/database-sql/webchat-user.sql
  7. 0 0
      resources/database-sql/webchat.sql
  8. BIN
      resources/nacos-yaml/nacos_config_export_20250524184707.zip
  9. 28 0
      resources/nacos-yaml/webchat-act-service-dev.yaml
  10. 25 0
      resources/nacos-yaml/webchat-admin-service-dev.yaml
  11. 39 0
      resources/nacos-yaml/webchat-aigc-service-dev.yaml
  12. 28 0
      resources/nacos-yaml/webchat-api-service-dev.yaml
  13. 25 0
      resources/nacos-yaml/webchat-client-chat-service-dev.yaml
  14. 24 0
      resources/nacos-yaml/webchat-connect-service-dev.yaml
  15. 3 0
      resources/nacos-yaml/webchat-gateway-service-dev.yaml
  16. 23 0
      resources/nacos-yaml/webchat-pay-service-dev.yaml
  17. 28 0
      resources/nacos-yaml/webchat-pgc-service-dev.yaml
  18. 24 0
      resources/nacos-yaml/webchat-search-service-dev.yaml
  19. 17 0
      resources/nacos-yaml/webchat-sso-service-dev.yaml
  20. 42 0
      resources/nacos-yaml/webchat-ugc-service-dev.yaml
  21. 28 0
      resources/nacos-yaml/webchat-user-service-dev.yaml
  22. 0 0
      resources/webchat.md
  23. 1 1
      webchat-act/pom.xml
  24. 2 2
      webchat-act/src/main/resources/bootstrap.yml
  25. 1 1
      webchat-admin/pom.xml
  26. 3 3
      webchat-admin/src/main/resources/bootstrap.yml
  27. 1 1
      webchat-aigc/pom.xml
  28. 1 1
      webchat-aigc/src/main/java/com/webchat/aigc/llm/AiBotQAService.java
  29. 8 3
      webchat-aigc/src/main/java/com/webchat/aigc/llm/AlibabaEmbeddingModel.java
  30. 3 3
      webchat-aigc/src/main/resources/bootstrap.yml
  31. 1 1
      webchat-api/pom.xml
  32. 1 1
      webchat-api/src/main/resources/application.yml
  33. 3 3
      webchat-api/src/main/resources/bootstrap.yml
  34. 1 1
      webchat-client-chat/pom.xml
  35. 3 3
      webchat-client-chat/src/main/resources/bootstrap.yml
  36. 1 1
      webchat-common/pom.xml
  37. 1 1
      webchat-common/src/main/java/com/webchat/common/config/configuration/RedissonConfig.java
  38. 1 1
      webchat-common/src/main/java/com/webchat/common/config/configuration/RocketMQProducerConfig.java
  39. 120 0
      webchat-common/src/main/java/com/webchat/common/util/HtmlSplitter.java
  40. 1 1
      webchat-connect/pom.xml
  41. 3 3
      webchat-connect/src/main/resources/bootstrap.yml
  42. 1 1
      webchat-domain/pom.xml
  43. 1 1
      webchat-gateway/pom.xml
  44. 0 0
      webchat-gateway/src/main/resources/application.yml
  45. 2 2
      webchat-gateway/src/main/resources/bootstrap.yml
  46. 1 1
      webchat-pay/pom.xml
  47. 2 2
      webchat-pay/src/main/resources/bootstrap.yml
  48. 1 1
      webchat-pgc/pom.xml
  49. 3 3
      webchat-pgc/src/main/resources/bootstrap.yml
  50. 1 1
      webchat-remote/pom.xml
  51. 1 1
      webchat-search/pom.xml
  52. 54 19
      webchat-search/src/main/java/com/webchat/search/service/voctor/ArticleMilvusService.java
  53. 2 2
      webchat-search/src/main/resources/bootstrap.yml
  54. 1 1
      webchat-sso/pom.xml
  55. 2 2
      webchat-sso/src/main/resources/bootstrap.yml
  56. 1 1
      webchat-ugc/pom.xml
  57. 3 3
      webchat-ugc/src/main/resources/bootstrap.yml
  58. 1 1
      webchat-ugc/src/main/resources/sharding-jdbc.yml
  59. 1 1
      webchat-user/pom.xml
  60. 4 4
      webchat-user/src/main/resources/bootstrap.yml

+ 54 - 0
resources/database-sql/webchat-act.sql

@@ -0,0 +1,54 @@
+
+-- 资源行为记录表:点赞、收藏、分享、浏览、打赏
+CREATE TABLE webchat_act.`web_chat_resource_behavior` (
+                                                          `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+                                                          `USER_ID` char(60) DEFAULT NULL COMMENT '用户ID',
+                                                          `RESOURCE_INDEX` bigint NOT NULL COMMENT '资源索引',
+                                                          `RESOURCE_TYPE` char(30) NOT NULL COMMENT '资源类型',
+                                                          `BEHAVIOR_TYPE` char(30) NOT NULL COMMENT '行为',
+                                                          `STATUS` tinyint(1) DEFAULT '0' COMMENT '状态',
+                                                          `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                                          `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间',
+                                                          `VERSION` int DEFAULT '0' COMMENT '版本',
+                                                          PRIMARY KEY (`ID`),
+                                                          KEY `INDEX_STATUS` (`STATUS`),
+                                                          KEY `INDEX_USER_ID` (`USER_ID`),
+                                                          KEY `INDEX_RESOURCE` (`RESOURCE_TYPE`, `RESOURCE_INDEX`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='资源操作记录表';
+
+-- 评论表
+CREATE TABLE webchat_act.`web_chat_comment` (
+                                                `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+                                                `RESOURCE_ID` bigint NOT NULL COMMENT '资源ID',
+                                                `RESOURCE_TYPE` char(50) NOT NULL COMMENT '资源类型',
+                                                `AUTHOR` char(60) NOT NULL COMMENT '作者',
+                                                `STATUS` char(20) NOT NULL COMMENT '状态',
+                                                `CONTENT` varchar(2000) DEFAULT NULL COMMENT '正文',
+                                                `IMAGES` varchar(1000) DEFAULT NULL COMMENT '图片',
+                                                `REPLY_ID` bigint DEFAULT NULL COMMENT '回复ID',
+                                                `PARENT_ID` bigint DEFAULT NULL COMMENT '父级评论ID',
+                                                `IS_TOP` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否置顶',
+                                                `LIKE_COUNT` bigint NOT NULL DEFAULT 0 COMMENT '点赞量',
+                                                `TOP_DATE` datetime DEFAULT NULL COMMENT '置顶时间',
+                                                `PUB_DATE` datetime DEFAULT NULL COMMENT '发布时间',
+                                                `IP` char(20) DEFAULT NULL COMMENT 'IP',
+                                                `IP_ADDRESS` char(40) DEFAULT NULL COMMENT 'IP归属地',
+                                                `CREATE_BY` char(100) DEFAULT NULL COMMENT '创建人',
+                                                `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                                `UPDATE_BY` char(100) DEFAULT NULL COMMENT '更新人',
+                                                `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间',
+                                                `VERSION` int DEFAULT '0' COMMENT '版本',
+                                                PRIMARY KEY (`ID`),
+                                                KEY `INDEX_RESOURCE_TYPE_ID` (`RESOURCE_TYPE`, `RESOURCE_ID`),
+                                                KEY `INDEX_REPLY_ID` (`REPLY_ID`),
+                                                KEY `INDEX_PARENT_ID` (`PARENT_ID`),
+                                                KEY `INDEX_AUTHOR` (`AUTHOR`),
+                                                KEY `INDEX_STATUS` (`STATUS`),
+                                                KEY `INDEX_LIKE_COUNT` (`LIKE_COUNT`),
+                                                KEY `INDEX_IS_TOP_DATE` (`IS_TOP`, `TOP_DATE`),
+                                                KEY `INDEX_PUB_DATE` (`PUB_DATE`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='评论表';
+
+
+
+

Fișier diff suprimat deoarece este prea mare
+ 30 - 0
resources/database-sql/webchat-aigc.sql


+ 76 - 0
resources/database-sql/webchat-payment.sql

@@ -0,0 +1,76 @@
+
+-- 接入支付平台的应用信息表
+CREATE TABLE webchat_payment.`web_chat_app` (
+        `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+        `name` char(20) NOT NULL COMMENT '应用名称 ',
+        `logo` varchar(300) NOT NULL COMMENT '应用Logo',
+        `description` varchar(200) NOT NULL COMMENT '应用描述',
+        `admin` char(100) NOT NULL COMMENT '创建人/管理员',
+        `status` int(4) NOT NULL COMMENT '状态',
+        `access_key` char(64) NOT NULL COMMENT 'access key 应用访问凭证',
+        `secret_hash_key` char(100) NOT NULL COMMENT 'secret key hash值 应用访问凭证秘钥',
+        `CREATE_BY` char(100) DEFAULT NULL COMMENT '创建人',
+        `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+        `UPDATE_BY` char(100) DEFAULT NULL COMMENT '更新人',
+        `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间',
+        `VERSION` int DEFAULT '0' COMMENT '版本',
+        PRIMARY KEY (`ID`),
+        UNIQUE KEY `INDEX_ACCESS_SECRET_KEY` (`ACCESS_KEY`, `SECRET_HASH_KEY`),
+        KEY `INDEX_STATUS` (`STATUS`),
+        KEY `INDEX_ADMIN` (`admin`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='接入支付平台的应用信息表';
+
+CREATE TABLE `web_chat_payment_order` (
+                                          `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+                                          `order_id` char(64) NOT NULL COMMENT '交易订单ID',
+                                          `trans_id` char(64) NOT NULL COMMENT '交易订单对应分布式事务ID,用于订单回滚,包括订单明细的回滚',
+                                          `status` int NOT NULL COMMENT '订单状态',
+                                          `app_id` bigint NOT NULL COMMENT '订单接入方(应用)',
+                                          `event_type` int NOT NULL COMMENT '订单事件:出行、红包、餐饮……',
+                                          `bill_type` int NOT NULL COMMENT '账单类型: 1:收入、-1:支出',
+                                          `amount` decimal(10,2) NOT NULL COMMENT '订单总金额',
+                                          `source_account` char(64) NOT NULL COMMENT '交易订单发起账户',
+                                          `target_account` char(64) NOT NULL COMMENT '交易订单接收账户',
+                                          `description` varchar(100) DEFAULT NULL COMMENT '订单描述',
+                                          `expire_date` datetime DEFAULT NULL COMMENT '订单过期时间',
+                                          `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                          `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间',
+                                          `VERSION` int DEFAULT '0' COMMENT '版本',
+                                          PRIMARY KEY (`ID`),
+                                          UNIQUE KEY `INDEX_ORDER_ID` (`order_id`),
+                                          UNIQUE KEY `INDEX_TRANS_ID` (`trans_id`),
+                                          KEY `INDEX_STATUS` (`status`),
+                                          KEY `INDEX_SOURCE_ACCOUNT` (`source_account`),
+                                          KEY `INDEX_TARGET_ACCOUNT` (`target_account`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='支付订单表';
+
+-- 支付交易明细表
+CREATE TABLE `web_chat_payment_order_detail` (
+                                                 `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+                                                 `order_id` char(64) NOT NULL COMMENT '关联交易订单ID',
+                                                 `payment_id` char(64) NOT NULL COMMENT '交易ID',
+                                                 `source_account` char(64) NOT NULL COMMENT '交易订单发起账户,一定是跟order中的发起人是同一个',
+                                                 `target_account` char(64) NOT NULL COMMENT '交易订单目标账户,人/业务账户',
+                                                 `amount` decimal(10,2) NOT NULL COMMENT '交易总金额,收入类交易金额为正数、支出类为负数',
+                                                 `status` int NOT NULL COMMENT '交易明细状态',
+                                                 `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                                 `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间',
+                                                 `VERSION` int DEFAULT '0' COMMENT '版本',
+                                                 PRIMARY KEY (`ID`),
+                                                 KEY `INDEX_ORDER_ID` (`order_id`),
+                                                 KEY `INDEX_STATUS` (`status`),
+                                                 KEY `INDEX_SOURCE_ACCOUNT` (`source_account`),
+                                                 KEY `INDEX_TARGET_ACCOUNT` (`target_account`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb3 COMMENT='支付订单明细表';
+
+CREATE TABLE `web_chat_user_wallet` (
+                                        `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+                                        `trans_event` int NOT NULL COMMENT '事件类型',
+                                        `trans_type` int NOT NULL COMMENT '收入/支出',
+                                        `user_id` char(100) NOT NULL COMMENT '用户id',
+                                        `target_user_id` char(100) NOT NULL COMMENT '目标用户',
+                                        `money` decimal(10,2) DEFAULT '0.00' COMMENT '流转金额',
+                                        `trans_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '流转时间',
+                                        PRIMARY KEY (`ID`),
+                                        KEY `INDEX_USER_ID` (`user_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb3 COMMENT='用户钱包'

+ 46 - 0
resources/database-sql/webchat-pgc.sql

@@ -0,0 +1,46 @@
+
+-- 公众号文章表
+CREATE TABLE webchat_pgc.web_chat_article (
+      `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+      `PUBLIC_ACCOUNT` char(60) NOT NULL COMMENT '绑定公众号账号',
+      `AUTHOR` char(60) NOT NULL COMMENT '作者',
+      `TITLE` varchar(100) NOT NULL COMMENT '文章标题',
+      `CONTENT` longtext NOT NULL COMMENT '正文',
+      `COVER` varchar(400) NOT NULL COMMENT '封面图',
+      `REDIRECT_URL` varchar(400) DEFAULT NULL COMMENT '外部连接',
+      `DESCRIPTION` varchar(200) DEFAULT NULL COMMENT '摘要/智能总结',
+      `signs` varchar(200) DEFAULT NULL COMMENT '标签',
+      `PLAN_PUSH_DATE` datetime DEFAULT NULL  COMMENT '计划推文时间',
+      `STATUS` tinyint(1) DEFAULT 1 COMMENT '文章状态',
+      `CREATE_BY` char(100) DEFAULT NULL COMMENT '创建人',
+      `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+      `UPDATE_BY` char(100) DEFAULT NULL COMMENT '更新人',
+      `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间',
+      `VERSION` int DEFAULT '0' COMMENT '版本',
+      PRIMARY KEY (`ID`),
+      KEY `INDEX_STATUS_PUBLIC_ACCOUNT` (`STATUS`, `PUBLIC_ACCOUNT`),
+      KEY `INDEX_PLAN_PUSH_DATE` (`PLAN_PUSH_DATE`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='公众号文章表';
+
+-- 服务号消息卡片模版配置表
+CREATE TABLE webchat_pgc.web_chat_message_card_template (
+   `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+   `ACCOUNT` char(60) NOT NULL COMMENT '服务号',
+   `TEMPLATE_ID` varchar(60) NOT NULL COMMENT '模板ID',
+   `LOGO` varchar(400) DEFAULT NULL COMMENT 'logo',
+   `TITLE` varchar(100) DEFAULT NULL COMMENT '标题',
+   `CONTENT` text NOT NULL COMMENT '模版内容(richText html富文本模版)',
+   `REDIRECT_NAME` varchar(200) DEFAULT NULL COMMENT '链接名称',
+   `REDIRECT_URL` varchar(400) DEFAULT NULL COMMENT '卡片点击跳转链接',
+   `STATUS` tinyint(1) DEFAULT '1' COMMENT '状态',
+   `CREATE_BY` char(100) DEFAULT NULL COMMENT '创建人',
+   `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+   `UPDATE_BY` char(100) DEFAULT NULL COMMENT '更新人',
+   `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间',
+   `VERSION` int DEFAULT '0' COMMENT '版本',
+   PRIMARY KEY (`ID`),
+   UNIQUE KEY `UK_TEMPLATE_ID` (`TEMPLATE_ID`),
+   KEY `INDEX_STATUS_ACCOUNT` (`STATUS`, `ACCOUNT`)
+) ENGINE=InnoDB AUTO_INCREMENT=1  DEFAULT CHARSET=utf8mb4 COMMENT='服务号消息卡片模版配置表';
+
+

+ 131 - 0
resources/database-sql/webchat-ugc.sql

@@ -0,0 +1,131 @@
+-- 消息持久化数据表
+CREATE TABLE webchat_ugc.`web_chat_message` (
+     `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+     `sender` char(100) NOT NULL COMMENT '发送人',
+     `receiver` char(100) NOT NULL COMMENT '接收人',
+     `proxy_sender` char(100) DEFAULT NULL COMMENT '消息代理发送人(应用在群聊场景)',
+     `message` text DEFAULT NULL COMMENT '消息内容',
+     `image` varchar(300) DEFAULT NULL COMMENT '图片',
+     `type` tinyint(1) DEFAULT 0 COMMENT '消息类型',
+     `IS_READ` tinyint(1) DEFAULT 0 COMMENT '是否已读',
+     `SEND_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '消息时间',
+     `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间',
+     `VERSION` int DEFAULT '0' COMMENT '版本',
+     PRIMARY KEY (`ID`),
+     KEY `INDEX_SENDER_PROXY_SENDER` (`sender`, `proxy_sender`),
+     KEY `INDEX_RECEIVER` (`receiver`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='消息持久化数据表';
+
+
+-- 红包信息表
+CREATE TABLE webchat_ugc.`web_chat_red_packet` (
+       `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+       `order_id` char(64) NOT NULL COMMENT '支付平台交易订单id',
+       `sender` char(100) NOT NULL COMMENT '红包发送人',
+       `receiver` char(100) NOT NULL COMMENT '接受账户(人、群、企业账户)',
+       `type` int(4) NOT NULL COMMENT '红包类型 1 固定红包、2 拼手气',
+       `count` int(4) NOT NULL COMMENT '红包个数',
+       `cover` varchar(100) DEFAULT NULL COMMENT '红包封面',
+       `blessing` varchar(50) DEFAULT NULL COMMENT '祝福语',
+       `status` int(4) NOT NULL COMMENT '状态',
+       `total_money` DECIMAL(10, 2) default '0.00' COMMENT '金额',
+       `CREATE_BY` char(100) DEFAULT NULL COMMENT '创建人',
+       `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+       `expire_date` datetime NOT NULL COMMENT '过期时间',
+       `UPDATE_BY` char(100) DEFAULT NULL COMMENT '更新人',
+       `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间',
+       `VERSION` int DEFAULT '0' COMMENT '版本',
+       PRIMARY KEY (`ID`),
+       KEY `INDEX_ORDER_ID` (`order_id`),
+       KEY `INDEX_SENDER` (`sender`),
+       KEY `INDEX_STATUS_EXPIRE_DATE` (`status`, `expire_date`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='红包信息表';
+
+-- 红包拆分记录明细表
+CREATE TABLE webchat_ugc.`web_chat_red_packet_record` (
+      `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+      `red_packet_id` bigint NOT NULL COMMENT '红包id',
+      `user_id` char(100) NOT NULL COMMENT '领取人',
+      `money` DECIMAL(10, 2) default '0.00' COMMENT '领取金额',
+      `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+      PRIMARY KEY (`ID`),
+      KEY `INDEX_RED_PACKET_ID` (`red_packet_id`),
+      KEY `INDEX_USER_ID` (`user_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='红包拆分记录明细表';
+
+
+-- webchat朋友圈动态核心数据表
+CREATE TABLE webchat_ugc.`web_chat_moment` (
+        `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+        `author` char(100) NOT NULL COMMENT '动态作者 ',
+        `content` varchar(300) DEFAULT NULL COMMENT '正文(纯文本)',
+        `status` int(4) NOT NULL DEFAULT 1 COMMENT '状态',
+        `include_images` tinyint(1) DEFAULT 0 COMMENT '是否包含图片,冗余字段',
+        `include_video` tinyint(1) DEFAULT 0 COMMENT '是否包含图片,冗余字段',
+        `include_link` tinyint(1) DEFAULT 0 COMMENT '是否包含连接,冗余字段',
+        `ip` char(30) DEFAULT NULL COMMENT 'IP',
+        `ip_address` varchar(100) DEFAULT NULL COMMENT 'IP归属地',
+        `review_score` int(4) DEFAULT NULL COMMENT '大模型机审内容质量分',
+        `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+        `UPDATE_BY` char(100) DEFAULT NULL COMMENT '更新人',
+        `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间',
+       PRIMARY KEY (`ID`),
+       KEY `INDEX_AUTHOR_STATUS` (`author`, `status`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='webchat朋友圈动态核心数据表';
+
+-- webchat朋友圈动态媒体资源表
+CREATE TABLE webchat_ugc.`web_chat_moment_media` (
+                                                     `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+                                                     `moment_id` bigint unsigned NOT NULL COMMENT '动态ID',
+                                                     `type` int(4) NOT NULL COMMENT '资源类型 1图片 2视频',
+                                                     `resource` varchar(300) NOT NULL COMMENT '资源地址,对应OS存储资源URL',
+                                                     `size` bigint unsigned DEFAULT 0 COMMENT '资源大小',
+                                                     `width` int(6) DEFAULT 0 COMMENT '资源宽度',
+                                                     `height` int(6) DEFAULT 0 COMMENT '资源高度',
+                                                     PRIMARY KEY (`ID`),
+                                                     KEY `INDEX_MOMENT_ID_TYPE` (`moment_id`, `type`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='webchat朋友圈动态媒体资源表';
+
+-- webchat朋友圈动态分享链接表
+CREATE TABLE webchat_ugc.`web_chat_moment_link` (
+
+                                                    `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+                                                    `moment_id` bigint unsigned NOT NULL COMMENT '动态ID',
+                                                    `resource` varchar(300) NOT NULL COMMENT '分享到朋友圈的url网络资源链接',
+                                                    `title` varchar(100) DEFAULT NULL COMMENT '链接解析标题',
+                                                    `cover` varchar(300) DEFAULT NULL COMMENT '链接解析封面图,webchat OS地址',
+                                                    PRIMARY KEY (`ID`),
+                                                    UNIQUE KEY `INDEX_MOMENT_ID` (`moment_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='webchat朋友圈动态分享链接表';
+
+
+-- 朋友圈动态时间线
+CREATE TABLE webchat_ugc.`web_chat_moment_timeline_0`(
+                                                         `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+                                                         `user_id` char(100) NOT NULL COMMENT '谁的时间线',
+                                                         `moment_id` bigint unsigned NOT NULL COMMENT '动态id',
+                                                         `time_line` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '时间线时间点',
+                                                         PRIMARY KEY (`ID`),
+                                                         KEY `INDEX_USER_ID_TIME_LINE` (`user_id`, `time_line`),
+                                                         KEY `INDEX_MOMENT_ID` (`moment_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='webchat朋友圈时间线';
+
+CREATE TABLE webchat_ugc.`web_chat_moment_timeline_1`(
+                                                         `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+                                                         `user_id` char(100) NOT NULL COMMENT '谁的时间线',
+                                                         `moment_id` bigint unsigned NOT NULL COMMENT '动态id',
+                                                         `time_line` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '时间线时间点',
+                                                         PRIMARY KEY (`ID`),
+                                                         KEY `INDEX_USER_ID_TIME_LINE` (`user_id`, `time_line`),
+                                                         KEY `INDEX_MOMENT_ID` (`moment_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='webchat朋友圈时间线';
+
+CREATE TABLE webchat_ugc.`web_chat_moment_timeline_2`(
+                                                         `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+                                                         `user_id` char(100) NOT NULL COMMENT '谁的时间线',
+                                                         `moment_id` bigint unsigned NOT NULL COMMENT '动态id',
+                                                         `time_line` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '时间线时间点',
+                                                         PRIMARY KEY (`ID`),
+                                                         KEY `INDEX_USER_ID_TIME_LINE` (`user_id`, `time_line`),
+                                                         KEY `INDEX_MOMENT_ID` (`moment_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='webchat朋友圈时间线';

+ 107 - 0
resources/database-sql/webchat-user.sql

@@ -0,0 +1,107 @@
+-- 用户信息主表
+CREATE TABLE webchat_user.`web_chat_user` (
+     `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+     `USER_ID` char(60) NOT NULL COMMENT '用户ID',
+     `USER_NAME` char(30) NOT NULL COMMENT '用户名',
+     `PHOTO` varchar(400) NOT NULL COMMENT '用户头像',
+     `MOBILE` char(20) NOT NULL COMMENT '手机号',
+     `PASSWORD` char(100) NOT NULL COMMENT '密码',
+     `SIGNATURE` varchar(500) DEFAULT '暂无签名' COMMENT '签名',
+     `STATUS` INT NOT NULL DEFAULT 1 COMMENT '用户状态状态',
+     `ROLE_CODE` INT NOT NULL DEFAULT 1 COMMENT '角色',
+     `CREATE_BY` char(100) DEFAULT NULL COMMENT '创建人',
+     `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+     `UPDATE_BY` char(100) DEFAULT NULL COMMENT '更新人',
+     `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间',
+     `VERSION` int DEFAULT '0' COMMENT '版本',
+     PRIMARY KEY (`ID`),
+     KEY `INDEX_USER_ID` (`USER_ID`),
+     KEY `INDEX_MOBILE_PASSWORD` (`MOBILE`, `PASSWORD`),
+     KEY `INDEX_STATUS` (`STATUS`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='用户信息主表';
+
+-- 初始化默认管理员账号
+INSERT INTO `webchat_user`.`web_chat_user` (`ID`, `USER_ID`, `USER_NAME`, `PHOTO`, `MOBILE`, `PASSWORD`, `STATUS`, `ROLE_CODE`,
+                                       `CREATE_BY`, `CREATE_DATE`, `UPDATE_BY`, `UPDATE_DATE`, `VERSION`) VALUES
+    (1, 'U_770cce9f632543588b4e8aa6ec43e6a2', '管理员', 'https://coderutil.oss-cn-beijing.aliyuncs.com/bbs-image/file_dd489633f1bb4513a9db81be6e9d692f.png',
+     'admin', '06525f4969c6cf1886ee0db86bef82df', 1, 2, 'U_770cce9f632543588b4e8aa6ec43e6a2',
+     '2022-03-12 05:55:26', NULL, '2022-03-22 10:28:38', 1);
+-- 初始化我的AI助手
+INSERT INTO `webchat_user`.`web_chat_user` (`USER_ID`, `USER_NAME`, `PHOTO`, `MOBILE`, `PASSWORD`, `STATUS`, `ROLE_CODE`,
+                                            `CREATE_BY`, `CREATE_DATE`, `UPDATE_BY`, `UPDATE_DATE`, `VERSION`) VALUES
+    ('AI_ef352f698ad7b60c1d8a3aaa4a948030', '我的Ai助手', 'https://coderutil.oss-cn-beijing.aliyuncs.com/bbs-image/file_5a09444d0eb4431abfb01f4efb3afddc.png',
+     'aiagent', 'AI_ef352f698ad7b60c1d8a3aaa4a948030', 1, 0, 'AI_ef352f698ad7b60c1d8a3aaa4a948030',
+     '2022-03-12 05:55:26', NULL, '2022-03-22 10:28:38', 1);
+-- 初始化webchat支付服务号
+INSERT INTO `webchat_user`.`web_chat_user` (`USER_ID`, `USER_NAME`, `PHOTO`, `MOBILE`, `PASSWORD`, `STATUS`, `ROLE_CODE`,
+                                            `CREATE_BY`, `CREATE_DATE`, `UPDATE_BY`, `UPDATE_DATE`, `VERSION`) VALUES
+    ('S_51a7fbf50155c4b08c55fbbcfc5911db', 'WebChat支付', 'https://coderutil.oss-cn-beijing.aliyuncs.com/bbs-image/file_bf000793461b49ffa5ffe224611450ee.png',
+     'webchat_pay', 'S_51a7fbf50155c4b08c55fbbcfc5911db', 1, 7, 'S_51a7fbf50155c4b08c55fbbcfc5911db',
+     '2022-03-12 05:55:26', NULL, '2022-03-22 10:28:38', 1);
+
+-- 好友关系表
+CREATE TABLE webchat_user.`web_chat_friend` (
+   `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+   `USER_ID` char(60) NOT NULL COMMENT '用户ID',
+   `FRIEND_ID` char(60) NOT NULL COMMENT '好友ID',
+   `STATUS` int(11) DEFAULT '0' COMMENT '好友状态',
+   `APPLY_DATE` datetime DEFAULT NULL COMMENT '申请时间',
+   `HANDLE_DATE` datetime DEFAULT NULL COMMENT '处理时间',
+   `VERSION` int DEFAULT '0' COMMENT '版本',
+   PRIMARY KEY (`ID`),
+   KEY `INDEX_USER_ID` (`USER_ID`),
+   KEY `INDEX_FRIEND_ID` (`FRIEND_ID`),
+   KEY `INDEX_STATUS` (`STATUS`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='好友关系表';
+
+
+-- 群组用户表
+CREATE TABLE webchat_user.`web_chat_group_user` (
+                                       `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+                                       `GROUP_ID` char(60) NOT NULL COMMENT '群组ID',
+                                       `USER_ID` char(60) NOT NULL COMMENT '用户ID',
+                                       `STATUS` INT NOT NULL DEFAULT 1 COMMENT '用户状态状态',
+                                       `CREATE_BY` char(100) DEFAULT NULL COMMENT '创建人',
+                                       `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                       `UPDATE_BY` char(100) DEFAULT NULL COMMENT '更新人',
+                                       `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间',
+                                       `VERSION` int DEFAULT '0' COMMENT '版本',
+                                       PRIMARY KEY (`ID`),
+                                       KEY `INDEX_GROUP_ID` (`GROUP_ID`),
+                                       KEY `INDEX_USER_ID` (`USER_ID`),
+                                       KEY `INDEX_STATUS` (`STATUS`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='群组用户表';
+
+
+-- 账号关系表
+CREATE TABLE webchat_user.`web_chat_account_relation` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '关系主键',
+  `source_account` char(64) NOT NULL COMMENT '原账号',
+  `target_account` char(64) NOT NULL COMMENT '目标账号',
+  `type` int(4) NOT NULL COMMENT '关系类型',
+  `status` int(4) NOT NULL COMMENT '关系状态',
+  `create_date` date NOT NULL COMMENT '创建时间',
+  `update_date` date NOT NULL COMMENT '更新时间',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `UK_IDX_SOURCE_TARGET_ACCOUNT`(source_account, target_account),
+  KEY `IDX_STATUS_TYPE`(status, type)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='账号关系表';
+
+
+-- 外部接入应用信息表
+CREATE TABLE webchat_user.`web_chat_application` (
+             `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
+             `name` char(20) NOT NULL COMMENT '应用名称 ',
+             `description` varchar(200) NOT NULL COMMENT '应用描述',
+             `status` int(4) NOT NULL COMMENT '状态',
+             `access_key` char(64) NOT NULL COMMENT 'access key 应用访问凭证',
+             `secret_hash_key` char(100) NOT NULL COMMENT 'secret key hash值 应用访问凭证秘钥',
+             `CREATE_BY` char(100) DEFAULT NULL COMMENT '创建人',
+             `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+             `UPDATE_BY` char(100) DEFAULT NULL COMMENT '更新人',
+             `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间',
+             `VERSION` int DEFAULT '0' COMMENT '版本',
+             PRIMARY KEY (`ID`),
+             UNIQUE KEY `INDEX_ACCESS_SECRET_KEY` (`ACCESS_KEY`, `SECRET_HASH_KEY`),
+             KEY `INDEX_STATUS` (`STATUS`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='外部接入应用信息表';

+ 0 - 0
resources/database-sql/webchat.sql


BIN
resources/nacos-yaml/nacos_config_export_20250524184707.zip


+ 28 - 0
resources/nacos-yaml/webchat-act-service-dev.yaml

@@ -0,0 +1,28 @@
+#---------------------------------数据库配置----------------------------------#
+spring:
+  datasource:
+    url: jdbc:mysql://192.168.36.128:3306/webchat_act?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true
+    username: root
+    password: 12345678
+    driver-class-name: com.mysql.jdbc.Driver
+    hikari:
+      maximum-pool-size: 10
+  jpa:
+    show-sql: true
+  #---------------------------------redis----------------------------------#
+  data:
+    redis:
+      port: 6379
+      database: 6
+      jedis:
+        pool:
+          max-active: 100
+          max-wait: -1
+          min-idle: 10
+
+rocketmq:
+  name-server: 192.168.36.128:9876
+  consumer:
+    group: web_chat
+  producer:
+    group: web_chat

+ 25 - 0
resources/nacos-yaml/webchat-admin-service-dev.yaml

@@ -0,0 +1,25 @@
+spring:
+  servlet:
+    multipart:
+      max-file-size: 10MB
+      max-request-size: 10MB
+  data:
+    redis:
+      host: 192.168.36.128
+      port: 6379
+      database: 6
+      jedis:
+        timeout: 5000
+        pool:
+          max-active: 100
+          max-wait: -1
+          min-idle: 10
+
+minio:
+  endpoint: http://192.168.36.128:9000
+  accessKey: BArEoI6PE8uGh13jHRuN
+  secretKey: eHRL9vpXUH6vGOGkL5Vth2ZQRpzh7AvdKzNlASko
+  bucketName: webchat
+
+oauth:
+  server-url: http://localhost:5000/?call_back=%s

+ 39 - 0
resources/nacos-yaml/webchat-aigc-service-dev.yaml

@@ -0,0 +1,39 @@
+spring:
+  mvc:
+    async:
+      request-timeout: -1
+  #---------------------------------redis----------------------------------#
+  data:
+    redis:
+      host: 192.168.36.128
+      port: 6379
+      database: 6
+      jedis:
+        timeout: 5000
+        pool:
+          max-active: 100
+          max-wait: -1
+          min-idle: 10
+# 大模型配置,应用于对话机器人
+llm:
+  config:
+    # 当前开启使用哪个模型 kimi or deepseek or ollama
+    model: deepseek
+    kimi:
+      api-key:
+      model: moonshot-v1-32k
+    deepseek:
+      api-key:
+      model: deepseek-chat
+    liblib:
+      accessKey:
+      SecretKey:
+    ollama:
+      base-url: http://192.168.36.128:11434
+      # ollama的本地模型
+      model: deepseek-r1:7b
+
+rocketmq:
+  name-server: 192.168.36.128:9876
+  consumer:
+    group: web_chat

+ 28 - 0
resources/nacos-yaml/webchat-api-service-dev.yaml

@@ -0,0 +1,28 @@
+#---------------------------------数据库配置----------------------------------#
+spring:
+  datasource:
+    url: jdbc:mysql://192.168.36.128:3306/webchat_act?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true
+    username: root
+    password: 12345678
+    driver-class-name: com.mysql.jdbc.Driver
+    hikari:
+      maximum-pool-size: 10
+  jpa:
+    show-sql: true
+  #---------------------------------redis----------------------------------#
+  data:
+    redis:
+      port: 6379
+      database: 6
+      jedis:
+        pool:
+          max-active: 100
+          max-wait: -1
+          min-idle: 10
+
+rocketmq:
+  name-server: 192.168.36.128:9876
+  consumer:
+    group: web_chat
+  producer:
+    group: web_chat

+ 25 - 0
resources/nacos-yaml/webchat-client-chat-service-dev.yaml

@@ -0,0 +1,25 @@
+spring:
+  servlet:
+    multipart:
+      max-file-size: 10MB
+      max-request-size: 10MB
+  data:
+    redis:
+      host: 192.168.36.128
+      port: 6379
+      database: 6
+      jedis:
+        timeout: 5000
+        pool:
+          max-active: 100
+          max-wait: -1
+          min-idle: 10
+
+minio:
+  endpoint: http://192.168.36.128:9000
+  accessKey: BArEoI6PE8uGh13jHRuN
+  secretKey: eHRL9vpXUH6vGOGkL5Vth2ZQRpzh7AvdKzNlASko
+  bucketName: webchat
+
+oauth:
+  server-url: http://localhost:5000/?call_back=%s

+ 24 - 0
resources/nacos-yaml/webchat-connect-service-dev.yaml

@@ -0,0 +1,24 @@
+spring:
+  mvc:
+    async:
+      request-timeout: -1
+  main:
+    allow-bean-definition-overriding: true
+  data:
+    redis:
+      host: 192.168.36.128
+      port: 6379
+      database: 6
+      jedis:
+        timeout: 5000
+        pool:
+          max-active: 100
+          max-wait: -1
+          min-idle: 10
+
+rocketmq:
+  name-server: 192.168.36.128:9876
+  consumer:
+    group: web_chat
+  producer:
+    group: web_chat

+ 3 - 0
resources/nacos-yaml/webchat-gateway-service-dev.yaml

@@ -0,0 +1,3 @@
+spring:
+  application:
+    name: webchat-gateway-service

+ 23 - 0
resources/nacos-yaml/webchat-pay-service-dev.yaml

@@ -0,0 +1,23 @@
+#---------------------------------数据库配置----------------------------------#
+spring:
+  datasource:
+    url: jdbc:mysql://192.168.36.128:3306/webchat_payment?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true
+    username: root
+    password: 12345678
+    driver-class-name: com.mysql.jdbc.Driver
+    hikari:
+      maximum-pool-size: 50
+  jpa:
+    show-sql: true
+  # set redis config
+  data:
+    redis:
+      host: 192.168.36.128
+      port: 6379
+      database: 6
+      jedis:
+        timeout: 5000
+        pool:
+          max-active: 100
+          max-wait: -1
+          min-idle: 10

+ 28 - 0
resources/nacos-yaml/webchat-pgc-service-dev.yaml

@@ -0,0 +1,28 @@
+#---------------------------------数据库配置----------------------------------#
+spring:
+  datasource:
+    url: jdbc:mysql://192.168.36.128:3306/webchat_pgc?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true
+    username: root
+    password: 12345678
+    driver-class-name: com.mysql.jdbc.Driver
+    hikari:
+      maximum-pool-size: 50
+  jpa:
+    show-sql: true
+  #---------------------------------redis----------------------------------#
+  data:
+    redis:
+      port: 6379
+      database: 6
+      jedis:
+        pool:
+          max-active: 100
+          max-wait: -1
+          min-idle: 10
+
+rocketmq:
+  name-server: 192.168.36.128:9876
+  consumer:
+    group: web_chat
+  producer:
+    group: web_chat

+ 24 - 0
resources/nacos-yaml/webchat-search-service-dev.yaml

@@ -0,0 +1,24 @@
+spring:
+  application:
+    name: webchat-search-service
+    # elastic search config
+  elasticsearch:
+    message-index: chat_mess_dev
+    rest:
+      uris: http://8.140.184.12:9200
+    # set redis config
+  data:
+    redis:
+      host: 127.0.0.1
+      port: 6379
+      database: 6
+      jedis:
+        timeout: 5000
+        pool:
+          max-active: 100
+          max-wait: -1
+          min-idle: 10
+
+milvus:
+  host: 121.4.119.166
+  port: 19530

+ 17 - 0
resources/nacos-yaml/webchat-sso-service-dev.yaml

@@ -0,0 +1,17 @@
+spring:
+  data:
+    redis:
+      host: 192.168.36.128
+      port: 6379
+      database: 2
+      jedis:
+        timeout: 5000
+        pool:
+          max-active: 100
+          max-wait: -1
+          min-idle: 10
+minio:
+  endpoint: http://192.168.36.128:9000
+  accessKey: BArEoI6PE8uGh13jHRuN
+  secretKey: eHRL9vpXUH6vGOGkL5Vth2ZQRpzh7AvdKzNlASko
+  bucketName: webchat

+ 42 - 0
resources/nacos-yaml/webchat-ugc-service-dev.yaml

@@ -0,0 +1,42 @@
+
+#---------------------------------数据库配置----------------------------------#
+spring:
+  datasource:
+    driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver
+    url: jdbc:shardingsphere:classpath:sharding-jdbc.yml
+  jpa:
+    show-sql: true
+  data:
+    redis:
+      host: 192.168.36.128
+      port: 6379
+      database: 6
+      jedis:
+        timeout: 5000
+        pool:
+          max-active: 100
+          max-wait: -1
+          min-idle: 10
+
+rocketmq:
+  name-server: 192.168.36.128:9876
+  consumer:
+    group: web_chat
+  producer:
+    group: web_chat
+
+pay:
+  config:
+    app-id: 4
+    access-key: ak-fc014fcb2e3147b191c6a99af8454609
+    secret-key: gHTpgluRkz1HAOKuw3H5vSn4/A6kosoHKh4AFe2UNMk=
+
+message-card:
+  account:
+    payment: S_51a7fbf50155c4b08c55fbbcfc5911db
+  template:
+    red-packet-send: 284361050017501184
+    red-packet-open: 456
+
+red-packet:
+  open-with: LOCK

+ 28 - 0
resources/nacos-yaml/webchat-user-service-dev.yaml

@@ -0,0 +1,28 @@
+spring:
+  main:
+    allow-bean-definition-overriding: true
+  datasource:
+    url: jdbc:mysql://192.168.36.128:3306/webchat_user?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true
+    username: root
+    password: 12345678
+    driver-class-name: com.mysql.jdbc.Driver
+    hikari:
+      maximum-pool-size: 50
+  jpa:
+    show-sql: true
+  data:
+    redis:
+      host: 192.168.36.128
+      port: 6379
+      database: 6
+      jedis:
+        timeout: 5000
+        pool:
+          max-active: 100
+          max-wait: -1
+          min-idle: 10
+
+rocketmq:
+  producer:
+    group: web_chat
+  name-server: 192.168.36.128:9876

+ 0 - 0
resources/webchat.md


+ 1 - 1
webchat-act/pom.xml

@@ -5,7 +5,7 @@
 
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 2 - 2
webchat-act/src/main/resources/bootstrap.yml

@@ -6,11 +6,11 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
         file-extension: yaml
         group: DEFAULT_GROUP
         refresh-enabled: true
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5

+ 1 - 1
webchat-admin/pom.xml

@@ -4,7 +4,7 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 3 - 3
webchat-admin/src/main/resources/bootstrap.yml

@@ -6,16 +6,16 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
         file-extension: yaml
         group: DEFAULT_GROUP
         refresh-enabled: true
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
     sentinel:
       transport:
         port: 8719
-        dashboard: 127.0.0.1:8080
+        dashboard: 192.168.36.128:8080
       eager: true

+ 1 - 1
webchat-aigc/pom.xml

@@ -4,7 +4,7 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 1 - 1
webchat-aigc/src/main/java/com/webchat/aigc/llm/AiBotQAService.java

@@ -50,7 +50,7 @@ public class AiBotQAService {
     /**
      * 相似度限制条件
      */
-    private static final float MIN_SCORE = 0.8f;
+    private static final float MIN_SCORE = 0.4f;
 
     private static final String AIBOT_ROLE = "你是Chat4j项目的Ai助手,任务是根据用户给出的参考数据,基于输入query,精准的给出答案。";
 

+ 8 - 3
webchat-aigc/src/main/java/com/webchat/aigc/llm/AlibabaEmbeddingModel.java

@@ -38,11 +38,16 @@ public class AlibabaEmbeddingModel extends AbstractEmbeddingModel {
     public List<float[]> embed(List<String> texts) throws Exception {
         TextEmbeddingParam param = TextEmbeddingParam
                 .builder()
+                .apiKey(embeddingPropertiesConfig.getApiKey())
                 .model(TextEmbedding.Models.TEXT_EMBEDDING_V3)
-                .texts(Arrays.asList("风急天高猿啸哀", "渚清沙白鸟飞回", "无边落木萧萧下", "不尽长江滚滚来")).build();
+                .texts(texts).build();
         TextEmbedding textEmbedding = new TextEmbedding();
         TextEmbeddingResult result = textEmbedding.call(param);
-        System.out.println(result);
-        return null;
+        return result.getOutput().getEmbeddings().stream().map(embed -> {
+            List<Double> embeddings = embed.getEmbedding();
+            List<Float> fEmbeddings = embeddings.stream().map(textEmbed ->
+                                                                    textEmbed.floatValue()).toList();
+            return ArrayUtils.toPrimitive(fEmbeddings.toArray(new Float[0]));
+        }).toList();
     }
 }

+ 3 - 3
webchat-aigc/src/main/resources/bootstrap.yml

@@ -6,16 +6,16 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
         file-extension: yaml
         group: DEFAULT_GROUP
         refresh-enabled: true
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
     sentinel:
       transport:
         port: 8719
-        dashboard: 127.0.0.1:8080
+        dashboard: 192.168.36.128:8080
       eager: true

+ 1 - 1
webchat-api/pom.xml

@@ -4,7 +4,7 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 1 - 1
webchat-api/src/main/resources/application.yml

@@ -1 +1 @@
-server:
  port: 8025
+server:
  port: 8026

+ 3 - 3
webchat-api/src/main/resources/bootstrap.yml

@@ -6,16 +6,16 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
         file-extension: yaml
         group: DEFAULT_GROUP
         refresh-enabled: true
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
     sentinel:
       transport:
         port: 8719
-        dashboard: 127.0.0.1:8080
+        dashboard: 192.168.36.128:8080
       eager: true

+ 1 - 1
webchat-client-chat/pom.xml

@@ -4,7 +4,7 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 3 - 3
webchat-client-chat/src/main/resources/bootstrap.yml

@@ -6,16 +6,16 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
         file-extension: yaml
         group: DEFAULT_GROUP
         refresh-enabled: true
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
     sentinel:
       transport:
         port: 8719
-        dashboard: 127.0.0.1:8080
+        dashboard: 192.168.36.128:8080
       eager: true

+ 1 - 1
webchat-common/pom.xml

@@ -5,7 +5,7 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 1 - 1
webchat-common/src/main/java/com/webchat/common/config/configuration/RedissonConfig.java

@@ -26,7 +26,7 @@ public class RedissonConfig {
         Config config = new Config();
 
         // 2、集群模式
-        // config.useClusterServers().addNodeAddress("127.0.0.1:7004", "127.0.0.1:7001");
+        // config.useClusterServers().addNodeAddress("192.168.36.128:7004", "192.168.36.128:7001");
         // 根据 Config 创建出 RedissonClient 示例
         config.useSingleServer()
                 .setAddress(String.format("redis://%s:%s", host, port))

+ 1 - 1
webchat-common/src/main/java/com/webchat/common/config/configuration/RocketMQProducerConfig.java

@@ -12,7 +12,7 @@ public class RocketMQProducerConfig {
     @Value("${rocketmq.producer.group:webchat}")
     private String producerGroup;
 
-    @Value("${rocketmq.name-server:127.0.0.1:9876}")
+    @Value("${rocketmq.name-server:192.168.36.128:9876}")
     private String nameServer;
 
     @Bean

Fișier diff suprimat deoarece este prea mare
+ 120 - 0
webchat-common/src/main/java/com/webchat/common/util/HtmlSplitter.java


+ 1 - 1
webchat-connect/pom.xml

@@ -4,7 +4,7 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 3 - 3
webchat-connect/src/main/resources/bootstrap.yml

@@ -6,16 +6,16 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
         file-extension: yaml
         group: DEFAULT_GROUP
         refresh-enabled: true
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
     sentinel:
       transport:
         port: 8719
-        dashboard: 127.0.0.1:8080
+        dashboard: 192.168.36.128:8080
       eager: true

+ 1 - 1
webchat-domain/pom.xml

@@ -6,7 +6,7 @@
 
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 1 - 1
webchat-gateway/pom.xml

@@ -5,7 +5,7 @@
 
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
webchat-gateway/src/main/resources/application.yml


+ 2 - 2
webchat-gateway/src/main/resources/bootstrap.yml

@@ -6,10 +6,10 @@ spring:
   cloud:
     nacos:
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
         file-extension: yaml
         group: DEFAULT_GROUP

+ 1 - 1
webchat-pay/pom.xml

@@ -4,7 +4,7 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 2 - 2
webchat-pay/src/main/resources/bootstrap.yml

@@ -6,11 +6,11 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
         file-extension: yaml
         group: DEFAULT_GROUP
         refresh-enabled: true
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5

+ 1 - 1
webchat-pgc/pom.xml

@@ -5,7 +5,7 @@
 
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 3 - 3
webchat-pgc/src/main/resources/bootstrap.yml

@@ -6,16 +6,16 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
         file-extension: yaml
         group: DEFAULT_GROUP
         refresh-enabled: true
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
     sentinel:
       transport:
         port: 8719
-        dashboard: 127.0.0.1:8080
+        dashboard: 192.168.36.128:8080
       eager: true

+ 1 - 1
webchat-remote/pom.xml

@@ -6,7 +6,7 @@
 
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 1 - 1
webchat-search/pom.xml

@@ -4,7 +4,7 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 54 - 19
webchat-search/src/main/java/com/webchat/search/service/voctor/ArticleMilvusService.java

@@ -5,6 +5,7 @@ import com.google.gson.Gson;
 import com.google.gson.JsonObject;
 import com.webchat.common.constants.MilvusConstants;
 import com.webchat.common.enums.EmbeddingModelEnum;
+import com.webchat.common.util.HtmlSplitter;
 import com.webchat.common.util.JsonUtil;
 import com.webchat.domain.dto.search.SyncSearchEngineDTO;
 import com.webchat.domain.dto.search.SyncSearchEngineListDTO;
@@ -24,7 +25,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.stereotype.Service;
 
-import java.lang.reflect.Array;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
@@ -189,7 +190,7 @@ public class ArticleMilvusService extends AbstractMilvusQueueService<SyncSearchE
         HybridSearchReq request = HybridSearchReq.builder()
                 .collectionName(this.collectionName())
                 .searchRequests(Lists.newArrayList(summaryReq, contentReq))
-                .ranker(new WeightedRanker(Arrays.asList(0.6f, 0.4f)))
+                .ranker(new WeightedRanker(Arrays.asList(0.5f, 0.5f)))
                 .topK(topK)
                 .outFields(Lists.newArrayList("pk", "summary", "content"))
                 .build();
@@ -225,32 +226,66 @@ public class ArticleMilvusService extends AbstractMilvusQueueService<SyncSearchE
      */
     @Override
     public boolean doWriteCollection(SyncSearchEngineDTO data) {
-        JsonObject vector = new JsonObject();
-        String summary = data.getSummary();
+
         String content = data.getContent();
-        // 对文章摘要做embed
-        float[] summaryVector = super.embed(summary);
-        float[] contentVector = super.embed(content);
-        /**
-         * 原数据写入
-         */
-        vector.addProperty("pk", data.getPk());
-        vector.addProperty("source_type", data.getSourceType());
-        vector.addProperty("summary", data.getSummary());
-        vector.addProperty("content", data.getContent());
+        // 正文html长富文本切片
+        List<HtmlSplitter.SplitResult> contentObjs = HtmlSplitter.split(content, true);
+        if (CollectionUtils.isEmpty(contentObjs)) {
+            return false;
+        }
+        String pk = data.getPk();
+        String sourceType = data.getSourceType();
+        String summary = data.getSummary();
+
+        List<String> contents = contentObjs.stream().map(HtmlSplitter.SplitResult::getContent).toList();
+        List<String> summaries = contentObjs.stream().map(c ->
+                                c.getTitle().concat("|").concat(data.getSummary())).toList();
+
+        // 批量embedding
+        List<float[]> contentVectors = super.embed(contents);
+        List<float[]> summaryVectors = super.embed(summaries);
+        List<JsonObject> vectors = new ArrayList<>();
+        for (int i = 0; i < contentVectors.size(); i++) {
+            vectors.add(
+                    buildMilvusData(
+                            pk,
+                            sourceType,
+                            summaries.get(i),
+                            contents.get(i),
+                            summaryVectors.get(i),
+                            contentVectors.get(i)));
+        }
+
         /**
-         * 向量字段处理
+         * content原文章内容切片后批量写
          */
-        Gson gson = new Gson();
-        vector.add("summary_vector", gson.toJsonTree(summaryVector));
-        vector.add("content_vector", gson.toJsonTree(contentVector));
         InsertReq request = InsertReq.builder()
                 .collectionName(collectionName())
-                .data(Collections.singletonList(vector))
+                .data(vectors)
                 .build();
         log.info("文章向量数据入库>>>> pk:{}", data.getPk());
         InsertResp resp = client.insert(request);
         log.info("文章向量数据入库完成>>>> pk:{}, resp:{}", data.getPk(), JsonUtil.toJsonString(resp));
         return true;
     }
+
+    private JsonObject buildMilvusData(String pk, String sourceType,
+                                       String summary, String content,
+                                       float[] summaryVector, float[] contentVector) {
+        JsonObject vector = new JsonObject();
+        /**
+         * 原数据写入
+         */
+        vector.addProperty("pk", pk);
+        vector.addProperty("source_type", sourceType);
+        vector.addProperty("summary", summary);
+        vector.addProperty("content", content);
+        /**
+         * 向量字段处理
+         */
+        Gson gson = new Gson();
+        vector.add("summary_vector", gson.toJsonTree(summaryVector));
+        vector.add("content_vector", gson.toJsonTree(contentVector));
+        return vector;
+    }
 }

+ 2 - 2
webchat-search/src/main/resources/bootstrap.yml

@@ -6,11 +6,11 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
         file-extension: yaml
         group: DEFAULT_GROUP
         refresh-enabled: true
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5

+ 1 - 1
webchat-sso/pom.xml

@@ -4,7 +4,7 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 2 - 2
webchat-sso/src/main/resources/bootstrap.yml

@@ -12,11 +12,11 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
         file-extension: yaml
         group: DEFAULT_GROUP
         refresh-enabled: true
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5

+ 1 - 1
webchat-ugc/pom.xml

@@ -4,7 +4,7 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
     <groupId>com.webchat</groupId>

+ 3 - 3
webchat-ugc/src/main/resources/bootstrap.yml

@@ -6,16 +6,16 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
         file-extension: yaml
         group: DEFAULT_GROUP
         refresh-enabled: true
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
     sentinel:
       transport:
         port: 8719
-        dashboard: 127.0.0.1:8080
+        dashboard: 192.168.36.128:8080
       eager: true

+ 1 - 1
webchat-ugc/src/main/resources/sharding-jdbc.yml

@@ -3,7 +3,7 @@ dataSources:
   ds_0:
     driverClassName: com.mysql.cj.jdbc.Driver
     dataSourceClassName: com.zaxxer.hikari.HikariDataSource
-    jdbcUrl: jdbc:mysql://127.0.0.1:3306/webchat_ugc?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true
+    jdbcUrl: jdbc:mysql://192.168.36.128:3306/webchat_ugc?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true
     username: root
     password: 12345678
 # 分库分表规则配置

+ 1 - 1
webchat-user/pom.xml

@@ -4,7 +4,7 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>com.webchat</groupId>
-        <artifactId>webchat-server</artifactId>
+        <artifactId>webchat</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
 

+ 4 - 4
webchat-user/src/main/resources/bootstrap.yml

@@ -6,21 +6,21 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
         file-extension: yaml
         group: DEFAULT_GROUP
         refresh-enabled: true
       discovery:
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.36.128:8848
         namespace: 2cdfb8e3-f127-4020-93df-2d4c3dc805b5
     sentinel:
       transport:
         port: 8719
-        dashboard: 127.0.0.1:8080
+        dashboard: 192.168.36.128:8080
       eager: true
 
 rocketmq:
   producer:
     group: webchat
-  name-server: 127.0.0.1:9876
+  name-server: 192.168.36.128:9876

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff