# wk_crm **Repository Path**: myzw/wk_crm ## Basic Information - **Project Name**: wk_crm - **Description**: 悟空CRM - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2020-09-07 - **Last Updated**: 2023-05-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # wk_crm #### 介绍 悟空软件长期为企业提供企业管理软件(CRM/HRM/OA/ERP等)的研发、实施、营销、咨询、培训、服务于一体的信息化服务。悟空软件以高科技为起点,以技术为核心、以完善的售后服务为后盾,秉承稳固与发展、求实与创新的精神,已为国内外上千家企业提供服务。 悟空的发展受益于开源,也会回馈于开源。2020年,悟空CRM会继续秉承“拥抱开放、合作共赢、创造价值”的理念,在开源的道路上继续砥砺前行,和更多的社区开发者一起为国内外开源做出积极贡献。 #### 目录结构 ``` lua wk_crm ├── admin -- 系统管理模块和用户管理模块 ├── authorization -- 鉴权模块,目前仅用于登录鉴权,后期可能有更改 ├── bi -- 商业智能模块 ├── core -- 通用的代码和工具类 ├── crm -- 客户管理模块 ├── email -- 邮箱模块 ├── gateway -- 网关模块 ├── job -- 定时任务模块 ├── km -- 定时任务模块 ├── oa -- OA模块 └── work -- 项目管理模块 ``` #### 主要技术栈 | 名称 | 版本 | 说明 | |---------------------|---------------------------|----| | 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 | 服务调用 | #### 项目架构图 ![项目架构图](https://images.gitee.com/uploads/images/2020/0910/094237_e7cb3bca_1096736.jpeg "项目架构图.jpg") #### 使用说明 一、 前置环境 - Jdk1.8 - Maven3.5.0+ - Mysql5.7.20 (注意事项) - Redis(版本不限) - Elasticsearch 6.8.6 (注意事项) - Seata(1.2.0) - Sentinel(1.7.2) - Nacos(1.2.1) 二、 安装说明
- 导入初始化sql,目前项目下gateway使用的独立数据库,其他模块暂时用的是同一数据库,后续可能进行拆分 1、初始化gateway模块 导入 DB/config_info_route.sql 4、初始化其余模块 导入 DB/wk_crm.sql 5、初始化定时任务模块 导入 DB/xxl_job.sql - 在项目根目录执行mvn install - 然后在各个项目修改数据库以及redis配置文件,默认使用的是application-dev.yml,打包后启动脚本默认使用的application-test.yml配置 - 在core\src\main\resources\application-core.yml里面 修改elasticsearch配置 spring.elasticsearch.rest.uris = elasticsearch地址 例:127.0.0.1:9200 spring.elasticsearch.rest.username = elasticsearch用户名 例:elastic spring.elasticsearch.rest.password = elasticsearch用户名 例: password 修改文件上传地址 crm.upload.config = 文件上传配置 1 本地 2 阿里云OSS 例 :1 crm.upload.oss oss上传文件所需配置内容 crm.upload.oss.bucketName 需要配置两个bucket, 0为登录才可访问文件上传地址,1为完全公开文件上传地址 crm.upload.oss 本地上传文件所需配置内容 crm.upload.oss.uploadPath 需要配置两个地址 0为登录才可访问文件上传地址,1为完全公开文件上传地址 本地还需配置公网地址,指向服务器网关 修改jetcache缓存配置 详见 https://github.com/alibaba/jetcache/wiki - 项目日志文件在core\src\main\resources\logback-spring.xml修改 2. 启动
- 先启动nacos,seata,sentinel, elasticsearch,mysql,redis等基础服务
- 再启动各个服务,最少需要启动的服务(gateway,authorization,admin)
- 初始化其他依赖框架配置
1、修改seata配置详见,[详见](http://) 2、修改xxl-job配置,详见[初始化xxl-job](https://gitee.com/myzw/wk_crm/wikis/seata?sort_id=2827577) 3. 打包部署
·在项目根目录下执行 mvn clean -Dmaven.test.skip=true package
·然后把对应项目下target文件夹下
·${name}-${version}-SNAPSHOT.zip/tar.gz上传到服务器,如 admin-0.0.1-SNAPSHOT.zip
·将压缩文件解压,执行sh 72crm.sh start,windows下直接运行72crm.bat
·项目启动默认使用的application-test.yml,application-core.yml,如需修改,可修改对应脚本文件,如:
·spring.profiles.include=core,prod
4. 其他说明
- 代码生成器在core\src\test下,core\src\test\com\kakarote\generator\Generator.java - 接口文档地址 http://localhost:8443/swagger-ui.html 或者访问对应服务下 http://服务地址:端口/swagger-ui.html - crm初次启动需要初始化elasticsearch索引库
初始化方法为:
开启crm服务
然后直接通过浏览器访问 网关地址/crmField/initData?type=?
如: http://localhost:8443/crmField/initData?type=1
type取值为 1:线索,2: 客户,3:联系人,4:产品,5: : 商机,6:合同,7:回款,9::公海,17:回访
第一次启动不需要初始化公海模块
以后因数据迁移等需要重新操作可以重新调用本接口进行初始化
初始化前需要去elasticsearch删除对应索引
项目部署到正式环境建议此方法删除或加密
Elasticsearch只是保存了数据库的一个副本方便查询,所有数据以数据库为准
4. 模块依赖关系
**除网关外,其余项目均依赖于admin模块** ,用于获取当前登录人的信息
oa模块的任务依赖于work模块,其余一些关联业务功能依赖于crm模块
商业智能依赖crm,oa模块
三、 功能预览 截图截图 四、xxxx> 这里输入引用文本