汇客CRM-Day01

YangeIT大约 8 分钟

点击回到README

汇客CRM-Day01

任务1-准备开发环境

准备开发环境

  1. 首先我们要准备好JDK 要求1.8
  2. 开发工具使用IDEA
  3. 将maven的本地仓库位置指向我们提供的Maven目录
  4. 安装GIT

具体步骤:

  1. 安装JDK8
  2. 安装IDEA
  3. 安装与配置Maven
  4. Git

任务2-拉取代码

在本次实战中,使用作为我们的代码仓库,大家直接使用就可以。

拉取代码

  1. 我这里给大家提供项目git地址,大家fork到自己的仓库里,码云地址:https://gitee.com/itcastopen/crm.gitopen in new window
  2. 使用git clone命令下载代码。
  3. fork代码到自己仓库的gif动图(如下) 🎥
GIF_git_fork.gif
GIF_git_fork.gif
点击查看clone和fork的区别

fork:在github或者gitee页面,点击fork按钮。将别人的仓库复制一份到自己的仓库。

clone:将github中的仓库克隆到自己本地电脑中。

任务3-阅读产品文档

说明

无论任何项目产品,什么技术,都是为了解决一定的需求,离开需求谈技术没有意义

注意⚠️:我们现阶段阅读产品文档,由于你是刚刚入职企业,所以我们对项目的理解是

现阶段我们并不需要将产品里的所有细节全部理解清楚,我们在这个阶段只需要知道这个系统是做什么的,解决企业什么业务问题,这个系统中有哪些模块,系统中的业务流程大概是什么样的(业务的角度),相当于我们站在5000米的高空俯瞰整个系统,而当我们真正做具体功能的时候,那么我们再具体深入功能细节去进行了解即可

思路

  1. 需要阅读产品原型,线上地址https://app.mockplus.cn/s/hvKXEoWW3g2lopen in new window汇客-原型图-实战open in new window Java74期专属版本 产品文档在线地址open in new window mocklplus版本(有点卡顿)

  2. 阅读学员任务资料\任务3-阅读产品文档\其它产品资料里的内容,如(汇客功能结构图-实战.xmind/汇客-功能列表-实战.xlsx)

  3. 思考系统中有哪些角色,哪些核心业务模块,分别有什么用?

阅读上述的接口文档思考一下问题,稍后上台进行PPT讲解

  1. 你觉得汇客CRM系统中有哪些核心模块?,每个核心模块的作用是什么?
  2. ​你觉得汇客CRM系统中的线索,商机,合同, 线索池,公海池,转派分别是什么,能举例子说明吗?
  3. ​你觉得线索,商机,合同的关系是什么,什么时候线索转换成合同?以及需要经历哪些步骤?
  4. 你觉得线索,有效线索,商机,客户各个数量上有什么趋势?
  5. ​你觉得汇客CRM系统中的线索池,公海池里存储的是什么?这部分的数据是怎么来的?
  6. ​你觉得汇客CRM系统主要是给什么样的人员来使用的?任何人都能使用吗?这个系统需要注册功能吗?
  7. ​你觉得使用汇客CRM系统的公司主要销售的产品是什么?
  8. 你觉得市场专员、销售专员、销售主管、超级管理员这几个角色能做什么?他们都能操作所有功能吗?
  9. 你觉得随着业务的开展,客户、线索等越来越多,如何一目了然的看到每个业务人员的业绩数据以及排名尼?

等等你能想到的问题,都可以进行分享!!!🎉

你想看代码思路吗? 可以点这里!!! 慎重哦!!!

任务4-架构分析与技术调研

如果该部分功能全部完成:可以尝试开胃菜里的内容,并将开胃菜里的内容写到自己的ppt里进行分享

可以结合在线汇客CRMopen in new window,进行架构分析和技术调研

任务清单:

1️⃣ 看代码 重点理解:

任务4-1

  • 1.1 项目目录结构,返回对象AjaxResult,TableDataInfo
    • 思路: 各个模块对应的职责是什么/返回的对象的封装类是什么/三层架构是如何编写的
  • 1.2 理解数据库,各个数据库表关系,表之间的字段关联关系
    • 思路:各个表之间的关系
  • 1.3 理解线索有哪些状态,商机有哪些状态 枚举类写在哪里
    • 思路:业务中核心业务对象的状态有哪些,是写在哪里的
  • 1.4 理解系统中的异常是如何处理的处理(统一异常处理)
点击查看高效的看代码(idea标签)--好用

标记书签

  • ctrl+f11 后按 0~9 a~z 提供了这么多的书签

  • 设置0号标签 ctrl+f11后按0

快速跳转到标签

  • 假设之前设置了0号标签
  • 跳转到0号标签 ctrl+0

刪除标签

  • 选择标签所在行按F11

2️⃣编写一个最简单简单的增删改查,针对 huike-mybatis-review 模块

