商城后台系统 — 新手练习 —毕业设计

2023-05-16

商城后台系统 — 新手练习 —毕业设计

  • 业务功能介绍
  • 项目地址:
  • 一、商品管理
    • 1.商品列表
      •   描述
      •   效果
    • 2.添加商品
      •   描述
      •   效果
    • 3.商品分类
      •   描述
      •   效果
    • 4.商品类型
      •   描述
      •   效果
  • 二、订单管理
    • 1.订单列表
      •   描述
      •   效果
    • 2.订单设置
      •   描述
      •   效果
    • 3.退货申请处理
      •   描述
      •   效果
    • 4.退货原因设置
      •   描述
      •   效果
  • 三、营销管理
    • 1.新品推荐
      •   描述
      •   效果
    • 2.人气推荐
      •   描述
      •   效果
    • 3.广告列表
      •   描述
      •   效果
  • 四、系统监控
    • 1.操作日志
      •   描述
      •   效果
    • 2.异常日志
      •   描述
      •   效果
  • 系统管理
    • 用户列表
      •   描述
      •   效果
    • 角色列表
      •   描述
      •   效果
    • 菜单列表
      •   描述
      •   效果
  • 动态路由
  • 非业务功能介绍
  • 一、接口鉴权
    • 注意事项
  • 二、接口计数器
    • 注意事项
      • 1.控制台
      • 2.发送邮件
  • 三、接口幂等
    • 注意事项
  • 四、接口限流
    • 注意事项
  • 五、接口灰度
    • 注意事项
  • 六、接口缓存
    • 注意事项
  • 其他注意事项
  • 参考项目
  • 目前刚上大一,还在学习中 如果项目有问题可以给我留言、私信、评论,如果你觉得可以点下start星星来鼓励我,后继会持续更新 非常感谢!!

业务功能介绍

项目地址:

后端: 点我跳转
前端:点我跳转

一、商品管理

1.商品列表

  描述

   筛选搜索(商品名称、商品货号、上架状态、审核状态)
   展示列表(商品图片、商品名称、价格/货号、标签 (上架、新品、推荐)、SKU库存编辑、销量、审核状态)
   操作:添加、编辑、删除

  效果

在这里插入图片描述

2.添加商品

  描述

   商品信息(商品分类、商品名称、副标题、商品介绍、商品货号、商品售价、市场价、商品库存、库存预警值、计算单位、商品重量(单位:克))
   商品促销(商品上架、商品推荐(新品、推荐)、服务保证(无忧退货、快速退款、免费包邮)、详细页标题、详细页描述、商品备注)
   商品属性(属性类型、商品规格、属性图片、商品参数、商品相册、规格参数)

  效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.商品分类

  描述

   展示列表(分类名称、级别、商品数量、数量单位、是否显示)
   设置 - 查看下级(通过分类id,查看他有的子分类,展示分类名称、级别、商品数量、数量单位、是否显示)
   操作 - 添加、编辑(分类名称、上级分类、数量单位、是否显示、分类描述)、删除

  效果

在这里插入图片描述

在这里插入图片描述

4.商品类型

  描述

   展示列表
   设置 - 属性列表、参数列表(根据类型查询他拥有的属性、参数 – 展示(属性名称、商品类型、属性的否可选、属性值的录入方式、可选择列表))
   操作 - 添加、编辑(属性名称、商品类型、属性是否可选(唯一、单选、复选)、属性值的录入方式(手工录入、从列表中选择)、属性值可选列表、是否支持手动新增(是、否))、删除

  效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、订单管理

1.订单列表

  描述

   筛选搜索(订单编号、收货人姓名、提交时间、订单状态)
   展示列表(订单编号、提交时间、用户账号、订单金额、支付方式、订单状态)
   操作 - 查看订单(基本信息、收货人信息、商品信息、费用信息、操作信息)、删除订单、订单发货、订单跟踪、订单关闭

  效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.订单设置

  描述

   超过X分钟未付款,订单自动关闭、发货超过X天,订单自动完成订单完成超过X天,自动结束交易不能申请售后、订单完成超过X天,自动五星好评

  效果

在这里插入图片描述

3.退货申请处理

  描述

   筛选搜索(服务单号、申请时间、操作人员、处理时间、处理状态)
   展示列表(服务单号、申请时间、用户账号、退款金额、联系人、申请状态、处理时间)
   操作 - 查看详情 (退货商品、服务单信息、确认退货、拒绝退货)

  效果

