SSM(structs2+spring+mybatis)+Mysql实现的客户关系管理系统(功能包括:产品信息列表、管理员列表管理、客户信息管理、订单管理、员工信息管理等)

SSM(structs2+spring+mybatis)+Mysql实现的客户关系管理系统

本系统为了解决客户的科学化管理,实现了基于客户的产品管理、销售订单管理以及公司员工管理,后台管理员管理等功能。

实现功能截图

首页
请添加图片描述
产品列表
请添加图片描述
订单列表
请添加图片描述
员工列表
请添加图片描述
管理员列表
请添加图片描述
客户信息列表
请添加图片描述

系统功能

本会议管理系统实现了以下功能:
1、首页统计可视化
2、员工管理
3、订单管理
4、客户管理
5、管理员列表
6、产品管理

使用技术

数据库:mysql
开发工具:Eclipse(Myeclispe、Idea也可以)
知识点:SSM(spring+struts2+mybatis)

代码

实体类
Customer.java

package com.chinasoft.ssm.domain;

public class Customer {
	private String cus_no;
	private String cus_name;
	private String cus_birthday;
	private String cus_sex;
	private String cus_phone;
	private String cus_address;
	private String link_id;
	private String cus_rank;
	private String cus_company;
	private String emp_name;
	private String pro_name;
	
	public String getLink_id() {
		return link_id;
	}
	public void setLink_id(String link_id) {
		this.link_id = link_id;
	}
	public String getEmp_name() {
		return emp_name;
	}
	public void setEmp_name(String emp_name) {
		this.emp_name = emp_name;
	}
	public String getPro_name() {
		return pro_name;
	}
	public void setPro_name(String pro_name) {
		this.pro_name = pro_name;
	}
	public String getCus_no() {
		return cus_no;
	}
	public void setCus_no(String cus_no) {
		this.cus_no = cus_no;
	}
	public String getCus_name() {
		return cus_name;
	}
	public void setCus_name(String cus_name) {
		this.cus_name = cus_name;
	}
	public String getCus_birthday() {
		return cus_birthday;
	}
	public void setCus_birthday(String cus_birthday) {
		this.cus_birthday = cus_birthday;
	}
	public String getCus_sex() {
		return cus_sex;
	}
	public void setCus_sex(String cus_sex) {
		this.cus_sex = cus_sex;
	}
	public String getCus_phone() {
		return cus_phone;
	}
	public void setCus_phone(String cus_phone) {
		this.cus_phone = cus_phone;
	}
	public String getCus_address() {
		return cus_address;
	}
	public void setCus_address(String cus_address) {
		this.cus_address = cus_address;
	}
	public String getLink_no() {
		return link_id;
	}
	public void setLink_no(String link_no) {
		this.link_id = link_no;
	}
	public String getCus_rank() {
		return cus_rank;
	}
	public void setCus_rank(String cus_rank) {
		this.cus_rank = cus_rank;
	}
	public String getCus_company() {
		return cus_company;
	}
	public void setCus_company(String cus_company) {
		this.cus_company = cus_company;
	}
	

}

Employee.java

package com.chinasoft.ssm.domain;

public class Employee {
	private int id;
	private String emp_no;
	private String emp_name;
	private String emp_birthday;
	private String emp_sex;
	private String emp_dept;
	private String emp_sal;
	private String emp_phone;
	
	
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getEmp_no() {
		return emp_no;
	}
	public void setEmp_no(String emp_no) {
		this.emp_no = emp_no;
	}
	public String getEmp_name() {
		return emp_name;
	}
	public void setEmp_name(String emp_name) {
		this.emp_name = emp_name;
	}
	public String getEmp_birthday() {
		return emp_birthday;
	}
	public void setEmp_birthday(String emp_birthday) {
		this.emp_birthday = emp_birthday;
	}
	public String getEmp_sex() {
		return emp_sex;
	}
	public void setEmp_sex(String emp_sex) {
		this.emp_sex = emp_sex;
	}
	public String getEmp_dept() {
		return emp_dept;
	}
	public void setEmp_dept(String emp_dept) {
		this.emp_dept = emp_dept;
	}
	public String getEmp_sal() {
		return emp_sal;
	}
	public void setEmp_sal(String emp_sal) {
		this.emp_sal = emp_sal;
	}
	
