悟空CRM-11.0
悟空CRM介绍
演示地址:http://www.5kcrm.com
下载地址:https://gitee.com/wukongcrm
注:悟空CRM采纳全新的前后端拆散模式,本仓库代码中已集成前端vue打包后文件,可免去打包操作。如需调整前端代码,请独自下载前端代码
悟空CRM目录构造
wk_crm├── admin -- 系统管理模块和用户治理模块├── authorization -- 鉴权模块,目前仅用于登录鉴权,前期可能有更改├── bi -- 商业智能模块├── core -- 通用的代码和工具类├── crm -- 客户治理模块├── gateway -- 网关模块├── job -- 定时工作模块├── oa -- OA模块└── work -- 项目管理模块
悟空CRM应用的次要技术栈
名称 | 版本 | 阐明 |
---|---|---|
spring-cloud-alibaba | 2.2.1.RELEASE(Hoxton.SR3) | 外围框架 |
swagger | 2.9.2 | 接口文档 |
mybits-plus | 3.3.0 | ORM框架 |
sentinel | 2.2.1.RELEASE | 断路器以及限流 |
nacos | 2.2.1.RELEASE | 注册核心以及分布式配置管理 |
seata | 1.2.0 | 分布式事务 |
elasticsearch | 2.2.5.RELEASE(6.8.6) | 搜索引擎中间件 |
jetcache | 2.6.0 | 分布式缓存框架 |
xxl-job | 2.1.2 | 分布式定时工作框架 |
gateway | 2.2.2.RELEASE | 微服务网关 |
feign | 2.2.2.RELEASE | 服务调用 |
悟空CRM我的项目架构图
应用阐明
一、前置环境
- Jdk1.8
- Maven3.5.0+
- Mysql5.7.20 (数据库装置注意事项)
- Redis(版本不限)
- Elasticsearch 6.8.6 (环境配置注意事项)
- Seata(1.2.0)(配置阐明)
- Sentinel(1.7.2)(我的项目中sentinel应用8079端口)
- Nacos(1.2.1)
二、装置阐明
1. 导入初始化sql,目前我的项目下gateway模块应用的独立数据库,其余模块应用同一数据库
- 初始化gateway模块数据库:新建数据库 `nacos` 在`nacos`数据库中运行` DB/config_info_route.sql`- 初始化其余模块数据库:新建数据库 `wk_crm_single` 在`wk_crm_single`数据库中运行 `DB/wk_crm_single.sql`- 初始化定时工作模块数据库:新建数据库 `xxl_job` 在`xxl_job`数据库中运行 `DB/xxl_job.sql`- 初始化seata数据库:新建数据库 `seata` 在`seata`数据库中运行 `DB/seata.sql`
2.在我的项目根目录执行mvn install
3.在各个模块下resource目录配置数据库帐号信息以及redis帐号信息(默认应用的是application-dev.yml配置文件,打包后启动脚本默认应用的application-test.yml配置文件)
4.在crm\src\main\resources\application-dev.yml
外面批改elasticsearch配置
spring.elasticsearch.rest.uris = elasticsearch地址 例:127.0.0.1:9200spring.elasticsearch.rest.username = elasticsearch用户名 例:elastic 无明码可留空spring.elasticsearch.rest.password = elasticsearch明码 例: password 无明码可留空
5.(可选)批改零碎中文件上传地址,默认为本地配置,本地上传还需配置公网地址,指向服务器网关
crm.upload.config:1 文件上传配置 1:本地 2:阿里云OSS crm.upload.oss oss上传文件所需配置内容 crm.upload.oss.bucketName 须要配置两个bucket,0为登录才可拜访文件上传地址,1为齐全公开文件上传地址crm.upload.local 本地上传文件所需配置内容 crm.upload.local.uploadPath 须要配置两个地址0为登录才可拜访文件上传地址,1为齐全公开文件上传地址
6.(可选)批改jetcache缓存配置详见 官网文档
7.(可选)我的项目日志文件在core\src\main\resources\logback-spring.xml
批改
8. 我的项目打包部署
·在我的项目根目录下执行 mvn clean -Dmaven.test.skip=true package·而后把对应模块下target文件夹下·${name}-${version}-SNAPSHOT.zip/tar.gz上传到服务器,例:admin-0.0.1-SNAPSHOT.zip 并将压缩文件解压,查看对应配置文件。
9. 我的项目启动 <br/>
先启动nacos,seata,sentinel, elasticsearch,mysql,redis等根底服务在第八步解压的文件模块下通过执行`sh 72crm.sh start`(windows下间接运行72crm.bat)启动各个模块服务。其中我的项目根底模块:gateway,authorization,admin必须启动,其余模块可按需启动。启动实现后,在浏览器中拜访:http://localhost:8443/即可登录零碎
三、其余阐明
1.代码生成器及接口文档<br/>
代码生成器地址:core\src\test\com\kakarote\generator\Generator.java接口文档地址`http://localhost:8443/swagger-ui.html`或者拜访对应服务下 http://服务地址:端口/swagger-ui.html
2.模块依赖关系 <br/>
- 除网关外,其余我的项目均依赖于admin模块,用于获取以后登录人的信息- oa模块的工作依赖于work模块,其余一些关联业务性能依赖于crm模块- 商业智能依赖crm,oa模块