java项⽬——CRM客户管理系统(SpringBoot+MyBatis)
⽬录
CRM客户管理系统
本⼈负责后端的开发(Java)
⼀.对CRM的项⽬的简单描述
1.什么是CRM
CRM系统即客户关系管理系统,是指企业⽤CRM技术来管理与客户之间的关系。他的⽬标是缩减销售周期和销售成本,增加收⼊,寻扩展业务所需的新的市场和渠道以及提⾼客户的价值,满意度,营利性和忠实度。CRM项⽬的实施可以分为3步,即应⽤业务集成。业务诗句分析和决策执⾏。
2.CRM开发环境和技术
<1> 项⽬业务介绍
客户关系管理是指企业为提⾼核⼼竞争⼒,利⽤相应的技术信息以及互联⽹技术协调企业与顾客间在消
费,营销和服务上的交互,从⽽提升其管理⽅式,向客户提供创新式的个性化的客户交互和服务的过程,其最终⽬标是吸引新客户,保留⽼客户以及将已有客户转为忠实客户,增加市场
<2>开发环境
项⽬名称:CRM客户管理系统
系统作⽤:公司客户关系管理,潜在客户开发及订单合同管理
开发环境:IDEA Windows10 jdk1.8 Maven Mysql8
需要的⼯具:postman fiddler抓包⼯具或浏览器开发者⼯具
<3>开发技术
前端:LayUI freeMaker
后端:Spring SpringMVC SpringBoot MyBatis Maven MySQL8 Linux CentOS ECharts(折线和饼状图)权限管理 定时任务调度(quartz)CentOS Lombok
⼆.项⽬准备及模块分析
1.模块分析总览
1.基础模块:包含系统基本的⽤户登录,退出,记住我,密码修改等基本操作。
2.营销管理:jsp文件怎么恢复成word文件
营销机会管理:企业客户的质询需求所建⽴的信息录⼊功能
客户开发计划:开发计划是根据营销机会⽽来,对于企业质询的客户,会有相应的销售⼈员对于该客户
进⾏具体的沟通交流,此时对于整个 Crm 系统⽽⾔,通过营销开发计划来进⾏相应的信息管理,提⾼
客户的购买企业产品的可能性。
3.客户管理:
客户信息管理 :Crm 系统中完整记录客户信息来源的数据、企业与客户交往、客户订单查询等信息录
⼊功能,⽅便企业与客户进⾏相应的信息交流与后续合作。
客户流失管理 :Crm 通过⼀定规则机制所定义的流失客户(⽆效客户),通过该规则可以有效管理客
户信息资源,提⾼营销开发的效率。
4.服务管理:服务管理是针对客户⽽开发的功能,针对客户要求,Crm 提供客户相应的信息质询,反馈与投诉功能,提⾼企业对于客户的服务质量。
5.数据报表:
mysql是什么系统Crm 提供的数据报表功能能够帮助企业了解客户整体分布,了解客户开发结果整体信息,从⽽帮助企业
整体调整客户开发计划,提⾼企业的在市场中的竞争⼒度。
6.系统管理:系统管理包含常量字典维护⼯作,以及权限管理模块,Crm 权限管理是基于⾓⾊的⼀种权限控制,基于RBAC 实现基于⾓⾊的权限控制,通过不同⾓⾊的⽤户登录该系统后展⽰系统不同的操作功能,从⽽达
到对不同⾓⾊完成不同操作功能。
2.项⽬前期环境的搭建
1.创建SpringBoot项⽬,导⼊依赖(见源代码)
2.在src/main/resources ⽬录下新建 l 配置⽂件
## 端⼝号上下⽂路径
server:
port:8080
servlet:
context-path:/crm
## 数据源配置
spring:
datasource:
黑客代码大全下载
type:ComboPooledDataSource
driver-class-name:Driver
url: jdbc:mysql://127.0.0.1:3306/crm?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
username:
password:
## 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: dto
configuration:
map-underscore-to-camel-case: true
spring boot websocket
## pageHelper 分页
pagehelper:
helper-dialect: mysql
## 设置 dao ⽇志打印级别
logging:
level:
org:
example:
crm:
dao: debug
3.新建 ntroller 包,添加系统登录,主页⾯转发代码 。
4.添加静态资源:在 src/main/resources ⽬录下新建 public ⽬录,存放系统相关静态资源⽂件,拷贝静态⽂件内容到public ⽬录。
5.添加视图模板:在 src/main/resources ⽬录下新建 views ⽬录,添加 index.ftl、main.ftl 等⽂件。 (具体视图⽂件详见相关⽬录)
6.添加启动类:在 包下新建 Starter.java ,添加启动项⽬相关代码如下:
package;
import MapperScan;
import SpringApplication;
import SpringBootApplication;
import EnableScheduling;
@SpringBootApplication
@MapperScan("dao")
//启⽤定时任务
@EnableScheduling
public class Starter {
public static void main(String[] args){
SpringApplication.run(Starter.class);
}
}
7.添加Base包:主要⽤户对Controller,Service Dao层的统⼀控制,BaseQuery⽤于控制按条件搜索的对象,ResultInfo是后端返回的对象的统⼀封装
项⽬搭建结构:
8.准备MyBatis代码统⼀⽣成⼯具(l)
这⾥注意:⼯具有点缺陷,每次需要改⼯具作⽤的表名
使⽤mybatis-generator⽣成Mybatis代码。能够⽣成 vo 类、能⽣成 mapper 映射⽂件(其中包括基本
的增删改查功能)、能⽣成 mapper 接⼝。
命令: mybatis-generator:generate -e
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-////DTD MyBatis Generator Configuration 1.0//EN"
"/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!--
数据库驱动
在左侧project边栏的External Libraries中到mysql的驱动,右键选择copy path
-
->
<classPathEntry location="D:\Repository\Maven\mysql\mysql-connector-java\5.1.49\mysql-connector-java-5.1.49.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>网上学电脑办公软件培训班
<!--是否去除⽇期那⾏注释-->
<property name="suppressDate" value="false"/>
<!--是否去除⾃动⽣成的注释true:是:false:否-->
<property name="suppressAllComments" value="false"/>
</commentGenerator>
<!--数据库链接地址账号密码-->
<jdbcConnection
driverClass="sql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/crm?serverTimezone=GMT%2B8"
userId="root"
password="sn20000904">
</jdbcConnection>
<!--
java类型处理器
⽤于处理DB中的类型到Java中的类型,默认使⽤JavaTypeResolverDefaultImpl;
无水印视频素材下载火影忍者注意⼀点,默认会先尝试使⽤Integer,Long,Short等来对应DECIMAL和NUMERIC数据类型;
true:使⽤ BigDecimal对应DECIMAL和NUMERIC数据类型
false:默认,把JDBC DECIMAL和NUMERIC类型解析为Integer
-
->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--⽣成Model类存放位置-->
<javaModelGenerator targetPackage="del" targetProject="src/main/java">
<!--在targetPackage的基础上,根据数据库的schema再⽣成⼀层package,最终⽣成的类放在这个package下,默认为false--> <property name="enableSubPackages" value="true"/>
<!--设置是否在getter⽅法中,对String类型字段调⽤trim()⽅法-->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--⽣成映射⽂件存放位置-->
<sqlMapGenerator targetPackage="mappers" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!--⽣成Dao类存放位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--改表名-->
<table tableName="t_customer_serve" domainObjectName="CustomerServe"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论