	public String getEmp_phone() {
		return emp_phone;
	}
	public void setEmp_phone(String emp_phone) {
		this.emp_phone = emp_phone;
	}
	
	@Override
	public String toString() {
		return "Employee [id=" + id + ", emp_no=" + emp_no + ", emp_name="
				+ emp_name + ", emp_birthday=" + emp_birthday + ", emp_sex="
				+ emp_sex + ", emp_dept=" + emp_dept + ", emp_sal=" + emp_sal
				+ ", emp_phone=" + emp_phone + "]";
	}
	
	
	
	
	
}

Product.java

package com.chinasoft.ssm.domain;

public class Product {
	private String pro_no;
	private String pro_name;
	private String pro_price;
	private String pro_discount;
	private String pro_desc;
	public String getPro_no() {
		return pro_no;
	}
	public void setPro_no(String pro_no) {
		this.pro_no = pro_no;
	}
	public String getPro_name() {
		return pro_name;
	}
	public void setPro_name(String pro_name) {
		this.pro_name = pro_name;
	}
	public String getPro_price() {
		return pro_price;
	}
	public void setPro_price(String pro_price) {
		this.pro_price = pro_price;
	}
	public String getPro_discount() {
		return pro_discount;
	}
	public void setPro_discount(String pro_discount) {
		this.pro_discount = pro_discount;
	}
	public String getPro_desc() {
		return pro_desc;
	}
	public void setPro_desc(String pro_desc) {
		this.pro_desc = pro_desc;
	}
}

service
AdminManageServiceImpl.java

package com.chinasoft.ssm.admin.service.impl;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.chinasoft.ssm.admin.dao.IAdminManageDao;
import com.chinasoft.ssm.admin.service.IAdminManageService;
import com.chinasoft.ssm.domain.Customer;
import com.chinasoft.ssm.domain.Orders;
import com.chinasoft.ssm.domain.PageBean;
import com.chinasoft.ssm.domain.Product;
import com.chinasoft.ssm.domain.adminUser;

/*声明 此处  是mvc模式中的 service中转层*/
@Service
public class AdminManageServiceImpl implements IAdminManageService{
	 /*与往常一样  service要与dao层  起关系*/
	@Autowired
	private IAdminManageDao adminDao;
	/*成员变量注解   就不用new实例化了*/

	@Override
	public List<Map<String, Object>> selectUserAll() {
		return  adminDao.selectUserAll();
	}
	@Override
	public adminUser login(adminUser aUser) {
		// TODO Auto-generated method stub
		return adminDao.login(aUser);
	}
	
