作者: IT学长,从事软件开发 努力在IT搬砖路上的技术小白
公众号:IT学长】,分享计算机类毕业设计源码、IT技术文章、游戏源码、网页模板、程序人生等等。公众号回复 【粉丝】进博主技术群,与大佬交流,领取干货学习资料
关于转载:欢迎转载博主文章,转载时表明出处
求赞环节:创作不易,记得 点赞+评论+转发 谢谢你一路支持

查看更多系统:系统大全,课程设计、毕业设计,请点击这里查看

文章目录

  • 查看更多系统:[系统大全,课程设计、毕业设计,请点击这里查看](https://blog.csdn.net/qq_40625778/article/details/108213145)
  • 01 概述
  • 02 技术
  • 03 运行环境
  • 04 功能
  • 05 运行截图
    • 客户信息
    • 跟进信息
    • 登录信息
    • 权限管理
  • 06 主要代码
    • 客户信息
  • 用户登录
  • 07 源码下载
  • 运行

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;@ResourceLogsMapper 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{@ResourceLogMapper logDao;@ResourceLogsMapper 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 源码下载

关注公众号【IT学长】,回复“基于ssm的客户管理系统”免费领取。
亦可直接扫描主页二维码关注,回复“基于ssm的客户管理系统”免费领取,点此打开个人主页

运行

  • 找到文件夹sql中的sql文件,导入到mysql中
  • 将工程导入到eclipse中,修改数据库连接信息
  • 启动项目,浏览器地址栏输入:http://localhost:8080/ssmClient

说明:此源码来源于网络,若有侵权,请联系删除!!

基于ssm的客户管理系统相关推荐

  1. c++new时赋初值_基于ssm的客户管理系统 - C_you_again

    01 概述 一个简单的客户关系管理系统 管理用户的基本数据 客户的分配 客户的流失 已经客户的状态 02 技术 ssm + jdk1.8 + mysql5.4 03 运行环境 ecplice + jd ...

  2. 基于SSM的仓储管理系统

    1,项目功能: 供应商管理:为管理员提供实现对供应商信息的管理维,包括对供应商的查询.添加.修改和删除等操作. 商品管理:为管理员提供实现对商品信息的管理维,包括对商品的查询.添加.修改和删除出库等操 ...

  3. java计算机毕业设计基于Ssm学生信息管理系统源程序+mysql+系统+lw文档+远程调试

    java计算机毕业设计基于Ssm学生信息管理系统源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计基于Ssm学生信息管理系统源程序+mysql+系统+lw文档+远程调试 本源码技术栈 ...

  4. 基于SSM的车辆租赁管理系统

    1.项目介绍 基于SSM的车辆租赁管理系统1拥有两种角色 管理员:用户管理.用户租车.用户换车和车辆入库.添加汽车.添加客户.生成出租单.客户选车.出租单管理.查询出租单.角色权限管理等 销售人员:用 ...

  5. 基于ssm物业报修管理系统毕业设计源码111024

    基于ssm物业报修管理系统 摘  要 随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管 ...

  6. 基于SSM的物料管理系统(源码+文档+数据库)

    目录 摘要 一.需求分析 二.文档目录 三.功能性需求分析 四.非功能性需求分析 五.项目数据库设计 六.主要功能模块实现 6.1 登录板块 6.1.1 后台登录核心验证代码 6.1.2 前台登录跳转 ...

  7. java计算机毕业设计基于Ssm学生信息管理系统源码+数据库+系统+lw文档+mybatis+运行部署

    java计算机毕业设计基于Ssm学生信息管理系统源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计基于Ssm学生信息管理系统源码+数据库+系统+lw文档+mybatis+运 ...

  8. 基于SSM的客货运管理系统 JAVA MYSQL

    10174_基于SSM的客货运管理系统 技术: SSM 工具 eclipse + tomcat + mysql + jdk 功能详情 管理员界面: 系统登录.个人信息.员工管理.客户管理.反馈信息.基 ...

  9. 基于SSM的物流仓储管理系统(包远程安装配置和代码讲解)

          博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 基于SSM的物流仓储管理系统 演示视频 基于SSM的物流仓储管理系统( ...

  10. 基于SSM车辆维修管理系统-JavaWeb汽车保养管理系统

    基于SSM车辆维修管理系统-JavaWeb汽车保养管理系统 基于ssm框架实现一个车辆维修管理系统(java+springmvc+mybatis+mysql),能够实现用户信息管理.车辆信息管理.故障 ...

最新文章

  1. Nginx的正向代理与反向代理
  2. python程序设计实验教程 翟萍 第五章答案_Python程序设计实验教程
  3. 文本框灰色文字提示,鼠标点击文字消失
  4. HandlerInterceptor拦截器使用总结
  5. 在JDK 9中将InputStream传输到OutputStream
  6. 超好:web app变革之rem
  7. 【VUE】vue在vue-cli3环境下基于axios解决跨域问题
  8. Javascript第三章数组Array常用方法第三课
  9. 职场小白靠这三招PDF技巧逆袭为职场达人
  10. java基础总结06-常用api类-Object和Objects
  11. Android5开机自动执行sh,自动脚本执行器
  12. 量化交易之Dual Thrust策略
  13. 毕业之后, 这些年薪50万+的90后程序员都经历了什么?
  14. Matlab运行时报License错误
  15. 99%的程序员都不明白:弱者和强者的唯一区别
  16. zbox mysql_centos6.5搭建禅道
  17. 华为服务器恢复远程连接的出厂用户名和密码
  18. R语言学习 - Rstudio
  19. 响应式设计:理解设备像素,CSS像素和屏幕分辨率
  20. 【96期】盘点那些关于Nginx的常考面试题

热门文章

  1. DataLogic 工业串口扫码器Python读取说明
  2. 才子进销存软件各版本说明
  3. qxdm无法安装问题闪一下_关于QXDM的安装,解决Win7下QIK报错的问题
  4. 存储过程与自定义函数的区别
  5. 刘奇:当今一切都要更实时、更弹性、更简单,TiDB 就是这样的基础设施 | TiDB DevCon 2020
  6. xp3系统登录服务器错误,WindowsXP系统LOL服务器连接异常即将退出怎么解决?
  7. ios 热更新可行性分析
  8. 运营商iptv服务器,IPTV 服务器
  9. Pandas-常用统计分析方法 describe、quantile、sum、mean、median、count、max、min、idxmax、idxmin、mad、var、std、cumsum
  10. 微信小程序文件大小限制