Commit Graph

9 Commits

Author SHA1 Message Date
sparksfly ff0d020015 chore: 完成项目多模块迭代更新
本次更新包含:
1.  初始化git提交规范配置文件
2.  添加claude调试配置
3.  后端:修复WebSocket依赖、优化秒杀/客服模块代码、修复文件存储bug、统一包结构
4.  前端:重构登录页面、新增组件类型声明、添加自动导入配置、新增WebSocket依赖包
2026-06-05 14:48:52 +08:00
Yuhang Wu 3288d12fbd 根据提供的code differences信息,我发现没有具体的代码变更内容。在这种情况下,我将提供一个通用的提交信息模板:
```
chore(general): 更新项目配置文件

- 添加必要的配置项
- 优化项目结构设置
```

**注意:由于未提供具体的代码差异信息,以上为示例模板。请根据实际的代码变更内容调整type、scope、subject和body部分。**

常见的type类型包括:
- feat: 新功能
- fix: 修复bug
- docs: 文档更新
- style: 代码风格调整
- refactor: 重构
- test: 测试相关
- chore: 构建过程或辅助工具变动
2026-06-05 12:23:22 +08:00
Yuhang Wu c9d85b0815 feat(module/seckill): 限时抢购 Redis Lua 防超卖 + 一人一单兜底
- 实体 SeckillActivity、SeckillProduct、SeckillOrder
- 枚举:SeckillActivityStatusEnum(含 calcStatus 时间驱动动态状态)、SeckillResultEnum
- RedisKey 追加 4 个抢购相关 key:SECKILL_STOCK / SECKILL_USER_RECORD / SECKILL_RESULT / SECKILL_WARMUP
- Mapper:decrRemainStock / incrRemainStock(MySQL 兜底)、forceEnd、markAsPaid
- resources/lua/seckill.lua:原子完成"限购校验 + 库存校验 + 扣库存 + 累计已购"
- Service:seckillBuy(核心:Lua 防超卖 → 落库 → 唯一索引兜底 → 落库失败回滚 Redis)
- Service:queryResult(轮询接口,从 Redis 取抢购结果)
- Service:warmupActivity(管理端预热,把库存同步到 Redis)
- Service:forceEnd / deleteActivity(清理 Redis)
- DTO:SeckillBuyReq、SeckillActivitySaveReq、SeckillProductAddReq
- VO:SeckillActivityVO(含动态状态 + 倒计时秒数)、SeckillProductVO(含实时 Redis 库存 + 已售百分比 + 折扣率)、SeckillResultVO
- Controller:用户端(活动列表/详情/抢购/结果查询)+ 管理端(活动 CRUD + 预热 + 强制结束 + 商品管理)
- 一人一单:seckill_order UNIQUE KEY (user_id, activity_id, sku_id) 兜底
- 抢购失败回滚:MySQL 落库异常时 INCRBY Redis 释放库存
feat(common/storage): 文件存储抽象接口 + Local / S3 双实现

- 抽象接口 FileStorage:store / delete / getAccessUrl / parsePathFromUrl
- LocalFileStorage:本地 ./uploads/ 物理存储(默认)
- S3FileStorage:S3 协议实现(RustFS / MinIO / AWS S3 / 阿里云 OSS)
- S3StorageProperties:snack.s3.* 配置类
- @ConditionalOnProperty 自动按 snack.storage.type 切换
- 启动时自动 ensureBucket(headBucket + createBucket)
- DisposableBean 容器关闭时关闭 S3Client 连接池

文件模块:
- 实体 UploadFile(含 storageType / bizType 区分)
- 枚举:FileBizTypeEnum(avatar/admin-avatar/product/sku/category/banner/notice/chat/common)
- Service:upload / uploadWithUploader / deleteFile / deleteByPath
- FileController:/api/file/upload + /api/file/{id}
- 图片类型自动校验(jpg/png/gif/webp)
- URL → path 反查(删除商品时根据 main_image 字段自动清理物理文件)
- application.yml:snack.storage.type / snack.upload.* / snack.s3.* 配置