	/*获取客户信息分页*/
	@Override
	public PageBean findUserByPage(Map<String, Object> map) {
		int currentPage = Integer.parseInt((String) map.get("currentPage"));
        int rows = Integer.parseInt((String) map.get("rows"));
        
        if(currentPage <=0) {
            currentPage = 1;
        }
        if(currentPage >=8) {
            currentPage = 8;
        }
        
        //3.调用dao查询总记录数
        int totalCount = adminDao.findCustomerCount(map);
       // System.out.println("总数:"+totalCount);
        //5.计算总页码
        int totalPage=1;
        if(totalCount!=0){
        	 totalPage = (totalCount % rows)  == 0 ? totalCount/rows : (totalCount/rows) + 1;
        }
       
        
        if(currentPage>=totalPage){
        	currentPage = totalPage;
        }
       
        //1.创建空的PageBean对象
        PageBean pb = new PageBean();
        //2.设置参数
        pb.setCurrentPage(currentPage);
        pb.setRows(rows);

        //4.调用dao查询List集合
        //计算开始的记录索引
        int start = (currentPage - 1) * rows;
        map.put("start", start);
        List<Map<String,Object>> list = adminDao.findCustomerByPage(map);
        pb.setList(list);
        //5.计算总页码
        pb.setTotalPage(totalPage);
        pb.setTotalCount(totalCount);
        
        return pb;
	}
	/*添加客户信息*/
	@Override
	public void addCustomer(Map<String, Object> CustomerMap) {
		adminDao.addCustomer(CustomerMap);
		
	}
	/*通过客户编号获取信息,判断该用户是否已存在*/
	@Override
	public int selectCus(String cusNo) {
		// TODO Auto-generated method stub
		return adminDao.selectCus(cusNo);
	}
	/*获取需要修改的用户的用户信息*/
	@Override
	public Customer getEditCustomer(String cus_no) {
		// TODO Auto-generated method stub
		return adminDao.getEditCustomer(cus_no);
	}
	/*获取需要修改的管理员信息*/
	@Override
	public adminUser getEditAdminInfo(String id) {
		// TODO Auto-generated method stub
		return adminDao.getEditAdminInfo(id);
	}
	/*获取需要修改的订单的信息*/
	@Override
	public Orders getEditOrder(String order_no) {
		// TODO Auto-generated method stub
		return adminDao.getEditOrder(order_no);
	}
	/*修改用户信息*/
	@Override
	public void updateCustomer(Map<String, Object> map) {
		// TODO Auto-generated method stub
		adminDao.updateCustomer(map);
	}
	/*修改管理员信息*/
	@Override
	public void updateAdmin(Map<String, Object> map) {
		// TODO Auto-generated method stub
		adminDao.updateAdmin(map);
	}
	/*获取管理员信息*/
	@Override
	public PageBean findAdminByPage(Map<String, Object> map) {
		int currentPage = Integer.parseInt((String) map.get("currentPage"));
        int rows = Integer.parseInt((String) map.get("rows"));
        
        if(currentPage <=0) {
            currentPage = 1;
        }
        if(currentPage >=8) {
            currentPage = 8;
        }
        
        //3.调用dao查询总记录数
        int totalCount = adminDao.findAdminCount(map);
       // System.out.println("总数:"+totalCount);
        //5.计算总页码
        int totalPage=1;
        if(totalCount!=0){
        	 totalPage = (totalCount % rows)  == 0 ? totalCount/rows : (totalCount/rows) + 1;
        }
       
        
        if(currentPage>=totalPage){
        	currentPage = totalPage;
        }
       
        //1.创建空的PageBean对象
        PageBean pb = new PageBean();
        //2.设置参数
        pb.setCurrentPage(currentPage);
        pb.setRows(rows);

        //4.调用dao查询List集合
        //计算开始的记录索引
        int start = (currentPage - 1) * rows;
        map.put("start", start);
        List<Map<String,Object>> list = adminDao.findAdminByPage(map);
        pb.setList(list);
        //5.计算总页码
        pb.setTotalPage(totalPage);
        pb.setTotalCount(totalCount);
        
        return pb;
	}
	/*添加管理员*/
	@Override
	public void addAdmin(Map<String, Object> map) {
		// TODO Auto-generated method stub
		adminDao.addAdmin(map);
	}
	/*获取订单分页*/
	@Override
	public PageBean findOrderByPage(Map<String, Object> map) {
		int currentPage = Integer.parseInt((String) map.get("currentPage"));
        int rows = Integer.parseInt((String) map.get("rows"));
        
        if(currentPage <=0) {
            currentPage = 1;
        }
        if(currentPage >=8) {
            currentPage = 8;
        }
        
        //3.调用dao查询总记录数
        int totalCount = adminDao.findOrderCount(map);
       // System.out.println("总数:"+totalCount);
        //5.计算总页码
        int totalPage=1;
        if(totalCount!=0){
        	 totalPage = (totalCount % rows)  == 0 ? totalCount/rows : (totalCount/rows) + 1;
        }
       
        
        if(currentPage>=totalPage){
        	currentPage = totalPage;
        }
       
        //1.创建空的PageBean对象
        PageBean pb = new PageBean();
        //2.设置参数
        pb.setCurrentPage(currentPage);
        pb.setRows(rows);

        //4.调用dao查询List集合
        //计算开始的记录索引
        int start = (currentPage - 1) * rows;
        map.put("start", start);
        List<Map<String,Object>> list = adminDao.findOrderByPage(map);
        pb.setList(list);
        //5.计算总页码
        pb.setTotalPage(totalPage);
        pb.setTotalCount(totalCount);
        
        return pb;
	}
	/* 获取修改产品信息 */
	@Override
	public Product getEditProduct(String pro_no) {
		// TODO Auto-generated method stub
		return adminDao.getEditProduct(pro_no);
	}
	