在这里插入图片描述
在这里插入图片描述

4.退货原因设置

  描述

   展示列表(原因类型、排序、是否可用、添加时间)
   操作 - 新增、编辑(原因类型、排序、是否可用)删除

  效果

在这里插入图片描述
在这里插入图片描述

三、营销管理

1.新品推荐

  描述

   筛选搜索(商品名称、推荐状态)
   选择商品(商品名称、货号、价格)
   展示列表(商品名称、是否推荐、排序、状态)

  效果

在这里插入图片描述
在这里插入图片描述

2.人气推荐

  描述

   筛选搜索(商品名称、推荐状态)
   选择商品(商品名称、货号、价格)
   展示列表(商品名称、是否推荐、排序、状态)

  效果

在这里插入图片描述
在这里插入图片描述

3.广告列表

  描述

   筛选搜索(广告名称、到期时间)
   展示列表(广告名称、广告位置、广告图片、时间 -> 开始时间和到期时间、上线/下线、点击次数)
   操作 - 添加广告(广告名称、广告位置、开始时间、到期时间、上线/下线、广告图片、广告链接、广告备注)、编辑、删除

  效果

在这里插入图片描述
在这里插入图片描述

四、系统监控

1.操作日志

  描述

   展示列表(用户名、IP、IP来源、描述、浏览器、请求耗时、创建日期)
   操作 - 清空

  效果

在这里插入图片描述

2.异常日志

  描述

   展示列表(用户名、IP、IP来源、描述、浏览器、请求耗时、创建日期)
   操作 - 清空、查看详情

  效果

在这里插入图片描述
在这里插入图片描述

系统管理

用户列表

  描述

   展示列表(账号、姓名、邮箱、注册时间、最后登录时间、是否启用)操作(分配角色、编辑、删除)

  效果

在这里插入图片描述

角色列表

  描述

   展示列表(角色名称、描述、添加时间、是否启用)操作(分配菜单、编辑、删除)

  效果

在这里插入图片描述

菜单列表

  描述

   展示列表(菜单名称、菜单级数、图标、权限标识、组件路径、排序、创建日期、显示、)、设置(查看下级)、操作(编辑、删除)

  效果

在这里插入图片描述

动态路由

可以根据用户所拥有的菜单,进行动态显示
匹配关系:用户 — 角色、角色 — 菜单

非业务功能介绍

一、接口鉴权

为了保证接口调用的安全性,计实现一个接口调用鉴权功能,**只有经过认证之后的系统才能调用我们的接口,没有认证过的系统调用我们的接口会被拒绝。

注意事项

如果要使用这个功能的话,打开common -> config下的InterceptorConfig类,将这个代码取消注释,因为为了方便测试,因此将他注释了

		// 接口鉴权拦截器配置
		// registry.addInterceptor(authenticationInterceptor).addPathPatterns("/**");

二、接口计数器

能够获取接口调用的各种统计信息,比如,响应时间的最大值(max)、最小值(min)、平均值(avg)、百分位值(percentile)、接口调用次数(count)、频率(tps)等
支持将统计结果以各种显示格式(比如:JSON 格式、网页格式、自定义显示格式等)输出到各种终端(Console 命令行、HTTP 网页、Email、日志文件、自定义输出终端等),以方便查看。

注意事项

1.控制台

默认会统计60秒内请求的接口 并且每隔60秒会推送一次数据到控制台,如果需要修改统计时间打开content ->metrics-> application下的ApplicationTimer类,修改参数值

consoleReporter.startRepeatedReport(60, 60)

2.发送邮件

1.默认会将一天内的接口统计,并且于0点时发送,如果要修改发送时间,打开content ->metrics->report下的EmailReporter类,修改参数值

	/**
	 * 时间一天
	 */
	private static final Long DAY_HOURS_IN_SECONDS = 86400L;

2.邮件收件人,在application.yml中email.mailTo进行调整,如果有多个人采用逗号分隔,示例如下

# 邮箱配置
email:
  # 收件人,已英文逗号(,)分割 示例:34@qq.com,25@qq.com
  mailTo: 3421793724@qq.com

三、接口幂等

