【JS】Crm-第一天

Crm-第一天

CRM基本概念

​ 圈内存在这么一句话:“世上本来没有CRM,大家的生意越来越难做了,才有了CRM。”在同质化竞争时代,顾客资产尤为重要,新时代在呼唤CRM。

​ CRM系统即客户关系管理系统, 顾名思义就是管理公司与客户之间的关系. 是一种以"客户关系一对一理论"为基础,旨在改善企业与客户之间关系的新型管理机制。客户关系管理的定义是:企业为提高核心竞争力,利用相应的信息技术以及互联网技术来协调企业与顾客间在销售、营销和服务上的交互,从而提升其管理方式,向客户提供创新式的个性化的客户交互和服务的过程。 其最终目标是吸引新客户、保留老客户以及将已有客户转为忠实客户,增加公司市场份额。

​ CRM的实施目标就是通过全面提升企业业务流程的管理来降低企业成本,通过提供更快速和周到的优质服务来吸引和保持更多的客户。作为一种新型管理机制,CRM极大地改善了企业与客户之间的关系,应用于企业的市场营销、销售、服务与技术支持等与客户相关的领域。

Crm分类

​ 根据客户的类型不同,CRM可以分为BtoB CRM及BtoC CRM. BtoB CRM中管理的客户是企业客户,而BtoC CRM管理的客户则是个人客户。提供企业产品销售和服务的企业需要的BtoB的CRM,也就是市面上大部分CRM的内容。而提供个人及家庭消费的企业需要的是BtoC的CRM。

​ 根据CRM管理侧重点不同又分为操作性和分析型CRM。大部分CRM为操作型CRM,支持CRM的日常作业流程的每个环节,而分析型CRM则偏重于数据分析。

企业项目开发流程

【JS】Crm-第一天

  1. 产品组根据市场调研或商户同事的反馈提出idea, 设计出原型然后跟市场, 商户同事进行确认
  2. UI设计组和开发组一起讨论, 确定方案是否可行
  3. UI组根据产品组提供的原型稿做出设计稿, 与产品和开发确认
  4. 开发组根据产品的原型稿(看逻辑)和UI组的设计稿(看界面)编写代码其中当然也会来回跟设计, 产品同学进行确认和沟通
  5. 代码编写完毕后提交给测试组. 然后再提交上线
  6. 后期的数据跟踪和优化

    ​ 这就是一个产品研发的大致流程. 其中开发的责任就是选用合适的框架技术来完成产品所提供的需求以及设计所提供的效果。

Crm 系统模块划分

基础模块

​ 包含系统基本的用户登录,退出,记住我,密码修改等基本操作。

营销管理

​ 营销机会管理:企业客户的质询需求所建立的信息录入功能,方便销售人员进行后续的客户需求跟踪。

     营销开发计划:开发计划是根据营销机会而来,对于企业质询的客户,会有相应的销售人员对于该客户进行具体的沟通交流,此时对于整个Crm系统而言,通过营销开发计划来进行相应的信息管理,提高客户的购买企业产品的可能性。

客户管理

​ 客户信息管理:Crm系统中完整记录客户信息来源的数据、企业与客户交往、客户订单查询等信息录入功能,方便企业与客户进行相应的信息交流与后续合作。

​ 客户流失管理:Crm通过一定规则机制所定义的流失客户(无效客户),通过该规则可以有效管理客户信息资源,提高营销开发效率。

服务管理

​ 服务管理是针对客户而开发的功能,针对客户要求,Crm提供客户相应的信息质询,反馈与投诉功能,提高企业对于客户的服务质量。

数据报表

​ Crm提供的数据报表功能能够帮助企业了解客户整体分布,了解客户开发结果整体信息,从而帮助企业整体调整客户开发计划,提高企业的在市场中的竞争力度。

系统管理

​ 系统管理包含常量字典维护工作,以及权限管理模块,Crm权限管理是基于角色的一种权限控制,基于RBAC实现基于角色的权限控制,通过不同角色的用户登录该系统后展示系统不同的操作功能,从而达到对不同角色完成不同操作功能。

CRM 系统数据库设计

​ CRM系统根据产品的原型搞以及UI组的设计稿, 接下来就要设计数据库, 一般在大公司通常会有专门的DBA, 这时我们可以不要考虑数据库表设计, 但是也要能够读懂或者了解DBA的设计思路方便在程序开发阶段不会出现问题, 一般关系型数据库表设计满足三范式的设计即可, 表名设计做到见名知意最好。

表结构详情

