添加开发规和skill
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
---
|
||||
inclusion: manual
|
||||
---
|
||||
|
||||
# OfferPie Back‑End 项目结构说明
|
||||
@zk
|
||||
## 1️⃣ 项目整体层次
|
||||
@@ -18,11 +22,11 @@ offerpie/back-end
|
||||
│ ├─ controller/
|
||||
│ │ ├─ LoginController.java # 登录相关接口(发送验证码、短信登录)
|
||||
│ │ └─ RouteMenuController.java # 路由菜单接口(获取用户有效菜单树)
|
||||
│ ├─ server/
|
||||
│ │ ├─ LoginServer.java # 登录业务逻辑(验证码校验、自动注册、JWT生成、Cookie设置)
|
||||
│ │ ├─ UserRegisterServer.java # 用户注册服务(注册逻辑、邀请码生成与绑定)
|
||||
│ │ ├─ FuncPermissionServer.java # 功能权限服务(校验、扣减、查询、添加库存、回退)
|
||||
│ │ ├─ RouteMenuServer.java # 路由菜单服务(查询、添加库存、获取用户菜单树)
|
||||
│ ├─ service/
|
||||
│ │ ├─ LoginService.java # 登录业务逻辑(验证码校验、自动注册、JWT生成、Cookie设置)
|
||||
│ │ ├─ UserRegisterService.java # 用户注册服务(注册逻辑、邀请码生成与绑定)
|
||||
│ │ ├─ FuncPermissionService.java # 功能权限服务(校验、扣减、查询、添加库存、回退)
|
||||
│ │ ├─ RouteMenuService.java # 路由菜单服务(查询、添加库存、获取用户菜单树)
|
||||
│ │ └─ WxPayNotifyMessageAbstractImpl.java # 微信支付回调实现
|
||||
│ └─ pojo/
|
||||
│ ├─ dto/
|
||||
@@ -71,16 +75,16 @@ offerpie/back-end
|
||||
│ │ ├─ UserFuncPermissionStock.java # 用户功能权限库存表(bg_user_func_permission_stock)
|
||||
│ │ └─ UserFuncUsageLog.java # 用户功能使用记录表(bg_user_func_usage_log)
|
||||
│ └─ vo/ # ViewObject(OssUrlVo 等)
|
||||
└─ server/ # 业务 Service(OssServer、SmsServer 等)
|
||||
└─ service/ # 业务 Service(OssService、SmsService 等)
|
||||
```
|
||||
> **设计理念** – 业务实体和 Mapper 位于 `manager`,B 端和 C 端共享;C 端特有的注解、切面、权限服务、路由菜单服务位于 `client-api`,避免 B 端误用;`common` 提供统一的技术支撑。
|
||||
|
||||
## 2️⃣ 各层模块职责
|
||||
| 层级 | 主要职责 | 关键类/包 |
|
||||
|------|----------|-----------|
|
||||
| **client-api** | - 面向终端用户的 REST API <br> - 启动 Spring Boot 应用 <br> - 短信验证码登录(含自动注册、邀请码绑定) <br> - **功能权限校验**:注解 + 切面 + 权限服务(校验、扣减、回退) <br> - **路由菜单**:获取用户有效菜单树 | `ClientApplication`、`LoginController`、`RouteMenuController`、`FuncPermission`、`FuncPermissionAspect`、`FuncPermissionServer`、`RouteMenuServer`、`UserRegisterServer`、`RouteMenuVo` |
|
||||
| **client-api** | - 面向终端用户的 REST API <br> - 启动 Spring Boot 应用 <br> - 短信验证码登录(含自动注册、邀请码绑定) <br> - **功能权限校验**:注解 + 切面 + 权限服务(校验、扣减、回退) <br> - **路由菜单**:获取用户有效菜单树 | `ClientApplication`、`LoginController`、`RouteMenuController`、`FuncPermission`、`FuncPermissionAspect`、`FuncPermissionService`、`RouteMenuService`、`UserRegisterService`、`RouteMenuVo` |
|
||||
| **common** | - **统一配置**:OSS、Redis、Security、WxPay、Sms 等 <br> - **跨层工具**:HTTP、IP、认证、验证码、Redis Server 等 <br> - **全局拦截/切面**:日志、TraceId、黑名单、SQL 打印 <br> - **统一异常/响应**:`GlobalExceptionAdvice`、`UnifiedResponse` <br> - **业务抽象**:邮件发送、微信支付(Native/JS/Transfer) <br> - **公共 POJO**:登录令牌、防重放信息等 | `config/`, `tool/`, `interceptor/`, `aop/`, `exception/`, `email/`, `wxPay/`, `pojo/` |
|
||||
| **manager** | - **业务实体**(`User`、`OssFile`、`UserInvite`、`RouteMenu`、`FuncPermission`、`UserRouteMenuStock`、`UserFuncPermissionStock`、`UserFuncUsageLog`) <br> - **MyBatis Mapper**(`UserMapper`、`OssFileMapper`、`UserInviteMapper`、`RouteMenuMapper`、`FuncPermissionMapper`、`UserRouteMenuStockMapper`、`UserFuncPermissionStockMapper`、`UserFuncUsageLogMapper`) <br> - **业务 API**:文件上传/下载、健康检查等 <br> - **业务逻辑**:服务层、工具类等 <br> - **既供 B 端 UI(待实现)使用,也供 C 端业务直接调用** | `controller/`, `mapper/`, `pojo/po/`, `pojo/vo/`, `server/`, `constant/` |
|
||||
| **manager** | - **业务实体**(`User`、`OssFile`、`UserInvite`、`RouteMenu`、`FuncPermission`、`UserRouteMenuStock`、`UserFuncPermissionStock`、`UserFuncUsageLog`) <br> - **MyBatis Mapper**(`UserMapper`、`OssFileMapper`、`UserInviteMapper`、`RouteMenuMapper`、`FuncPermissionMapper`、`UserRouteMenuStockMapper`、`UserFuncPermissionStockMapper`、`UserFuncUsageLogMapper`) <br> - **业务 API**:文件上传/下载、健康检查等 <br> - **业务逻辑**:服务层、工具类等 <br> - **既供 B 端 UI(待实现)使用,也供 C 端业务直接调用** | `controller/`, `mapper/`, `pojo/po/`, `pojo/vo/`, `service/`, `constant/` |
|
||||
|
||||
## 3️⃣ 关键业务实体
|
||||
| 实体 | 所属模块 | 作用概述 |
|
||||
@@ -164,4 +168,4 @@ offerpie/back-end
|
||||
### 核心逻辑
|
||||
- 用户注册时自动生成10位邀请码(大写字母+数字),存入 `User.invite_code`,碰撞检查最多重试3次
|
||||
- 注册时可携带 `inviteCode`,有效则写入邀请记录,无效仅日志警告不阻断注册
|
||||
- 注册逻辑由 `UserRegisterServer` 独立承担,`LoginServer` 委托调用
|
||||
- 注册逻辑由 `UserRegisterService` 独立承担,`LoginService` 委托调用
|
||||
|
||||
Reference in New Issue
Block a user