避免同一业务被多次重复执行,接口需要支持幂等特性。

注意事项

要使用此功能,需要给使用幂等的方法上添加@IdempotenceAuth注解

四、接口限流

限制每个调用方对接口请求的频率。当超过预先设定的访问频率后,我们就触发限流熔断,避免服务器宕机、业务流量突发导致请求超时等…

注意事项

采用的是阿里云的sentinel限流,因此如果要使用此功能,需要下载sentinel,并且在yaml中配置sentinel地址

  cloud:
    # sentinel限流配置
      sentinel:
      transport:
        dashboard: localhost:8080

五、接口灰度

不只是使用功能开关做新老接口调用方式的切换,我们还希望调用方在替换某个接口的时候,先让小部分接口请求,调用新的 RESTful 接口,剩下的大部分接口请求,还是调用老的 RPC 接口,验证没有问题之后,再逐步加大调用新接口的请求比例,最终,将所有的接口请求,都替换成调用新的接口。这就是所谓的“灰度”。

注意事项

1.此功能可以自定义配置,也可以采用已经规定的配置文件(dark-rule.yml)
2.如果想自定义配置,需要定义一个类实现IDarkFeature接口,在dark里实现我们想要的规则
使用方式参考

		DarkLaunch darkLaunch = new DarkLaunch();
		IDarkFeature darkFeature = darkLaunch.getDarkFeature("newalgo_loan");
		Assumptions.assumingThat(darkFeature.dark(1001), () -> System.out.println("执行新功能进行测试"));
		System.out.println("不在区间范围内,执行旧功能");

六、接口缓存

当一个数据被重复访问时,如果每次都去数据库查询,这显然是没必要的,因此使用接口缓存就可以大大提高效率,减少IO连接

注意事项

采用的是springboot的缓存注解 + redis的方式,因此使用此功能需要配置redis

其他注意事项

1、使用图片上传需要自行去阿里云获取oss相关信息(有免费额度)
oss使用参考: 点我跳转
2、使用发送邮件功能需要获得邮箱配置信息
邮箱配置参考: 点我跳转
3、使用限流功能需要配置sentinel环境
4、由于项目中使用redis作为缓存,因此需要配置redis环境
5、因为采用的是GeoLite2来获取IP的相应信息,因此在resources下有个GeoLite2-City.mmdb文件

参考项目

由于本人前端不是很会, 因此采用了mall-admin-web和EL-Admin两个大佬的页面并进行修改
mall-admin-web链接:http://www.macrozheng.com/#/database/mall_database_overview
EL-ADMIN链接:https://el-admin.vip

目前刚上大一,还在学习中 如果项目有问题可以给我留言、私信、评论,如果你觉得可以点下start星星来鼓励我,后继会持续更新 非常感谢!!

联系方式:扣扣 – 3421793724

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

商城后台系统 — 新手练习 —毕业设计 的相关文章

