فهرست منبع

初始化 im 模块,websocket 搞

YunaiV 1 سال پیش
والد
کامیت
1b73670623
18فایلهای تغییر یافته به همراه183 افزوده شده و 0 حذف شده
  1. 1 0
      pom.xml
  2. 2 0
      yudao-module-bpm/yudao-module-bpm-biz/pom.xml
  3. 24 0
      yudao-module-im/pom.xml
  4. 33 0
      yudao-module-im/yudao-module-im-api/pom.xml
  5. 4 0
      yudao-module-im/yudao-module-im-api/src/main/java/cn/iocoder/yudao/module/im/api/package-info.java
  6. 6 0
      yudao-module-im/yudao-module-im-api/src/main/java/cn/iocoder/yudao/module/im/enums/package-info.java
  7. 56 0
      yudao-module-im/yudao-module-im-biz/pom.xml
  8. 5 0
      yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/controller/admin/ImController.http
  9. 16 0
      yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/controller/admin/ImController.java
  10. 4 0
      yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/controller/app/package-info.java
  11. 6 0
      yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/controller/package-info.java
  12. 6 0
      yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/framework/package-info.java
  13. 9 0
      yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/package-info.java
  14. 1 0
      yudao-module-mall/yudao-module-product-biz/pom.xml
  15. 1 0
      yudao-module-mall/yudao-module-promotion-biz/pom.xml
  16. 1 0
      yudao-module-mall/yudao-module-trade-biz/pom.xml
  17. 1 0
      yudao-module-report/yudao-module-report-biz/pom.xml
  18. 7 0
      yudao-server/pom.xml

+ 1 - 0
pom.xml

@@ -21,6 +21,7 @@
 <!--        <module>yudao-module-mp</module>-->
 <!--        <module>yudao-module-pay</module>-->
 <!--        <module>yudao-module-mall</module>-->
+        <module>yudao-module-im</module>
         <!-- 示例项目 -->
         <module>yudao-example</module>
     </modules>

+ 2 - 0
yudao-module-bpm/yudao-module-bpm-biz/pom.xml

@@ -62,7 +62,9 @@
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
             <artifactId>yudao-spring-boot-starter-test</artifactId>
+            <scope>test</scope>
         </dependency>
+
         <!-- 工作流相关 -->
         <dependency>
             <groupId>cn.iocoder.boot</groupId>

+ 24 - 0
yudao-module-im/pom.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>yudao</artifactId>
+        <groupId>cn.iocoder.boot</groupId>
+        <version>${revision}</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>yudao-module-im</artifactId>
+    <packaging>pom</packaging>
+
+    <name>${project.artifactId}</name>
+    <description>
+        im 包下,即使通讯(Instant Messaging),实现管理后台的聊天功能。
+    </description>
+    <modules>
+        <module>yudao-module-im-api</module>
+        <module>yudao-module-im-biz</module>
+    </modules>
+
+</project>

+ 33 - 0
yudao-module-im/yudao-module-im-api/pom.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>yudao-module-im</artifactId>
+        <groupId>cn.iocoder.boot</groupId>
+        <version>${revision}</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>yudao-module-im-api</artifactId>
+    <packaging>jar</packaging>
+
+    <name>${project.artifactId}</name>
+    <description>
+        im 模块 API,暴露给其它模块调用
+    </description>
+
+    <dependencies>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-common</artifactId>
+        </dependency>
+
+        <!-- 参数校验 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</artifactId>
+            <optional>true</optional>
+        </dependency>
+    </dependencies>
+
+</project>

+ 4 - 0
yudao-module-im/yudao-module-im-api/src/main/java/cn/iocoder/yudao/module/im/api/package-info.java

@@ -0,0 +1,4 @@
+/**
+ * im API 包,定义暴露给其它模块的 API
+ */
+package cn.iocoder.yudao.module.im.api;

+ 6 - 0
yudao-module-im/yudao-module-im-api/src/main/java/cn/iocoder/yudao/module/im/enums/package-info.java

@@ -0,0 +1,6 @@
+/**
+ * im enum 包,定义暴露给其它模块的枚举
+ *
+ * TODO 芋艿:占位文件,未来删除
+ */
+package cn.iocoder.yudao.module.im.enums;

+ 56 - 0
yudao-module-im/yudao-module-im-biz/pom.xml