管理端:
- AdminAvatarController /api/admin/avatar/upload
- CategoryAdminController 加 /api/admin/category/{id}/icon
- 删除分类时同步清理 icon 物理文件
2026-06-05 11:11:19 +08:00
Yuhang Wu a18e4df8a8 ```
feat(coupon): 完善优惠券管理功能并优化前端页面

- 添加优惠券类型、状态枚举定义及完整的数据结构
- 实现优惠券增删改查、状态管理等完整CRUD操作
- 增加用户优惠券记录查询功能和相关接口
- 重构优惠券列表页面,支持条件筛选和分页展示
- 添加优惠券编辑表单验证和状态切换功能
- 实现领取记录抽屉展示功能,支持用户记录查看
- 完善Mock数据模拟和错误处理机制
- 优化页面布局和交互体验,增加搜索和过滤功能
```
2026-06-04 13:41:50 +08:00
sparksfly 487778f0f8 feat: 新增用户与公告管理功能,优化后台菜单系统
此提交完成了多项核心功能开发:
1.  新增C端用户管理全流程,包含后端Mapper、Service、Controller以及前端API、页面
2.  新增系统公告模块,包含前后端完整的CRUD、状态管理、置顶、浏览量统计等功能
3.  重构后台侧边菜单系统,支持分组排序、图标自动解析、折叠态优化
4.  新增管理员管理API基础框架
5.  完善商品管理API补充更多字段和接口
6.  调整pnpm workspace配置,新增依赖白名单
7.  补充Element Plus组件类型声明
2026-06-03 23:40:35 +08:00
sparksfly 8b70a3f49a feat: 完成商品分类管理功能,优化前后端配置与接口
1.  调整环境配置,优化 Vite 代理与 Axios 请求路径
2.  完善 Sa-Token 配置,新增 BusinessException 重载构造
3.  重构后端 Mapper 调用,替换 selectBatchIds 为 selectByIds
4.  重构登录与用户信息流程,移除验证码与 Mock 数据
5.  新增商品分类管理页面,支持树形增删改查与状态管理
6.  优化 Redis 序列化配置,升级 Jackson 序列化器
7.  完善类型定义与 API 封装,适配后端最新接口契约
2026-06-02 23:46:19 +08:00
Yuhang Wu 3dd146f871 ```
feat(layout): 添加路由视图刷新功能

- 在 BasicLayout 中添加 viewKey 响应式变量用于控制 router-view 的重新挂载
- 监听自定义 'app:refresh-view' 事件实现页面刷新功能
- 修改 router-view 组件 key 值为 viewKey + '-' + r.fullPath 实现条件渲染

feat(tabs-nav): 优化标签页操作功能

- 添加 handleRefresh 方法通过 dispatchEvent 触发页面刷新事件
- 实现 handleCloseOthers、handleCloseRight、handleCloseAll 方法
- 优化 handleTabClick 避免重复点击当前路由
- 移除无用的激活状态小圆点和右键菜单注释代码

refactor(mock): 调整 mock 数据导入逻辑

- 将 import.meta.env.DEV 条件判断改为直接导入,简化代码结构
```
2026-06-02 14:33:30 +08:00
Yuhang Wu 1701bdb800 ```
feat: 添加标签导航栏并重构路由和布局

- 添加TabsNav组件实现标签页导航功能
- 重构BasicLayout布局结构,优化样式和容器布局
- 重写SideMenu组件的菜单项提取逻辑
- 分离全局样式文件,将index.scss拆分为多个独立文件
- 添加Mock拦截功能,开发环境可使用本地假数据
- 优化登录流程,调整权限验证逻辑

refactor: 重构路由配置和权限验证逻辑

- 将路由配置合并到主路由文件,移除动态路由挂载
- 优化permission.ts中的登录验证流程
- 修改API调用方式,适配请求拦截器的数据解包
- 更新package.json依赖包排序

feat: 实现客服消息和优惠券管理功能

- 开发完整的客服消息页面,支持会话管理和消息收发
- 实现优惠券管理页面,包含列表展示和新增编辑功能
- 添加相关API接口和类型定义
```
2026-06-02 14:25:53 +08:00
Yuhang Wu 7f5e67c62b ```
feat: 初始化零食商城管理后台项目

- 添加开发、测试、生产环境配置文件
- 配置 Git 忽略规则和代码格式化规则
- 创建项目 README 文档和基础 HTML 模板
- 配置 ESLint 和 Prettier 代码规范
- 实现认证、聊天、优惠券、仪表盘等 API 接口
- 创建基础布局组件和路由权限控制
- 集成状态管理、UI 组件库和图表库
```
2026-06-02 10:05:37 +08:00