INTEGRATION.md 5.0 KB

Enagic 插件集成指南

本文档详细介绍如何将 Enagic 插件集成到 Lilishop 商城系统。

集成架构

┌─────────────────────────────────────────────────────┐
│                   Lilishop B2B2C                     │
│  ┌─────────────────────────────────────────────┐    │
│  │           enagic-plugin (4个Maven模块)       │    │
│  │  ┌──────────┐ ┌────────┐ ┌─────────┐ ┌────┐  │    │
│  │  │enagic-   │ │enagic- │ │enagic-  │ │ena-│  │    │
│  │  │entity    │ │api     │ │consumer │ │gic │  │    │
│  │  │(14张表)  │ │(30+API)│ │(MQ监听) │ │-ad │  │    │
│  │  └──────────┘ └────────┘ └─────────┘ │min │  │    │
│  │                                      └────┘  │    │
│  └─────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────┘

集成步骤

1. 数据库集成

1.1 创建数据库表

-- 执行 DDL 脚本创建 14 张新表
mysql -u root -p lilishop < DB/enagic_init.sql

DDL 脚本包含:

  • 14 张新表:li_enagic_*
  • 5 个 ALTER TABLE:扩展原有 Lilishop 表

1.2 验证表创建

SHOW TABLES LIKE 'li_enagic_%';
-- 应显示 14 张表

-- 验证扩展字段
SHOW COLUMNS FROM li_member LIKE 'healthAdviserId';
SHOW COLUMNS FROM li_distribution LIKE 'medal_level';

2. 后端集成

2.1 构建 enagic-plugin

cd enagic-plugin
./build.sh install

# 或手动构建
cd enagic-entity && mvn clean install
cd ../enagic-api && mvn clean install
cd ../enagic-consumer && mvn clean install
cd ../enagic-admin && mvn clean install

2.2 部署 JAR

方式一:独立部署(推荐)

# 拷贝到 Lilishop 的 lib 目录
cp enagic-api/target/enagic-api-1.0.0.jar $LILISHOP_HOME/lib/
cp enagic-entity/target/enagic-entity-1.0.0.jar $LILISHOP_HOME/lib/
cp enagic-consumer/target/enagic-consumer-1.0.0.jar $LILISHOP_HOME/lib/
cp enagic-admin/target/enagic-admin-1.0.0.jar $LILISHOP_HOME/lib/

方式二:POM 依赖

<!-- 在 Lilishop 的 pom.xml 中添加 -->
<dependency>
    <groupId>com.enagic</groupId>
    <artifactId>enagic-api</artifactId>
    <version>1.0.0</version>
</dependency>

2.3 配置

将 config/application-enagic.yml 合并到 Lilishop 的 application.yml:

enagic:
  ai:
    provider: siliconflow
    api-key: ${AI_API_KEY}
    model: Qwen/Qwen2.5-7B-Instruct
    base-url: https://api.siliconflow.cn/v1
  
  health-advisor:
    enabled: true
    permanent-bind: true
  
  vip:
    enabled: true
    no-expiry: true
  
  deduction:
    enabled: true
  
  operation:
    enabled: true
    default-flow-id: 1

3. 前端集成

3.1 PC 管理后台

# 构建 Vue
cd enagic-admin
npm install
npm run build

# 部署到 Lilishop admin
cp -r dist/* $LILISHOP_ADMIN/public/enagic-admin/

或在 Lilishop admin 源码中:

# 复制到现有 admin 项目
cp -r enagic-admin/src/main/vue/* $LILISHOP_ADMIN/src/views/enagic/

3.2 小程序端

# fork 并改造 UniApp
# 参考 enagic-uniapp 项目

4. 消息队列集成

确保 RocketMQ 监听 order_topic:

# RocketMQ 配置
rocketmq:
  name-server: localhost:9876
  consumer:
    group: enagic-order-consumer-group

监听的事件类型:

  • ORDER_CREATED - 订单创建
  • ORDER_DELIVERED - 订单发货(触发运维计划)
  • ORDER_COMPLETED - 订单完成
  • ORDER_CANCELLED - 订单取消

验证清单

API 验证

# 健康布施者 API
curl -X GET http://localhost:8080/enagic/manager/advisor/page

# VIP 配置
curl -X GET http://localhost:8080/enagic/manager/vip/config/page

# 运维流程
curl -X GET http://localhost:8080/enagic/manager/operation/flow/page

# AI 知识库
curl -X GET http://localhost:8080/enagic/manager/ai/knowledge/page

功能验证

  • 14 张新表创建成功
  • Maven 编译通过
  • 管理端 API 返回正常
  • 买家端 API 可访问
  • RocketMQ 消费者启动
  • 定时任务可执行

常见问题

Q1: 编译报错 "找不到 Lilishop 类"

解决:确保 Lilishop 依赖在 pom.xml 中正确配置

Q2: API 404

解决:检查 @ComponentScan("com.enagic") 是否生效

Q3: RocketMQ 消息不消费

解决:检查 consumer group 名称是否与 producer 一致

Q4: 小程序页面 404

解决:检查 pages.json 配置和路由注册