@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>yudao-module-im</artifactId>
+        <groupId>cn.iocoder.boot</groupId>
+        <version>${revision}</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>yudao-module-im-biz</artifactId>
+
+    <name>${project.artifactId}</name>
+    <description>
+        im 包下,即使通讯(Instant Messaging),实现管理后台的聊天功能。
+    </description>
+
+    <dependencies>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-im-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-system-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
+        <!-- 业务组件 -->
+
+        <!-- Web 相关 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-security</artifactId>
+        </dependency>
+
+        <!-- DB 相关 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
+        </dependency>
+
+        <!-- Test 测试相关 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+</project>

+ 5 - 0
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/controller/admin/ImController.http

@@ -0,0 +1,5 @@
+### 请求 /bpm/oa/leave/create 接口 => 成功
+GET {{baseUrl}}/im/hello/echo
+Content-Type: application/json
+tenant-id: 1
+Authorization: Bearer {{token}}

+ 16 - 0
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/controller/admin/ImController.java

@@ -0,0 +1,16 @@
+package cn.iocoder.yudao.module.im.controller.admin;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/im/hello")
+public class ImController {
+
+    @GetMapping("/echo")
+    public String echo() {
+        return "success";
+    }
+
+}

+ 4 - 0
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/controller/app/package-info.java

@@ -0,0 +1,4 @@
+/**
+ * TODO 芋艿:占位文件
+ */
+package cn.iocoder.yudao.module.im.controller.app;

+ 6 - 0
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/controller/package-info.java

@@ -0,0 +1,6 @@
+/**
+ * 提供 RESTful API 给前端:
+ * 1. admin 包:提供给管理后台 yudao-ui-admin 前端项目
+ * 2. app 包:提供给用户 APP yudao-ui-app 前端项目,它的 Controller 和 VO 都要添加 App 前缀,用于和管理后台进行区分
+ */
+package cn.iocoder.yudao.module.im.controller;

+ 6 - 0
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/framework/package-info.java

@@ -0,0 +1,6 @@
+/**
+ * 属于 im 模块的 framework 封装
+ *
+ * @author 芋道源码
+ */
+package cn.iocoder.yudao.module.im.framework;

+ 9 - 0
yudao-module-im/yudao-module-im-biz/src/main/java/cn/iocoder/yudao/module/im/package-info.java

@@ -0,0 +1,9 @@
+/**
+ * im 包下,即使通讯(Instant Messaging),实现管理后台的聊天功能
+ *
+ * 1. Controller URL:以 /im/ 开头,避免和其它 Module 冲突
+ * 2. DataObject 表名:以 im_ 开头,方便在数据库中区分
+ *
+ * 注意,由于 IM 模块下,容易和其它模块重名,所以类名都加载 Im 的前缀~
+ */
+package cn.iocoder.yudao.module.im;

+ 1 - 0
yudao-module-mall/yudao-module-product-biz/pom.xml

@@ -65,6 +65,7 @@
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
             <artifactId>yudao-spring-boot-starter-test</artifactId>
+            <scope>test</scope>
         </dependency>
 
         <!-- 工具类相关 -->

+ 1 - 0
yudao-module-mall/yudao-module-promotion-biz/pom.xml

@@ -65,6 +65,7 @@
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
             <artifactId>yudao-spring-boot-starter-test</artifactId>
+            <scope>test</scope>
         </dependency>
 
         <!-- 工具类相关 -->

+ 1 - 0
yudao-module-mall/yudao-module-trade-biz/pom.xml

@@ -95,6 +95,7 @@
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
             <artifactId>yudao-spring-boot-starter-test</artifactId>
+            <scope>test</scope>
         </dependency>
 
         <!-- 工具类相关 -->

+ 1 - 0
yudao-module-report/yudao-module-report-biz/pom.xml

@@ -61,6 +61,7 @@
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
             <artifactId>yudao-spring-boot-starter-test</artifactId>
+            <scope>test</scope>
         </dependency>
 
         <!-- 积木报表-->

+ 7 - 0
yudao-server/pom.xml

@@ -86,6 +86,13 @@
 <!--            <version>${revision}</version>-->
 <!--        </dependency>-->
 
+        <!-- 聊天相关模块。默认注释,保证编译速度 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-im-biz</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
         <!-- spring boot 配置所需依赖 -->
         <dependency>
             <groupId>org.springframework.boot</groupId>