0
点赞
收藏
分享

微信扫一扫

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

夜空一星 2022-05-09 阅读 30

@​​TOC​​

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

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

实现功能截图

首页

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

产品列表

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

订单列表

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

员工列表

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

管理员列表

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

客户信息列表

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

系统功能

本会议管理系统实现了以下功能:
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";
}


}

写在最后

如果运行代码中遇到问题,欢迎交流
觉得有用,记得一键三连哦!

举报

相关推荐

0 条评论