Crm-第一天
時間:2023-03-29 16:46:01 | 來源:電子商務(wù)
時間:2023-03-29 16:46:01 來源:電子商務(wù)
Crm-第一天
CRM基本概念
? 圈內(nèi)存在這么一句話:“世上本來沒有CRM,大家的生意越來越難做了,才有了CRM。”在同質(zhì)化競爭時代,顧客資產(chǎn)尤為重要,新時代在呼喚CRM。
? CRM系統(tǒng)即客戶關(guān)系管理系統(tǒng), 顧名思義就是管理公司與客戶之間的關(guān)系. 是一種以"客戶關(guān)系一對一理論"為基礎(chǔ),旨在改善企業(yè)與客戶之間關(guān)系的新型管理機制??蛻絷P(guān)系管理的定義是:企業(yè)為提高核心競爭力,利用相應(yīng)的信息技術(shù)以及互聯(lián)網(wǎng)技術(shù)來協(xié)調(diào)企業(yè)與顧客間在銷售、營銷和服務(wù)上的交互,從而提升其管理方式,向客戶提供創(chuàng)新式的個性化的客戶交互和服務(wù)的過程。 其最終目標是吸引新客戶、保留老客戶以及將已有客戶轉(zhuǎn)為忠實客戶,增加公司市場份額。
? CRM的實施目標就是通過全面提升企業(yè)業(yè)務(wù)流程的管理來降低企業(yè)成本,通過提供更快速和周到的優(yōu)質(zhì)服務(wù)來吸引和保持更多的客戶。作為一種新型管理機制,CRM極大地改善了企業(yè)與客戶之間的關(guān)系,應(yīng)用于企業(yè)的市場營銷、銷售、服務(wù)與技術(shù)支持等與客戶相關(guān)的領(lǐng)域。
Crm分類
? 根據(jù)客戶的類型不同,CRM可以分為BtoB CRM及BtoC CRM. BtoB CRM中管理的客戶是企業(yè)客戶,而BtoC CRM管理的客戶則是個人客戶。提供企業(yè)產(chǎn)品銷售和服務(wù)的企業(yè)需要的BtoB的CRM,也就是市面上大部分CRM的內(nèi)容。而提供個人及家庭消費的企業(yè)需要的是BtoC的CRM。
? 根據(jù)CRM管理側(cè)重點不同又分為操作性和分析型CRM。大部分CRM為操作型CRM,支持CRM的日常作業(yè)流程的每個環(huán)節(jié),而分析型CRM則偏重于數(shù)據(jù)分析。
企業(yè)項目開發(fā)流程
- 產(chǎn)品組根據(jù)市場調(diào)研或商戶同事的反饋提出idea, 設(shè)計出原型然后跟市場, 商戶同事進行確認
- UI設(shè)計組和開發(fā)組一起討論, 確定方案是否可行
- UI組根據(jù)產(chǎn)品組提供的原型稿做出設(shè)計稿, 與產(chǎn)品和開發(fā)確認
- 開發(fā)組根據(jù)產(chǎn)品的原型稿(看邏輯)和UI組的設(shè)計稿(看界面)編寫代碼其中當(dāng)然也會來回跟設(shè)計, 產(chǎn)品同學(xué)進行確認和溝通
- 代碼編寫完畢后提交給測試組. 然后再提交上線
- 后期的數(shù)據(jù)跟蹤和優(yōu)化
? 這就是一個產(chǎn)品研發(fā)的大致流程. 其中開發(fā)的責(zé)任就是選用合適的框架技術(shù)來完成產(chǎn)品所提供的需求以及設(shè)計所提供的效果。
Crm 系統(tǒng)模塊劃分
基礎(chǔ)模塊
? 包含系統(tǒng)基本的用戶登錄,退出,記住我,密碼修改等基本操作。
營銷管理
? 營銷機會管理:企業(yè)客戶的質(zhì)詢需求所建立的信息錄入功能,方便銷售人員進行后續(xù)的客戶需求跟蹤。
營銷開發(fā)計劃:開發(fā)計劃是根據(jù)營銷機會而來,對于企業(yè)質(zhì)詢的客戶,會有相應(yīng)的銷售人員對于該客戶進行具體的溝通交流,此時對于整個Crm系統(tǒng)而言,通過營銷開發(fā)計劃來進行相應(yīng)的信息管理,提高客戶的購買企業(yè)產(chǎn)品的可能性。
客戶管理
? 客戶信息管理:Crm系統(tǒng)中完整記錄客戶信息來源的數(shù)據(jù)、企業(yè)與客戶交往、客戶訂單查詢等信息錄入功能,方便企業(yè)與客戶進行相應(yīng)的信息交流與后續(xù)合作。
? 客戶流失管理:Crm通過一定規(guī)則機制所定義的流失客戶(無效客戶),通過該規(guī)則可以有效管理客戶信息資源,提高營銷開發(fā)效率。
服務(wù)管理
? 服務(wù)管理是針對客戶而開發(fā)的功能,針對客戶要求,Crm提供客戶相應(yīng)的信息質(zhì)詢,反饋與投訴功能,提高企業(yè)對于客戶的服務(wù)質(zhì)量。
數(shù)據(jù)報表
? Crm提供的數(shù)據(jù)報表功能能夠幫助企業(yè)了解客戶整體分布,了解客戶開發(fā)結(jié)果整體信息,從而幫助企業(yè)整體調(diào)整客戶開發(fā)計劃,提高企業(yè)的在市場中的競爭力度。
系統(tǒng)管理
? 系統(tǒng)管理包含常量字典維護工作,以及權(quán)限管理模塊,Crm權(quán)限管理是基于角色的一種權(quán)限控制,基于RBAC實現(xiàn)基于角色的權(quán)限控制,通過不同角色的用戶登錄該系統(tǒng)后展示系統(tǒng)不同的操作功能,從而達到對不同角色完成不同操作功能。
CRM 系統(tǒng)數(shù)據(jù)庫設(shè)計
? CRM系統(tǒng)根據(jù)產(chǎn)品的原型搞以及UI組的設(shè)計稿, 接下來就要設(shè)計數(shù)據(jù)庫, 一般在大公司通常會有專門的DBA, 這時我們可以不要考慮數(shù)據(jù)庫表設(shè)計, 但是也要能夠讀懂或者了解DBA的設(shè)計思路方便在程序開發(fā)階段不會出現(xiàn)問題, 一般關(guān)系型數(shù)據(jù)庫表設(shè)計滿足三范式的設(shè)計即可, 表名設(shè)計做到見名知意最好。
表結(jié)構(gòu)詳情
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 驅(qū)動--> <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配置文件,內(nèi)容如下:
## 端口號 上下文路徑 server: port: 9898 servlet: context-path: /crm
## 數(shù)據(jù)源配置 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
## 設(shè)置 dao 日志打印級別 logging: level: com: xxxx: crm: dao: debug
添加視圖轉(zhuǎn)發(fā)源代碼
新建com.xxxx.crm.controller包,添加系統(tǒng)登錄,主頁面轉(zhuǎn)發(fā)代碼(這里引入base 包,具體文件見相關(guān)目錄)。
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 {
/** * 系統(tǒng)登錄頁 * @return */ @RequestMapping("index") public String index(){ return "index"; }
// 系統(tǒng)界面歡迎頁 @RequestMapping("welcome") public String welcome(){ return "welcome"; }
/** * 后端管理主頁面 * @return */ @RequestMapping("main") public String main(){ return "main"; } }
靜態(tài)資源文件目錄添加
在src/main/resources目錄下新建public 目錄存放系統(tǒng)相關(guān)靜態(tài)資源文件,copy靜態(tài)文件內(nèi)容到public 目錄。
添加系統(tǒng)登錄,主頁面視圖模板頁
在src/main/resources 目錄下新建views目錄,添加index.ftl,main.ftl 文件(具體視圖文件詳見相關(guān)目錄)
添加SpringBoot應(yīng)用啟動類Starter
在com.xxxx.crm 包下新建Starter.java ,添加啟動項目相關(guān)代碼如下:
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); } }