Springboot实现销售团队管理系统
项目编号:BS-XX-084
开发运行环境:
开发工具:IDEA /ECLIPSE
数据库:MYSQL5.7
是否使用Maven: 是
JDK: 1.8
开发技术:
后台:Springboot+springmvc+mybatis
前端:AdminLTE页面模板,angularJs框架,Jquery框架,BootStrap框架,Echarts开发图形报表
项目说明:
本项目是基于Springboot框架开发的一套用于管理销售团队的管理系统,结构springmvc和mybatis开发实现,前端采用:AdminLTE页面模板,angularJs框架,Jquery框架,BootStrap框架,Echarts开发图形报表。系统功能完整,页面简洁大方,系统具备完整的权限管理系统,可以自行设定菜单、角色、权限,给用户分配相应的权限,最大的亮点是前端界面设计的交互性非常好,操作也十分便利。目前设置共有三种角色:销售员,团队管理,系统管理员。
下面展示一下系统的相关功能:
系统登陆:
管理主界面
管理员具有所有操作功能,但主要是进行系统管理,业务管理交由销售员和团队领导去做
组织结构管理
给机构添加用户
菜单管理
用户管理
角色管理
为用户设置角色
给角色分配菜单
销售员进入系统
业务机会管理
客户管理
联系人管理
工作日报管理
销售主管登陆:除了拥有销售员的基本功能外,主要是查看团队的日报工作进展
团队日报
个人资料管理:各用户都有
以上是展示的基于Springboot实现的销售团队管理系统,系统的功能比较完整,最大的亮点是前端界面设计的交互性非常好,操作也十分便利,比较适合做毕业设计使用。
部分代码:CustomerController
package com.powerteam.controller.crm;
import com.github.pagehelper.PageInfo;
import com.powerteam.controller.AuthorizedController;
import com.powerteam.model.crm.Customer;
import com.powerteam.model.crm.CustomerCategory;
import com.powerteam.model.crm.Industry;
import com.powerteam.model.crm.Source;
import com.powerteam.service.crm.CustomerService;
import com.powerteam.vo.Result;
import com.powerteam.vo.crm.QueryCustomerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;import java.util.List;
@Controller
@RequestMapping("/customer")
public class CustomerController extends AuthorizedController {@Autowired
private CustomerService customerService;@RequestMapping(value = "", method = RequestMethod.GET)
public String customer() {
return "crm/customer";
}@RequestMapping(value = "/find", method = RequestMethod.POST)
@ResponseBody
public PageInfo<Customer> find(@RequestBody QueryCustomerVo vo) {
return customerService.find(vo);
}@RequestMapping(value = "/findAllCustomerCategory", method = RequestMethod.POST)
@ResponseBody
public List<CustomerCategory> findAllCustomerCategory() {
return customerService.findAllCustomerCategory();
}@RequestMapping(value = "/findAllIndustry", method = RequestMethod.POST)
@ResponseBody
public List<Industry> findAllIndustry() {
return customerService.findAllIndustry();
}@RequestMapping(value = "/findAllSource", method = RequestMethod.POST)
@ResponseBody
public List<Source> findAllSource() {
return customerService.findAllSource();
}@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
public Result add(@RequestBody Customer customer) {
customer.setCreateBy(getUser().getUserId());
return customerService.insert(customer);
}@RequestMapping(value = "/checkCustomerName", method = RequestMethod.POST)
@ResponseBody
public Result checkCustomerName(@RequestBody Customer customer) {
return customerService.checkCustomerName(customer);
}@RequestMapping(value = "/findById", method = RequestMethod.POST)
@ResponseBody
public Customer findById(@RequestBody Customer customer) {
return customerService.findById(customer.getCustomerId());
}@RequestMapping(value = "/update", method = RequestMethod.POST)
@ResponseBody
public Result update(@RequestBody Customer customer) {
return customerService.update(customer);
}@RequestMapping(value = "/dashboard/{customerId}", method = RequestMethod.GET)
public ModelAndView dashboard(@PathVariable int customerId) {
ModelAndView vm = new ModelAndView("crm/customerDashboard");
vm.addObject("customerId", customerId);
return vm;
}@RequestMapping(value = "/updateStar", method = RequestMethod.POST)
@ResponseBody
public Result updateStar(@RequestBody Customer customer) {
return customerService.updateStar(customer);
}@RequestMapping(value = "/updateLocation", method = RequestMethod.POST)
@ResponseBody
public Result updateLocation(@RequestBody Customer customer) {
return customerService.updateLocation(customer);
}
}
CustomerService
package com.powerteam.service.crm;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.powerteam.mapper.crm.CustomerMapper;
import com.powerteam.model.crm.*;
import com.powerteam.vo.Result;
import com.powerteam.vo.crm.QueryCustomerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;import java.util.Date;
import java.util.List;@Service
public class CustomerService {@Autowired
private CustomerMapper customerMapper;@Autowired
private ShareGroupService shareGroupService;@Autowired
private ActivityService activityService;public PageInfo<Customer> find(QueryCustomerVo vo) {
if (!StringUtils.isEmpty(vo.getWord())) {
vo.setWord("%" + vo.getWord() + "%");
}if (!vo.isDisablePaging()) {
PageHelper.startPage(vo.getPageNum(), vo.getPageSize());
}
return new PageInfo<>(customerMapper.find(vo));
}public List<CustomerCategory> findAllCustomerCategory() {
return customerMapper.findAllCustomerCategory();
}public List<Industry> findAllIndustry() {
return customerMapper.findAllIndustry();
}public List<Source> findAllSource() {
return customerMapper.findAllSource();
}@Transactional
public Result insert(Customer customer) {
customer.setCreateDate(new Date());
customer.setOwner(customer.getCreateBy());
Result result = new Result();if (!checkCustomerName(customer).isSuccess()) {
result.setMessage("客户名称重复");
return result;
}if (customerMapper.insert(customer) > 0) {
ShareGroup shareGroup = new ShareGroup();
shareGroup.setResourceType(ResourceType.客户);
shareGroup.setResourceId(customer.getCustomerId());
shareGroup.setUserId(customer.getCreateBy());if (shareGroupService.insert(shareGroup).isSuccess()) {
Activity activity = new Activity();
activity.setResourceType(ResourceType.客户);
activity.setResourceId(customer.getCustomerId());
activity.setActivityType(ActivityType.系统跟踪);
activity.setContent("创建了客户");
activity.setCreateDate(new Date());
activity.setCreateBy(customer.getCreateBy());if (activityService.insert(activity).isSuccess()) {
result.setSuccess(true);
} else {
result.setMessage("新增客户失败");
}
} else {
result.setMessage("新增客户失败");
}
} else {
result.setMessage("新增客户失败");
}return result;
}public Result checkCustomerName(Customer customer) {
return new Result(!customerMapper.existCustomerName(customer));
}public Customer findById(Integer customerId) {
return customerMapper.findById(customerId);
}@Transactional
public Result update(Customer customer) {
Result result = new Result();
result.setSuccess(customerMapper.update(customer) > 0);
return result;
}@Transactional
public Result updateStar(Customer customer) {
Result result = new Result();
Customer model = findById(customer.getCustomerId());
model.setStar(customer.getStar());
result.setSuccess(customerMapper.update(model) > 0);
return result;
}@Transactional
public Result updateLocation(Customer customer) {
Result result = new Result();
Customer model = findById(customer.getCustomerId());
model.setLng(customer.getLng());
model.setLat(customer.getLat());
result.setSuccess(customerMapper.update(model) > 0);
return result;
}}
Springboot实现销售团队管理系统相关推荐
- springboot农产品销售网站管理系统java
springboot农产品销售网站管理系统基于java编程语言,mysql数据库和springboot框架设计,本系统主要分为用户和管理员两个角色,用户注册和登陆系统,查看,搜索农产品,查询农产品详情 ...
- java家用电器springboot家电销售网站管理系统
家电销售网站管理系统是基于java编程语言,mysql数据库,采用springboot框架制作的设计,本设计分为用户和管理员两个角色,用户的功能是注册和登陆系统,查看商品列表,购买商品,商品加入购物车 ...
- 基于JAVA+SpringBoot+Mybatis+MYSQL的销售团队管理系统
项目功能: 系统分为管理员.销售员和经理三种角色,管理员端功能:看板.业务机会管理.客户管理.联系人管理.我的日报.团队日报.主数据管理.用户管理.角色管理.菜单管理.销售员和经理端功能:看板(本月我 ...
- java基于springboot水果销售商城管理系统
水果销售管理系统是基于java编程语言,mysql数据库和ssm框架设计,本系统主要分为用户和管理员两个角色,用户注册和登陆系统,查看,搜索水果,查询水果详情,收藏,购买,加入购物车,生成订单,在线支 ...
- 为什么销售团队要用crm销售管理系统?
CRM销售管理系统的作用是在管理企业销售团队的基础上,对业务和客户进行线索分析,通过直观的数据进行科学决策,最终达到提高收益的目的. 与此同时,它也是一种销售辅助工具,能够帮助销售团队准确把握客户需求 ...
- springboot+服装销售管理系统的设计与实现 毕业设计-附源码221801
Springboot服装服装销售管理系统 摘 要 近年来,随着移动互联网的快速发展,商务越来越受到网民们的欢迎,商务对国家经济的发展也起着越来越重要的作用.简单的流程.便捷可靠的支付方式.快捷畅通的物 ...
- springboot毕设项目团队项目日程管理系统617qh(java+VUE+Mybatis+Maven+Mysql)
springboot毕设项目团队项目日程管理系统617qh(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + ...
- 如何通过使用CRM客户管理系统让销售团队提升业绩!
与传统的企业销售模式不同,现代企业的网络代言.销售活动与网络是密切相关的.销售数据我们需要通过网络保存,销售渠道需要企业网络挖掘.在线销售软件使销售活动更加有效,更少的努力. CRM客户管理系统是企业 ...
- 基于javaweb+jsp的手机店销售信息管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Layui Ajax)
基于javaweb+jsp的手机店销售信息管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Layui Ajax) 运行环境 Java≥8.MySQL≥5.7 ...
- 计算机毕业设计springboot基于springboot的校园招聘管理系统xs43e源码+系统+程序+lw文档+部署
计算机毕业设计springboot基于springboot的校园招聘管理系统xs43e源码+系统+程序+lw文档+部署 计算机毕业设计springboot基于springboot的校园招聘管理系统xs ...
最新文章
- ADAS系统长篇综述(下)
- Dropzone.js实现文件拖拽上传
- PyCharm+QT Designer整合
- CentOS 6.9/7通过yum安装指定版本的MySQL
- 银行错误将10万打给自己,客户有责任退还,银行难道没责任吗?
- OpenMV(四)--STM32实现特征检测
- shell脚本获取mysql插入数据自增长id的值
- 初识AutoIt v3
- 成都千锋培训python就业班
- 计算机专业英语祈使句,英语祈使句有哪几种结构
- mega2560电脑识别不到端口后_mega2560在win7 64位安装驱动成功
- 全网最新最全的 HDFS 文件纠删码技术分析
- 【蓝桥杯集训100题】scratch从小到大排序 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第17题
- python 从0-1笔记
- 教你如何获取微信公众号历史文章链接
- PTA| 输出大写英文字母 (15 分)
- 常见影响接地电阻检测的因素及检测建议
- 中心频点计算公式_LC谐振频率计算公式 LC串联和并联谐振频率计算
- python读取ini_python读取ini文件
- oracle的创建表的脚本,oracle创建表空间脚本
热门文章
- python优秀源码2019_SUCTF2019,python源码分析,漏洞原理
- linux gcc编译模式,在Linux中GCC详细模式输出说明
- java里decimalformat_Java中DecimalFormat用法详解
- 玻璃质感_现代质感的顶层公寓,玻璃扶手让楼梯整个变透明!
- 删改数据如何避免锁表?等等,啥是锁呀
- 大佬对Maven进行深度讲解:什么是Maven?POM.XML如何解读?
- Cordova--打包问题
- CentOS下安装Docker-CE
- JAVA-JSP内置对象之request获得所有的参数名称
- IPhone在横屏字体变大解决办法-webkit-text-size-adjust