t_sale_chance营销机会表
字段字段类型字段限制字段描述
主键idint(11)自增id主键
chance_sourcevarchar(300)可空机会来源
customer_namevarchar(100)可空客户名称
cgjlint(11)可空成功几率
overviewvarchar(300)可空概要
link_manvarchar(100)可空联系人
link_phonevarchar(100)可空手机号
descriptionvarchar(1000)可空描述
create_manvarchar(100)可空创建人
assign_manvarchar(100)可空分配人
assign_timedatetime可空分配时间
stateint(11)可空分配状态
dev_resultint(11)可空开发结果
is_validint(4)可空有效状态
create_datedatetime可空创建时间
update_datedatetime可空更新时间
t_cus_dev_plan客户开发计划表
字段字段类型字段限制字段描述
主键idint(11)自增id
sale_chance_idint(11)可空营销机会id
plan_itemvarchar(100)可空计划内容
plan_datedatetime可空计划日期
exe_affectvarchar(100)可空执行效果
create_datedatetime可空创建时间
update_datedatetime可空更新时间
is_validint(4)可空有效状态
t_customer客户信息表
字段字段类型字段限制字段描述
主键idint(11)自增id主键
khnovarchar(20)可空客户编号
namevarchar(20)可空客户姓名
areavarchar(20)可空客户所属地区
cus_managervarchar(20)可空客户经理
levelvarchar(30)可空客户级别
mydvarchar(30)可空客户满意度
xydvarchar(30)可空客户信用度
addressvarchar(500)可空客户地址
post_codevarchar(50)可空邮编
phonevarchar(20)可空联系电话
faxvarchar(20)可空传真
web_sitevarchar(20)可空网址
yyzzzchvarchar(50)可空营业执照注册号
frvarchar(20)可空法人代表
zczjvarchar(20)可空注册资金
nyyevarchar(20)可空年营业额
khyhvarchar(50)可空开户银行
khzhvarchar(50)可空开户账号
dsdjhvarchar(50)可空地税登记号
gsdjhvarchar(50)可空国税登记号
stateint(11)可空流失状态
is_validint(4)可空有效状态
create_datedatetime可空创建时间
update_datedatetime可空更新时间
t_customer_contact客户交往记录表
字段字段类型字段限制字段描述
主键idint(11)自增id主键
cus_idint(11)可空客户id
contact_timedatetime可空交往时间
addressvarchar(500)可空交往地址
overviewvarchar(100)可空概要
create_datedatetime可空创建时间
update_datedatetime可空更新时间
is_validint(4)可空有效状态
t_customer_linkman客户联系人表
字段字段类型字段限制字段描述
主键idint(11)自增id主键
cus_idint(11)可空客户id
link_namevarchar(20)可空联系人姓名
sexvarchar(20)可空性别
zhiweivarchar(50)可空职位
office_phonevarchar(50)可空办公电话
phonevarchar(20)可空手机号
is_validint(4)可空有效状态
ceate_datedatetime可空创建时间
update_datedatetime可空更新时间
t_customer_loss客户流失表
字段字段类型字段限制字段描述
主键idint(11)自增id主键
cus_novarchar(40)可空客户编号
cus_namevarchar(20)可空客户姓名
cus_managervarchar(20)可空客户经理
last_order_timedate可空最后下单时间
confirm_loss_timedate可空确认流失时间
stateint(11)可空流失状态
loss_reasonvarchar(1000)可空流失原因
is_validtinyint(4)可空有效状态
create_datedatetime可空创建时间
update_datedatetime可空更新时间
t_customer_order客户订单
字段字段类型字段限制字段描述
主键idint(11)自增id主键
cus_idint(11)可空客户id
order_novarchar(40)可空订单编号
order_datedatetime可空下单时间
addressvarchar(200)可空地址
stateint(11)可空状态
create_datedatetime可空创建时间
update_datedatetime可空更新时间
is_validint(4)可空有效状态
t_order_details订单详情表
字段字段类型字段限制字段描述
主键idint(11)自增id主键
order_idint(11)可空订单id
goods_namevarchar(100)可空商品名称
goods_numint(11)可空商品数量
unitvarchar(20)可空商品单位
pricefloat可空单价
sumfloat可空总金额
is_validint(4)可空有效状态
create_datedatetime可空创建时间
update_datedatetime可空更新时间
t_customer_reprieve客户流失暂缓表
字段字段类型字段限制字段描述
主键idint(11)自增id主键
loss_idint(11)可空流失id
measurevarchar(500)可空措施
is_validtinyint(4)可空有效状态
create_datedatetime可空创建时间
update_datedatetime可空更新时间
t_customer_serve客户服务
字段字段类型字段限制字段描述
主键idint(11)自增id主键
serve_typevarchar(30)可空服务类型
overviewvarchar(500)可空概要
customervarchar(30)可空客户
statevarchar(20)可空服务状态
service_requestvarchar(500)可空服务请求
create_peoplevarchar(100)可空服务创建人
assignervarchar(100)可空服务分配人
assign_timedatetime可空分配时间
service_procevarchar(500)可空服务处理
service_proce_peoplevarchar(20)可空服务处理人
service_proce_timedatetime可空服务处理时间
service_proce_resultvarchar(500)可空处理结果
mydvarchar(50)可空满意度
is_validint(4)可空是否有效
update_datedatetime可空更新时间
create_datedatetime可空创建时间
t_datadic字典表
字段字段类型字段限制字段描述
主键idint(11)自增id主键
data_dic_namevarchar(50)可空字典名
data_dic_valuevarchar(50)可空字典值
is_validtinyint(4)可空是否有效
create_datedatetime可空创建时间
update_datedatetime可空更新时间
t_user用户表
字段字段类型字段限制字段描述
主键idint(11)自增字段描述
user_namevarchar(20)可空用户名
user_pwdvarchar(100)可空用户密码
true_namevarchar(20)可空真实姓名
emailvarchar(30)可空邮箱
phonevarchar(20)可空电话
is_validint(4)可空有效状态
create_datedatetime可空创建时间
update_datedatetime可空更新时间
t_role角色表
字段字段类型字段限制字段描述
主键idint(11)自增字段描述
role_namevarchar(255)可空角色名
role_remarkervarchar(255)可空角色备注
create_datedatetime可空创建时间
update_datedatetime更新时间
is_validint(11)非空是否有效

