2026-07-16 5e06e6893503147fc5138ffc960ff19de9c39ddc
配置文件
已添加1个文件
已修改1个文件
503 ■■■■■ 文件已修改
docs/技术架构文档.md 487 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-ksst.yml 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/¼¼Êõ¼Ü¹¹Îĵµ.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,487 @@
# äº§å“åº“存管理系统 - æŠ€æœ¯æž¶æž„文档
## 1. ç³»ç»Ÿæ¦‚è¿°
本系统是基于若依(RuoYi)框架定制开发的企业级产品库存管理系统,集成了采购、销售、库存、生产、财务、审批等核心业务模块,并深度融合 AI æ™ºèƒ½åŠ©æ‰‹èƒ½åŠ›ã€‚
| é¡¹ç›®ä¿¡æ¯ | è¯´æ˜Ž |
|---------|------|
| é¡¹ç›®åç§° | äº§å“åº“存管理系统 |
| åŸºç¡€æ¡†æž¶ | è‹¥ä¾ç®¡ç†ç³»ç»Ÿ v3.8.9 |
| JDK ç‰ˆæœ¬ | 25 |
| Spring Boot | 3.5.13 |
| æ‰“包方式 | å•模块 JAR |
---
## 2. æŠ€æœ¯æ ˆ
### 2.1 åŽç«¯æ ¸å¿ƒæ¡†æž¶
| ç±»åˆ« | æŠ€æœ¯ | ç‰ˆæœ¬ | è¯´æ˜Ž |
|------|------|------|------|
| Web æ¡†æž¶ | Spring Boot | 3.5.13 | æ ¸å¿ƒå®¹å™¨ |
| å®‰å…¨æ¡†æž¶ | Spring Security + JWT | - | è®¤è¯æŽˆæƒ |
| JWT åº“ | jjwt | 0.13.0 | Token ç”Ÿæˆä¸ŽéªŒè¯ |
| ORM æ¡†æž¶ | MyBatis-Plus | 3.5.16 | æ•°æ®æŒä¹…化 |
### 2.2 æ•°æ®å­˜å‚¨
| ç±»åˆ« | æŠ€æœ¯ | ç‰ˆæœ¬ | è¯´æ˜Ž |
|------|------|------|------|
| å…³ç³»æ•°æ®åº“ | MySQL | 8.0.33 | ä¸šåŠ¡æ•°æ®å­˜å‚¨ |
| è¿žæŽ¥æ±  | Druid | 1.2.23 | æ•°æ®åº“连接池 |
| ç¼“å­˜ | Redis | - | ç¼“存、会话、Token |
| æ–‡æ¡£æ•°æ®åº“ | MongoDB | - | AI èŠå¤©è®°å¿†å­˜å‚¨ |
| å‘量数据库 | Pinecone | - | RAG çŸ¥è¯†åº“检索 |
| å¯¹è±¡å­˜å‚¨ | MinIO | 8.4.3 | æ–‡ä»¶é™„件存储 |
### 2.3 AI èƒ½åŠ›æ ˆ
| ç±»åˆ« | æŠ€æœ¯ | è¯´æ˜Ž |
|------|------|------|
| AI æ¡†æž¶ | LangChain4j 1.0.0-beta3 | ç»Ÿä¸€ AI å¼€å‘框架 |
| LLM æä¾›å•† | é˜¿é‡Œé€šä¹‰åƒé—® (DashScope) | qwen-max å¯¹è¯æ¨¡åž‹ + text-embedding-v3 åµŒå…¥æ¨¡åž‹ |
| LLM æä¾›å•† | DeepSeek | deepseek-v3 (OpenAI å…¼å®¹æŽ¥å£) |
| LLM æä¾›å•† | Ollama | deepseek-r1:1.5b æœ¬åœ°éƒ¨ç½² |
| MCP åè®® | langchain4j-mcp | è¿žæŽ¥ OCR ç­‰å¤–部服务 |
### 2.4 å…¶ä»–组件
| ç±»åˆ« | æŠ€æœ¯ | ç‰ˆæœ¬ | è¯´æ˜Ž |
|------|------|------|------|
| å®šæ—¶ä»»åŠ¡ | Quartz | - | JDBC æŒä¹…化 |
| API æ–‡æ¡£ | Knife4j + SpringDoc | 4.5.0 / 2.8.17 | OpenAPI 3 |
| JSON è§£æž | Fastjson2 | 2.0.53 | é«˜æ€§èƒ½ JSON |
| åˆ†é¡µæ’ä»¶ | PageHelper | 2.1.1 | ç‰©ç†åˆ†é¡µ |
| æ¨¡æ¿å¼•擎 | Velocity | 2.3 | ä»£ç ç”Ÿæˆ |
| æ¨¡æ¿å¼•擎 | FreeMarker | 2.3.33 | å˜é‡å ä½ç¬¦ |
| Excel | Apache POI + EasyExcel | 5.2.3 / 4.0.3 | å¯¼å…¥å¯¼å‡º |
| Word | poi-tl | 1.12.2 | Word æ¨¡æ¿ |
| å·¥å…·åº“ | Hutool | 5.8.43 | Java å·¥å…·é›† |
| æ¶ˆæ¯æŽ¨é€ | ä¸ªæŽ¨ | 1.0.7.0 | ç§»åŠ¨ç«¯æŽ¨é€ |
| äºŒç»´ç  | ZXing | 3.3.3 | äºŒç»´ç ç”Ÿæˆ |
| å›¾ç‰‡åŽ‹ç¼© | Thumbnailator | 0.4.20 | å›¾ç‰‡å¤„理 |
---
## 3. ç³»ç»Ÿæž¶æž„
### 3.1 æ•´ä½“架构图
```
┌─────────────────────────────────────────────────────────────────┐
│                         å®¢æˆ·ç«¯å±‚                                  â”‚
│              Web æµè§ˆå™¨ / ç§»åŠ¨ç«¯ APP / å°ç¨‹åº                       â”‚
└─────────────────────────────────────────────────────────────────┘
                                â”‚
                                â–¼
┌─────────────────────────────────────────────────────────────────┐
│                         ç½‘å…³/安全层                               â”‚
│     JWT Token éªŒè¯ â”‚ XSS è¿‡æ»¤ â”‚ é˜²é‡æäº¤ â”‚ é™æµæŽ§åˆ¶                â”‚
└─────────────────────────────────────────────────────────────────┘
                                â”‚
                                â–¼
┌─────────────────────────────────────────────────────────────────┐
│                         åº”用服务层                                â”‚
│  â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â” â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â” â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â” â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”           â”‚
│  â”‚ é‡‡è´­ç®¡ç†  â”‚ â”‚ é”€å”®ç®¡ç†  â”‚ â”‚ åº“存管理  â”‚ â”‚ ç”Ÿäº§ç®¡ç†  â”‚           â”‚
│  â””──────────┘ â””──────────┘ â””──────────┘ â””──────────┘           â”‚
│  â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â” â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â” â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â” â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”           â”‚
│  â”‚ è´¢åŠ¡ç®¡ç†  â”‚ â”‚ å®¡æ‰¹æµç¨‹  â”‚ â”‚ è´¨é‡ç®¡ç†  â”‚ â”‚ AI åŠ©æ‰‹   â”‚           â”‚
│  â””──────────┘ â””──────────┘ â””──────────┘ â””──────────┘           â”‚
│  â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â” â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â” â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â” â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”           â”‚
│  â”‚ å‘˜å·¥ç®¡ç†  â”‚ â”‚ è®¾å¤‡ç®¡ç†  â”‚ â”‚ å®‰å…¨ç®¡ç†  â”‚ â”‚ ç³»ç»Ÿç®¡ç†  â”‚           â”‚
│  â””──────────┘ â””──────────┘ â””──────────┘ â””──────────┘           â”‚
└─────────────────────────────────────────────────────────────────┘
                                â”‚
                                â–¼
┌─────────────────────────────────────────────────────────────────┐
│                         æ¡†æž¶åŸºç¡€è®¾æ–½å±‚                            â”‚
│  æ•°æ®æƒé™ â”‚ åŠ¨æ€æ•°æ®æº â”‚ AOP æ—¥å¿— â”‚ ç¼“存管理 â”‚ å¼‚步任务              â”‚
└─────────────────────────────────────────────────────────────────┘
                                â”‚
                                â–¼
┌─────────────────────────────────────────────────────────────────┐
│                         æ•°æ®å­˜å‚¨å±‚                                â”‚
│   MySQL      â”‚    Redis    â”‚   MongoDB   â”‚   MinIO   â”‚Pinecone â”‚
│  (业务数据)   â”‚  (缓存/会话) â”‚ (AI è®°å¿†)   â”‚ (文件存储) â”‚(向量库)  â”‚
└─────────────────────────────────────────────────────────────────┘
```
### 3.2 ä»£ç åˆ†å±‚æž¶æž„
```
Controller å±‚          â†’ æŽ¥æ”¶è¯·æ±‚,参数校验,调用 Service
    â†“
Service å±‚             â†’ ä¸šåŠ¡é€»è¾‘å¤„ç†ï¼Œäº‹åŠ¡æŽ§åˆ¶
    â†“
Mapper å±‚ (MyBatis)    â†’ æ•°æ®åº“访问,SQL æ‰§è¡Œ
    â†“
数据库 (MySQL)
```
**各层职责:**
| å±‚级 | åŒ…路径 | èŒè´£ |
|------|--------|------|
| Controller | `*.controller` | REST æŽ¥å£å®šä¹‰ã€å‚数校验、响应封装 |
| DTO | `*.dto` | è¯·æ±‚参数传输对象 |
| VO | `*.vo` | å“åº”数据视图对象 |
| Service | `*.service` | ä¸šåŠ¡é€»è¾‘æŽ¥å£ |
| ServiceImpl | `*.service.impl` | ä¸šåŠ¡é€»è¾‘å®žçŽ° |
| Mapper | `*.mapper` | æ•°æ®åº“操作接口 |
| POJO | `*.pojo` | æ•°æ®åº“实体映射 |
---
## 4. é¡¹ç›®ç»“æž„
```
com.ruoyi/
│
├── RuoYiApplication.java              # Spring Boot å¯åŠ¨ç±»
│
├── framework/                          # æ¡†æž¶åŸºç¡€è®¾æ–½å±‚
│   â”œâ”€â”€ aspectj/                        # AOP åˆ‡é¢ (日志、数据权限、限流)
│   â”œâ”€â”€ config/                         # æ ¸å¿ƒé…ç½® (Security、Druid、Redis ç­‰)
│   â”œâ”€â”€ datasource/                     # åŠ¨æ€æ•°æ®æº
│   â”œâ”€â”€ interceptor/                    # æ‹¦æˆªå™¨ (防重提交)
│   â”œâ”€â”€ manager/                        # å¼‚步管理器
│   â”œâ”€â”€ redis/                          # Redis å·¥å…·ç±»
│   â”œâ”€â”€ security/                       # Security + JWT
│   â””── web/                            # åŸºç¡€æŽ§åˆ¶å™¨ã€å…¨å±€å¼‚常处理
│
├── common/                             # é€šç”¨å·¥å…·å±‚
│   â”œâ”€â”€ constant/                       # å¸¸é‡å®šä¹‰
│   â”œâ”€â”€ enums/                          # æžšä¸¾ç±»åž‹
│   â”œâ”€â”€ exception/                      # å¼‚常体系
│   â”œâ”€â”€ filter/                         # è¿‡æ»¤å™¨ (XSS)
│   â”œâ”€â”€ interceptor/                    # æ•°æ®æƒé™æ‹¦æˆªå™¨
│   â””── utils/                          # å·¥å…·ç±»é›†åˆ
│
├── project/                            # ç³»ç»Ÿæ ¸å¿ƒæ¨¡å—
│   â”œâ”€â”€ system/                         # ç”¨æˆ·ã€è§’色、菜单、字典
│   â”œâ”€â”€ monitor/                        # ç›‘控、日志、定时任务
│   â””── tool/                           # ä»£ç ç”Ÿæˆã€API æ–‡æ¡£
│
└── [业务模块]                           # ä¸šåŠ¡åŠŸèƒ½æ¨¡å—
    â”œâ”€â”€ account/                        # è´¢åŠ¡ç®¡ç† (17 ä¸ªæŽ§åˆ¶å™¨)
    â”œâ”€â”€ sales/                          # é”€å”®ç®¡ç† (9 ä¸ªæŽ§åˆ¶å™¨)
    â”œâ”€â”€ purchase/                       # é‡‡è´­ç®¡ç† (7 ä¸ªæŽ§åˆ¶å™¨)
    â”œâ”€â”€ stock/                          # åº“存管理 (4 ä¸ªæŽ§åˆ¶å™¨)
    â”œâ”€â”€ production/                     # ç”Ÿäº§ç®¡ç† (15 ä¸ªæŽ§åˆ¶å™¨)
    â”œâ”€â”€ approve/                        # å®¡æ‰¹æµç¨‹ (17 ä¸ªæŽ§åˆ¶å™¨)
    â”œâ”€â”€ quality/                        # è´¨é‡ç®¡ç† (8 ä¸ªæŽ§åˆ¶å™¨)
    â”œâ”€â”€ warehouse/                      # ä»“库管理 (7 ä¸ªæŽ§åˆ¶å™¨)
    â”œâ”€â”€ staff/                          # å‘˜å·¥ç®¡ç† (18 ä¸ªæŽ§åˆ¶å™¨)
    â”œâ”€â”€ ai/                             # AI æ™ºèƒ½åŠ©æ‰‹ (6 ä¸ªæŽ§åˆ¶å™¨)
    â”œâ”€â”€ basic/                          # åŸºç¡€æ•°æ® (7 ä¸ªæŽ§åˆ¶å™¨)
    â”œâ”€â”€ device/                         # è®¾å¤‡ç®¡ç† (6 ä¸ªæŽ§åˆ¶å™¨)
    â”œâ”€â”€ safe/                           # å®‰å…¨ç®¡ç† (11 ä¸ªæŽ§åˆ¶å™¨)
    â””── ...                             # å…¶ä»–业务模块
```
---
## 5. æ ¸å¿ƒä¸šåŠ¡æ¨¡å—
| æ¨¡å— | åŒ…名 | æŽ§åˆ¶å™¨æ•° | ä¸»è¦åŠŸèƒ½ |
|------|------|---------|---------|
| è´¢åŠ¡ç®¡ç† | account | 17 | é”€å”®è´¦åŠ¡ã€é‡‡è´­è´¦åŠ¡ã€è´¢åŠ¡æŠ¥è¡¨ |
| å®¡æ‰¹æµç¨‹ | approve | 17 | æµç¨‹å®šä¹‰ã€å®¡æ‰¹å¤„理、待办任务 |
| å‘˜å·¥ç®¡ç† | staff | 18 | è€ƒå‹¤ã€æŽ’班、合同、薪资 |
| ç”Ÿäº§ç®¡ç† | production | 15 | ç”Ÿäº§è®¡åˆ’、工单、报工、进度 |
| å®‰å…¨ç®¡ç† | safe | 11 | äº‹æ•…管理、隐患排查、培训、认证 |
| é”€å”®ç®¡ç† | sales | 9 | æŠ¥ä»·ã€è®¢å•、发货、收款 |
| è´¨é‡ç®¡ç† | quality | 8 | è´¨æ£€ã€ä¸åˆæ ¼å¤„理、质量追溯 |
| ä»“库管理 | warehouse | 7 | å…¥åº“、出库、调拨、盘点 |
| é‡‡è´­ç®¡ç† | purchase | 7 | è¯·è´­ã€é‡‡è´­ã€æ”¶è´§ã€é€€è´§ |
| åŸºç¡€æ•°æ® | basic | 7 | ä¾›åº”商、产品、物料、客户 |
| AI åŠ©æ‰‹ | ai | 6 | é”€å”® Agent、采购 Agent、RAG çŸ¥è¯†åº“ |
| è®¾å¤‡ç®¡ç† | device | 6 | è®¾å¤‡å°è´¦ã€ç»´æŠ¤ã€å·¡æ£€ |
| åº“存管理 | stock | 4 | åº“存查询、预警、报表 |
---
## 6. AI æ™ºèƒ½åŠ©æ‰‹æž¶æž„
### 6.1 AI Agent ä½“ç³»
```
┌─────────────────────────────────────────────────────────────────┐
│                      AI Agent ç®¡ç†ä¸­å¿ƒ                           â”‚
└─────────────────────────────────────────────────────────────────┘
        â”‚           â”‚           â”‚           â”‚           â”‚
        â–¼           â–¼           â–¼           â–¼           â–¼
┌───────────┐ â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â” â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â” â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â” â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”
│ é”€å”® Agent â”‚ â”‚ é‡‡è´­ Agent â”‚ â”‚ ç”Ÿäº§ Agent â”‚ â”‚ è´¢åŠ¡ Agent â”‚ â”‚ å®¡æ‰¹ Agent â”‚
└───────────┘ â””───────────┘ â””───────────┘ â””───────────┘ â””───────────┘
        â”‚           â”‚           â”‚           â”‚           â”‚
        â””───────────┴───────────┴─────┬─────┴───────────┘
                                      â”‚
                                      â–¼
                    â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”
                    â”‚        LangChain4j ç»Ÿä¸€æ¡†æž¶       â”‚
                    â””─────────────────────────────────┘
                                      â”‚
              â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”¼â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”
              â”‚                       â”‚                       â”‚
              â–¼                       â–¼                       â–¼
      â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”       â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”       â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”
      â”‚ é€šä¹‰åƒé—® (主)  â”‚       â”‚ DeepSeek (备) â”‚       â”‚ Ollama (本地) â”‚
      â”‚ qwen-max      â”‚       â”‚ deepseek-v3   â”‚       â”‚ deepseek-r1   â”‚
      â””───────────────┘       â””───────────────┘       â””───────────────┘
```
### 6.2 RAG çŸ¥è¯†åº“æž¶æž„
```
用户提问 â†’ é—®é¢˜åµŒå…¥ (text-embedding-v3)
                â”‚
                â–¼
        Pinecone å‘量检索
                â”‚
                â–¼
        ç›¸å…³æ–‡æ¡£ç‰‡æ®µ â†’ ä¸Šä¸‹æ–‡ç»„装
                â”‚
                â–¼
        LLM ç”Ÿæˆå›žç­” â†’ è¿”回用户
```
### 6.3 MCP æœåŠ¡é›†æˆ
- OCR æœåŠ¡ï¼šé€šè¿‡ MCP åè®®è¿žæŽ¥å¤–部 OCR æœåŠ¡ï¼Œæ”¯æŒå›¾ç‰‡æ–‡å­—è¯†åˆ«
- å¯æ‰©å±•:支持接入更多 MCP å…¼å®¹æœåŠ¡
---
## 7. å®‰å…¨æž¶æž„
### 7.1 è®¤è¯æµç¨‹
```
用户登录 â†’ éªŒè¯è´¦å·å¯†ç  â†’ ç”Ÿæˆ JWT Token
                â”‚
                â–¼
        Redis å­˜å‚¨ Token (有效期 450 åˆ†é’Ÿ)
                â”‚
                â–¼
        è¿”回 Token ç»™å®¢æˆ·ç«¯
                â”‚
                â–¼
后续请求携带 Token â†’ JWT è¿‡æ»¤å™¨éªŒè¯ â†’ è§£æžç”¨æˆ·ä¿¡æ¯ â†’ æƒé™æ ¡éªŒ
```
### 7.2 å®‰å…¨é˜²æŠ¤æŽªæ–½
| é˜²æŠ¤é¡¹ | å®žçŽ°æ–¹å¼ | è¯´æ˜Ž |
|--------|---------|------|
| XSS æ”»å‡» | XssFilter | è¿‡æ»¤å±é™©å­—符 |
| SQL æ³¨å…¥ | MyBatis-Plus å‚数化查询 | ç¦æ­¢ SQL æ‹¼æŽ¥ |
| é‡å¤æäº¤ | RepeatSubmitInterceptor | åŸºäºŽç¼“存防重 |
| æŽ¥å£é™æµ | RateLimiterAspect | æ³¨è§£å¼é™æµ |
| å¯†ç åР坆 | BCrypt | å•向加密存储 |
| æ•æ„Ÿæ•°æ® | è„±æ•å¤„理 | æ—¥å¿—、响应脱敏 |
---
## 8. æ•°æ®æƒé™æž¶æž„
### 8.1 æƒé™èŒƒå›´
| æ•°æ®èŒƒå›´ | è¯´æ˜Ž |
|---------|------|
| å…¨éƒ¨æ•°æ® | å¯æŸ¥çœ‹æ‰€æœ‰æ•°æ® |
| è‡ªå®šä¹‰æ•°æ® | æŒ‡å®šéƒ¨é—¨æ•°æ® |
| æœ¬éƒ¨é—¨æ•°æ® | ä»…本部门数据 |
| æœ¬éƒ¨é—¨åŠä»¥ä¸‹ | æœ¬éƒ¨é—¨åŠå­éƒ¨é—¨æ•°æ® |
| ä»…本人数据 | ä»…个人创建的数据 |
### 8.2 å®žçŽ°æ–¹å¼
```java
@DataScope(deptAlias = "d", userAlias = "u")
public List<User> selectUserList() {
    // è‡ªåŠ¨æ³¨å…¥æ•°æ®æƒé™ SQL
}
```
---
## 9. ç¼“存架构
### 9.1 Redis ä½¿ç”¨åœºæ™¯
| åœºæ™¯ | Key æ ¼å¼ | è¿‡æœŸæ—¶é—´ |
|------|---------|---------|
| ç™»å½• Token | `login_tokens:{userId}` | 450 åˆ†é’Ÿ |
| éªŒè¯ç  | `captcha_codes:{uuid}` | 2 åˆ†é’Ÿ |
| ç”¨æˆ·æƒé™ | `user_permissions:{userId}` | 30 åˆ†é’Ÿ |
| å­—典数据 | `sys_dict:{dictType}` | æ°¸ä¹… |
| ç³»ç»Ÿé…ç½® | `sys_config:{configKey}` | æ°¸ä¹… |
| é˜²é‡æäº¤ | `repeat_submit:{userId}:{uri}` | æŒ‰é…ç½® |
### 9.2 ç¼“存策略
- è¯»ï¼šå…ˆè¯»ç¼“存,未命中再查数据库
- å†™ï¼šæ›´æ–°æ•°æ®åº“后删除缓存
- ä¸€è‡´æ€§ï¼šé‡‡ç”¨å»¶è¿ŸåŒåˆ ä¿è¯æœ€ç»ˆä¸€è‡´æ€§
---
## 10. æ–‡ä»¶å­˜å‚¨æž¶æž„
### 10.1 MinIO é…ç½®
```yaml
minio:
  endpoint: http://minio-server:9000
  accessKey: xxx
  secretKey: xxx
  bucketName: product-inventory
```
### 10.2 æ–‡ä»¶å¤„理流程
```
上传请求 â†’ æ–‡ä»¶ç±»åž‹æ ¡éªŒ â†’ å›¾ç‰‡åŽ‹ç¼© (可选)
                â”‚
                â–¼
        ç”Ÿæˆå”¯ä¸€æ–‡ä»¶å â†’ å­˜å‚¨ MinIO
                â”‚
                â–¼
        è¿”回访问 URL â†’ è®°å½•数据库
```
---
## 11. å®šæ—¶ä»»åŠ¡æž¶æž„
### 11.1 Quartz é…ç½®
- å­˜å‚¨æ–¹å¼ï¼šJDBC æŒä¹…化
- é›†ç¾¤æ”¯æŒï¼šæ”¯æŒå¤šå®žä¾‹éƒ¨ç½²
- ä»»åŠ¡ç®¡ç†ï¼šWeb æŽ§åˆ¶å°ç®¡ç†
### 11.2 ä»»åŠ¡ç¤ºä¾‹
```java
@Component("ryTask")
public class RyTask {
    public void execute() {
        // ä¸šåŠ¡é€»è¾‘
    }
}
```
---
## 12. æ—¥å¿—与监控
### 12.1 æ“ä½œæ—¥å¿—
- è®°å½•方式:AOP åˆ‡é¢è‡ªåŠ¨è®°å½•
- è®°å½•内容:请求参数、响应结果、执行时间、异常信息
- å­˜å‚¨ï¼šæ•°æ®åº“ `sys_oper_log` è¡¨
### 12.2 ç™»å½•日志
- è®°å½•内容:登录用户、IP、时间、状态
- å­˜å‚¨ï¼šæ•°æ®åº“ `sys_logininfor` è¡¨
### 12.3 åœ¨çº¿ç”¨æˆ·
- å®žçŽ°ï¼šRedis Session ç®¡ç†
- åŠŸèƒ½ï¼šå¼ºåˆ¶ä¸‹çº¿ã€å¹¶å‘ç™»å½•æŽ§åˆ¶
---
## 13. å¼€å‘规范
### 13.1 ä»£ç è§„范
- å‘½åï¼šéµå¾ªé˜¿é‡Œå·´å·´ Java å¼€å‘手册
- æ³¨é‡Šï¼šå…³é”®æ–¹æ³•和复杂逻辑添加注释
- å¼‚常:统一使用 Service å±‚抛出,Controller å±‚捕获
### 13.2 æŽ¥å£è§„范
- RESTful é£Žæ ¼
- ç»Ÿä¸€å“åº”格式:`{ code, msg, data }`
- ç»Ÿä¸€é”™è¯¯ç å®šä¹‰
### 13.3 æ•°æ®åº“规范
- è¡¨åï¼šå°å†™ä¸‹åˆ’线命名
- ä¸»é”®ï¼šè‡ªå¢ž BIGINT
- é€šç”¨å­—段:`create_time`, `update_time`, `create_by`, `update_by`, `del_flag`
- é€»è¾‘删除:`del_flag = 0` æ­£å¸¸ï¼Œ`del_flag = 2` åˆ é™¤
---
## 14. éƒ¨ç½²æž¶æž„
### 14.1 æŽ¨èéƒ¨ç½²æ–¹å¼
```
┌─────────────────────────────────────────────────────────────────┐
│                         Nginx (负载均衡)                         â”‚
└─────────────────────────────────────────────────────────────────┘
                â”‚                       â”‚
                â–¼                       â–¼
        â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”       â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”
        â”‚ åº”用实例 1     â”‚       â”‚ åº”用实例 2     â”‚
        â”‚ Spring Boot   â”‚       â”‚ Spring Boot   â”‚
        â””───────────────┘       â””───────────────┘
                â”‚                       â”‚
                â””───────────┬───────────┘
                            â”‚
        â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”¼â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”
        â”‚                   â”‚                   â”‚
        â–¼                   â–¼                   â–¼
┌───────────────┐   â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”   â”Œâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”
│ MySQL (主从)  â”‚   â”‚ Redis (集群)  â”‚   â”‚ MinIO         â”‚
└───────────────┘   â””───────────────┘   â””───────────────┘
```
### 14.2 çŽ¯å¢ƒè¦æ±‚
| ç»„ä»¶ | æœ€ä½Žè¦æ±‚ | æŽ¨èé…ç½® |
|------|---------|---------|
| JDK | 25 | 25 |
| MySQL | 8.0+ | 8.0.33+ |
| Redis | 6.0+ | 7.0+ |
| MongoDB | 5.0+ | 6.0+ |
| MinIO | æœ€æ–°ç‰ˆ | æœ€æ–°ç‰ˆ |
| å†…å­˜ | 4GB | 8GB+ |
---
## 15. é™„录
### 15.1 é…ç½®æ–‡ä»¶è¯´æ˜Ž
| æ–‡ä»¶ | è¯´æ˜Ž |
|------|------|
| `application.yml` | ä¸»é…ç½®æ–‡ä»¶ |
| `application-druid.yml` | æ•°æ®æºé…ç½® |
| `application-dev.yml` | å¼€å‘环境配置 |
| `application-prod.yml` | ç”Ÿäº§çŽ¯å¢ƒé…ç½® |
### 15.2 æ ¸å¿ƒä¾èµ–版本汇总
```xml
<spring-boot.version>3.5.13</spring-boot.version>
<mybatis-plus.version>3.5.16</mybatis-plus.version>
<druid.version>1.2.23</druid.version>
<jwt.version>0.13.0</jwt.version>
<fastjson.version>2.0.53</fastjson.version>
<hutool.version>5.8.43</hutool.version>
<langchain4j.version>1.0.0-beta3</langchain4j.version>
<knife4j.version>4.5.0</knife4j.version>
```
---
*文档生成时间:2026-07-02*
src/main/resources/application-ksst.yml
@@ -7,7 +7,7 @@
  # ç‰ˆæƒå¹´ä»½
  copyrightYear: 2025
  # æ–‡ä»¶è·¯å¾„ ç¤ºä¾‹ï¼ˆ Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
  profile: /javaWork/product-inventory-management/file
  profile: /data/javaWork/product-inventory-management/file
  # èŽ·å–ip地址开关
  addressEnabled: false
