基于springboot+rabbitmq+layui+redis的CRM管理系统

基于SpringBoot和MySQL的CRM管理系统 1,项目介绍(springboot+layui框架) 项目为 CRM 系统, CRM 是一种客户关系管理系统

本文包含相关资料包-----> 点击直达获取<-------

基于SpringBoot和MySQL的CRM管理系统

1.项目介绍(springboot+layui框架)

项目为 CRM 系统, CRM 是一种客户关系管理系统。 顾名思义就是管理公司与客户之间的关系。 是一种 以"客户关系一对 一理论"为基础,旨在改善企业与客户之间关系的新型管理机制。

1.1 功能模块

1.2 技术栈

  • 前端 : LayUI 框架、 FreeMarker 视图

  • 数据库 : Mysql-5.7.29

  • 后端 :采用 JDK1.8 开发环境,使用 Spring 、 Spring MVC 、 Mybatis 三大框架

  • 开发工具 : IDEA

  • 项目管理工具 : Maven

2.数据库搭建

2.1 用户表

2.2 营销机会表

2.3 角色表

2.4 用户角色关联表

2.5 客户开发计划表

2.6 E-R图

3.项目开发

3.1 登陆实现

3.1.1 简单的流程

  • 用户访问控制器进入所在视图页面

  • 输入参数前端简单验证

  • 通过后,再次访问验证用户密码的控制器

  • 调用 service层验证

  • 执行 sql 返回结果

  • 生成前端所需要的数据供解析

3.1.2 登录页制作

mapper

定义出 t_user表相关要执行的 sql语句,也就是实现 User的 Mapper层相关操作。

对于用户的 mapper层的创建,我们使用 mybatis逆向工程生成 mapper接口和映射文件,但不去 生成 Example相关类( mybatis逆向工程使用方式放最后讲解)。

由于我们使用的 mybatis逆向工程生成的文件, sql语句ID都是一样的,所以我们可以创建一个 基础的包 base,用于存放各种基础的方法通用的 BaseMapper类,然后去继承它 此时想实现查询数据库是否有对应的 user_name,注意账号也是要为有效状态,而现在 mapper 是没有存在此方法,所以还需我们去编写。

UserMapper源代码位于: src/main/java/com/migu/mapper/usermapper/UserMapper.java

service

对于 Service层,我们需要为前端传过来的用户做以下操作:

  • 查看传入账号和密码是否为空,这边可以使用 StringUtils工具类

0 查看用户账号在数据库是否存在,存在则取出密码与用户传过来的密码比较

  • 登录成功后:将用户ID和基本信息封装到cookie中,存到浏览器中 Cookie 操作,交由 Jquery执 行,后端传输 JSON过去,让前端获取即可,一个供前端解析的视图对象,存放着成功失败的提示 信息和data域(用户对象)

  • 各种操作失败,我们将抛出异常,并设置异常信息供前端向用户解释(自定义异常 ParamsException),这些异常信息将封装成供前端解析的视图对象,我们定义的供前端解析的 视图对象 ResultInfo就起到作用

  • 避免大量 if操作,将再定义一个检查类 AssertUtil,检查是否操作失败

上面这个两个操作定义可以应用于任何地方,不止仅限于用户登录操作上。

  • UserService源代码位于: src/main/java/com/migu/service/UserService.java

  • 简化的 User对象源代码位于: src/main/java/com/migu/vo/UserModel.java

  • 自定义异常信息类源代码位于: src/main/java/com/migu/exception/ParamsException.java

Controller

  • 对于 Controller层,接收 User对象,返回供前端判断的 JSON视图对象

  • 创建要返回的视图对象

  • 调用 Service层,并捕获异常,如果存在异常,则把原因设置到返回的视图对象中

  • 正常返回视图对象

UserController源代码位于: src/main/java/com/migu/controller/UserController.java

返回的视图对象源代码位于: src/main/java/com/migu/base/ResultInfo.java

还有我们要配置项目的访问路径,供 FreeMarker使用,所以可以写一个 BaseController让 UserController去继承它。

3.1.3 测试

3.2 拦截器实现

使用 LayUI提供的后台系统模板设计主页:

当用户访问主页时会经过这样一个流程:

  • 访问 主页 内容

  • 拦截器对其拦截

  • 获取 request携带的 Cookie是否存在 UserId

  • 不存在抛出一个 未登录异常 ,提示用户,并重定向到登录页面 存在继续执行,携带该 UserId去访问数据库 执行 sql查询是否存在该 id

  • 存在,对其 放行
  • 不存在,提示用户,并重定向到登录页面

  • 使用 Spring提供的拦截器来处理

实现 HandlerInterceptor接口,在 preHandle方法配置拦截条件

源码: src/main/java/com/migu/interceptor/NoLoginInterceptor.java

4.系统测试

登陆页面

主页

用户管理

修改分配角色

客户管理

新增联络

联络管理

文档管理

预定管理

日志管理

文件管理

背景更换

参考文献

  • 基于J2EE体系结构的CRM系统的研究与开发(中南大学·杨骐)
  • 基于SSH2的CRM系统的开发(西安工程大学·李久鑫)
  • 企业项目管理系统设计与实现(吉林大学·刘舒杨)
  • 基于Spring、Hibernate的中小企业CRM系统的设计与实现(北京邮电大学·曹美溪)
  • 基于SSH框架的人力资源管理系统的设计与开发(电子科技大学·唐伟)
  • 办公流程管理系统的设计与实现(北京邮电大学·王影)
  • 基于SSH2的CRM系统的开发(西安工程大学·李久鑫)
  • 基于OAuth2.0协议的企业分布式授权系统设计与实现(华中科技大学·支猛)
  • 基于WEB的客户关系管理系统的设计与实现(中国海洋大学·代学卿)
  • 中小企业中CRM应用模型的研究(西安电子科技大学·曹会河)
  • 基于J2EE的客户关系管理系统的设计与实现(吉林大学·李维威)
  • 基于J2EE的客户关系管理系统的设计与实现(吉林大学·李维威)
  • 基于SSH的客户关系管理系统的研究与实现(西安电子科技大学·张荣召)
  • 基于Dubbo框架的开发者中心的设计与实现(北京交通大学·涂鹏程)
  • 企业项目管理系统设计与实现(吉林大学·刘舒杨)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码驿站 ,原文地址:https://bishedaima.com/yuanma/35446.html

相关推荐

发表回复

登录后才能评论