# ls123-bit/hmdp-plus- architecture

> Architecture diagram of the GitHub repository ls123-bit/hmdp-plus-, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ls123-bit/hmdp-plus-
- Repository: https://github.com/ls123-bit/hmdp-plus-

## Overview

慧生活（hmdp-plus）是一个本地生活点评应用，包含 Vue 3 前端与 Spring Boot 服务。用户可浏览商户、发布互动笔记，并通过获取访问令牌、限流校验和秒杀下单完成购券；订单消息异步处理，并提供对账闭环。其他主要能力包括社交关注与 Feed、商户推荐客服、缓存和分布式基础设施。边界与功能依据 README、文件树及所给摘录整理；未抽样的实现细节不据此推断具体调用关系。

Main entry points: [`hmdp-vue3/src/api/service.js`](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-vue3/src/api/service.js) (前端 API), [`hmdp-core-service/src/main/java/org/javaup/controller/VoucherOrderController.java`](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/controller/VoucherOrderController.java) (秒杀入口), [`hmdp-core-service/src/main/java/org/javaup/service/impl/VoucherOrderServiceImpl.java`](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/service/impl/VoucherOrderServiceImpl.java) (订单处理), [`hmdp-vue3/src/main.js`](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-vue3/src/main.js) (Vue 应用)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Web 客户端"]
  node_vue["Vue 应用<br/>[main.js]"]
  node_api["前端 API<br/>[service.js]"]
  node_assistant_ui["推荐客服界面"]
end

subgraph group_business["本地生活业务"]
  node_shop["商户服务"]
  node_blog["笔记与评论"]
  node_profile["个人与关注"]
  node_assistant_api["客服接口"]
  node_assistant_service["推荐与降级"]
end

subgraph group_seckill["秒杀订单"]
  node_order_api["秒杀入口"]
  node_order_service["订单处理"]
  node_lua["库存与资格脚本"]
  node_reconcile["订单对账"]
end

subgraph group_platform["共享基础设施"]
  node_limiter["请求限流"]
  node_token["访问令牌"]
  node_cache["缓存工具<br/>[CacheClient.java]"]
  node_sharding["分片配置<br/>[Representer.java]"]
end

subgraph group_messaging["消息处理"]
  node_producer["秒杀消息生产"]
  node_consumer["秒杀消息消费"]
end

node_user(("访客"))
node_ollama["Ollama 模型"]
node_kafka["Kafka"]
node_redis[("Redis")]
node_database[("分片数据库")]

node_user -->|"uses"| node_vue
node_vue -->|"requests"| node_api
node_api -->|"calls shop APIs"| node_shop
node_api -->|"calls blog APIs"| node_blog
node_api -->|"calls profile APIs"| node_profile
node_api -->|"calls order APIs"| node_order_api
node_assistant_ui -->|"sends chat"| node_api
node_api -->|"calls chat API"| node_assistant_api
node_assistant_api -->|"delegates"| node_assistant_service
node_assistant_service -.->|"queries model"| node_ollama
node_order_api -->|"checks rate"| node_limiter
node_order_api -->|"issues or validates"| node_token
node_order_api -->|"submits order"| node_order_service
node_order_api -->|"starts reconciliation"| node_reconcile
node_order_service -->|"executes stock script"| node_lua
node_order_service -->|"publishes order"| node_producer
node_producer -->|"sends message"| node_kafka
node_kafka -->|"dispatches message"| node_consumer
node_limiter -->|"checks limits"| node_redis
node_token -->|"stores tokens"| node_redis
node_lua -->|"updates stock"| node_redis
node_cache -->|"reads and writes"| node_redis
node_order_service -->|"persists and queries orders"| node_database
node_consumer -->|"writes orders"| node_database
node_reconcile -->|"checks order state"| node_database
node_sharding -->|"routes table access"| node_database

