专栏首页IT技术圈(CSDN)基于ssm的客户管理系统

基于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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于SSM框架的客户管理系统设计与实现

    一个简单的客户关系管理系统,管理客户的基本数据、客户的分配、客户的流失以及客户的状态。

    C you again
  • ssm+layui+shiro搭建客户管理系统

    本系统实现功能为客户管理系统,集成客户消费,客户充值储值。客户分类的管理等,使用了前端layui框架、Mybatis框架、Spring框架、Spring MVC...

    用户1093975
  • 基于SSM+Activiti的公文管理系统

    基于SSM+Activiti的公文管理系统的设计与实现。项目只是实现了最基本的公文流程的处理,做的不好的地方请大家谅解。项目基于eclipse开发,使用的技术:...

    程序源代码
  • 基于jsp + SSM的跳蚤管理系统

    jsp+Servlet图书管理系统第一版的第一次更新:免费源码下载,停更,自行下载即可,谢谢:http://download.csdn.net/detail/b...

    别先生
  • 客户关系管理系统

    前言 为了巩固开发的流程,我们再拿一个客户关系管理系统来练手...! 成果图 我们完成的就是下面的项目! ? ---- 搭建配置环境 配置Tomcat 导入开发...

    Java3y
  • 基于SSM的教师管理系统 -- 源码下载

    数据维护:包括教师个人信息、教学获奖、发表论文、科研项目、指导竞赛、海外培训、进修项目、教学学时与调课等数据的增删改查,保存各类图片;

    剽悍一小兔
  • 基于大数据的客户关系管理

    利率市场化改革、宏观经济新常态、互联网金融和大数据时代的来临正从经营环境和商业模式两个维度彻底颠覆着商业银行赖以生存发展的生态环境。可以预期,内外部经营环境的变...

    华章科技
  • 基于SSM框架的JavaWeb通用权限管理系统

    这是一个通用权限管理系统项目,基于SSM(Spring + Spring-MVC +Mybatis)框架开发,其SQL语句持久在Hibernate 中,对原生S...

    C you again 的博客
  • 基于SSM框架的JavaWeb通用权限管理系统

    这是一个通用权限管理系统项目,基于SSM(Spring + Spring-MVC +Mybatis)框架开发,其SQL语句持久在Hibernate 中,对原生S...

    C you again
  • 【案例】恒丰银行——基于大数据的客户关系管理系统

    数据猿导读 恒丰银行客户关系管理系统依托大数据平台,采用最新的微服务软件架构和实时流处理技术,通过整合内外部数据,实现了360客户视图、智能获客、营销机会、产品...

    数据猿
  • CRM客户关系管理系统(四)

    zhang_derek
  • 【JavaWeb基础】客户关系管理系统(修订版)

    要想在下拉框中可以选择很多的数据,那么value的值就不能单单只有一个。当然了,也不可能在JSP页面中写下面的代码

    Java3y
  • 基于J2EE的网站后台建设项目定做

    我们的团队所有工作人员均为软件开发人员,信誉保证,有着多年毕业设计经验,我们在多年的一线开发岗位上积累了丰富的经验,保证服务的水平与专业性,拥有多年工作经验,能...

    JAVA毕设代做
  • 【程序源代码】基于SSM框架的权限管理系统

    今天给大家讲一讲:SpringBoot快速开发框架,内容相对比较简单。开发时使用的idea工具,大家按照如下步骤进行操作就可以了。基于SSM框架的权限管理系统,...

    程序源代码
  • SSM整合开发——基于SSM的OA系统

    链接: https://pan.baidu.com/s/18B-lWfOUnKZPvuVEHY_NmQ 提取码: ky7t 复制这段内容后打开百度网盘手机App...

    阮键
  • 基于SSM框架的日志管理

    然后每个控制类都extends这个BaseController,使用日志的时候叫调用logger日志管理类

    SmileNicky
  • golang实战--客户信息管理系统

    总结:通过golang实现的客户信息管理系统。学习一门语言最好的方式就是通过一个实际的例子。通过这个实例,不仅可以进一步巩固golang的相关基础技能,同时,也...

    西西嘛呦
  • JavaWeb客户信息管理系统LayUI+MySQL

    通过本课程的学习,可以对客户进行管理,包括超级管理员的登录信息,也可以创建一个部门信息,查询列表信息,增加账户信息,进行账户的锁定,解锁,密码的修改,退出,增加...

    用户1848403
  • 基于 Django 的手机管理系统

    希希里之海

扫码关注云+社区

领取腾讯云代金券