	/* 修改产品信息 */
	@Override
	public void updateProduct(Map<String, Object> map) {
		// TODO Auto-generated method stub
		adminDao.updateProduct(map);
	}
	
	/*添加产品信息*/
	@Override
	public void addProduct(Map<String, Object> ProductMap) {
		adminDao.addProduct(ProductMap);
		
	}
	/*通过产品编号获取信息,判断该产品是否已存在*/
	@Override
	public int selectPro(String proNo) {
		// TODO Auto-generated method stub
		return adminDao.selectPro(proNo);
	}

	@Override
	public void addOrder(Map<String, Object> map) {
		adminDao.addOrder(map);
		
	}
	
	/*更新订单*/
	@Override
	public void updateOrder(Map<String, Object> map) {
		adminDao.updateOrder(map);
	}
	@Override
	public void delOrder(Map<String, Object> map) {
		// TODO Auto-generated method stub
		adminDao.delOrder(map);
	}
	/*获取产品信息 */
	@Override
	public PageBean findProByPage(Map<String, Object> map) {
		int currentPage = Integer.parseInt((String) map.get("currentPage"));
        int rows = Integer.parseInt((String) map.get("rows"));
        
        if(currentPage <=0) {
            currentPage = 1;
        }
        if(currentPage >=8) {
            currentPage = 8;
        }
        
        //3.调用dao查询总记录数
        int totalCount = adminDao.findProCount(map);
       // System.out.println("总数:"+totalCount);
        //5.计算总页码
        int totalPage=1;
        if(totalCount!=0){
        	 totalPage = (totalCount % rows)  == 0 ? totalCount/rows : (totalCount/rows) + 1;
        }
       
        
        if(currentPage>=totalPage){
        	currentPage = totalPage;
        }
       
        //1.创建空的PageBean对象
        PageBean pb = new PageBean();
        //2.设置参数
        pb.setCurrentPage(currentPage);
        pb.setRows(rows);

        //4.调用dao查询List集合
        //计算开始的记录索引
        int start = (currentPage - 1) * rows;
        map.put("start", start);
        List<Map<String,Object>> list = adminDao.findProByPage(map);
        pb.setList(list);
        //5.计算总页码
        pb.setTotalPage(totalPage);
        pb.setTotalCount(totalCount);
        
        return pb;
	}

	
	


}

EmployeeServiceImpl.java

package com.chinasoft.ssm.admin.service.impl;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.chinasoft.ssm.admin.dao.EmployeeDao;
import com.chinasoft.ssm.admin.service.EmployeeService;
import com.chinasoft.ssm.domain.Employee;
import com.chinasoft.ssm.domain.PageBean;

/*声明 此处  是mvc模式中的 service中转层*/
@Service
public class EmployeeServiceImpl implements EmployeeService {

	@Autowired
	private EmployeeDao empDao;

