基于springboot的美容美妆管理系统的设计与实现 (含源码+sql+视频导入教程)

👉文末查看项目功能视频演示+获取源码+sql脚本+视频导入教程视频

1 、功能描述

  基于springboot的美容美妆管理系统1拥有多种角色,管理员可以不同的员工设置不同的角色权限。功能有:

  会员类型管理、产品分类管理、产品管理、库存管理、顾客管理、进货管理、数据统计、顾客购买产品、顾客签到、员工打卡签到、顾客考勤、顾客活跃度、套餐管理、员工管理、销售报表、角色管理等

2、背景介绍

  美容美妆管理系统是一种专门为美容美妆行业设计的信息化管理工具,旨在提高美容院、化妆品店等企业的运营效率和服务质量。该系统的出现背景如下:

  行业快速发展:随着人们生活水平的提高,对美的追求也日益增加,美容美妆行业得到了快速发展。各种类型的美容美妆店如雨后春笋般涌现,市场竞争日益激烈。
  信息化需求增加:随着信息技术的发展,企业对信息化管理的需求越来越强烈。传统的手工管理方式已经无法满足美容美妆店对商品进销存、顾客信息管理、销售数据分析等方面的需求。
  消费者需求变化:消费者对美容美妆产品的需求更加多元化和个性化,对服务质量和购物体验的要求也日益提高。传统的管理方式难以满足消费者的需求,无法为其提供便捷的购物体验和个性化的服务。

  基于以上背景,美容美妆管理系统应运而生,旨在解决行业快速发展、信息化需求增加和消费者需求变化等问题,提高美容美妆店的管理效率和顾客满意度。

3、项目技术

后端框架:springboot、Mybatis

前端技术:Layui、html、css、JavaScript、JQuery

3.1 springboot

  Spring Boot是由Pivotal团队提供的基于Spring的框架,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot集成了绝大部分目前流行的开发框架,就像Maven集成了所有的JAR包一样,Spring Boot集成了几乎所有的框架,使得开发者能快速搭建Spring项目。

3.2 mysql

  MySQL是一款Relational Database Management System,直译过来的意思就是关系型数据库管理系统,MySQL有着它独特的特点,这些特点使他成为目前最流行的RDBMS之一,MySQL想比与其他数据库如ORACLE、DB2等,它属于一款体积小、速度快的数据库,重点是它符合本次毕业设计的真实租赁环境,拥有成本低,开发源码这些特点,这也是选择它的主要原因。
  本系统使用了MySQL数据库,建立了多张数据库表来存储租赁以及汽车租赁平台相关数据。系统中主要应用查询(select),修改(update),删除(delete)以及增加(insert)等语句来实现系统功能。

3、开发环境

  • JAVA版本:JDK1.8(最佳)
  • IDE类型:IDEA、Eclipse都可运行
  • tomcat版本:内嵌,无需再配置
  • 数据库类型:MySql(5.7、8.x版本都可)
  • maven版本:无限制
  • 硬件环境:Windows

4、功能截图+视频演示+文档目录

4.1 登录

登录

4.2 管理员模块

产品分类管理

产品列表

顾客购买产品

顾客管理

顾客活跃度

顾客考勤

顾客签到

会员类型管理

角色管理

库存管理

首页

套餐管理

销售报表

员工管理

5 、核心代码实现

5.1 配置代码


spring:
  datasource:
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/chuangmeng?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
  servlet:
    multipart:
      max-file-size: 50MB
      max-request-size: 50MB
server:
  port: 521
redis:
  open: false
shiro:
  redis: false
logging:
  level:
    com:
      mh: debug
mybatis-plus:
  type-aliases-package: com.mh.*.entity
  mapper-locations: classpath*:/mapper/*/*.xml

5.2 客户活跃度代码


/**
 * @Author MH
 * @Date 2020/2/8 16:12
 * 顾客活跃度
 */
@Controller
@RequestMapping("consumer")
public class ConsumerController {
    @Autowired
    private ConsumerService consumerService;
    @RequestMapping("livenessPage")
    public String livenessPage() {
        //查看一个月内顾客的到店次数
        /*
        * y:到店次数
        * x: 日期 1-30 每次加 5
        * 折线:顾客
        * */
     return "/member/livenessPage";
    }

    @RequestMapping("getJSONData")
    @ResponseBody
    public Map<String, Object> getJSONData(Integer month,String type) {

        if (type != null && type!="") EC.TYPE=type; //设置类型

        LocalDate now = LocalDate.now();
        if (month == null) {                        //设置月
            month = now.getMonthValue();
        }
        List<EC> ecs = consumerService.getEchartsData(month);
        if (ecs==null || ecs.size()<=0){
            Map map = new HashMap();
            map.put("info",month+" 月还没有数据");
            return map;
        }
        Map<String, Object> echarts = echarts(month, type, ecs);
        return echarts;
    }

    public Map<String, Object> echarts(Integer month,String type,List<EC> ecs) {


        Map<String, Object> map = new HashMap<>();
        Map<String, Object> m = new HashMap<>();
        m.put("text", EC.TEXT);
        map.put("title", m);
        Map<String, String > m1 = new HashMap<>(); //设置鼠标移入显示竖线
        m1.put("trigger", "axis");
        Map<String, String > mm = new HashMap<>();
        mm.put("type","line");
        m.put("axisPointer",mm);
        map.put("tooltip", m1);
        Map<String, Object> m2 = new HashMap<>();
        List<String> collect = ecs.stream().map(EC::getName).collect(Collectors.toList()); //获取name的集合
        m2.put("data", collect);
        map.put("legend", m2);
        Map<String, Object> m3 = new HashMap<>();
        m3.put("left", "3%");
        m3.put("right", "4%");
        m3.put("bottom", "3%");
        m3.put("containLabel",true);
        map.put("grid", m3);
        Map<String, Object> m4 = new HashMap<>();
        m4.put("type", "category");
        m4.put("boundaryGap", "false");
        m4.put("data", ecs.get(0).getDays());
        map.put("xAxis", m4);
        Map<String, Object> m5 = new HashMap<>();
        m5.put("type", "value");
        Map<String, Object> mm5 = new HashMap<>();
        mm5.put("show", false); //去掉刻度
        m5.put("axisTick",mm5);
        m5.put("min", 0);
        m5.put("max",5);
        Map<String, Object> mm6 = new HashMap<>();
        mm6.put("formatter",new Integer[]{0,1,2,3,4,5});
        m5.put("axisLabel",mm6);
        map.put("yAxis", m5);
        map.put("series", ecs);
        ecs.forEach(System.out::println);
        return map;
    }
}

6 、 获取方式

👇 大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式,后台回复:美妆👇🏻

请添加图片描述

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值