crm 包下,客户关系管理(Customer Relationship Management)。
例如说:客户、联系人、商机、合同、回款等等
diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java
index fd2154d7ab..90b00dd483 100644
--- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java
+++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java
@@ -41,7 +41,7 @@ import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.E
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.CUSTOMER_NOT_EXISTS;
-@Tag(name = "管理后台 - 商机")
+@Tag(name = "管理后台 - CRM 商机")
@RestController
@RequestMapping("/crm/business")
@Validated
diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessStatusTypeController.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessStatusTypeController.java
index 231f666835..925fa49531 100644
--- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessStatusTypeController.java
+++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessStatusTypeController.java
@@ -40,7 +40,7 @@ import java.util.Set;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
-@Tag(name = "管理后台 - 商机状态类型")
+@Tag(name = "管理后台 - CRM 商机状态类型")
@RestController
@RequestMapping("/crm/business-status-type")
@Validated
diff --git a/yudao-module-erp/pom.xml b/yudao-module-erp/pom.xml
new file mode 100644
index 0000000000..22fe0eea4d
--- /dev/null
+++ b/yudao-module-erp/pom.xml
@@ -0,0 +1,24 @@
+
+
+
+ cn.iocoder.boot
+ yudao
+ ${revision}
+
+
+ yudao-module-erp-api
+ yudao-module-erp-biz
+
+ 4.0.0
+ yudao-module-erp
+ pom
+
+ ${project.artifactId}
+
+ erp 包下,企业资源管理(Enterprise Resource Planning)。
+ 例如说:采购、销售、库存、财务、产品等等
+
+
+
\ No newline at end of file
diff --git a/yudao-module-erp/yudao-module-erp-api/pom.xml b/yudao-module-erp/yudao-module-erp-api/pom.xml
new file mode 100644
index 0000000000..961845ce3c
--- /dev/null
+++ b/yudao-module-erp/yudao-module-erp-api/pom.xml
@@ -0,0 +1,33 @@
+
+
+
+ cn.iocoder.boot
+ yudao-module-erp
+ ${revision}
+
+ 4.0.0
+ yudao-module-erp-api
+ jar
+
+ ${project.artifactId}
+
+ erp 模块 API,暴露给其它模块调用
+
+
+
+
+ cn.iocoder.boot
+ yudao-common
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+ true
+
+
+
+
\ No newline at end of file
diff --git a/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/api/package-info.java b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/api/package-info.java
new file mode 100644
index 0000000000..540f18f0e0
--- /dev/null
+++ b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/api/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * erp API 包,定义暴露给其它模块的 API
+ */
+package cn.iocoder.yudao.module.erp.api;
diff --git a/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/DictTypeConstants.java b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/DictTypeConstants.java
new file mode 100644
index 0000000000..87b4985433
--- /dev/null
+++ b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/DictTypeConstants.java
@@ -0,0 +1,10 @@
+package cn.iocoder.yudao.module.erp.enums;
+
+/**
+ * ERP 字典类型的枚举类
+ *
+ * @author 芋道源码
+ */
+public interface DictTypeConstants {
+
+}
diff --git a/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/ErrorCodeConstants.java b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/ErrorCodeConstants.java
new file mode 100644
index 0000000000..3717905592
--- /dev/null
+++ b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/ErrorCodeConstants.java
@@ -0,0 +1,11 @@
+package cn.iocoder.yudao.module.erp.enums;
+
+/**
+ * ERP 错误码枚举类
+ *
+ * erp 系统,使用 1-030-000-000 段
+ */
+public interface ErrorCodeConstants {
+
+
+}
diff --git a/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/LogRecordConstants.java b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/LogRecordConstants.java
new file mode 100644
index 0000000000..73b72c0a92
--- /dev/null
+++ b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/LogRecordConstants.java
@@ -0,0 +1,12 @@
+package cn.iocoder.yudao.module.erp.enums;
+
+/**
+ * ERP 操作日志枚举
+ * 目的:统一管理,也减少 Service 里各种“复杂”字符串
+ *
+ * @author 芋道源码
+ */
+public interface LogRecordConstants {
+
+
+}
diff --git a/yudao-module-erp/yudao-module-erp-biz/pom.xml b/yudao-module-erp/yudao-module-erp-biz/pom.xml
new file mode 100644
index 0000000000..83b3900cfb
--- /dev/null
+++ b/yudao-module-erp/yudao-module-erp-biz/pom.xml
@@ -0,0 +1,72 @@
+
+
+
+ cn.iocoder.boot
+ yudao-module-erp
+ ${revision}
+
+ 4.0.0
+ yudao-module-erp-biz
+
+ ${project.artifactId}
+
+ erp 包下,企业资源管理(Enterprise Resource Planning)。
+ 例如说:采购、销售、库存、财务、产品等等
+
+
+
+
+ cn.iocoder.boot
+ yudao-module-system-api
+ ${revision}
+
+
+ cn.iocoder.boot
+ yudao-module-erp-api
+ ${revision}
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-biz-operatelog
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-web
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-security
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-mybatis
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-excel
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-biz-dict
+
+
+
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-test
+
+
+
+
+
\ No newline at end of file
diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/ErpSaleOrderController.http b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/ErpSaleOrderController.http
new file mode 100644
index 0000000000..f8a5c970e4
--- /dev/null
+++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/ErpSaleOrderController.http
@@ -0,0 +1,4 @@
+### 请求 /transfer
+GET {{baseUrl}}/erp/sale-order/demo
+Authorization: Bearer {{token}}
+tenant-id: {{adminTenentId}}
\ No newline at end of file
diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/ErpSaleOrderController.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/ErpSaleOrderController.java
new file mode 100644
index 0000000000..cd2425fe9c
--- /dev/null
+++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/ErpSaleOrderController.java
@@ -0,0 +1,23 @@
+package cn.iocoder.yudao.module.erp.controller.admin.sale;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "管理后台 - ERP 销售订单")
+@RestController
+@RequestMapping("/erp/sale-order")
+@Validated
+public class ErpSaleOrderController {
+
+ @GetMapping("/demo")
+ public CommonResult demo() {
+ return success(true);
+ }
+
+}
diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/package-info.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/package-info.java
new file mode 100644
index 0000000000..ef0e5accfc
--- /dev/null
+++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/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.erp.controller;
diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/package-info.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/package-info.java
new file mode 100644
index 0000000000..2608a98895
--- /dev/null
+++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * erp 包下,企业资源管理(Enterprise Resource Planning)。
+ * 例如说:采购、销售、库存、财务、产品等等
+ *
+ * 1. Controller URL:以 /erp/ 开头,避免和其它 Module 冲突
+ * 2. DataObject 表名:以 erp_ 开头,方便在数据库中区分
+ *
+ * 注意,由于 Erp 模块下,容易和其它模块重名,所以类名都加载 Erp 的前缀~
+ */
+package cn.iocoder.yudao.module.erp;
diff --git a/yudao-server/pom.xml b/yudao-server/pom.xml
index 25e684e6c3..7c288f725b 100644
--- a/yudao-server/pom.xml
+++ b/yudao-server/pom.xml
@@ -88,11 +88,18 @@
-
-
-
-
-
+
+ cn.iocoder.boot
+ yudao-module-crm-biz
+ ${revision}
+
+
+
+
+ cn.iocoder.boot
+ yudao-module-erp-biz
+ ${revision}
+