——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明






基于javaweb的SSM客户管理系统(java+ssm+jsp+easyui+highcharts+mysql)
项目介绍
本项目包含管理员、销售主管、客户经理、高管等角色;
主要包含以下功能: 营销管理:营销机会管理、客户开发计划; 客户管理:客户信息管理、客户流失管理; 服务管理:服务创建、服务分配、服务处理、服务反馈、服务归档; 统计报表:客户贡献分析、客户构成分析、客户服务分析、客户流失分析; 基础数据管理:数据字典管理、产品信息查询、用户信息管理; 系统管理:修改密码、安全退出;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 5.7/8.0等版本均可;
技术栈
- 后端:Spring springmvc mybatis 2. 前端:JSP+css+javascript+jQuery+easyUI+highcharts
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目; 3. 将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置,然后运行; 4. 运行成功后,在浏览器中输入:http://localhost:8080/CRM/ 管理员账号密码:admin/123 销售主管账号密码:json1234/123 客户经理账号密码:xiaoming/123
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
@RequestMapping("/delete") public String delete(@RequestParam(value="id")String id,HttpServletResponse response)throws Exception{ linkManService.delete(Integer.parseInt(id)); JSONObject result=new JSONObject(); result.put("success", true); ResponseUtil.write(response, result); return null; } } package com.java1234.controller;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
@RequestMapping("/list") public String list(@RequestParam(value="page",required=false)String page,@RequestParam(value="rows",required=false)String rows,SaleChance s_saleChance,HttpServletResponse response)throws Exception{ PageBean pageBean=new PageBean(Integer.parseInt(page),Integer.parseInt(rows)); Map<String,Object> map=new HashMap<String,Object>(); map.put("customerName", StringUtil.formatLike(s_saleChance.getCustomerName())); map.put("overView", StringUtil.formatLike(s_saleChance.getOverView())); map.put("createMan", StringUtil.formatLike(s_saleChance.getCreateMan())); map.put("state", s_saleChance.getState()); map.put("devResult", s_saleChance.getDevResult()); map.put("start", pageBean.getStart()); map.put("size", pageBean.getPageSize()); List<SaleChance> saleChanceList=saleChanceService.find(map); Long total=saleChanceService.getTotal(map); JSONObject result=new JSONObject(); JsonConfig jsonConfig=new JsonConfig(); jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm")); JSONArray jsonArray=JSONArray.fromObject(saleChanceList,jsonConfig); result.put("rows", jsonArray); result.put("total", total); ResponseUtil.write(response, result); return null; }
@RequestMapping("/save") public String save(SaleChance saleChance,HttpServletResponse response)throws Exception{ int resultTotal=0; if(StringUtil.isNotEmpty(saleChance.getAssignMan())){ saleChance.setState(1);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| * 客户流失Controller层 * */ @Controller @RequestMapping("/customerLoss") public class CustomerLossController { @Resource private CustomerLossService customerLossService;
@RequestMapping("/list") public String list(@RequestParam(value="page",required=false)String page,@RequestParam(value="rows",required=false)String rows,CustomerLoss s_customerLoss,HttpServletResponse response)throws Exception{ PageBean pageBean=new PageBean(Integer.parseInt(page),Integer.parseInt(rows)); Map<String,Object> map=new HashMap<String,Object>(); map.put("cusName", StringUtil.formatLike(s_customerLoss.getCusName())); map.put("cusManager", StringUtil.formatLike(s_customerLoss.getCusManager())); map.put("state", s_customerLoss.getState()); map.put("start", pageBean.getStart()); map.put("size", pageBean.getPageSize()); List<CustomerLoss> customerLossList=customerLossService.find(map); JsonConfig jsonConfig=new JsonConfig(); jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd")); JSONObject result=new JSONObject(); Long total=customerLossService.getTotal(map); JSONArray jsonArray=JSONArray.fromObject(customerLossList,jsonConfig); result.put("rows", jsonArray); result.put("total", total); ResponseUtil.write(response, result); return null; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| @Resource private CusDevPlanService cusDevPlanService;
@Resource private SaleChanceService saleChanceService;
@InitBinder public void initBinder(WebDataBinder binder) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); dateFormat.setLenient(false); binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); }
@RequestMapping("/list") public String list(@RequestParam(value="saleChanceId",required=false)String saleChanceId,HttpServletResponse response)throws Exception{ Map<String,Object> map=new HashMap<String,Object>(); map.put("saleChanceId", saleChanceId); List<CusDevPlan> cusDevPlanList=cusDevPlanService.find(map); JSONObject result=new JSONObject(); JsonConfig jsonConfig=new JsonConfig(); jsonConfig.setExcludes(new String[]{"saleChance"}); jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd")); JSONArray jsonArray=JSONArray.fromObject(cusDevPlanList,jsonConfig); result.put("rows", jsonArray); ResponseUtil.write(response, result); return null; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| } JSONObject result=new JSONObject(); result.put("success", true); ResponseUtil.write(response, result); return null; }
@RequestMapping("/findById") public String findById(@RequestParam(value="id")String id,HttpServletResponse response)throws Exception{ SaleChance saleChance=saleChanceService.findById(Integer.parseInt(id)); JsonConfig jsonConfig=new JsonConfig(); jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm")); JSONObject jsonObject=JSONObject.fromObject(saleChance, jsonConfig); ResponseUtil.write(response, jsonObject); return null; } } package com.java1234.controller;
@Controller
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| List<CustomerService> customerServiceList=customerServiceService.find(map); Long total=customerServiceService.getTotal(map); JSONObject result=new JSONObject(); JsonConfig jsonConfig=new JsonConfig(); jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd")); JSONArray jsonArray=JSONArray.fromObject(customerServiceList,jsonConfig); result.put("rows", jsonArray); result.put("total", total); ResponseUtil.write(response, result); return null; }
@RequestMapping("/save") public String save(CustomerService customerService,HttpServletResponse response)throws Exception{ int resultTotal=0; if(customerService.getId()==null){ resultTotal=customerServiceService.add(customerService); }else{ resultTotal=customerServiceService.update(customerService); } JSONObject result=new JSONObject(); if(resultTotal>0){ result.put("success", true); }else{ result.put("success", false); } ResponseUtil.write(response, result); return null; }
} package com.java1234.controller;
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=401122522008200oy
https://javayms.pages.dev?id=401122522008200oy