随机推荐

  • [实验一] 选择器

    该个栏目的博客都是基于南京大学的数字逻辑与计算机组成的课程设计 xff0c 方便以后进行总结归纳而准备的 这次实验是实验一 xff1a 选择器 设计一个简单的选择器 xff0c 介绍一些常用的多路选择器的设计方法 Verilog语言中的al
  • VMware虚拟机中安装的Linux系统无法识别U盘解决方法

    文章目录 1 问题描述2 解决方法3 参考文献 1 问题描述 如图1所示 xff0c 在VMware安装的Linux系统 xff08 Ubuntu 无法读取U盘 图 1 U盘读取失败 2 解决方法 原因在于所用的U盘为3 0接口 xff0c
  • 解决error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools"两个方法

    简述 在Windows下的pycharm安装出现 Microsoft Visual C 43 43 14 0 is required Get it with 34 Microsoft Visual C 43 43 Build Tools的解
  • ubuntu 18.04源码安装mysql 5.7.18

    一 安装依赖包 sudo apt update sudo apt install cmake bison libncurses5 dev build essential 二 下载 mysql 5 7 18源码 源码 传送门 选择那个包含bo
  • 什么叫做装箱和拆箱?一看就懂系列

    有很多同学对与装箱和拆箱还是有点搞不太明白 首先讲一下概念 xff1a 1 装箱指的是把值类型转化为引用类型 2 拆箱当然指的就是把引用类型转化为值类型 估计很多同学可能还分不清哪些是属于引用类型和值类型 这个就需要自己去强化记忆一下了 光
  • java 和javascript的区别?你是否还在把他们混为一谈呢

    1 javascript是基于对象的 xff0c 它是一种脚本语言 xff0c 是一种基于对象和事件驱动的编程语言 xff0c 因而它本身提供了非常丰富的内部对象供设计人员使用 而Java是面向对象的 xff0c 即Java是一种真正的面向
  • vs2019智能提示设置为中文

    官网修改中文提示地址 xff1a https docs microsoft com zh cn dotnet core install localized intellisense 1 去官网下载intellisense语言包 下载链接 x
  • .net中的定时任务

    FluentScheduler是什么 xff1f FluentScheduler是 net中的任务调度框架 xff0c 也就是你如果想在 net程序跑一段代码 xff0c 同时又不影响主程序的运行时 就可以使用FluentScheduler
  • 实用的Visual Studio插件

    打开Visual Studio 扩展 管理扩展 安装自己需要的插件 01 CodeMaid CodeMaid快速整理代码文件 xff0c 规范你的代码 xff0c 提高代码阅读体验 代码自动对齐 xff0c 格式化代码 xff08 ps x
  • mysql 数据库信息探索

    mysql 数据库信息探索 xff08 1 xff09 查询数据库的表数量 SELECT COUNT TABLES table schema FROM information schema TABLES GROUP BY table sch
  • .net 6 基于AspNetCoreRateLimit的限流

    1 安装包 AspNetCoreRateLimit 2 在appsetting cs中加入IpRateLimiting配置节点 span class token comment 限流配置 span span class token stri
  • 关于汉字转拼音并排序解决方案

    使用方法 xff1a 写一个静态帮助类 span class token keyword public span span class token keyword static span span class token keyword c
  • .NET Core6 中使用AutoMapper

    1 引入AutoMapper包 2 新建一个类 xff1a MappingProfile xff0c 类名自定义 xff0c 但是必须要继承 Profile类 用于创建映射规则 如图 xff1a Student为源数据 xff08 我这里是
  • 使用Python调用百度OCR

    使用Python调用百度OCR 注册 登录百度智能云创建应用安装python SDK接口说明代码实现 xff08 本地图片 xff09 代码实现 xff08 使用url上的图片并使用可选参数 xff09 注册 登录百度智能云 注册请点击 登
  • 001 超全C语言程序设计概念

    前言 此笔记主要参考自赵海英老师的C语言课程 xff0c 此笔记是在考研重新学习C语言的情况下进行的整理 xff0c 主要用于后续的C语言概念温故知新 第一章 基础知识 1 数制及转换 四种数制 xff1a 二进制 十进制 八进制 十六进制
  • 使用@Autowired注解警告Field injection is not recommended

    问题 xff1a 在使用变量方式依赖注入时 xff0c 提示Field injection is not recommended 64 Autowired LogService logService 虽然变量方式注入非常简洁 xff0c 但
  • mybatis动态数据源,分页插件失效

    mybatis动态数据源 xff0c 分页插件失效 发表于 xff1a 2020 08 18 20 42 47 阅读量 xff1a 9 作者 xff1a 黄叶 原因 xff1a 使用动态数据源 xff1a 数据正常但是total为0 解决
  • mybatis动态数据源配置使用事务不生效

    原因 xff1a 因为我使用的是配置的方式来加载数据源 xff0c 因此我们还需要对事务管理器进行一个配置 解决 xff1a 在代码中添加 配置事物 64 param dataSource 64 return 64 Bean public
  • Caffeine cache实现本地缓存(简单又清楚)

    Caffeine cache实现本地缓存题 缓存填充策略 手动加载 介绍 xff1a 使用方式 xff1a 同步加载 介绍 xff1a 使用方式 xff1a 异步加载 介绍 xff1a 注意 xff1a 异步和同步使用方式相似 这里的话主要
  • 商城后台系统 — 新手练习 —毕业设计

    商城后台系统 新手练习 毕业设计 业务功能介绍项目地址 xff1a 一 商品管理1 商品列表 描述 效果 2 添加商品 描述 效果 3 商品分类 描述 效果 4 商品类型 描述 效果 二 订单管理1 订单列表 描述 效果 2 订单设置 描述