	// 分页
	@Override
	public PageBean findEmpByPage(Map<String, Object> map) {
		int currentPage = Integer.parseInt((String) map.get("currentPage"));
		int rows = Integer.parseInt((String) map.get("rows"));
		
		if (currentPage <= 0) {
			currentPage = 1;
		}
		if (currentPage >= 8) {
			currentPage = 8;
		}
		int start = (currentPage - 1) * rows;
		map.put("start", start);
		// 创建空的pagebean
		PageBean pb = new PageBean();

		// 调用Dao查询总记录数
		int totalCount = empDao.getTotalCount(map);
		pb.setTotalCount(totalCount);
		// 计算总页码数
		int totalPage = 1;
		if (totalPage != 0) {
			totalPage = (totalCount % rows == 0) ? totalCount / rows
					: (totalCount / rows) + 1;
		}

		if (currentPage > totalPage) {
			currentPage = totalPage;
		}
		pb.setTotalPage(totalPage);

		// 调用Dao查询list集合
		// 记录开始索引
		
		List<Map<String, Object>> list = empDao.findEmpByPage(map);
		pb.setList(list);
		// 设置参数
		pb.setCurrentPage(currentPage);
		pb.setRows(rows);
		return pb;
	
	}
	//添加客户
	@Override
	public void addEmp(Map<String, Object> map) {
		empDao.addEmp(map);
		
	}
	//验证员工编号是否重复
	@Override
	public int checkEmpno(String emp_no) {
		return empDao.checkEmpNo(emp_no);
	}
	//修改员工信息
	@Override
	public void updateEmp(Map<String, Object> map) {
		empDao.updateEmp(map);
		
	}
	//获取将要编辑员工信息
	@Override
	public Employee getEmpInfo(String emp_no) {
		
		return empDao.getEmpInfo(emp_no);
	}
	//删除员工
	@Override
	public void delEmp(String id) {
		empDao.delEmp(id);
		
	}


}

action
addAdminAction.java

package com.chinasoft.ssm.admin.action;


import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;
import org.springframework.beans.factory.annotation.Autowired;

import com.chinasoft.ssm.admin.service.IAdminManageService;
import com.chinasoft.ssm.domain.PageBean;
import com.opensymphony.xwork2.ActionSupport;


public class addAdminAction extends ActionSupport{
	
	@Autowired
	private IAdminManageService  adminService;
	private HttpServletRequest request = ServletActionContext.getRequest();
	
	
	
	public String addAdmin(){
		//request.setCharacterEncoding("utf-8");
		Map<String, String[]> parameterMap = request.getParameterMap();
		Map<String ,Object> map=new HashMap<String ,Object>();
		for (String i : parameterMap.keySet()) {
			//System.out.println(i+"===="+parameterMap.get(i)[0]);
			map.put(i, parameterMap.get(i)[0]);
		}
		
		 adminService.addAdmin(map);
		 request.setAttribute("mes", "添加成功");
	     return "addSucess";
	}
	
	
}

editCtmInfoAction.java

package com.chinasoft.ssm.admin.action;


import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import org.springframework.beans.factory.annotation.Autowired;
import com.chinasoft.ssm.admin.service.IAdminManageService;
import com.chinasoft.ssm.domain.Customer;
import com.opensymphony.xwork2.ActionSupport;


public class editCtmInfoAction extends ActionSupport{
	
	@Autowired
	private IAdminManageService  adminService;
	private HttpServletRequest request = ServletActionContext.getRequest();
	
	
	
	public String getInfo(){
		 String cus_no = request.getParameter("cus_no");
		 Customer customer=adminService.getEditCustomer(cus_no);
		 request.getSession().setAttribute("editCtm", customer);
	     return "toEditCtm";
	}
	
	
}

写在最后

如果运行代码中遇到问题,或者需要完整源码和报告,可以加博主V交流:Code2Life2

觉得有用,记得一键三连哦!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

anmu4200

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

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

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

打赏作者

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

抵扣说明:

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

余额充值