【开源】基于Vue+SpringBoot的CRM客户管理系统

这篇具有很好参考价值的文章主要介绍了【开源】基于Vue+SpringBoot的CRM客户管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js



一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的CRM客户管理系统,包含了客户管理、客户分析、商品管理、客户跟踪、客户消费模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,CRM客户管理系统基于角色的访问控制,给客户管理员、工作人员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

CRM客户管理系统的系统设计是一个基于系统分析结果的过程,使用科学的系统理念和方法来设计一个新系统,该系统可以最大限度地实现所需的目的。系统设计主要是功能设计,创建理想系统并制定设计计划;将系统划分为若干子系统;子系统和整个系统的详细设计和评估;演示系统方案并预测性能效果,本系统主要从五个功能模块分析。

  1. 首先是客户管理模块,主要实现用户的增删改查,对客户信息进行快速、准确的记录和查询操作,标记客户信息并对它进行分类,每个客户都具有唯一的编号,姓名,联系方式等基本信息,同时还有客户类型,客户状态等附加信息,能够导出客户信息。

  2. 第二是客户跟踪模块,该模块主要就是对潜在客户进行跟踪,记录跟踪内容和对跟踪信息增删改查,每个客户的跟踪记录包括跟踪日期、跟踪人、跟进内容等信息。

  3. 第三是客户消费模块,记录客户的消费情况,对客户的消费记录进行增删改查,同时也能导出客户消费记录信息到本地。

  4. 第四是商品管理模块,包括商品信息的增删改查、商品分类、商品库存管理等功能。

  5. 第五是系统基础模块,该模块包含若干子功能,但是该功能模块只有管理员角色可以操作。

【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js


三、系统设计

3.1 用例设计

【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js

3.2 E-R 图设计

【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js

3.3 数据库设计

3.3.1 客户表

【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js

3.3.2 商品表

【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js

3.3.3 客户跟踪表

【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js

3.3.4 客户消费表

【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js

3.3.5 系统角色表

【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js


四、系统展示

【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js
【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js
【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js
【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js
【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js
【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js
【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js
【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js


五、核心代码

5.1 查询客户

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询客户")
public Result<IPage<Customer>> getByPage(@ModelAttribute Customer customer ,@ModelAttribute PageVo page){
    QueryWrapper<Customer> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(customer.getType())) {
        qw.eq("type",customer.getType());
    }
    if(!ZwzNullUtils.isNull(customer.getTitle())) {
        qw.like("title",customer.getTitle());
    }
    IPage<Customer> data = iCustomerService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Customer>>().setData(data);
}

5.2 新增客户跟踪记录

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增客户跟踪")
public Result<CustomerItem> insert(CustomerItem customerItem){
    Customer customer = iCustomerService.getById(customerItem.getCustomerId());
    if(customer == null) {
        return ResultUtil.error("客户不存在");
    }
    User currUser = securityUtil.getCurrUser();
    customerItem.setCustomerName(customer.getTitle());
    customerItem.setDate(DateUtil.now());
    customerItem.setUserId(currUser.getId());
    customerItem.setUserName(currUser.getNickname());
    iCustomerItemService.saveOrUpdate(customerItem);
    return new ResultUtil<CustomerItem>().setData(customerItem);
}

5.3 新增客户消费订单

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增客户消费")
public Result<CustomerOrder> insert(CustomerOrder customerOrder){
    Customer customer = iCustomerService.getById(customerOrder.getUserId());
    if(customer == null) {
        return ResultUtil.error("客户不存在");
    }
    customerOrder.setUserName(customer.getTitle());
    Commodity commodity = iCommodityService.getById(customerOrder.getCommodityId());
    if(commodity == null) {
        return ResultUtil.error("商品不存在");
    }
    if(commodity.getNumber() == null) {
        commodity.setNumber(BigDecimal.ZERO);
    }
    if(customerOrder.getNumber().compareTo(commodity.getNumber()) > 0) {
        return ResultUtil.error("库存不足");
    }
    commodity.setNumber(commodity.getNumber().subtract(customerOrder.getNumber()));
    iCommodityService.saveOrUpdate(commodity);
    customerOrder.setTitle(commodity.getTitle());
    customerOrder.setType(commodity.getType());
    customerOrder.setPrice(commodity.getPrice());
    customerOrder.setImage(commodity.getImage());
    customerOrder.setUserId(customer.getId());
    customerOrder.setUserName(customer.getTitle());
    customerOrder.setDate(DateUtil.now());
    iCustomerOrderService.saveOrUpdate(customerOrder);
    return new ResultUtil<CustomerOrder>().setData(customerOrder);
}

5.4 查询商品

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询商品")
public Result<IPage<Commodity>> getByPage(@ModelAttribute Commodity commodity ,@ModelAttribute PageVo page){
    QueryWrapper<Commodity> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(commodity.getTitle())) {
        qw.like("title",commodity.getTitle());
    }
    if(!ZwzNullUtils.isNull(commodity.getType())) {
        qw.eq("type",commodity.getType());
    }
    IPage<Commodity> data = iCommodityService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Commodity>>().setData(data);
}

