基于SSM框架+Mysql的企业CRM客户关系管理系统项目

基于SSM框架+Mysql的企业CRM[客户关系管理系统]项目

完整项目地址:https://download.csdn.net/download/lijunhcn/88430562

该项目是基于SSM实现的客户关系管理系统

1️⃣技术栈

Spring+SpringMVC+MyBatis+Thymeleaf+Vue+JS+Jquery+Axios+Json

服务器: Tomcat_9.0.60

数据库: MySQL_8.0.28

开发工具:IDEA_2021.3.3

页面:Bootstrap_3.3.0

2️⃣已实现的功能

⭐️ 账号登录

⭐️ 市场活动

3️⃣日志

实现基本的登录功能:
1. 使用@RequestBody接收Axios传来的Json对象时,可以用一个Map对象接收,也可以用一个POJO类对象接收

2. 使用@RequestBody接收Axios传来的Json对象时,必须设置请求报文中的Content-Type属性为application/json,否则报HTTP:415

3. 导入js静态文件(vue.js,jquery.js等)时,不要直接使用相对路径,使用thymeleaf或者使用绝对路径
记住密码,退出登录,验证登录状态:
1. 使用@RequestBody接收Axios传来的Json对象时,接收到的checked属性为一个Boolean类型,而不是一个String

2. 在用户不需要记住密码时,调用setMaxAge方法将cookie的生命周期设置为0,即可销毁cookie

3. 由于使用thymeleaf暂时没找到操作cookie的方法,故此导入vue-cookie包,使用vue操作cookie

4. 在vue中,不能用$cookies.get('loginAct') && $cookies.get('loginPwd')为checked赋值,此时值为$cookies.get('loginPwd')。应该用!!($cookies.get('loginAct') && $cookies.get('loginPwd')),此时值为一个布尔类型
工作台主页显示,市场活动主页面显示,创建市场活动:
1. 输入日期的input标签中应该加上autocomplete="off",否则历史记录的下拉列表会覆盖日历

2. vue无法在实现了bootstrap日历功能的input标签上使用v-model进行双向绑定,会出现值消失的情况。建议ref选择标签用value直接获取日期值

3. bootstrap日历插件汉化包不能正常加载,出现乱码,解决办法:将汉化包中的代码复制到Script标签下
市场活动的分页查询与展示,条件查询:
1. 项目视频上有错误,查询市场活动的sql语句中的limit后面应该用${beginNo},${pageSize},而不是#{}.此外limit的起始索引应该为0,而不是1

2. vue中调用钩子函数beforeMount(),在页面渲染之前向服务器发送axios异步请求,注意:此时页面还没有渲染,所以无法获取页面中的标签

3. vue中使用v-for,根据列表动态的显示html标签
翻页功能,全选功能,删除市场活动:
1. 进行翻页操作的时候,注意要把选中的条目和全选重置

2. 从axios返回给Java的json对象中的数组是一个List对象而不是一个数组,在controller中强转一下可以直接传入service

3. Mybatis,foreach标签中的collection属性应该填list,表示的是List类型
修改市场活动,导出全部市场活动:
导入市场活动,市场活动备注的增删改查:
1. 文件上传用到MultipartFile类,需要引入相关插件并在MVC配置文件中配置multipartResolver解析器bean

2. 将thymeleaf中的变量传入vue方法,语法为:th:@click="|getName('${person.name}')|"

部分数据库SQL代码:

drop table if exists tbl_clue;

drop table if exists tbl_clue_activity_relation;

drop table if exists tbl_clue_remark;

drop table if exists tbl_contacts;

drop table if exists tbl_contacts_activity_relation;

drop table if exists tbl_contacts_remark;

drop table if exists tbl_customer;

drop table if exists tbl_customer_remark;

drop table if exists tbl_tran;

drop table if exists tbl_tran_history;

drop table if exists tbl_tran_remark;