click node_vue "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-vue3/src/main.js"
click node_api "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-vue3/src/api/service.js"
click node_shop "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/controller/ShopController.java"
click node_blog "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/controller/BlogController.java"
click node_profile "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/controller/ProfileController.java"
click node_assistant_ui "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-vue3/src/views/service/CustomerService.vue"
click node_assistant_api "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/controller/AssistantController.java"
click node_assistant_service "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/service/impl/AssistantServiceImpl.java"
click node_order_api "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/controller/VoucherOrderController.java"
click node_limiter "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-redis-tool-framework/hmdp-redis-rate-limit-framework/src/main/java/org/javaup/execute/RedisRateLimitHandler.java"
click node_token "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-redis-tool-framework/hmdp-redis-rate-limit-framework/src/main/java/org/javaup/service/impl/SeckillAccessTokenServiceImpl.java"
click node_order_service "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/service/impl/VoucherOrderServiceImpl.java"
click node_lua "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/lua/SeckillVoucherOperate.java"
click node_producer "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/kafka/producer/SeckillVoucherProducer.java"
click node_consumer "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/kafka/consumer/SeckillVoucherConsumer.java"
click node_reconcile "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/service/impl/ReconciliationTaskServiceImpl.java"
click node_cache "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/utils/CacheClient.java"
click node_sharding "https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-sharding/src/main/java/org/yaml/snakeyaml/representer/Representer.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_vue,node_api,node_assistant_ui toneBlue
class node_shop,node_blog,node_profile,node_assistant_api,node_assistant_service,node_redis,node_database toneAmber
class node_order_api,node_order_service,node_lua,node_reconcile toneMint
class node_limiter,node_token,node_cache,node_sharding toneRose
class node_producer,node_consumer,node_user,node_ollama,node_kafka toneIndigo
```

## Components

### Web 客户端

- [Vue 应用](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-vue3/src/main.js): `hmdp-vue3/src/main.js`
- [前端 API](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-vue3/src/api/service.js): `hmdp-vue3/src/api/service.js`
- [推荐客服界面](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-vue3/src/views/service/CustomerService.vue): `hmdp-vue3/src/views/service/CustomerService.vue`

### 本地生活业务

- [商户服务](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/controller/ShopController.java): `hmdp-core-service/src/main/java/org/javaup/controller/ShopController.java`
- [笔记与评论](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/controller/BlogController.java): `hmdp-core-service/src/main/java/org/javaup/controller/BlogController.java`
- [个人与关注](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/controller/ProfileController.java): `hmdp-core-service/src/main/java/org/javaup/controller/ProfileController.java`
- [客服接口](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/controller/AssistantController.java): `hmdp-core-service/src/main/java/org/javaup/controller/AssistantController.java`
- [推荐与降级](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/service/impl/AssistantServiceImpl.java): `hmdp-core-service/src/main/java/org/javaup/service/impl/AssistantServiceImpl.java`

### 秒杀订单

- [秒杀入口](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/controller/VoucherOrderController.java): `hmdp-core-service/src/main/java/org/javaup/controller/VoucherOrderController.java`
- [订单处理](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/service/impl/VoucherOrderServiceImpl.java): `hmdp-core-service/src/main/java/org/javaup/service/impl/VoucherOrderServiceImpl.java`
- [库存与资格脚本](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/lua/SeckillVoucherOperate.java): `hmdp-core-service/src/main/java/org/javaup/lua/SeckillVoucherOperate.java`
- [订单对账](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/service/impl/ReconciliationTaskServiceImpl.java): `hmdp-core-service/src/main/java/org/javaup/service/impl/ReconciliationTaskServiceImpl.java`

### 共享基础设施

- [请求限流](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-redis-tool-framework/hmdp-redis-rate-limit-framework/src/main/java/org/javaup/execute/RedisRateLimitHandler.java): `hmdp-redis-tool-framework/hmdp-redis-rate-limit-framework/src/main/java/org/javaup/execute/RedisRateLimitHandler.java`
- [访问令牌](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-redis-tool-framework/hmdp-redis-rate-limit-framework/src/main/java/org/javaup/service/impl/SeckillAccessTokenServiceImpl.java): `hmdp-redis-tool-framework/hmdp-redis-rate-limit-framework/src/main/java/org/javaup/service/impl/SeckillAccessTokenServiceImpl.java`
- [缓存工具](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/utils/CacheClient.java): `hmdp-core-service/src/main/java/org/javaup/utils/CacheClient.java`
- [分片配置](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-sharding/src/main/java/org/yaml/snakeyaml/representer/Representer.java): `hmdp-sharding/src/main/java/org/yaml/snakeyaml/representer/Representer.java`

### 消息处理

- [秒杀消息生产](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/kafka/producer/SeckillVoucherProducer.java): `hmdp-core-service/src/main/java/org/javaup/kafka/producer/SeckillVoucherProducer.java`
- [秒杀消息消费](https://github.com/ls123-bit/hmdp-plus-/blob/main/hmdp-core-service/src/main/java/org/javaup/kafka/consumer/SeckillVoucherConsumer.java): `hmdp-core-service/src/main/java/org/javaup/kafka/consumer/SeckillVoucherConsumer.java`

### Other components

- **访客**
- **Ollama 模型**
- **Kafka**
- **Redis**
- **分片数据库**

## Connections

- 访客 → Vue 应用: uses
- Vue 应用 → 前端 API: requests
- 前端 API → 商户服务: calls shop APIs
- 前端 API → 笔记与评论: calls blog APIs
- 前端 API → 个人与关注: calls profile APIs
- 前端 API → 秒杀入口: calls order APIs
- 推荐客服界面 → 前端 API: sends chat
- 前端 API → 客服接口: calls chat API
- 客服接口 → 推荐与降级: delegates
- 推荐与降级 → Ollama 模型: queries model
- 秒杀入口 → 请求限流: checks rate
- 秒杀入口 → 访问令牌: issues or validates
- 秒杀入口 → 订单处理: submits order
- 秒杀入口 → 订单对账: starts reconciliation
- 订单处理 → 库存与资格脚本: executes stock script
- 订单处理 → 秒杀消息生产: publishes order
- 秒杀消息生产 → Kafka: sends message
- Kafka → 秒杀消息消费: dispatches message
- 请求限流 → Redis: checks limits
- 访问令牌 → Redis: stores tokens
- 库存与资格脚本 → Redis: updates stock
- 缓存工具 → Redis: reads and writes
- 订单处理 → 分片数据库: persists and queries orders
- 秒杀消息消费 → 分片数据库: writes orders
- 订单对账 → 分片数据库: checks order state
- 分片配置 → 分片数据库: routes table access