5.5 商品购买

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增商品购买")
public Result<CommodityBuy> insert(CommodityBuy commodityBuy){
    Commodity commodity = iCommodityService.getById(commodityBuy.getCommodityId());
    if(commodity == null) {
        return ResultUtil.error("商品不存在");
    }
    User currUser = securityUtil.getCurrUser();
    commodityBuy.setTitle(commodity.getTitle());
    commodityBuy.setType(commodity.getType());
    commodityBuy.setPrice(commodity.getPrice());
    commodityBuy.setImage(commodity.getImage());
    commodityBuy.setUserId(currUser.getId());
    commodityBuy.setUserName(currUser.getNickname());
    commodityBuy.setDate(DateUtil.now());
    iCommodityBuyService.saveOrUpdate(commodityBuy);
    if(commodity.getNumber() == null) {
        commodity.setNumber(BigDecimal.ZERO);
    }
    commodity.setNumber(commodity.getNumber().add(commodityBuy.getNumber()));
    iCommodityService.saveOrUpdate(commodity);
    return new ResultUtil<CommodityBuy>().setData(commodityBuy);
}

六、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

【开源】基于Vue+SpringBoot的CRM客户管理系统,spring boot,开源,vue.js文章来源地址https://www.toymoban.com/news/detail-788292.html

到了这里,关于【开源】基于Vue+SpringBoot的CRM客户管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【开源】基于Vue+SpringBoot的人事管理系统

    基于JAVA+Vue+SpringBoot+MySQL的人事管理系统,包含了职位模块、职称模块、员工请假模块、员工留言模块、员工薪资模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,人事管理系统基于角色的访问控

    2024年02月03日
    浏览(39)
  • 【开源】基于Vue和SpringBoot的超市商品管理系统

    项目编号: S 001 ,文末获取源码。 color{red}{项目编号:S001,文末获取源码。} 项目编号: S 001 ,文末获取源码。 随着社会的发展,人们的生活水平不断地提高,超市遍布城市各个社区,它们繁荣了社会经济,也便利了人们的生活,是人们生活中不可缺少的一部份。顾客需要

    2024年02月01日
    浏览(53)
  • 【开源】基于Vue+SpringBoot的公司货物订单管理系统

    基于JAVA+Vue+SpringBoot+MySQL的公司货物订单管理系统包含了客户管理模块、商品维护模块、供应商管理模块和订单管理模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,公司货物订单管理系统基于角

    2024年02月04日
    浏览(72)
  • 基于SpringBoot+Vue+uniapp毕业论文管理系统(实现三个端,小程序客户端、PC前台客户端、PC管理端)

    文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript、Vue 、css3 开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库:MySQL 5.7/8.0 数据库管理工具:phpstudy/Navicat JDK版本:Java jdk8 Maven:apache-maven 3.8.1-bin 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序运行软

    2024年02月04日
    浏览(45)
  • 【开源】基于JAVA+Vue+SpringBoot的超市账单管理系统

    基于JAVA+Vue+SpringBoot+MySQL的超市账单管理系统,包含供应商模块、商品管理模块、超市账单模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,超市账单管理系统基于角色的访问控制,给超市管理员

    2024年02月02日
    浏览(47)
  • 【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统

    基于JAVA+Vue+SpringBoot+MySQL的高校宿舍调配管理系统,包含了宿舍管理模块、宿舍分配模块、个人配置模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,高校宿舍调配管理系统基于角色的访问控制,

    2024年01月23日
    浏览(47)
  • 【开源】基于JAVA+Vue+SpringBoot的食品生产管理系统

    基于JAVA+Vue+SpringBoot+MySQL的食品生产管理系统,包含了加工厂管理、客户管理、食品管理、生产订单、销售订单、系统公告模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,食品生产管理系统基于

    2024年01月22日
    浏览(41)
  • 【开源】基于Vue和SpringBoot的创意工坊双创管理系统

    项目编号: S 049 ,文末获取源码。 color{red}{项目编号:S049,文末获取源码。} 项目编号: S 049 ,文末获取源码。 基于JAVA+Vue+SpringBoot+MySQL的创意工坊双创管理系统,包含了讲座管理、消息管理、项目管理、公共空间、房间预约、团队管理模块,还包含系统自带的用户管理、

    2024年02月05日
    浏览(33)
  • 基于ssm的CRM客户管理系统(spring + springMVC + mybatis)营销业务信息java jsp源代码

    本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 基于ssm的CRM客户管理系统(spring + springMVC + mybatis) 系统有1权限:管理员 市场活动 线索(潜在客户) 客户 联

    2024年02月12日
    浏览(45)
  • 【开源】基于JAVA+Vue+SpringBoot的创意工坊双创管理系统

    基于JAVA+Vue+SpringBoot+MySQL的创意工坊双创管理系统,包含了讲座管理、消息管理、项目管理、公共空间、房间预约、团队管理模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,创意工坊双创管理系

    2024年01月25日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包