版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南商务职业技术学院毕业设计
目录
1引言1
1.1项目开发背景1
1.2开发技术简介2
1.2.1Springboot简介2
1.2.2Speingboot的运行原理3
1.2.3客户关系管理系统页面的组成4
1.3开发工具简介5
1.4项目开发技术路线5
2需求分析6
2.1功能需求描述6
2.2非功能需求描述6
2.3需求用例建模7
2.3.1登录功能模块的用例8
2.3.2客户管理功能模块的用例9
2.3.3项目信息管理功能模块的用例10
2.3.4项目收益功能模块的用例11
3系统概要设计12
3.1系统设计原则12
3.2系统框架设计13
3.3系统功能设计13
3.3.1登录功能模块设计14
3.3.2客户管理功能模块功能设计15
3.3.3项目信息管理功能模块设计15
3.3.4项目收益功能模块设计16
3.4数据库设计16
3.4.1设计原则16
3.4.2概念设计17
I
湖南商务职业技术学院毕业设计
3.4.3逻辑设计17
3.4.4数据字典18
4系统详细设计20
4.1登录功能模块设计20
4.1.1登录功能模块说明20
4.1.2登录功能模块详细设计20
4.2客户管理功能模块设计20
4.2.1客户管理功能模块说明20
4.2.2客户管理功能模块详细设计20
4.3项目信息管理功能模块设计21
4.3.1项目信息管理功能模块说明21
4.3.2项目信息管理功能模块详细设计21
4.4项目收益功能模块设计22
4.4.1项目收益功能模块说明22
4.4.2项目收益功能模块详细设计22
5系统实现23
5.1登录功能模块实现23
5.1.1登录功能模块页面设计23
5.1.2登录功能模块核心代码实现23
5.2客户管理功能模块实现28
5.2.1客户管理功能模块界面设计28
5.2.2客户管理功能模块核心代码实现28
5.3项目信息管理功能模块实现33
5.3.1项目信息管理功能模块界面设计33
5.3.2项目信息管理功能模块核心代码实现34
5.4项目收益功能模块实现40
5.4.1项目收益功能模块界面设计40
5.4.2项目收益功能模块核心代码实现40
II
湖南商务职业技术学院毕业设计
6系统测试45
6.1登录功能模块测试45
6.2客户管理功能模块测试46
6.3项目信息管理功能模块测试47
6.4项目收益功能模块测试49
7设计小结49
参考资料51
III
湖南商务职业技术学院毕业设计
周氏集团有限公司客户关系管理系统的
设计与实现
1引言
随着数字化时代的到来,企业面临着越来越复杂和多样化的客户关系管理
挑战。客户关系管理系统在企业发展和竞争中起着至关重要的作用。它不仅能
够帮助企业提高与客户之间的互动和沟通效率,还可以有效管理客户信息、提
供个性化的产品和服务,并优化销售和营销策略。本论文旨在设计和实现基于
SpringBoot框架的客户关系管理系统,以满足企业日益增长的客户关系管理
需求。SpringBoot作为一种流行的Java开发框架,具有简化和加速应用程序
开发的优势,同时提供了丰富的开发工具和组件。在设计过程中,我们将采用
敏捷开发方法,通过迭代和快速响应客户需求的方式来开发系统。我们将系统
分为几个核心模块,包括客户信息管理、销售管理、市场营销、客户服务等,
每个模块都有相应的功能和业务流程。客户关系管理系统的设计和实现将采用
面向对象的设计原则和数据库设计原则,以确保系统的可扩展性、可维护性和
高性能。同时,我们将使用SpringBoot的各种功能和特性来简化开发过程,
并提供良好的用户体验和友好的界面设计。通过本论文的研究和设计,我们期
望能够为企业提供一种高效、智能和可靠的客户关系管理解决方案,帮助企业
实现客户关系管理的数字化转型,提升竞争力并创造更大的商业价值。
1.1项目开发背景
在当今竞争激烈的商业环境中,客户关系管理对于企业的成功至关重要。
随着互联网和移动技术的迅猛发展,客户的期望和需求也在不断变化。企业需
要更加高效和智能化地管理和服务客户,以保持竞争优势。然而,传统的手工
记录和管理客户信息的方法已经无法满足快速发展和复杂化的市场需求。手动
管理数据容易出现错误和重复操作,查找客户信息耗时且不准确。此外,传统
的销售和营销策略也面临着一定的局限性,无法满足个性化和定制化的需求。
因此,企业迫切需要一种高效、智能的客户关系管理系统,以帮助他们管理客
户数据、优化销售和营销策略,并提供个性化的产品和服务。这样的系统将能
够提升企业与客户之间的互动和沟通效率,增加客户满意度,提高客户忠诚度,
并最终实现业务增长和盈利。基于SpringBoot的客户关系管理系统的开发正
1
湖南商务职业技术学院毕业设计
是为了满足这一需求。SpringBoot作为一种轻量级的Java开发框架,提供了
快速开发和部署的能力,同时具备丰富的开发工具和组件。通过利用SpringB
oot的优势,企业可以快速构建出高效和可靠的客户关系管理系统。总之,基
于SpringBoot的客户关系管理系统的开发是为了解决传统手工管理方式的问
题,提高客户服务和管理的效率,并实现企业的数字转型和竞争优势。该系统
将为企业提供一种智能和可靠的方式来管理和服务客户,并提供个性化的产品
和服务,以满足不断变化的市场需求。
1.2开发技术简介
SpringBoot:SpringBoot是一种轻量级的Java开发框架,它简化了应
用程序的开发和部署过程。它提供了自动化的配置和管理,使开发人员能够快
速搭建基于Spring的应用程序。SpringBoot还集成了其他常用的Spring框
架,如SpringMVC、SpringData等,提供了强大的功能和开发工具。
Java语言:Java是一种广泛使用的面向对象的编程语言,它具有良好的跨
平台性和丰富的类库支持。在客户关系管理系统的开发中,Java语言被用于编
写后端业务逻辑和实现系统的核心功能。
数据库:客户关系管理系统需要一个可靠的数据库来存储和管理客户信息、
销售数据等。常用的数据库技术包括关系型数据库(如MySQL、Oracle)和No
SQL数据库(如MongoDB、Redis)。选择适合项目需求的数据库,并合理设计
数据库结构,可以提高系统的性能和数据管理效率。
前端技术:客户关系管理系统的前端界面是用户与系统交互的重要部分。
常用的前端技术包括HTML、CSS和JavaScript,以及一些流行的前端框架和库,
如React、Angular、Vue等。合理使用前端技术,设计良好的用户界面可以提
高系统的易用性和用户体验。
1.2.1Springboot简介
SpringBoot是由Pivotal团队开发的一种开源框架,用于快速构建基于S
pring的应用程序。它简化了Spring框架的配置和部署过程,提供了一种更简
单、更高效的方式来开发Java应用程序。SpringBoot的特点和优势包括:
简化配置:SpringBoot提供了各种自动配置的能力,开发人员无需手动
配置大量的XML或注解。它通过一系列的默认配置,可以在不丧失灵活性的前
提下,轻松地构建应用程序。
2
湖南商务职业技术学院毕业设计
内嵌式容器:SpringBoot内置了多个Web容器,如Tomcat、Jetty等,
这样就可以将应用程序打包为一个独立的可执行JAR文件。开发人员只需运行
这个可执行JAR,无需额外安装和配置外部的Web容器。
自动配置特性:SpringBoot提供了大量的自动配置选项,使得开发人员
能够快速集成各种第三方库和框架。开发人员只需引入相应的依赖,SpringB
oot会根据依赖自动配置相关的功能,简化了集成的过程。
健康检查和度量:SpringBoot提供了丰富的健康检查和度量功能,可以
方便地监控和管理应用程序的状态和性能。开发人员可以使用Actuator模块来
获取关键的应用程序指标,例如请求处理时间、内存使用量等。
外部化配置:SpringBoot支持外部化配置,可以将配置信息存储在外部
的配置文件中,如perties或application.yml。这样可以使
得应用程序的配置更加灵活,可以在不同环境中使用不同的配置文件,而无需
修改代码。
强大的开发工具和生态系统:SpringBoot提供了丰富的开发工具和插件,
以提高开发效率。同时,SpringBoot也拥有庞大的社区和活跃的生态系统,
有大量的支持库和开源项目可供使用。总的来说,SpringBoot简化了Sprin
g应用程序的开发和部署过程,通过自动化配置和内嵌式容器等特性,使得开
发人员能够更加专注于业务逻辑的实现,快速构建高效、可靠的Java应用程序。
它成为了Java开发中非常受欢迎的框架之一。
1.2.2Speingboot的运行原理
SpringBoot的运行原理可以概括为以下几个步骤:
依赖管理:在使用SpringBoot时,首先需要在项目的构建配置文件中添
加SpringBoot的依赖项。SpringBoot提供了一个名为SpringBootStarte
r的依赖管理机制,它能够根据应用程序的需求自动加载所需的依赖项。开发
人员可以根据自己的需求选择和配置不同的Starter。
自动配置:SpringBoot通过自动配置的方式减少了开发人员配置Spring
应用程序的工作量。它会根据项目的依赖以及一组命名规则来自动配置应用程
序。自动配置是通过条件注解和条件类实现的,它会根据项目的环境和依赖进
行相应的配置,从而简化了开发人员的工作。
启动类:在SpringBoot中,需要创建一个主启动类,该类使用@SpringB
ootApplication注解进行标记。这个注解包含了多个注解的组合,其中包括@C
3
湖南商务职业技术学院毕业设计
omponentScan、@EnableAutoConfiguration和@Configuration。主启动类是S
pringBoot应用程序的入口点,它通过读取自动配置和组件扫描的注解,并初
始化Spring应用程序的上下文。
运行:当主启动类被执行时,SpringBoot会创建一个Spring容器,并加
载配置文件和注解,创建相应的Bean对象。在加载配置文件时,SpringBoot
会根据内置的优先级顺序和额外的外部化配置,获取相应的配置信息。同时,S
pringBoot还会根据应用程序中的注解和依赖项,自动配置相应的功能和特性。
内嵌式容器:SpringBoot还包含了内嵌式的Servlet容器,如Tomcat、J
etty等。在启动时,SpringBoot会自动创建并启动这个容器,将应用程序打
包为一个可执行的JAR文件。内嵌式容器简化了部署和运行的过程,开发人员
只需在命令行中运行可执行的JAR文件,无需额外安装和配置外部的容器。
开发工具和插件:SpringBoot提供了丰富的开发工具和插件,用于提高
开发效率。例如,SpringBootDevTools可以自动监测代码的变化并自动重启
应用程序,简化了开发过程。此外,SpringBoot还支持热部署、自动化测试
等功能,使开发人员更加专注于业务逻辑的实现。总结起来,SpringBoot的
运行原理包括依赖管理、自动配置、启动类、运行过程、内嵌式容器以及开发
工具和插件。通过这些机制,SpringBoot能够简化Spring应用程序的开发和
部署过程,提高开发效率。
1.2.3客户关系管理系统页面的组成
客户关系管理系统的页面一般使用标准的HTML和XML语言编写,并配有J
ava引擎来处理和解析执行其中的代码和组件。在页面的前端部分,使用前端
代码和组件来创建最终显示在页面上的文本。页面的主要组成部分包括以下内
容:
模板元素:用于定义和组织页面的整体结构和布局,包括头部、导航栏、
侧边栏和底部等。
指令元素:用于指示页面的特定行为,例如循环、条件判断等。常见的指
令元素如for循环、if语句等。
动作元素:用于执行页面上的交互行为,例如点击按钮、提交表单等。常
见的动作元素如按钮、链接等。
Scriptlets:是嵌入在页面中的Java代码块,用于执行后端处理逻辑和数
据处理。它可以与页面的其他元素进行交互和通信。
声明:用于定义和引入外部资源,例如CSS样式表、JavaScript脚本、Ja
4
湖南商务职业技术学院毕业设计
va类库等。
表达式:用于动态地输出和展示数据,在页面中嵌入变量、函数等。常见
的表达式如变量输出、函数调用等。
前端互动内建对象:这些是用于处理前端交互的内置对象,例如表单对象、
DOM操作对象等。它们提供了与用户交互和页面元素操作的接口。总的来说,
客户关系管理系统的页面由HTML和XML构成,通过Java引擎处理和解析执行
其中的代码和组件。页面使用各种元素和对象来构建页面的结构、展示数据、
实现交互等功能。这些元素和对象通过前端代码和后端逻辑交互,形成完整的
客户关系管理系统页面。
1.3开发工具简介
工具的使用:采用springboot+vue+mysql
SpringBoot是一种快速开发的Java框架,它简化了Spring应用程序的
配置和部署。Vue是一个灵活的JavaScript框架,用于构建现代化的用户界面。
MySQL是一种流行的关系型数据库管理系统。通过结合SpringBoot、Vue和M
ySQL,可以构建一个全栈的Web应用程序。SpringBoot提供了强大的后端支
持和业务逻辑处理能力,Vue提供了动态、响应式的前端页面和用户界面设计,
而MySQL提供了可靠的数据持久化和管理。这种组合可以帮助开发者快速构建
高效、功能丰富的应用程序,并提供良好的分离前后端的开发体验。
1.4项目开发技术路线
SpringBoot具有以下几个优点:
快速启动和开发:SpringBoot提供了自动配置和默认设置,简化了项目
的初始化和配置过程,减少了开发人员的工作量。同时,SpringBoot还提供
了强大的开发工具和命令行界面,可以快速启动应用程序并提供热部署功能。
简化配置:SpringBoot采用约定优于配置的原则,通过自动配置和默认
属性设置,减少了繁琐的XML配置文件,并提供了一种便捷的方式来管理应用
程序的配置。
微服务支持:SpringBoot提供了对微服务架构的良好支持,包括内嵌的S
ervlet容器、对Docker和容器化的支持,以及与SpringCloud等微服务框架
的无缝集成。
生态系统丰富:SpringBoot建立在Spring框架的基础上,因此可以利用
Spring的生态系统中的众多成熟和广泛使用的模块和库。这个生态系统提供了
5
湖南商务职业技术学院毕业设计
许多功能强大的开发工具和第三方库,能够满足各种应用程序的需求。
自动化测试和监控:SpringBoot提供了许多用于自动化测试和监控的功
能,包括内置的测试框架、可插拔的监控工具和指标收集器,以及对各种测试
和监控工具的集成支持。总的来说,SpringBoot具有简化开发和配置、微服
务支持、丰富的生态系统以及自动化测试和监控等优点,使得开发人员能够更
加高效地构建和管理Java应用程序。
2需求分析
2.1功能需求描述
基于SpringBoot的客户关系管理系统的设计论文的功能需求描述应包括
以下方面:
登录功能模块:系统应具备用户注册、登录、权限管理等功能,不同用户
具有不同的权限和角色。
客户管理功能模块:系统应能够对客户进行管理,包括添加、查看、编辑
和删除客户信息,以及获取客户的基本信息、交易记录、联系方式等。
项目信息管理功能模块:系统应提供日程管理功能,支持创建、查看和编
辑日程安排,并能够提醒用户有关的重要事件和任务。
项目收益管理功能模块:系统能够对项目收益进行管理,包括添加、查看、
编辑和删除项目收益信息,以及项目收益统计报表。
2.2非功能需求描述
非功能需求描述针对系统的性能、可靠性、安全性、可用性和可扩展性等
方面进行要求,以下是基于SpringBoot的客户关系管理系统的一些非功能需
求描述:
性能:
响应时间:系统应具备快速响应用户请求的能力,保证用户能够以流畅的
速度进行操作。
并发性能:系统应能够支持大量并发用户操作,保持稳定的性能水平。
数据库性能:系统对数据库的读取和写入操作应高效,确保操作的快速完
成。
可靠性:
容错性:系统应具备容错能力,能够识别错误并进行适当的处理,保证系
6
湖南商务职业技术学院毕业设计
统的可用性。
异常处理:系统应能够捕获和处理各种异常情况,避免系统崩溃或数据丢
失。
安全性:
用户认证和权限管理:系统应具备可靠的用户认证机制,确保只有授权用
户能够访问系统,并根据用户角色和权限限制其操作范围。
数据隐私保护:系统应对客户信息进行保护,采取适当的安全措施,避免
客户信息遭到非法获取或篡改。
可用性:
用户界面友好性:系统的用户界面应简洁、直观,易于理解和操作,提供
良好的用户体验。
错误处理提示:系统应提供清晰的错误提示信息,帮助用户理解出现的问
题并提供解决方案。
文档和帮助信息:系统应提供详细的文档和帮助信息,方便用户了解系统
的功能和操作方法。
可扩展性:
模块化架构:系统应采用模块化的架构设计,各个功能模块独立,易于扩
展和修改。
组件复用性:系统应利用已有的组件和库,避免重复开发,提高系统开发
效率和质量。
扩展性:系统应支持灵活的扩展机制,能够方便地添加新的功能模块或集
成外部系统。以上是基于SpringBoot的客户关系管理系统的一些非功能需求
描述,根据具体情况和研究目标,还可以进一步补充和详细描述其他非功能需
求。
2.3需求用例建模
通过对功能需求的分析,创建以下总体用例模型,如图2-1所示。
7
湖南商务职业技术学院毕业设计
图2-1系统的总体用例模型
管理员拥有员工管理、客户管理、行业管理、统计报表、系统设置的权力,
而普通员工只能对营销管理进行操作。
2.3.1登录功能模块的用例
图2-2登录功能模块的用例图
通过对用例的细化,使用活动图针对系统动态行为进行建模。登录功能模
块的用例图如图2-2所示。
系统设置模块用例描述如表2-1所示.
表2-1登录模块用例描述
项目描述
用例名称登录
8
湖南商务职业技术学院毕业设计
用例标识号001
参与者管理员
用户可以对用户的账户、角色和权限进行管理
简要说明
前置条件管理员登录系统并进入用户管理模块。
2.3.2客户管理功能模块的用例
客户管理模块是一个可以对用户进行管理的工具,它可以让管理员对用
户进行添加,编辑,删除等操作,以便于维护用户的信息和权限。而普通
员工则只能查看用户的信息,不能修改或删除。这样可以保证用户的数据
安全和系统的稳定性。
图2-3客户管理用例图
客户管理模块用例描述如表2-2所示,可以进行管理用户等操作。
表2-2客户管理模块用例描述
项目参与者进入主页面对客户进行管理
用例名称查看用户信息
用例标识号002
参与者管理员,公司职员
简要说明仅有管理员能够对客户信息进行修改
前置条件参与者已登录,进入主页面
其他事件流可使用左侧导航栏切换页面
9
湖南商务职业技术学院毕业设计
异常事件流提示操作有误,请参与人确认
后置条件数据无误
2.3.3项目信息管理功能模块的用例
项目信息管理模块是一种能够对服务进行全方位管理的系统,它涵盖了
服务的创建、分配、反馈、归档、处理等五个主要功能。具体来说,服务创
建功能可以根据客户的需求和问题,生成相应的服务工单;服务分配功能可
以根据服务客户对服务的评价和建议,以及对服务人员的奖惩;服务归档功
能可以将已完成或已取消的服务工单存储在数据库中,以便日后查询和分
析;服务处理功能可以让服务人员通过系统执行和记录服务的具体步骤和结
果。通过这些功能,服务管理模块可以帮助服务人员提高服务效率和效果,
增加客户忠诚度和口碑,提升企业竞争力和收益。此外,服务管理模块还采
用了一些先进的技术和理念。
图2-4项目信息管理用例图
项目信息管理功能模块用例描述如表2-3所示。
表2-3项目信息管理模块用例描述
项目参与者进入主页面进行服务管理
用例名称管理服务
10
湖南商务职业技术学院毕业设计
用例标识号004
参与者管理员,公司职员
简要说明该用例描述了用户和管理员对服务进行操作。
前置条件参与者已登录系统,并有权限查看和编辑服务
其他事件流用户点击可用的列表
异常事件流提示操作有误,请参与人确认
后置条件完成服务管理的操作
2.3.4项目收益功能模块的用例
图2-5项目收益功能模块用例图
项目收益功能模块用例描述如表2-4所示。
表2-4项目收益功能模块用例描述
项目参与者进入主页面进行服务管理
用例名称收益管理
用例标识号005
参与者管理员,公司职员
简要说明该用例描述了用户和管理员对服务进行操作。
前置条件参与者已登录系统,并有权限查看和编辑服务
11
湖南商务职业技术学院毕业设计
其他事件流用户点击可用的列表
异常事件流提示操作有误,请参与人确认
后置条件完成收益管理的操作
3系统概要设计
3.1系统设计原则
客户服务系统设计的原则是以客户为中心,通过标准化和自动化的服务流
程和系统,提高服务效率和质量,降低客户服务成本,实现企业的可持续发展。
1)客户至上:客户服务系统设计的核心原则是以客户为中心,满足客户需
求和期望,提供优质的客户服务。
2)标准化流程:客户服务系统需要建立标准化的服务流程,包括客户咨询、
投诉、售后服务等环节,通过标准化流程,提高服务效率和质量。
3)自动化系统:客户服务系统需要建立自动化的服务系统,包括客户服务
平台、客户服务中心、自动回复等功能,提高服务效率和质量,降低客户服务
成本。
4)持续优化:客户服务系统需要不断优化服务流程和系统,提高服务质量
和效率,满足客户不断变化的需求和期望。
12
湖南商务职业技术学院毕业设计
3.2系统框架设计
图3-1系统整体框架图
3.3系统功能设计
系统模块化结构设计工作是在系统分析阶段对子系统划分的基础上,在进
一步地划分,将它逐层的分解成多个大小相同、功能单一、具有一定独立性的
模块,以便程序设计工作的同时,有加强了数据库之间的联系,使系统更加的
完美。根据客户关系管理的需求分析和用例建模分析,本文确定了管理系统的
主要功能模块,包括员工管理、客户管理、行业类型管理和项目信息管理等。
管理系统的功能结构图如图3-2所示,本系统共有5大主要功能模块。
13
湖南商务职业技术学院毕业设计
图3-2系统功能结构图
3.3.1登录功能模块设计
针对系统功能结构图进行进一步细化分析,得到各子模块相关功能描述,
功能描述使用功能流程图描述,如下图3-3。
图3-3登录功能模块流程图
14
湖南商务职业技术学院毕业设计
3.3.2客户管理功能模块功能设计
图3-4客户管理功能模块流程图
3.3.3项目信息管理功能模块设计
图3-5项目信息管理功能模块流程图
15
湖南商务职业技术学院毕业设计
3.3.4项目收益功能模块设计
图3-6项目收益功能模块流程图
3.4数据库设计
数据库设计往往是系统设计中最为核心的一个步骤。其设计的优良程度直
接影响系统的性能以及执行效率。
3.4.1设计原则
为取得较好的设计效果,进行数据库设计需要遵从以下原则:
1)标准化原则
数据库设计务必要遵照统一的设计标准与命名规范。具备统一设计分类与
编码规范的数据库不仅设计清晰直观,更有利于后期数据库及程序的维护,为以
后项目可扩展性提供条件。
2)冗余原则
以往数据库的设计要求不允许有冗余,要尽可能的满足3NF。然而,在系
统运行过程中,满足3NF的数据库设计并不能高效运行。复杂的表间关系,会
降低访问数据库执行的效率;过低的范式标准,又会导致数据库数据。所以,
16
湖南商务职业技术学院毕业设计
在数据库设计中,适当的冗余设计(允许派生性冗余设计,杜绝重复性冗余设
计),找到冗余与数据处理速度的平衡点,常常可以提高速度。
3.4.2概念设计
在数据库概念设计的过程中,采用E-R图来描述概念设计的结果。E-R图
是概念数据模型的高层描述所使用的数据模型或模式图,它为表述实体联系模
式图形式的数据模型提供了图形符号。根据客户关系管理系统数据进行分析,
其E-R图如下图3-7所示。
图3-7系统E-R图
3.4.3逻辑设计
针对ER模型,通过数据实体属性、实体间关系的全面分析,结合客户关
系管理系统的实际需求,根据E-R图转化为关系模式的转换方法,建立起了
本系统的关系模式,具体转化后的关系模式如下:
客户表
(id,khid,name,area,cus_manager,level,myd,xyd,address,post_code,
phone)
服务表
(id,server_type,overview,customer)
行业表
(id,chance_source,customer_name,cgjl,overview,link_man,link_phone)
17
湖南商务职业技术学院毕业设计
用户表
(id,user_name,user_pwd,true_name,email.phone,is_valid)
3.4.4数据字典
客户表的表结构如表3-1所示,该表主要用于记录客户信息,主要字段为
id,khid,name,area等
表3-1客户表表结构
字段名称数据类型字段内容主键设置非空
NOT
Idint编号KEY
NULL
Khidvarchar客户编号NULL
Namevarchar客户名NULL
areavarchar地址NULL
Cus_managervarchar客户经理NULL
levelvarchar客户级别NULL
mydvarchar满意度NULL
xydvarchar信用度NULL
addressvarchar详细地址NULL
Post_codevarchar邮编NULL
phonevarchar电话NULL
服务表的表结构如表3-2所示,该表主要用于记录服务信息,主要字段为
id,server_type,overview,customer等
表3-2服务表表结构
字段名称数据类型字段内容主键设置非空
NOT
idint编号KEY
NULL
Server_typevarchar服务类型NULL
overviewvarchar概要信息NULL
customervarchar客户NULL
18
湖南商务职业技术学院毕业设计
用户表的表结构如表3-3所示,该表主要用于记录用户信息,主要字段为
id,user_name,user_pwd,true_name,email.phone,is_valid
表3-3用户表表结构
字段名称数据类型字段内容主键设置非空
NOT
idint编号KEY
NULL
usernamevarchar用户名NULL
user_pwdvarchar用户密码NULL
true_namevarchar真实姓名NULL
emailvarchar邮箱NULL
phonevarchar电话NULL
isvalidIntNULL
行业表的表结构如表3-4所示,该表主要用于记录服务信息,主要字段为
id,chance_source,customer_name,cgjl,overview,link_man,link_pho
表3-4行业表结构
字段名称数据类型字段内容主键设置非空
NOT
idint编号KEY
NULL
chance_sourc
varchar机会来源NULL
e
customer_navarchar行业名称NULL
me
cgjlIntNULL
overviewvarchar概要NULL
link_manvarcharNULL
linkphonevarcharNULL
数据库设计总结:根据对客户关系管理的需求分析和用例建模分析,本
文确定了客户关系管理系统的主要功能模块,包括客户管理管理、服务管
理和系统设置等。根据对客户关系管理系统的需求分析和用例建模分析,本
文确定了客户关系管理系统的主要功能模块。
19
湖南商务职业技术学院毕业设计
4系统详细设计
4.1登录功能模块设计
4.1.1登录功能模块说明
系统应具备用户注册、登录、权限管理等功能,不同用户具有不同的权限
和角色。
4.1.2登录功能模块详细设计
图4-1登录管理功能序列图
4.2客户管理功能模块设计
4.2.1客户管理功能模块说明
系统的一个核心功能是客户管理,它包括对客户的信息和服务的管理和维
护。为了确保客户管理的安全和有效,系统设定了客户管理的權限,只有管理
員拥有这个權限,其他用户不能访问或操作客户管理的功能。也就是说,只有
管理员才能对客户进行管理,其他用户只能浏览客户的信息,不能更改或删除。
管理员可以对客户进行增加、修改、删除等操作,以便及时更新和维护客户的
信息。管理员在增加或修改客户时,需要填写客户的信息,如客户编号、客户
名称、客户类型、联系方式、地址等,这些信息是识别和联系客户的基本要素。
这些信息是计算和记录客户消费的基本要素。通过客户管理的權限控制和操作
规范,系统可以保证客户管理的质量和效率。
4.2.2客户管理功能模块详细设计
20
湖南商务职业技术学院毕业设计
图4-2客户管理功能序列图
4.3项目信息管理功能模块设计
4.3.1项目信息管理功能模块说明
我们服务管理是系统的另外一个核心功能,主要要包括了行业信息,类目
信息等等,比较重要的功能,只有管理员拥有相关的增删改的权限,我们的员
工只能查,这些相关的信息,能使我们员工较快速方面的,识别客户属于哪个
行业,和公司的哪个项目,可以提高我们的工作效率。
4.3.2项目信息管理功能模块详细设计
21
湖南商务职业技术学院毕业设计
图4-3项目信息管理功能序列图
4.4项目收益功能模块设计
4.4.1项目收益功能模块说明
这个功能主要去查看每个部门的收益情况,可导出报表等,可以去分配收
益情况。
4.4.2项目收益功能模块详细设计
22
湖南商务职业技术学院毕业设计
图4-4项目收益管理功能序列图
5系统实现
5.1登录功能模块实现
5.1.1登录功能模块页面设计
图5-1登录功能界面
5.1.2登录功能模块核心代码实现
packagecom.controller;
23
湖南商务职业技术学院毕业设计
importjava.util.Arrays;
importjava.util.Calendar;
importjava.util.Date;
importjava.util.Map;
importjavax.servlet.http.HttpServletRequest;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.GetMapping;
importorg.springframework.web.bind.annotation.PathVariable;
importorg.springframework.web.bind.annotation.PostMapping;
importorg.springframework.web.bind.annotation.RequestBody;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RequestParam;
importorg.springframework.web.bind.annotation.ResponseBody;
importorg.springframework.web.bind.annotation.RestController;
importcom.annotation.IgnoreAuth;
importcom.baomidou.mybatisplus.mapper.EntityWrapper;
importcom.entity.TokenEntity;
importcom.entity.UserEntity;
importcom.service.TokenService;
importcom.service.UserService;
importcom.utils.CommonUtil;
importcom.utils.MPUtil;
importcom.utils.PageUtils;
importcom.utils.R;
importcom.utils.ValidatorUtils;
/**
*登录相关
*/
@RequestMapping("users")
@RestController
publicclassUserController{
@Autowired
privateUserServiceuserService;
@Autowired
24
湖南商务职业技术学院毕业设计
privateTokenServicetokenService;
/**
*登录
*/
@IgnoreAuth
@PostMapping(value="/login")
publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest)
{
UserEntityuser=userService.selectOne(new
EntityWrapper<UserEntity>().eq("username",username));
if(user==null||!user.getPassword().equals(password)){
returnR.error("账号或密码不正确");
}
Stringtoken=tokenService.generateToken(user.getId(),username,"users",
user.getRole());
returnR.ok().put("token",token);
}
/**
*注册
*/
@IgnoreAuth
@PostMapping(value="/register")
publicRregister(@RequestBodyUserEntityuser){
//ValidatorUtils.validateEntity(user);
if(userService.selectOne(newEntityWrapper<UserEntity>().eq("username",
user.getUsername()))!=null){
returnR.error("用户已存在");
}
userService.insert(user);
returnR.ok();
}
/**
*退出
*/
@GetMapping(value="logout")
publicRlogout(HttpServletRequestrequest){
request.getSession().invalidate();
returnR.ok("退出成功");
}
25
湖南商务职业技术学院毕业设计
/**
*密码重置
*/
@IgnoreAuth
@RequestMapping(value="/resetPass")
publicRresetPass(Stringusername,HttpServletRequestrequest){
UserEntityuser=userService.selectOne(new
EntityWrapper<UserEntity>().eq("username",username));
if(user==null){
returnR.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
returnR.ok("密码已重置为:123456");
}
/**
*列表
*/
@RequestMapping("/page")
publicRpage(@RequestParamMap<String,Object>params,UserEntityuser){
EntityWrapper<UserEntity>ew=newEntityWrapper<UserEntity>();
PageUtilspage=userService.queryPage(params,
MPUtil.sort(MPUtil.between(MPUtil.allLike(ew,user),params),params));
returnR.ok().put("data",page);
}
/**
*列表
*/
@RequestMapping("/list")
publicRlist(UserEntityuser){
EntityWrapper<UserEntity>ew=newEntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre(user,"user"));
returnR.ok().put("data",userService.selectListView(ew));
}
/**
*信息
*/
@RequestMapping("/info/{id}")
publicRinfo(@PathVariable("id")Stringid){
UserEntityuser=userService.selectById(id);
26
湖南商务职业技术学院毕业设计
returnR.ok().put("data",user);
}
/**
*获取用户的session用户信息
*/
@RequestMapping("/session")
publicRgetCurrUser(HttpServletRequestrequest){
Longid=(Long)request.getSession().getAttribute("userId");
UserEntityuser=userService.selectById(id);
returnR.ok().put("data",user);
}
/**
*保存
*/
@PostMapping("/save")
publicRsave(@RequestBodyUserEntityuser){
//ValidatorUtils.validateEntity(user);
if(userService.selectOne(newEntityWrapper<UserEntity>().eq("username",
user.getUsername()))!=null){
returnR.error("用户已存在");
}
userService.insert(user);
returnR.ok();
}
/**
*修改
*/
@RequestMapping("/update")
publicRupdate(@RequestBodyUserEntityuser){
//ValidatorUtils.validateEntity(user);
UserEntityu=userService.selectOne(newEntityWrapper<UserEntity>().eq("username",
user.getUsername()));
if(u!=null&&u.getId()!=user.getId()&&u.getUsername().equals(user.getUsername()))
{
returnR.error("用户名已存在。");
}
userService.updateById(user);//全部更新
returnR.ok();
}
27
湖南商务职业技术学院毕业设计
/**
*删除
*/
@RequestMapping("/delete")
publicRdelete(@RequestBodyLong[]ids){
userService.deleteBatchIds(Arrays.asList(ids));
returnR.ok();
}
}
5.2客户管理功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年大数据在能源管理中的应用测试题库
- 2025-2026年大数据在智能物流中的应用测试卷
- 造船厂船体涂装细则
- 心理基础及测量 答案
- 2026下半年高中地理教资面试答辩题库及解析
- 初中化学教资面试易错题题库及答案
- 《战略能力计划》课件
- 企业战略的体系与执行
- 护士面瘫康复指导
- 胆道蛔虫防治方案
- 2026年高级考评员职业技能等级认定考试题附答案
- 2026年河南省洛阳市公安招聘辅警考试试卷含答案
- 儿童耳科疾病的护理
- 2026中国土地整治与指标交易市场发展报告
- 5.14玉米历险记《探寻新航路》课件-历史九年级上册
- CSCO胰腺癌诊疗指南(2026版)
- 1.4《闪亮的坐标劳模王进喜》课件 中职语文高教版职业模块
- 3.放射性核素示踪技术与图像采集方式
- JJG 1011-2018角膜曲率计
- 水岸山居调研课件
- 经济犯罪侦查课件
评论
0/150
提交评论