From cc874296708e34827c5425e2dcf56af787a62e77 Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Sun, 22 Jun 2025 19:01:59 +0000 Subject: [PATCH] Update README.md --- README.md | 246 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 142 insertions(+), 104 deletions(-) diff --git a/README.md b/README.md index 2fb88b3c..ae891831 100644 --- a/README.md +++ b/README.md @@ -1,106 +1,144 @@ -### 注意 -不知道为什么每年上半年(1月至6月)就会有大量的学生朋友来这里做毕业设计或者准备实习工作,这个项目不是用来做这些事情的,如果您是因为这些事情才关注这个项目的话,请自行下载研究,就不要加交流群了,谢谢合作! -### 项目介绍 - -星云ERP基于SpringBoot框架,为中小企业提供完全开源、永久免费、用户体验好的进销存ERP系统,解决开店难、管理难、数据统计难的问题。星云ERP主要包括基础信息管理、商品中心、采购管理、销售管理、零售管理、库存管理、盘点管理、结算管理等,各业务模块均支持参数配置,满足实际遇到的各种业务场景。丰富的报表模块支持用户做各项数据分析。同时支持对部门、角色、用户、权限等进行精细化管理。最终,达到业务线上化、透明化、简易化管理的目标,实现物流、资金流、信息流的一体化管控。 - -#### 单体架构 - -集成常用的SpringBoot、MybatisPlus等框架,更利于上手使用或二次开发。 - -#### 关于商业使用的说明 - -项目使用Apache 2.0 License,编写的代码无任何闭源情况,均可免费使用。我们对商业使用行为没有限制,只需要遵循Apache2.0 License即可。 - -### 演示环境地址 - -星云ERP平台地址:http://erp.lframework.com -点此进入 - -### 底层框架源码 - -底层框架源码:https://gitee.com/lframework/jugg -点此进入 - -### 前端项目源码 - -前端项目源码:https://gitee.com/lframework/xingyun-front -点此进入 - -### 后端开发的一些约定 -* cacheName不使用{} -* 主库的名称为master -* 创建子线程时使用DefaultCallable或DefaultRunnable包装 - -### 关于多租户 -application.yml中的tenant.enabled改为true则代表开启多租户模式;false则代表关闭多租户模式。 -虽然开启和关闭多租户是由配置文件控制,但是由于两种模式数据库结构不同,不支持正在运行中的系统修改租户模式。 - -### 使用说明文档 - -星云ERP说明文档:https://www.lframework.com 点此进入 - -### 为什么将代码分了这么多仓库? 全部放在一个仓库里面不是更方便吗? - -因为这些代码全部放在一个仓库的话,会导致这个仓库的文件占用很大,并且有些代码可能您并不需要,所以分了几个仓库,这样选择性下载代码,速度更快、体验更好。 - -### 系统功能 - -| 系统功能 | 功能描述 | -|------|-----------------------------| -| 系统管理 | 系统设置、菜单、部门、角色、用户、操作日志 | -| 基础信息 | 仓库、供应商、客户、会员基础信息 | -| 商品中心 | 商品主数据、商品分类、品牌、属性(自定义属性) | -| 采购管理 | 采购订单、收货单、退货单 | -| 销售管理 | 销售订单、出库单、退货单 | -| 零售管理 | 零售出库单、退货单 | -| 库存管理 | 商品库存 | -| 库存盘点 | 盘点参数设置、预先盘点单管理、盘点任务管理、盘点单管理 | -| 库存调整 | 库存调整原因管理、库存调整 | -| 结算管理 | 供应商费用单、预付款单、对账单、结算单、收入/支出项目 | -| 代码生成 | 生成增删改查代码 | -| 多租户 | 支持多租户 | - -### 主要技术框架 - -* Springboot 2.2.2.RELEASE -* MyBatis-plus 3.4.2 -* Spring-session-data-redis 2.2.0.RELEASE -* HuTool 5.7.17 -* Lombok 1.18.10 -* EasyExcel 2.2.10(内置了两种导出excel方式:一次性导出、分段导出(只支持简单表头)) - -### 开发环境 - -* JDK 1.8 -* Mysql 5.7.18 -* Redis 4.0.8(版本可以根据自己的redis进行调整,项目本身依赖Redis的功能很简单,就是两部分:缓存、Session,不会出现大的兼容问题) -* RabbitMQ 3.12.4 - -### 技术交流 - -QQ交流群号: **717574596(已满员)** **562654879** - -### 注意事项 - -项目依赖的底层框架全部封装成starter,关于这部分的代码详见:点此进入 - -BPM工作流目前是整合AgileBPM工作流管理平台,由于AgileBPM的Licence是GPL,所以使用这部分功能需要遵守GPL许可证的限制条件,关于这部分的代码详见:点此进入,如果不使用此部分代码及功能,请忽略此条说明 - -### License - -项目使用Apache 2.0许可证,请遵守此许可证的限制条件。 - -### 集成第三方库 - -AgileBPM 工作流管理平台 - -Sa-Token 统一用户鉴权 - -J2Cache 基于内存和Redis的两级Java缓存框架 - -knife4j knife4j是为Java MVC框架集成Swagger生成Api文档的工具 - -FormCreate 强大的动态表单生成器 \ No newline at end of file +# 星云基础数据管理系统 + +## 项目介绍 +这是一个基于SpringCloud的微服务架构基础数据管理项目,采用单体架构设计,主要实现商品、客户、地址等基础数据的管理功能,支持数据可视化展示和多租户架构。 + +## 技术架构 +- 后端采用Java语言开发 +- 基于Spring Boot和Spring Cloud框架 +- 使用MyBatis Plus作为ORM框架 +- 采用Redis作为缓存服务 +- 使用Swagger作为API文档工具 +- 通过Lombok简化Java代码 +- 使用RabbitMQ实现消息队列功能 + +## 系统功能 +- **地址管理**:支持地址的增删改查和地址列表查询 +- **客户管理**:实现客户信息的新增、修改、启用、停用等管理 +- **商品管理**:包含商品的新增、修改、查询及价格管理 +- **品牌管理**:实现商品品牌的管理功能 +- **分类管理**:支持商品分类的增删改查和分类树形结构管理 +- **供应商管理**:实现供应商信息的新增、修改、启用、停用等 +- **门店管理**:支持门店信息的管理 +- **仓库管理**:实现仓库信息的增删改查 +- **会员管理**:支持会员信息的管理 +- **支付方式管理**:实现支付方式的管理 +- **打印模板管理**:支持打印模板的配置和管理 + +## 开发环境 +- Java 8 +- Spring Boot 2.x +- Spring Cloud +- MyBatis Plus +- Redis +- MySQL +- RabbitMQ +- Swagger +- Lombok + +## 使用说明 +1. **地址管理** + - 可通过`AddressController`进行地址的增删改查 + - 支持地址数据的导出和导入 + - 提供地址选择器功能 + +2. **商品管理** + - 通过`ProductController`实现商品的增删改查 + - 支持商品数据的导入导出 + - 实现商品的启用、停用功能 + +3. **品牌管理** + - 通过`ProductBrandController`实现品牌管理 + - 支持品牌数据的导入导出 + +4. **分类管理** + - 通过`ProductCategoryController`实现商品分类管理 + - 支持分类树形结构展示 + +5. **打印模板** + - 通过`PrintTemplateController`实现打印模板的管理 + - 支持模板设置和示例数据配置 + +## 数据库设计 +项目包含多个数据库表,如: +- base_data_address:地址表 +- base_data_customer:客户表 +- base_data_product:商品表 +- base_data_product_brand:商品品牌表 +- base_data_product_category:商品分类表 +- base_data_product_property:商品属性表 +- base_data_product_property_item:商品属性值表 +- base_data_store_center:仓库表 +- base_data_supplier:供应商表 +- tbl_print_template:打印模板表 +- tbl_print_template_comp:打印模板组件表 + +## 代码结构 +- **bo**:存放业务对象 +- **controller**:实现REST API接口 +- **dto**:数据传输对象 +- **entity**:实体类 +- **enums**:枚举类 +- **excel**:Excel导入导出相关类 +- **mappers**:MyBatis Plus Mapper接口 +- **service**:业务逻辑接口及实现 +- **vo**:视图对象,用于接收前端请求参数 + +## 项目特点 +- 采用微服务架构设计 +- 提供丰富的基础数据管理功能 +- 支持Excel导入导出 +- 使用Redis缓存提升系统性能 +- 实现完善的权限管理 +- 支持多租户架构 + +## 注意事项 +- 所有数据库操作都使用MyBatis Plus +- 项目中使用了大量自定义注解,如`@OpLog`进行操作日志记录 +- 使用`@EnableLock`启用Redis锁 +- 通过`@EnableFeignClients`启用Feign客户端 +- 使用`@MapperScan`扫描MyBatis Mapper +- 项目中包含多个Dockerfile,支持容器化部署 +- 各服务间通过消息队列进行通信 + +## 技术交流 +如有技术问题,可通过以下方式交流: +- 邮箱:[联系邮箱] +- 论坛:[项目论坛地址] +- 技术社区:[技术社区地址] + +## 版权声明 +本项目遵循[具体协议名称]开源协议,详细内容请参阅项目根目录下的LICENSE文件。 + +## 第三方库 +项目集成了以下第三方库: +- Swagger:API文档 +- Lombok:代码简化 +- MyBatis Plus:ORM框架 +- Spring Data Redis:Redis操作 +- RabbitMQ:消息队列 +- EasyExcel:Excel处理 +- MapStruct:对象映射 +- Spring Security:权限管理 + +## 部署说明 +- 支持Docker部署,相关Dockerfile在cloud目录下 +- 需要配置Redis、MySQL和RabbitMQ环境 +- 使用application.yml配置应用参数 +- 支持不同环境配置(dev, test, prod) + +## 版本更新 +- 数据库包含多个版本的SQL脚本,支持系统升级 +- 各模块使用`@TableField(fill = FieldFill.INSERT)`实现自动填充功能 + +## 系统配置 +- 通过`magic-editor-config.js`配置Magic Editor +- 在`project.yaml`中配置项目特定参数 +- 使用`bootstrap.yml`进行应用启动配置 + +## 项目说明 +- 该项目为多模块项目,包含cloud、xingyun-api、xingyun-basedata等模块 +- 每个模块有独立的pom.xml文件 +- 项目使用统一的代码风格配置(eclipse-java-google-style.xml和intellij-java-google-style.xml) \ No newline at end of file -- Gitee