注意:

  1. 这个模块和项目一点关系都没有,对数据进行增删改查,只是为了复习三层架构(数据持久层,业务层,控制层)的知识.
  2. 这个所有人都要完成,并熟悉:
    1. 简单的增删改查操作
    2. 简单的查询业务操作
    3. 分页查询的实现

任务4-2

  • 2.1 新增,修改,修改,查询(自己定义几个接口,实现最简单的功能,或者按照下面的接口文档完成功能)
    • 要求:
      • a)编写接口的时候需要通过包装类(AjaxResult,TableDataInfo)来进行返回
      • b)查询的时候需要编写一个分页接口和一个根据属性查询单条数据接口(使用包装类进行返回)
      • c)在编写代码的时候,如果遇到异常,需要被统一异常处理来进行捕获
  • 2.2 接口文档
		新增:
			新增接口1:
				接口名:
					/review/saveData/吴思远/18/男
				请求方式:
					GET请求
				传入参数:
					接口路径上传值/review/saveData/{name}/{age}/{sex}
				返回值:
					{
					  "msg": "成功插入:1条数据",
					  "code": 200
					}
			新增接口2:
				接口名:
					/review/saveData
				请求方式:
					POST请求
				传入参数:
					{
						"name":"吴思敏",
						"age":18,
						"sex":"女"
					}
				返回值:
					{
					  "msg": "成功插入:1条数据",
					  "code": 200
					}
		修改:
			修改接口:
				接口名:
					/review/update
				请求方式:
					POST请求
				传入参数:
					{
						"id":21,
						"name":"吴思鹏",
						"age":18,
						"sex":"男"
					}
				返回值:
					{
					  "msg": "修改成功",
					  "code": 200
					}
		删除:
			删除接口:
				接口名:
					/review/remove/17
				请求方式:
					DELETE请求
				传入参数:
					/review/remove/{id}
				返回值:
					{
					  "msg": "成功删除:1条数据",
					  "code": 200
					}
		查询接口:
			单条件查询,根据id来查询数据:
				接口名:
					/review/getById?id=1
				请求方式:
					GET请求
				传入参数:
					id
				返回值:
					{
					  "msg": "操作成功",
					  "code": 200,
					  "data": {
						"createBy": "1",
						"createTime": "2022-04-17 18:53:09",
						"updateBy": "1",
						"updateTime": "2022-04-17 18:53:09",
						"id": 1,
						"name": "张三",
						"age": 18,
						"sex": "男"
					  }
					}
			分页查询:
				接口名:
					/review/getDataByPage?pageNum=1&pageSize=10
				请求方式:
					GET请求
				传入参数:
					pageNum:当前页
					pageSize:每页显示条数
				返回值:
					{
					  "total": 16,
					  "rows": [
						{
						  "createBy": "1",
						  "createTime": "2022-04-17 18:53:09",
						  "updateBy": "1",
						  "updateTime": "2022-04-17 18:53:09",
						  "id": 1,
						  "name": "张三",
						  "age": 18,
						  "sex": "男"
						}...
					  ],
					  "code": 200,
					  "msg": "查询成功",
					  "params": null
					}

时间90分钟,制作PPT。 小组为单位进行技术分享,每小组10分钟。

你想看代码思路吗? 可以点这里!!! 慎重哦!!!

任务5-运行后端代码

任务5

  • 运行准备

    1. 导入sql文件(INIT.sql文件,建议Navicat导入,sqlyg偶尔会报错!) ⚠️
    2. 修改application-durid.yml
  • 项目启动:

    1. 启动huike-admin工程的HuiKeApplication.class的main方法

👉数据库导入Gif动图 🎥

GIF_crm_mysql_init.gif
GIF_crm_mysql_init.gif
  • 后台项目启动Gif动图 🎥
GIF_crm_mysql_init.gif
GIF_crm_mysql_init.gif

任务6-运行前端代码

任务6

准备工作

  1. 安装node版本
  2. 配置node环境变量

开发

# 进入项目目录
cd huike-ui

# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org

# 启动服务
npm run dev

浏览器访问 http://localhost:80open in new window

前端部署Gif动图 🎥 GIF_crm_vueproject_run.gif

发布

# 构建测试环境
npm run build:stage

# 构建生产环境
npm run build:prod

任务7-熟悉禅道系统

我们可以使用云禅道来熟悉禅道系统的使用。地址:https://www.zentaopm.com/open in new window

步骤:

  • (1)注册试用账号(可免费体验31天)
  • (2)进入系统创建项目
  • (3)新增用户(马边诚李传播
  • (4)模拟马边诚创建任务并分配给李传播
  • (5)以李传播用户登录系统查看任务

也可以用Java74期专属开源版open in new window

开胃菜 🚀 🚀

🎉 🎉 🎉恭喜你,完成上述任务,接下来,你可以尝试一下开胃菜