# cd-server **Repository Path**: Yinhaotian/cd-server ## Basic Information - **Project Name**: cd-server - **Description**: 云梦后台管理系统(Cloud Dr Management System)是一个前后端分离的管理系统,web端使用Vue+element,后端Spring boot + MyBatis-plus + Spring JPA 进行开发,使用 Jwt + Spring Security做登录验证和权限校验 ,Redis和Kafka保证服务性能。 目前主要功能有用户管理功能,抽卡功能,图表展示,日程表功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: http://47.116.126.63:10290/index - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2024-08-14 - **Last Updated**: 2025-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, 后台管理系统 ## README # 云梦后台管理系统(原琉球拳系统) ## 前言及项目初心 云梦系统旨在打造一个简单好用的后台管理系统,在易用的前提下,也有着强大的功能,为用户生活提供便利。 QQ交流群:1046324891 试用地址:http://47.116.126.63:10290/index 访问用户为:visitor/admin 该项目已实际运营,为保护用户隐私,部分功能暂不显示,完整版功能可实际搭建使用,谢谢您的理解! ## 项目启动 云梦管理系统为前后端分离系统 前端地址为:https://gitee.com/Yinhaotian/cd-ui.git 数据库表由JPA自动生成,仅需配置数据库连接信息 ## 项目功能 ### 项目功能总览 + **抽卡功能**,报表功能,**日程表**。 + 个人信息修改,包括头像,其他信息等。 + 用户管理,角色管理,公告,日志管理。 + 系统监控,服务监控。 ### ### 功能细节介绍(用户向) #### ☆抽卡相关功能☆ + 抽卡 用户可从**魔法卡牌**->**抽卡** 进入,可进行单抽/十连进行抽卡,以及查看当前奖池。 ![抽卡](md-pic/魔法卡牌-抽卡.png) + 背包 用户可从**魔法卡牌**->**背包** 进入,可进行背包物品查看。 背包 + 记录 用户可从**魔法卡牌**->**记录** 进入,可进行抽卡记录查看。 ![记录查看](md-pic/魔法卡牌-记录.png) + 排行榜 用户可从**魔法卡牌**->**排行榜** 进入,可查看总排行榜。 ![排行榜](md-pic/魔法卡牌-排行榜.png) #### ☆日程表相关功能☆ + 用户可从**日程表**->**我的日程** 进入页面。 + 点击**月视图**/**周视图**可进行视图切换 + 点击新增可进行日程增加(暂不支持日程跨天) + 点击日程可进行修改/删除。 + 查看他人日程(前端暂未上线) + 动态匹配共同空闲日程(前端暂未上线) ![排行榜](md-pic/日程表-我的日程.png) #### ☆个人信息相关功能☆ + **个人信息** 可通过点击右上角 **名称**->**个人中心**进入,包括用户名,头像,手机号码,邮箱,性别以及密码的修改。 ![个人信息](md-pic/个人信息.png) + **用户管理** 可通过**系统管理** ->**用户管理** 进入,包括对系统内用户的查看,对用户进行查询、新增修改删除编辑,以及批量导入导出 ![用户管理](md-pic/用户管理.png) + **角色管理** 可通过**系统管理** ->**角色管理** 进入,包括对系统内角色的查看,对角色进行查询、分配、新增修改删除编辑,以及批量导入导出。 ![角色管理](md-pic/用户管理.png) + **通知公告** 可通过**系统管理** ->**通知公告** 进入,可对公告进行编辑。 ![通知公告](md-pic/通知公告.png) + **日志管理** + **登录日志** 可通过**系统管理** ->**日志管理** ->**登录日志** 进入,查看对应的登录日志。 ![登录日志](md-pic/日志管理-登录日志.png) + **操作日志** 可通过**系统管理** ->**日志管理** ->**操作日志** 进入,查看对应的操作日志。 ![操作日志](md-pic/日志管理-操作日志.png) + **在线用户监控** 可通过**系统监控** ->**在线用户监控** 进入,查看当前在线的用户。 ![在线用户](md-pic/在线用户.png) + **服务监控** 可通过**系统监控** ->**服务监控** 进入,查看当前服务状态 ![服务监控](md-pic/服务监控.png) + **抽卡系统** 可通过**动感地带** ->**抽卡系统** 进入,可点击单抽或十抽,消耗对应的奖券获取奖品。 ![抽卡系统](md-pic/抽卡系统.png) + **报表页面** 可通过**动感地带** ->**报表页面** 进入,可根据不同的需求场景,设置不同的报表。 ![报表页面](md-pic/报表页面.png) + **甘特图** 可通过**动感地带** ->**甘特图** 进入,可根据不同的需求,获得不同的甘特图。 ![甘特图](md-pic/甘特图.png) + **秒杀系统** 可通过**动感地带** ->**我的空间** 进入,可看到商品秒杀按钮。 ![商品秒杀](md-pic/秒杀系统.png) ### 功能细节介绍(开发向) + **登录功能** 使用Spring Security +JWT。登录时对用户进行校验,并获得混合token存入redis中,方便后续鉴权和使用。 + **个人信息** + 项目启动时,如无admin权限,则会生成一个admin权限。 ApplicationRunnerImpl implements ApplicationRunner + 头像修改将文件放入本地。 + **用户管理** + **角色管理** + **通知公告** + **日志管理** + **登录日志** 在用户登录和退出时,生成对应的登录记录。 + **操作日志** 利用aop切面,配合自定义@Log注解,在用户进行特定操作时,记录数据 + **在线用户监控** 查看redis中存放的用户数据,获取在线用户信息。 + **服务监控** + **抽卡系统** 通过消耗特定的奖券进行抽奖,设有10抽和80抽保底机制。中奖率动态可配置,采用**特定类型权重/所有类型权重总和** 来配置中奖率。 + **报表页面** 前端采用**ECharts**组件,后端返回特定数据内容来实现报表的渲染。 + **甘特图** 前端采用 Dhtmlx Gantt ,后端返回对应数据 + 商品秒杀功能 商品数量存放于redis中,使用原子扣减来防止同一商品重复扣减,获取商品数量-1后的值进行校验,若>=0则生成订单,否则中断操作,并手动将值+1。 ```java long stockCount = redisCache.decrement(productStockKey, 1); if (stockCount < 0) { redisCache.increment(productStockKey, 1); throw new LqqException(LqqGoodEnum.LQQ_GOOD_NOT_PERMISSION.getMsg()); } ``` 若下单成功,则用kafka将消息存入队列中,防止大量写库导致数据库压力过大。后续采用定时任务将值取出,一一落库。 ## 未来展望(未来会增加的功能) + 会增加站内信功能 + 未来会增加工作流来简化部分权限添加流程,只需审批者同意即可增加对应权限。 + 抽卡功能扩展 + 卡背包查看 + 抽卡记录回顾 + 卡合成 + + 余额系统(不仅仅是卡券 ## 踩坑历程 + 403问题 + 优先考虑跨域 + 看一下是否security里被拦截 + Bean注入后会自动调用该方法 -用于初始化方法 + 我是一行小输出 -用于程序输出 + //todo 相关检查 + ... # 更新日志 ## [v1.3] - 2025-04-28 ### ✨ 新增 - 新增排号功能: - 支持加号、批量加号、叫号、跳号、清空操作。 - 新增免密查看日程、排号功能。 ### 🐛 修复 - 修改抽卡记录按照日期倒序显示的问题。 - 修复 Linux 环境下日志不会换行的问题。 ### ⚡ 优化 - 移动端菜单优化,提升用户体验。 - 抽卡页面优化,界面更加简洁直观。 - 日程表和排号功能交互流程优化,操作更加流畅。 ## [v1.2] - 2025-04-05 ### ✨ 新增 - 首页大屏数据可视化改用真实业务数据 - 新增游客登录功能(无需注册快速体验) - 新增日程表功能 ### 🐛 修复 - 日程表移动端日期显示错误问题 - 日程表新建/修改日程点击无响应问题 - 移动端新建日程弹窗尺寸适配问题 - 日程表月视图在移动端的切换动效优化 - 日程表周视图编辑时ID丢失问题(修复返回逻辑) - 日程表周视图编辑未正确传入ID问题 ### ⚡ 优化 - 新建日程按钮移至右上角 - 移除本地存储逻辑,全面改用数据库交互 - 月视图PC端日程格子自动撑高(取消2行限制) ### ❗ 已知问题 - 月视图编辑逻辑异常(触发新增流程) - 月视图删除操作需二次确认(PC端) ## [v1.1] - 2025-03-23 ### 🎉 重磅更新 - 用户抽卡上限提升至100万次! ### 🔒 安全 - 移除Kafka依赖实现轻量部署 - 隐藏服务器真实IP/主机名信息 ### 📊 运维 - 新增定时任务执行日志记录 ## 更多功能敬请期待