/*==============================================================*/
/* Table: tbl_clue                                              */
/*==============================================================*/
create table tbl_clue
(
   id                   char(32) not null,
   fullname             varchar(255),
   appellation          varchar(255),
   owner                char(32),
   company              varchar(255),
   job                  varchar(255),
   email                varchar(255),
   phone                varchar(255),
   website              varchar(255),
   mphone               varchar(255),
   state                varchar(255),
   source               varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   description          varchar(255),
   contact_summary       varchar(255),
   next_contact_time      char(10),
   address              varchar(255),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_clue_activity_relation                            */
/*==============================================================*/
create table tbl_clue_activity_relation
(
   id                   char(32) not null,
   clue_id               char(32),
   activity_id           char(32),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_clue_remark                                       */
/*==============================================================*/
create table tbl_clue_remark
(
   id                   char(32) not null,
   note_content          varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   edit_flag             char(1),
   clue_id               char(32),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_contacts                                          */
/*==============================================================*/
create table tbl_contacts
(
   id                   char(32) not null,
   owner                char(32),
   source               varchar(255),
   customer_id           char(32),
   fullname             varchar(255),
   appellation          varchar(255),
   email                varchar(255),
   mphone               varchar(255),
   job                  varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   description          varchar(255),
   contact_summary       varchar(255),
   next_contact_time      char(10),
   address              varchar(255),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_contacts_activity_relation                        */
/*==============================================================*/
create table tbl_contacts_activity_relation
(
   id                   char(32) not null,
   contacts_id           char(32),
   activity_id           char(32),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_contacts_remark                                   */
/*==============================================================*/
create table tbl_contacts_remark
(
   id                   char(32) not null,
   note_content          varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   edit_flag             char(1),
   contacts_id           char(32),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_customer                                          */
/*==============================================================*/
create table tbl_customer
(
   id                   char(32) not null,
   owner                char(32),
   name                 varchar(255),
   website              varchar(255),
   phone                varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   contact_summary       varchar(255),
   next_contact_time      char(10),
   description          varchar(255),
   address              varchar(255),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_customer_remark                                   */
/*==============================================================*/
create table tbl_customer_remark
(
   id                   char(32) not null,
   note_content          varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   edit_flag             char(1),
   customer_id           char(32),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_tran                                              */
/*==============================================================*/
create table tbl_tran
(
   id                   char(32) not null,
   owner                char(32),
   money                varchar(255),
   name                 varchar(255),
   expected_date         char(10),
   customer_id           char(32),
   stage                varchar(255),
   type                 varchar(255),
   source               varchar(255),
   activity_id           char(32),
   contacts_id           char(32),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   description          varchar(255),
   contact_summary       varchar(255),
   next_contact_time      char(10),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_tran_history                                      */
/*==============================================================*/
create table tbl_tran_history
(
   id                   char(32) not null,
   stage                varchar(255),
   money                varchar(255),
   expected_date         char(10),
   create_time           char(19),
   create_by             varchar(255),
   tran_id               char(32),
   primary key (id)
);

/*==============================================================*/
/* Table: tbl_tran_remark                                       */
/*==============================================================*/
create table tbl_tran_remark
(
   id                   char(32) not null,
   note_content          varchar(255),
   create_by             varchar(255),
   create_time           char(19),
   edit_by               varchar(255),
   edit_time             char(19),
   edit_flag             char(1),
   tran_id               char(32),
   primary key (id)
);
一、项目简介 本项目是一套基于SSM的客户资料管理系统/客户关系管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后台框架:Spring、SpringMVC、MyBatis ​数据库MySQL 开发环境:JDK、Eclipse、Tomcat 三、系统功能 该客户资料管理系统/客户关系管理系统以实际运用为开发背景,采用Eclipse开发工具,Java开发语言,使用JSP设计页面,Tomcat服务器作为Web服务器,数据的存储使用MySQL数据库,从而保证系统的稳定性。系统设计按标准化、规范化,分层设计,构件化进行相关功能的实现。 本系统主要分为三种角色,分别是:管理员、客户经理、营销主管,其功能如下: 1)管理员 管理员的主要功能包括:员工信息管理、产品信息管理、客户信息管理、服务信息管理、交易信息管理、客户来源管理、支付方式管理、产品类型管理、职位信息管理、服务类型管理、客户等级管理、客户开发进度管理。 2)客户经理 客户经理的主要功能包括:产品信息管理、客户信息管理、服务信息管理、交易信息管理、基础信息查询。 3)营销主管 营销主管的主要功能包括:员工信息管理、产品信息管理、客户信息管理、服务信息管理、交易信息管理、基础信息查询。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辣椒种子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值