pom.xml引入坐标&插件

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<maven.compiler.source>1.8</maven.compiler.source>

<maven.compiler.target>1.8</maven.compiler.target>

</properties>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.2.2.RELEASE</version>

</parent>

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-aop</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-freemarker</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

<!--

mybatis 集成

-->

<dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>2.1.1</version>

</dependency>

<!-- 分页插件 -->

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper-spring-boot-starter</artifactId>

<version>1.2.13</version>

</dependency>

<!--mysql 驱动-->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<scope>runtime</scope>

</dependency>

<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->

<dependency>

<groupId>com.mchange</groupId>

<artifactId>c3p0</artifactId>

<version>0.9.5.5</version>

</dependency>

<dependency>

<groupId>org.apache.commons</groupId>

<artifactId>commons-lang3</artifactId>

<version>3.5</version>

</dependency>

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>fastjson</artifactId>

<version>1.2.47</version>

</dependency>

<!-- DevTools 的坐标 热部署 -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-devtools</artifactId>

<optional>true</optional>

</dependency>

</dependencies>

<build>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<version>2.3.2</version>

<configuration>

<source>1.8</source>

<target>1.8</target>

<encoding>UTF-8</encoding>

</configuration>

</plugin>

<plugin>

<groupId>org.mybatis.generator</groupId>

<artifactId>mybatis-generator-maven-plugin</artifactId>

<version>1.3.2</version>

<configuration>

<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>

<verbose>true</verbose>

<overwrite>true</overwrite>

</configuration>

</plugin>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

<configuration>

<!-- 如果没有该配置,热部署的devtools不生效 -->

<fork>true</fork>

</configuration>

</plugin>

</plugins>

</build>

添加配置文件application.yml

src/main/resources 目录下新建application.yml配置文件,内容如下:

## 端口号  上下文路径

server:

port: 9898

servlet:

context-path: /crm

## 数据源配置

spring:

datasource:

type: com.mchange.v2.c3p0.ComboPooledDataSource

driver-class-name: com.mysql.cj.jdbc.Driver

url: jdbc:mysql://127.0.0.1:3306/crm?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8

username: root

password: root

## freemarker

freemarker:

suffix: .ftl

content-type: text/html

charset: UTF-8

template-loader-path: classpath:/views/

## 启用热部署

devtools:

restart:

enabled: true

additional-paths: src/main/java

## mybatis 配置

mybatis:

mapper-locations: classpath:/mappers/*.xml

type-aliases-package: com.xxxx.crm.vo;com.xxxx.crm.query;com.xxxx.crm.dto

configuration:

map-underscore-to-camel-case: true

## pageHelper

pagehelper:

helper-dialect: mysql

## 设置 dao 日志打印级别

logging:

level:

com:

xxxx:

crm:

dao: debug

添加视图转发源代码

新建com.xxxx.crm.controller包,添加系统登录,主页面转发代码(这里引入base 包,具体文件见相关目录)。

package com.xxxx.crm.controller;

import com.xxxx.crm.base.BaseController;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

public class IndexController extends BaseController {

/**

* 系统登录页

* @return

*/

@RequestMapping("index")

public String index(){

return "index";

}

// 系统界面欢迎页

@RequestMapping("welcome")

public String welcome(){

return "welcome";

}

/**

* 后端管理主页面

* @return

*/

@RequestMapping("main")

public String main(){

return "main";

}

}

静态资源文件目录添加

在src/main/resources目录下新建public 目录存放系统相关静态资源文件,copy静态文件内容到public 目录。

添加系统登录,主页面视图模板页

在src/main/resources 目录下新建views目录,添加index.ftl,main.ftl 文件(具体视图文件详见相关目录)

添加SpringBoot应用启动类Starter

在com.xxxx.crm 包下新建Starter.java ,添加启动项目相关代码如下:

package com.xxxx.crm;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public class Starter {

public static void main(String[] args) {

SpringApplication.run(Starter.class);

}

}

以上是 【JS】Crm-第一天 的全部内容, 来源链接: utcz.com/a/91253.html

回到顶部