赞
踩
目录
文章末尾免费获取源码、软件和教程~
美发管理系统是一款专门为美发行业设计的美发管理软件,广泛适用于美发会所,美发信息化管理,美发管理系统具有强大的美发会员管理,员工管理等功能,能非常方便的打印,记录会员每次消费情况。美发管理系统是美发美容业不可获缺的强大信息管理工具。
一款好的美发会员管理系统,应该是可以帮助管理部门提高工作效率,帮助工作人员利用计算机,极为方便的对门店的有关数据进行管理、输入、输出、查找等有关操作,使杂乱的营业数据能够具体化、直观化、合理化等。
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权限设计,用于给不同用户分配不同的角色,不同的角色分配不同的权限。从而实现不同的用户有自己界面。
核心代码如下:
@RestController @RequestMapping("/sys/role") public class SysRoleController extends AbstractController { @Autowired private SysRoleService sysRoleService; @Autowired private 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模板,填入数据后,支持数据导入
引入SQL监控插件,可以查看每条sql的执行次数和执行时间等相关信息,从而方便进行系统优化
密码采用加密,就算是后台人员也无法直接查看和破解密码,极大保障用户数据安全
采用这种架构风格,前后端对接能很好地进行交互
代码如下:
@RestController @RequestMapping("generator/mallgoods") public class MallGoodsController extends AbstractController { @Autowired private 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 = '短信记录表 ';
觉得不错就点赞、收藏、关注、评论 吧。致力于将企业开发模式运用于项目学习中,在项目的学习中,同时了解企业开发模式和业务设计。系统包含源码、全套安装软件和视频安装教程。详情私聊我吧。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。