【开源】基于Java+SpringBoot+Vue+ElementUI的美发店会员管理系统
目录
系统背景
系统总体设计
运行环境
技术选型
系统架构
系统用例
系统详细设计
系统功能截图
首页统计
RBAC权限管理
商品管理
订单管理
销量统计
售后订单
收银系统
供应商管理
商品采购
采购统计
会员管理
短信管理
次卡管理
系统核心功能设计
RBAC权限设计
逻辑删除
EXCEL数据导出功能
EXCEL数据导入功能
SQL监控
MD5加密
RESTful架构风格
数据存储设计
表结构
获取源码
文章末尾免费获取源码、软件和教程~
系统背景
美发管理系统是一款专门为美发行业设计的美发管理软件,广泛适用于美发会所,美发信息化管理,美发管理系统具有强大的美发会员管理,员工管理等功能,能非常方便的打印,记录会员每次消费情况。美发管理系统是美发美容业不可获缺的强大信息管理工具。
一款好的美发会员管理系统,应该是可以帮助管理部门提高工作效率,帮助工作人员利用计算机,极为方便的对门店的有关数据进行管理、输入、输出、查找等有关操作,使杂乱的营业数据能够具体化、直观化、合理化等。
系统总体设计
运行环境
Java 开发工具包:jdk v1.8
JavaScript运行环境:nodejs v14.15.0
Java依赖管理工具:maven v3.3.9
后端代码开发工具:idea
前端代码开发工具:WebStorm
数据库可视化工具:Navicat
数据库:MySQL
技术选型
SpringBoot
MybatisPlus
Vue
ElementUI
Echarts
JWT
系统架构
系统用例
不同的角色具有不同的功能
系统详细设计
系统功能截图
首页统计
通过图表直观查看当天统计数据
RBAC权限管理
分配不同的角色不同权限
商品管理
订单管理
销量统计
售后订单
收银系统
供应商管理
商品采购
采购统计
会员管理
短信管理
次卡管理
系统核心功能设计
RBAC权限设计
RBAC权限设计,用于给不同用户分配不同的角色,不同的角色分配不同的权限。从而实现不同的用户有自己界面。
核心代码如下:
@RestController @RequestMapping("/sys/role") public class SysRoleController extends AbstractController {@Autowiredprivate SysRoleService sysRoleService;@Autowiredprivate SysRoleMenuService sysRoleMenuService; /*** 角色列表*/@GetMapping("/list")@RequiresPermissions("sys:role:list")public R list(@RequestParam Map<String, Object> params){//如果不是超级管理员,则只查询自己创建的角色列表if(getUserId() != Constant.SUPER_ADMIN){params.put("createUserId", getUserId());} PageUtils page = sysRoleService.queryPage(params); return R.ok().put("page", page);}/*** 角色列表*/@GetMapping("/select")@RequiresPermissions("sys:role:select")public R select(){Map<String, Object> map = new HashMap<>();//如果不是超级管理员,则只查询自己所拥有的角色列表if(getUserId() != Constant.SUPER_ADMIN){map.put("create_user_id", getUserId());}List<SysRoleEntity> list = (List<SysRoleEntity>) sysRoleService.listByMap(map);return R.ok().put("list", list);}/*** 角色信息*/@GetMapping("/info/{roleId}")@RequiresPermissions("sys:role:info")public R info(@PathVariable("roleId") Long roleId){SysRoleEntity role = sysRoleService.getById(roleId);//查询角色对应的菜单List<Long> menuIdList = sysRoleMenuService.queryMenuIdList(roleId);role.setMenuIdList(menuIdList);return R.ok().put("role", role);}/*** 保存角色*/@SysLog("保存角色")@PostMapping("/save")@RequiresPermissions("sys:role:save")public R save(@RequestBody SysRoleEntity role){ValidatorUtils.validateEntity(role);role.setCreateUserId(getUserId());sysRoleService.saveRole(role);return R.ok();}/*** 修改角色*/@SysLog("修改角色")@PostMapping("/update")@RequiresPermissions("sys:role:update")public R update(@RequestBody SysRoleEntity role){ValidatorUtils.validateEntity(role);role.setCreateUserId(getUserId());sysRoleService.update(role);return R.ok();}/*** 删除角色*/@SysLog("删除角色")@PostMapping("/delete")@RequiresPermissions("sys:role:delete")public R delete(@RequestBody Long[] roleIds){sysRoleService.deleteBatch(roleIds);return R.ok();} }
逻辑删除
表采用逻辑删除,企业应用都不会真实地从数据库删除数据,而是进行伪删除,极大地提高了系统安全性和可恢复性。每个实体类有添加@TableLogic
核心代码如下:
EXCEL数据导出功能
支持页面数据导出
EXCEL数据导入功能
支持下载excel模板,填入数据后,支持数据导入
SQL监控
引入SQL监控插件,可以查看每条sql的执行次数和执行时间等相关信息,从而方便进行系统优化
MD5加密
密码采用加密,就算是后台人员也无法直接查看和破解密码,极大保障用户数据安全
RESTful架构风格
采用这种架构风格,前后端对接能很好地进行交互
代码如下:
@RestController @RequestMapping("generator/mallgoods") public class MallGoodsController extends AbstractController {@Autowiredprivate MallGoodsService mallGoodsService; /*** 列表*/@RequestMapping("/list")@RequiresPermissions("generator:mallgoods:list")public R list(@RequestParam Map<String, Object> params){PageUtils page = mallGoodsService.queryPage(params); return R.ok().put("page", page);} /*** 列表*/@RequestMapping("/queryAll")@RequiresPermissions("generator:mallgoods:list")public R queryAll(){List<MallGoodsEntity> all = mallGoodsService.list(); return R.ok().put("all", all);} /*** 信息*/@RequestMapping("/info/{id}")@RequiresPermissions("generator:mallgoods:info")public R info(@PathVariable("id") Long id){MallGoodsEntity mallGoods = mallGoodsService.getById(id); return R.ok().put("mallGoods", mallGoods);} /*** 保存*/@RequestMapping("/save")@RequiresPermissions("generator:mallgoods:save")public R save(@RequestBody MallGoodsEntity mallGoods){ mallGoods.setSalesCount(0L);mallGoods.setStock(0L);mallGoods.setCreateUserId(getUserId());mallGoods.setUpdateUserId(getUserId());Date date = new Date();mallGoods.setCreateTime(date);mallGoods.setUpdateTime(date);mallGoodsService.save(mallGoods); return R.ok();} /*** 修改*/@RequestMapping("/update")@RequiresPermissions("generator:mallgoods:update")public R update(@RequestBody MallGoodsEntity mallGoods){ mallGoods.setUpdateUserId(getUserId());Date date = new Date();mallGoods.setUpdateTime(date);mallGoodsService.updateById(mallGoods); return R.ok();} /*** 删除*/@RequestMapping("/delete")@RequiresPermissions("generator:mallgoods:delete")public R delete(@RequestBody Long[] ids){mallGoodsService.removeByIds(Arrays.asList(ids)); return R.ok();} }
数据存储设计
表结构
商品信息
CREATE TABLE mall_goods(id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,category_id BIGINT COMMENT '分类id' ,goods_sn VARCHAR(128) COMMENT '编码' ,name VARCHAR(128) COMMENT '名称' ,brand_id BIGINT COMMENT '品牌id' ,stock BIGINT COMMENT '库存' ,description VARCHAR(512) COMMENT '描述' ,is_on_sale INT COMMENT '是否在售' ,sale_price DECIMAL(32,8) COMMENT '零售价' ,sales_count BIGINT COMMENT '销量' ,is_times_card INT DEFAULT 0 COMMENT '是否次卡' ,standard_times INT COMMENT '标准次数' ,revision INT COMMENT '乐观锁' ,create_user_id BIGINT NOT NULL COMMENT '创建人' ,create_time DATETIME NOT NULL COMMENT '创建时间' ,update_user_id BIGINT NOT NULL COMMENT '更新人' ,update_time DATETIME NOT NULL COMMENT '更新时间' ,is_delete INT NOT NULL DEFAULT 0 COMMENT '是否删除' ,PRIMARY KEY (id) ) COMMENT = '商品信息';
商品分类
CREATE TABLE mall_category(id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,code VARCHAR(128) COMMENT '编码' ,name VARCHAR(128) COMMENT '名称' ,parent_id BIGINT COMMENT '父主键' ,revision INT COMMENT '乐观锁' ,create_user_id BIGINT NOT NULL COMMENT '创建人' ,create_time DATETIME NOT NULL COMMENT '创建时间' ,update_user_id BIGINT NOT NULL COMMENT '更新人' ,update_time DATETIME NOT NULL COMMENT '更新时间' ,is_delete INT NOT NULL DEFAULT 0 COMMENT '是否删除' ,PRIMARY KEY (id) ) COMMENT = '商品分类 ';
商品采购订单
CREATE TABLE mall_purchase(id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,supplier_id BIGINT COMMENT '供应商id' ,assignee_name VARCHAR(32) COMMENT '采购人姓名' ,phone VARCHAR(32) COMMENT '采购人手机' ,purchase_date DATETIME COMMENT '采购日期' ,purchase_amount DECIMAL(32,8) COMMENT '采购金额' ,revision INT COMMENT '乐观锁' ,create_user_id BIGINT NOT NULL COMMENT '创建人' ,create_time DATETIME NOT NULL COMMENT '创建时间' ,update_user_id BIGINT NOT NULL COMMENT '更新人' ,update_time DATETIME NOT NULL COMMENT '更新时间' ,is_delete INT NOT NULL DEFAULT 0 COMMENT '是否删除' ,PRIMARY KEY (id) ) COMMENT = '商品采购订单 ';
商品采购单明细
CREATE TABLE mall_purchase_detail(id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,batch_num VARCHAR(32) COMMENT '批号' ,purchase_id BIGINT COMMENT '采购单id' ,goods_id BIGINT COMMENT '商品id' ,unit INT COMMENT '计量单位:1-个 2-盒 3-箱' ,purchase_count BIGINT COMMENT '采购数量' ,cost_price DECIMAL(32,8) COMMENT '成本总价' ,stock BIGINT COMMENT '库存,初始值为采购数量' ,sale_price DECIMAL(32,8) COMMENT '零售价' ,production_date DATETIME COMMENT '生产日期' ,valid_date DATETIME COMMENT '有效日期' ,revision INT COMMENT '乐观锁' ,create_user_id BIGINT NOT NULL COMMENT '创建人' ,create_time DATETIME NOT NULL COMMENT '创建时间' ,update_user_id BIGINT NOT NULL COMMENT '更新人' ,update_time DATETIME NOT NULL COMMENT '更新时间' ,is_delete INT NOT NULL DEFAULT 0 COMMENT '是否删除' ,PRIMARY KEY (id) ) COMMENT = '商品采购单明细 ';
供应商
CREATE TABLE mall_supplier(id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,code VARCHAR(32) COMMENT '供应商编号' ,name VARCHAR(32) COMMENT '供应商名称' ,address VARCHAR(64) COMMENT '联系供应商注册地址' ,contact_person VARCHAR(32) COMMENT '联系人' ,telephone VARCHAR(32) COMMENT '手机' ,status INT COMMENT '状态 0:失效1:有效' ,revision INT COMMENT '乐观锁' ,create_user_id BIGINT NOT NULL COMMENT '创建人' ,create_time DATETIME NOT NULL COMMENT '创建时间' ,update_user_id BIGINT NOT NULL COMMENT '更新人' ,update_time DATETIME NOT NULL COMMENT '更新时间' ,is_delete INT NOT NULL DEFAULT 0 COMMENT '是否删除' ,PRIMARY KEY (id) ) COMMENT = '供应商 ';
订单
CREATE TABLE mall_order(id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,order_show_id VARCHAR(32) COMMENT '订单展示号,只用于展示' ,total_amount DECIMAL(32,8) COMMENT '订单总价格' ,real_pay_amount DECIMAL(32,8) COMMENT '实际支付总价格' ,pay_method INT COMMENT '支付方式 1:微信、2:支付宝、3:现金' ,order_status INT COMMENT '订单状态 1:待付款、2:已支付、3:交易关闭、4:已退款' ,pay_date DATETIME COMMENT '支付日期' ,remark VARCHAR(32) COMMENT '备注' ,vip_id BIGINT COMMENT '会员id' ,revision INT COMMENT '乐观锁' ,create_user_id BIGINT NOT NULL COMMENT '创建人' ,create_time DATETIME NOT NULL COMMENT '创建时间' ,update_user_id BIGINT NOT NULL COMMENT '更新人' ,update_time DATETIME NOT NULL COMMENT '更新时间' ,is_delete INT NOT NULL DEFAULT 0 COMMENT '是否删除' ,PRIMARY KEY (id) ) COMMENT = '订单 ';
订单明细
CREATE TABLE mall_order_detail(id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,order_id BIGINT COMMENT '订单id' ,goods_id BIGINT COMMENT '商品id' ,purchase_detail_id BIGINT COMMENT '采购订单明细id' ,goods_name VARCHAR(32) COMMENT '商品名称' ,sale_price DECIMAL(32,8) COMMENT '零售价' ,real_sale_price DECIMAL(32,8) COMMENT '实际售价' ,buy_counts BIGINT COMMENT '购买数量' ,refund_counts BIGINT COMMENT '退货数量:默认0' ,revision INT COMMENT '乐观锁' ,create_user_id BIGINT NOT NULL COMMENT '创建人' ,create_time DATETIME NOT NULL COMMENT '创建时间' ,update_user_id BIGINT NOT NULL COMMENT '更新人' ,update_time DATETIME NOT NULL COMMENT '更新时间' ,is_delete INT NOT NULL DEFAULT 0 COMMENT '是否删除' ,PRIMARY KEY (id) ) COMMENT = '订单明细 ';
售后订单
CREATE TABLE mall_refund_order(id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,refund_order_show_id VARCHAR(32) COMMENT '退款订单展示号,只用于展示' ,orderId BIGINT COMMENT '订单id' ,total_amount DECIMAL(32,8) COMMENT '订单总价格' ,real_pay_amount DECIMAL(32,8) COMMENT '实际退款总价格' ,pay_method INT COMMENT '退款方式 1:微信、2:支付宝、3:现金' ,order_status INT COMMENT '订单状态 1:待付款、2:已支付、3:交易关闭、4:已退款' ,pay_date DATETIME COMMENT '退款日期' ,remark VARCHAR(32) COMMENT '备注' ,revision INT COMMENT '乐观锁' ,create_user_id BIGINT NOT NULL COMMENT '创建人' ,create_time DATETIME NOT NULL COMMENT '创建时间' ,update_user_id BIGINT NOT NULL COMMENT '更新人' ,update_time DATETIME NOT NULL COMMENT '更新时间' ,is_delete INT NOT NULL DEFAULT 0 COMMENT '是否删除' ,PRIMARY KEY (id) ) COMMENT = '售后订单 ';
售后订单明细
CREATE TABLE mall_refund_order_detail(id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,refund_order_id BIGINT COMMENT '售后订单id' ,orderId BIGINT COMMENT '订单id' ,goods_id BIGINT COMMENT '商品id' ,purchase_detail_id BIGINT COMMENT '采购订单明细id' ,goods_name VARCHAR(32) COMMENT '商品名称' ,sale_price DECIMAL(32,8) COMMENT '零售价' ,real_sale_price DECIMAL(32,8) COMMENT '实际售价' ,refund_counts BIGINT COMMENT '退货数量' ,revision INT COMMENT '乐观锁' ,create_user_id BIGINT NOT NULL COMMENT '创建人' ,create_time DATETIME NOT NULL COMMENT '创建时间' ,update_user_id BIGINT NOT NULL COMMENT '更新人' ,update_time DATETIME NOT NULL COMMENT '更新时间' ,is_delete INT NOT NULL DEFAULT 0 COMMENT '是否删除' ,PRIMARY KEY (id) ) COMMENT = '售后订单明细 ';
次卡使用记录表
CREATE TABLE mall_times_card_history(id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,times_card_id BIGINT COMMENT '次卡表id' ,used_times INT COMMENT '已用次数' ,revision INT COMMENT '乐观锁' ,create_user_id BIGINT NOT NULL COMMENT '创建人' ,create_time DATETIME NOT NULL COMMENT '创建时间' ,update_user_id BIGINT NOT NULL COMMENT '更新人' ,update_time DATETIME NOT NULL COMMENT '更新时间' ,is_delete INT NOT NULL DEFAULT 0 COMMENT '是否删除' ,PRIMARY KEY (id) ) COMMENT = '次卡使用记录表 ';
次卡表
CREATE TABLE mall_times_card(id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,vip_id BIGINT COMMENT '会员id' ,order_id BIGINT COMMENT '订单id' ,order_show_id VARCHAR(32) COMMENT '订单展示号,只用于展示' ,order_detail_id BIGINT COMMENT '订单明细id' ,goods_id BIGINT COMMENT '商品id' ,goods_name VARCHAR(32) COMMENT '商品名称' ,standard_times INT COMMENT '标准次数' ,used_times INT COMMENT '已用次数' ,revision INT COMMENT '乐观锁' ,create_user_id BIGINT NOT NULL COMMENT '创建人' ,create_time DATETIME NOT NULL COMMENT '创建时间' ,update_user_id BIGINT NOT NULL COMMENT '更新人' ,update_time DATETIME NOT NULL COMMENT '更新时间' ,is_delete INT NOT NULL DEFAULT 0 COMMENT '是否删除' ,is_effective INT COMMENT '是否有效' ,PRIMARY KEY (id) ) COMMENT = '次卡表 ';
会员表
CREATE TABLE mall_vip(id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,name VARCHAR(32) COMMENT '名称' ,phone VARCHAR(32) COMMENT '手机' ,sex INT DEFAULT 0 COMMENT '性别' ,revision INT COMMENT '乐观锁' ,create_user_id BIGINT NOT NULL COMMENT '创建人' ,create_time DATETIME NOT NULL COMMENT '创建时间' ,update_user_id BIGINT NOT NULL COMMENT '更新人' ,update_time DATETIME NOT NULL COMMENT '更新时间' ,is_delete INT NOT NULL DEFAULT 0 COMMENT '是否删除' ,PRIMARY KEY (id) ) COMMENT = '会员表 ';
短信记录表
CREATE TABLE mall_message(id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键' ,content VARCHAR(128) COMMENT '内容' ,phone VARCHAR(32) COMMENT '手机' ,is_success INT DEFAULT 1 COMMENT '是否成功' ,revision INT COMMENT '乐观锁' ,create_user_id BIGINT NOT NULL COMMENT '创建人' ,create_time DATETIME NOT NULL COMMENT '创建时间' ,update_user_id BIGINT NOT NULL COMMENT '更新人' ,update_time DATETIME NOT NULL COMMENT '更新时间' ,is_delete INT NOT NULL DEFAULT 0 COMMENT '是否删除' ,PRIMARY KEY (id) ) COMMENT = '短信记录表 ';
获取源码
觉得不错就点赞、收藏、关注、评论 吧。致力于将企业开发模式运用于项目学习中,在项目的学习中,同时了解企业开发模式和业务设计。系统包含源码、全套安装软件和视频安装教程。详情私聊我吧。
【开源】基于Java+SpringBoot+Vue+ElementUI的美发店会员管理系统相关推荐
- 【开源】基于Java+SpringBoot+Vue+ElementUI的超市管理系统
目录 系统背景 系统总体设计 运行环境 技术选型 系统架构 系统用例 系统详细设计 系统功能截图 首页统计 RBAC权限管理 商品管理 订单管理 销量统计 售后订单 收银系统 商品采购 供应商管理 采 ...
- 基于java springboot vue elementui超市管理系统源码
开发环境及工具: 大等于jdk1.8,大于mysql5.5,idea(eclipse),vscode(webstorm) 技术说明: springboot mybatis vue elementui ...
- 基于JAVA+SpringBoot+Vue+ElementUI中学化学实验室耗材管理系统
一.项目背景介绍: 当前,中学的化学实验教学越来越重视,为了让学生对化学有更深刻的了解,必须要进行大量的化学实验.然而,由于耗材数量众多,很难有效地管理.因此,研发一个中学化学实验室耗材管理系统显得十 ...
- 基于Java+SpringBoot+vue+elementui的校园文具商城系统详细设计和实现
博主介绍:✌公司项目主程.全网粉丝10W+,csdn特邀作者.博客专家.CSDN新星计划导师.java领域优质创作者,CSDN博客之星TOP100.掘金/华为云/阿里云/InfoQ等平台优质作者.专 ...
- 基于JAVA+SpringBoot+Vue+Mybatis+MYSQL的汽车销售管理系统
项目介绍: 本项目基于spring boot以及Vue开发. 针对汽车销售提供客户信息.车辆信息.订单信息.销售人员管理.财务报表等功能,提供经理和销售两种角色进 行管理. 安装好node环境 在fr ...
- 基于JAVA+SpringBoot+Vue+Mybatis+MYSQL的图书馆管理系统
主要技术 SpringBoot.Mybatis-Plus.MySQL5.7.Vue2.ElementUI等 主要功能 管理员模块:登录.用户管理.读者管理.借阅记录管理 读者模块:登录.查询图书信息. ...
- 基于JAVA+SpringBoot+Vue+Mybatis+MYSQL的宿舍管理系统
前后端分离宿舍管理系统 介绍 项目主要使用axios进行前后端数据的交互,之所以采用axios不使用ajax的原因是因为看中了axios的拦截器,可以更好的帮我们完成项目 软件架构 软件架构说明 使用 ...
- 基于JAVA+SpringBoot+Vue+Mybatis+MYSQL的物资管理系统
项目功能: 主要分为系统模块和业务模块,业务模块是处理疫情期间,物资的发放,物资入库,以及查看物资的库存等.系统模块是一个后台通用的RBAC权限模块,可以精确的控制到后台API级别的权限控制. 页面效 ...
- java语言基于springboot+vue+elementUI 4S店车辆管理系统-#计算机毕业设计
项目介绍 随着信息化的不断深入,经济的飞速发展,企业要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的.汽车4S营销管理,作为一种新型的以品牌为单位个体经营管理为主体,同时集系统管理.采 ...
最新文章
- Codeforces Round #521 (Div.3)题解
- LeetCode11:Container With Most Water
- go 指针变量和普通变量的转化_7.8 C++指针变量的引用
- mkdir 创建多级目录_linux中的目录功能和文件文件管理
- 我的数据分析全系列教程,记录着那些大学奋斗的时光
- 比较python类的两个instance(对象) 是否相等
- Linux - 有效群组(effective group)与初始群组(initial group),groups,newgrp
- linux(一)export的生命周期
- 在线html编辑器 asp,(ewebeditor)比较简单好用的ASP网页在线编辑器
- oracle pl sql安装配置,oracle的安装与plsql的环境配置
- hdu 1312深搜入门题
- MoSonic:对SubSonic的分布式存储、缓存改进方案尝试(1)
- CSS过滤器(CSS filters)
- 实验三 vi编辑器(Linux基础教程)
- 怎么把视频转成文字?分享视频转换成文字的3款应用
- 用户登录·验证码测试登录
- Matlab中interp2和interpn的差异
- centos服务器80端口被占用怎么解决,CentOS下tomcat的80端口被占用的解决办法
- Linux目录结构与Windows对比
- [Linux-网络性能测试] -- netperf测试
热门文章
- 【Ubuntu】Ubuntu 20.04安装
- 《维生素C语言》C语言从入门到进阶教程【内附链接,可订阅专栏】(建议收藏)
- SPSS下载以及安装
- 将163博客搬至CSDN
- django 单元测试_如何将单元测试添加到Django项目
- thinkphp 5.0.23 rce漏洞复现
- Introductory Combinatorics 5th Chapter2 problem summary
- 数据读取器与指定的“WNWModel.WNW_Pipe”不兼容。类型“Label”的成员在同名的数据读取器中没有对应的列
- 信创办公--基于WPS的Word最佳实践系列(表格常见问题的处理)
- 论文笔记| 几分钟看完ResNet的融合特性及冗余性分析的三篇文章