@@ -73,9 +73,9 @@
    druid:
      # ä¸»åº“数据源
      master:
        url: jdbc:mysql://172.17.0.1:9002/product-inventory-management-ksst?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
        url: jdbc:mysql://172.17.0.1:11101/product-inventory-management-ksst?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
        username: root
        password: ksst@123456..
        password: xd@123456..
      # ä»Žåº“数据源
      slave:
        # ä»Žæ•°æ®æºå¼€å…³/默认关闭
@@ -145,14 +145,14 @@
  # redis é…ç½®
  data:
    mongodb:
      uri: mongodb://114.132.189.42:9028/chat_memory_db
      uri: mongodb://114.132.189.42:9028/chat_memory_db_ksst
    # redis é…ç½®
    redis:
      # åœ°å€
#      host: 127.0.0.1
      host: 172.17.0.1
      # ç«¯å£ï¼Œé»˜è®¤ä¸º6379
      port: 6379
      port: 11102
      # æ•°æ®åº“索引
      database: 0
      # å¯†ç 
@@ -256,9 +256,9 @@
# æ–‡ä»¶ä¸Šä¼ é…ç½®
file:
  temp-dir: /javaWork/product-inventory-management/file/temp/uploads   # ä¸´æ—¶ç›®å½•
  upload-dir: /javaWork/product-inventory-management/file/prod/uploads # æ­£å¼ç›®å½•
  path: /javaWork/product-inventory-management/file # ä¸Šä¼ ç›®å½•
  temp-dir: /data/javaWork/product-inventory-management/file/temp/uploads   # ä¸´æ—¶ç›®å½•
  upload-dir: /data/javaWork/product-inventory-management/file/prod/uploads # æ­£å¼ç›®å½•
  path: /data/javaWork/product-inventory-management/file # ä¸Šä¼ ç›®å½•
  urlPrefix: /prod-api/common # é“¾æŽ¥å‰ç¼€
  domain: http://36.138.236.176:9001 # åŸŸåå‰ç¼€
  expired: 120 # è¿‡æœŸæ—¶é—´(单位:分钟)