基于ssm的客户管理系统
时间:2022-07-25
本文章向大家介绍基于ssm的客户管理系统,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
01 概述
一个简单的客户关系管理系统 管理用户的基本数据 客户的分配 客户的流失 已经客户的状态
02 技术
ssm + jdk1.8 + mysql5.4
03 运行环境
ecplice + jdk1.8 + tomcat
04 功能
1- 字典管理
2- 用户管理
3- 角色管理
4- 权限管理
5- 部门管理
6-客户信息管理
7-数据添加-编辑-删除
8-客户信息的跟进
9-客户信息状态
05 运行截图
客户信息
跟进信息
登录信息
权限管理
06 主要代码
客户信息
package com.controller;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import com.dao.KhClientinfoMapper;
import com.dao.KhHuiMapper;
import com.dao.LogsMapper;
import com.entity.KhClientinfo;
import com.entity.KhHui;
import com.entity.Logs;
import com.util.Pagination;
@Controller
@RequestMapping("/khclient")
public class KhClientinfoController extends BaseController{
@Resource//客户表
KhClientinfoMapper khclientDao;
@Resource//客户跟进表
KhHuiMapper khhuiDao;
@Resource
LogsMapper logsDao;
//客户表显示
@RequestMapping("/show")
public String show(Integer index,HttpServletRequest request) {
int pageNO = 1;
if(index!=null){
pageNO = index;
}
String names = (String) request.getSession().getAttribute("name");
String relo = (String) request.getSession().getAttribute("relo");
Pagination pager = new Pagination();
Map params = new HashMap();
params.put("start", (pageNO-1)*40);
params.put("pagesize", 40);
if("客服".equals(relo)) {
params.put("kefuname", names);
}
List all = khclientDao.show(params);
pager.setData(all);
pager.setIndex(pageNO);
request.getSession().setAttribute("pageNO", pager.getIndex());
pager.setPageSize(40);
pager.setTotal(khclientDao.getTotal());
pager.setPath("show.do?");
request.setAttribute("pager", pager);
return "client/cl-show";
}
//客户表新建
@RequestMapping(value = "/add")
public String add(KhClientinfo data,HttpServletRequest request) {
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//设置时间显示格式
String str = sdf.format(now);
String names = (String) request.getSession().getAttribute("name");
data.setKehuday(str);
data.setKefuname(names);
data.setKhstate("未到访");
Date time = null;
if ("A:已交房客户".equals(data.getKehulei())) {
time= new Date(now.getTime() + (long)3 * 24 * 60 * 60 * 1000);//加3天
}
if ("B:3个月内交房客户".equals(data.getKehulei())) {
time= new Date(now.getTime() + (long)7 * 24 * 60 * 60 * 1000);//加7天
}
if ("C:3-6交房客户".equals(data.getKehulei())) {
time= new Date(now.getTime() + (long)15 * 24 * 60 * 60 * 1000);//加15天
}
if ("D:6个月以上交房客户".equals(data.getKehulei())) {
time= new Date(now.getTime() + (long)30 * 24 * 60 * 60 * 1000);//加30天
}
String stc = sdf.format(time);
if (data.getKehutel().length()>1) {
KhClientinfo khClient=khclientDao.tel(data.getKehutel());
if (khClient!=null) {
request.setAttribute("all", khClient.getKefuname());
return "client/chongfu";
}
}
khclientDao.insertSelective(data);
KhClientinfo khClientinfo=khclientDao.isdn();
KhHui khHui=new KhHui();
khHui.setYuday(stc);
khHui.setWenti("客户第一次跟进");
khHui.setInid(khClientinfo.getId());
khHui.setScday(str);
khhuiDao.insertSelective(khHui);
Integer pagerNO=(Integer)request.getSession().getAttribute("pageNO");
return "redirect:/khclient/show?index="+pagerNO;
}
//客户表删除
@RequestMapping("/{id}/del")
public String del(@PathVariable("id") int id,HttpServletRequest request) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 时间字符串产生方式
String uid = format.format(new Date());
String names = (String) request.getSession().getAttribute("name");
KhClientinfo khClientinfo=khclientDao.selectByPrimaryKey(id);
Logs logs =new Logs();
logs.setDay(uid);
logs.setLoname(names);
logs.setLei("删除");
logs.setBiaoid(khClientinfo.getKuhuname()+"+"+khClientinfo.getKehutel());
logs.setBiao("客户表及跟进详情");
logsDao.insertSelective(logs);
khclientDao.deleteByPrimaryKey(id);
Integer pagerNO=(Integer)request.getSession().getAttribute("pageNO");
String like=request.getParameter("like");
if (like!=null&&like.length()>0) {
return "redirect:/khclient/like?index="+pagerNO;
}else {
return "redirect:/khclient/show?index="+pagerNO;
}
}
//客户表编辑前取数据
@RequestMapping("/{id}/load")
public String load(@PathVariable("id") int id,HttpServletRequest request, ModelMap model) {
KhClientinfo record = (KhClientinfo) khclientDao.selectByPrimaryKey(id);
model.addAttribute("record", record);
String like=request.getParameter("like");
if (like!=null) {
request.setAttribute("like", like);
}
return "client/cl-modify";
}
//客户表编辑
@RequestMapping(value = "/update")
public String update(KhClientinfo data,HttpServletRequest request) {
khclientDao.updateByPrimaryKeySelective(data);
Integer pagerNO=(Integer)request.getSession().getAttribute("pageNO");
String like=request.getParameter("like");
if (like!=null&&like.length()>0) {
return "redirect:/khclient/like?index="+pagerNO;
}else {
return "redirect:/khclient/show?index="+pagerNO;
}
}
//客户表模糊查找
@RequestMapping("/like")
public String like(Integer index, KhClientinfo data,HttpServletRequest request) {
int pageNO = 1;
if(index!=null){
pageNO = index;
}
Pagination pager = new Pagination();
Map params = new HashMap();
String lk=request.getParameter("lk");
String names = (String) request.getSession().getAttribute("name");
String relo = (String) request.getSession().getAttribute("relo");
if (lk!=null&&lk.length()>0) {
request.getSession().setAttribute("kuhuname",data.getKuhuname());
request.getSession().setAttribute("kehuaddres",data.getKehuaddres());
request.getSession().setAttribute("kehutel",data.getKehutel());
request.getSession().setAttribute("kehulei",data.getKehulei());
request.getSession().setAttribute("kehugenre",data.getKehugenre());
request.getSession().setAttribute("kaiday",data.getKaiday());
request.getSession().setAttribute("weixin",data.getWeixin());
request.getSession().setAttribute("channel",data.getChannel());
request.getSession().setAttribute("khstate",data.getKhstate());
request.getSession().setAttribute("kefuname",data.getKefuname());
request.getSession().setAttribute("kehuday",data.getKehuday());
request.getSession().setAttribute("qu",data.getQu());
request.getSession().setAttribute("an",data.getAn());
request.getSession().setAttribute("jiename",data.getJiename());
}
String qu= (String) request.getSession().getAttribute("qu");
if(qu!=null&&qu.length()>0) {
params.put("qu", qu);
}
String an= (String) request.getSession().getAttribute("an");
if(an!=null&&an.length()>0) {
params.put("an", an);
}
String jiename= (String) request.getSession().getAttribute("jiename");
if(jiename!=null&&jiename.length()>0) {
params.put("jiename", jiename);
}
String kaiday= (String) request.getSession().getAttribute("kaiday");
if(kaiday!=null&&kaiday.length()>0) {
params.put("kaiday", kaiday);
}
String weixin= (String) request.getSession().getAttribute("weixin");
if(weixin!=null&&weixin.length()>0) {
params.put("weixin", weixin);
}
String channel= (String) request.getSession().getAttribute("channel");
if(channel!=null&&channel.length()>0) {
params.put("channel", channel);
}
String khstate= (String) request.getSession().getAttribute("khstate");
if(khstate!=null&&khstate.length()>0) {
params.put("khstate", khstate);
}
String kehuday= (String) request.getSession().getAttribute("kehuday");
if(kehuday!=null&&kehuday.length()>0) {
params.put("kehuday", kehuday);
}
String kuhuname= (String) request.getSession().getAttribute("kuhuname");
if(kuhuname!=null&&kuhuname.length()>0) {
params.put("kuhuname", kuhuname);
}
String kehuaddres= (String) request.getSession().getAttribute("kehuaddres");
if(kehuaddres!=null&&kehuaddres.length()>0) {
params.put("kehuaddres", kehuaddres);
}
String kehugenre= (String) request.getSession().getAttribute("kehugenre");
if(kehugenre!=null&&kehugenre.length()>0) {
params.put("kehugenre", kehugenre);
}
String kehulei= (String) request.getSession().getAttribute("kehulei");
if(kehulei!=null&&kehulei.length()>0) {
params.put("kehulei", kehulei);
}
String kehutel= (String) request.getSession().getAttribute("kehutel");
if(kehutel!=null&&kehutel.length()>0) {
params.put("kehutel", kehutel);
}
String kefuname= (String) request.getSession().getAttribute("kefuname");
if("客服".equals(relo)) {
params.put("kefuname", names);
}else {
if(kefuname!=null&&kefuname.length()>0) {
params.put("kefuname", kefuname);
}
}
params.put("start", (pageNO-1)*40);
params.put("pagesize",40);
List all = khclientDao.like(params);
pager.setData(all);
pager.setIndex(pageNO);
request.getSession().setAttribute("pageNO",pager.getIndex());
pager.setPageSize(40);
pager.setTotal(khclientDao.getlikeTotal(params));
pager.setPath("like?");
request.setAttribute("pager", pager);
return "client/cl-showlike";
}
}
用户登录
package com.controller;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import com.dao.LogMapper;
import com.dao.LogsMapper;
import com.entity.Log;
import com.util.Pagination;
@Controller
@RequestMapping("/log")
public class LogController extends BaseController{
@Resource
LogMapper logDao;
@Resource
LogsMapper logsDao;
//登录信息显示
@RequestMapping("/show")
public String show(Integer index,HttpServletRequest request,ModelMap model) {
int pageNO = 1;
if(index!=null){
pageNO = index;
}
Pagination pager = new Pagination();
Map params = new HashMap();
params.put("start", (pageNO-1)*40);
params.put("pagesize", 40);
List all = logDao.show(params);
pager.setData(all);
pager.setIndex(pageNO);
request.getSession().setAttribute("pageNO", pager.getIndex());
pager.setPageSize(40);
pager.setTotal(logDao.getTotal());
pager.setPath("show.do?");
request.setAttribute("pager", pager);
return "dept/denlu/show";
}
//登录信息模糊查找
@RequestMapping("/like")
public String like(Integer index, Log data,HttpServletRequest request) {
int pageNO = 1;
if(index!=null){
pageNO = index;
}
Pagination pager = new Pagination();
Map params = new HashMap();
String lk=request.getParameter("lk");
String account="";
String onlineTime="";
String exitTime="";
if (lk!=null&&lk.length()>0) {
request.getSession().setAttribute("account",data.getAccount());
request.getSession().setAttribute("onlineTime",data.getOnlineTime());
request.getSession().setAttribute("exitTime",data.getExitTime());
}
account=(String) request.getSession().getAttribute("account");
onlineTime=(String) request.getSession().getAttribute("onlineTime");
exitTime=(String) request.getSession().getAttribute("exitTime");
if(account!=null&&account.length()>0) {
params.put("account",account);
}
if(onlineTime!=null&&onlineTime.length()>0) {
params.put("onlineTime",onlineTime);
}
if(exitTime!=null&&exitTime.length()>0) {
params.put("exitTime",exitTime);
}
params.put("start", (pageNO-1)*40);
params.put("pagesize", 40);
List all = logDao.like(params);
pager.setData(all);
pager.setIndex(pageNO);
request.getSession().setAttribute("pageNO", pager.getIndex());
pager.setPageSize(40);
pager.setTotal(logDao.getlikeTotal(params));
pager.setPath("like.do?");
request.setAttribute("pager", pager);
return "dept/denlu/show";
}
//个人操作记录显示
@RequestMapping("/shows")
public String shows(Integer index,HttpServletRequest request,ModelMap model) {
int pageNO = 1;
if(index!=null){
pageNO = index;
}
Pagination pager = new Pagination();
Map params = new HashMap();
params.put("start", (pageNO-1)*40);
params.put("pagesize", 40);
List all = logsDao.show(params);
pager.setData(all);
pager.setIndex(pageNO);
request.getSession().setAttribute("pageNO", pager.getIndex());
pager.setPageSize(40);
pager.setTotal(logsDao.getTotal());
pager.setPath("shows.do?");
request.setAttribute("pager", pager);
return "dept/caozuo/show";
}
}
07 源码下载
关注公众号【C you again】,回复“基于ssm的客户管理系统”免费领取。运行
- 找到文件夹sql中的sql文件,导入到mysql中
- 将工程导入到eclipse中,修改数据库连接信息
- 启动项目,浏览器地址栏输入:http://localhost:8080/ssmClient
- Android6.0源码之蓝牙研究汇总(一)--from初学者
- Android6.0蓝牙协议之OPP
- 简单直白教你理解Java中四大引用强引用,软引用,弱引用,虚引用
- ubuntu系统上配置git
- Android源码编译出错No rule to make...
- Android中资源各种引用方式?,@,@*等等
- git撤销修改各种情况
- Android中ContentProvider简介
- 利用Androidstudio开发Java工程图文详解
- 小程序学习笔记分享(含1-tabBar、轮播图和九宫格)
- Android中ViewStub控件分析及使用
- 如何实现微信小程序的滚动加载功能
- 分享微信小程序推送消息步骤
- 实例分享微信小程序项目搭建(下)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Mac下快速搭建PHP开发环境步骤详解
- PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
- Ajax+PHP实现的模拟进度条功能示例
- python实例化对象的具体方法
- PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
- YII框架关联查询操作示例
- Keras之fit_generator与train_on_batch用法
- django美化后台django-suit的安装配置操作
- python读取excel进行遍历/xlrd模块操作
- 浅谈Keras的Sequential与PyTorch的Sequential的区别
- python 制作python包,封装成可用模块教程
- 使用python脚本自动生成K8S-YAML的方法示例
- Python虚拟环境库virtualenvwrapper安装及使用
- tp5框架内使用tp3.2分页的方法分析
- YII框架常用技巧总结