diff --git a/api/erp-api/pom.xml b/api/erp-api/pom.xml
index 37e28fb9..2feec11c 100644
--- a/api/erp-api/pom.xml
+++ b/api/erp-api/pom.xml
@@ -78,7 +78,11 @@
security
1.0
-
+
+ com.squareup.okhttp3
+ okhttp
+ 4.12.0
+
diff --git a/api/erp-api/src/main/java/cn/qihangerp/erp/ErpApi.java b/api/erp-api/src/main/java/cn/qihangerp/erp/ErpApi.java
index cd39f9c3..13766a53 100644
--- a/api/erp-api/src/main/java/cn/qihangerp/erp/ErpApi.java
+++ b/api/erp-api/src/main/java/cn/qihangerp/erp/ErpApi.java
@@ -21,6 +21,7 @@ public class ErpApi {
{
System.out.println( "Hello erp-api!" );
SpringApplication.run(ErpApi.class, args);
+
}
@Bean
@LoadBalanced
diff --git a/api/erp-api/src/main/java/cn/qihangerp/erp/controller/ShopController.java b/api/erp-api/src/main/java/cn/qihangerp/erp/controller/ShopController.java
index 17c2f3e7..a9e6b93a 100644
--- a/api/erp-api/src/main/java/cn/qihangerp/erp/controller/ShopController.java
+++ b/api/erp-api/src/main/java/cn/qihangerp/erp/controller/ShopController.java
@@ -6,6 +6,7 @@ import cn.qihangerp.module.service.OLogisticsCompanyService;
import cn.qihangerp.module.service.OShopPlatformService;
import cn.qihangerp.module.service.OShopService;
import cn.qihangerp.erp.request.ShopBo;
+import com.alibaba.fastjson2.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.qihangerp.common.AjaxResult;
import cn.qihangerp.common.TableDataInfo;
@@ -14,7 +15,9 @@ import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* 店铺Controller
@@ -30,6 +33,7 @@ public class ShopController extends BaseController {
private final OShopService shopService;
private final OShopPlatformService platformService;
+
/**
* 查询店铺列表logistics
*/
diff --git a/api/erp-api/src/main/java/cn/qihangerp/erp/serviceImpl/DeepSeekService.java b/api/erp-api/src/main/java/cn/qihangerp/erp/serviceImpl/DeepSeekService.java
new file mode 100644
index 00000000..4dddf36f
--- /dev/null
+++ b/api/erp-api/src/main/java/cn/qihangerp/erp/serviceImpl/DeepSeekService.java
@@ -0,0 +1,365 @@
+//package cn.qihangerp.erp.serviceImpl;
+//
+//import com.fasterxml.jackson.databind.ObjectMapper;
+//import jakarta.annotation.PostConstruct;
+//import okhttp3.*;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.stereotype.Service;
+//import java.io.IOException;
+//import java.util.*;
+//import java.util.concurrent.TimeUnit;
+//
+//@Service
+//public class DeepSeekService {
+//
+// private static final Logger log = LoggerFactory.getLogger(DeepSeekService.class);
+// private static final MediaType JSON = MediaType.get("application/json; charset=utf-8");
+//
+// @Value("${deepseek.api.key}")
+// private String apiKey;
+//
+// @Value("${deepseek.api.endpoint:https://api.deepseek.com/v1/chat/completions}")
+// private String apiEndpoint;
+//
+// @Value("${deepseek.api.model:deepseek-chat}")
+// private String model;
+//
+// private OkHttpClient okHttpClient;
+// private final ObjectMapper objectMapper;
+//
+// // 缓存最近一次成功的分析结果
+// private Map cachedAnalysis = new HashMap<>();
+//
+// public DeepSeekService(ObjectMapper objectMapper) {
+// this.objectMapper = objectMapper;
+// }
+//
+// @PostConstruct
+// public void init() {
+// // 配置具有重试和连接池功能的OkHttpClient
+// this.okHttpClient = new OkHttpClient.Builder()
+// .connectTimeout(15, TimeUnit.SECONDS) // 连接超时
+// .readTimeout(30, TimeUnit.SECONDS) // 读取超时
+// .writeTimeout(15, TimeUnit.SECONDS) // 写入超时
+// .connectionPool(new ConnectionPool(5, 5, TimeUnit.MINUTES)) // 连接池
+// .addInterceptor(new RetryInterceptor(3)) // 自定义重试拦截器
+// .addInterceptor(new LoggingInterceptor()) // 日志拦截器
+// .build();
+// }
+//
+// /**
+// * 调用DeepSeek API - 带有Spring Retry重试机制
+// */
+//// @Retryable(
+//// value = {IOException.class, RuntimeException.class},
+//// maxAttempts = 3,
+//// backoff = @Backoff(delay = 1000, multiplier = 2, maxDelay = 10000)
+//// )
+// public Map analyzeData(Map formattedData, String analysisType) {
+// String cacheKey = generateCacheKey(formattedData, analysisType);
+//
+// try {
+// // 1. 构建请求体
+// String requestBody = buildRequestBody(formattedData, analysisType);
+// RequestBody body = RequestBody.create(requestBody, JSON);
+//
+// // 2. 构建请求
+// Request request = new Request.Builder()
+// .url(apiEndpoint)
+// .header("Authorization", "Bearer " + apiKey)
+// .header("Content-Type", "application/json")
+// .post(body)
+// .build();
+//
+// // 3. 执行请求并处理响应
+// try (Response response = okHttpClient.newCall(request).execute()) {
+// if (!response.isSuccessful()) {
+// handleErrorResponse(response, cacheKey);
+// }
+//
+// String responseBody = response.body().string();
+// Map result = parseResponse(responseBody, analysisType);
+//
+// // 缓存成功的结果
+// cacheSuccessfulResult(cacheKey, result);
+// return result;
+// }
+//
+// } catch (Exception e) {
+// log.error("调用DeepSeek API失败,尝试使用缓存或降级方案", e);
+// return getFallbackAnalysis(cacheKey, analysisType);
+// }
+// }
+//
+// /**
+// * 为补货建议优化的专用方法
+// */
+// public Map generateReplenishmentSuggestions(Map inventoryData) {
+// try {
+// String prompt = buildReplenishmentPrompt(inventoryData);
+//
+// Map requestBody = Map.of(
+// "model", model,
+// "messages", List.of(
+// Map.of("role", "system", "content",
+// "你是一个经验丰富的电商库存管理专家,擅长制定补货策略。"),
+// Map.of("role", "user", "content", prompt)
+// ),
+// "temperature", 0.2,
+// "max_tokens", 1500,
+// "response_format", Map.of("type", "json_object")
+// );
+//
+// String jsonBody = objectMapper.writeValueAsString(requestBody);
+//
+// Request request = new Request.Builder()
+// .url(apiEndpoint)
+// .header("Authorization", "Bearer " + apiKey)
+// .post(RequestBody.create(jsonBody, JSON))
+// .build();
+//
+// // 设置更短的超时时间,因为补货建议需要快速响应
+// OkHttpClient quickClient = okHttpClient.newBuilder()
+// .readTimeout(15, TimeUnit.SECONDS)
+// .build();
+//
+// try (Response response = quickClient.newCall(request).execute()) {
+// if (response.isSuccessful()) {
+// String responseBody = response.body().string();
+// return parseReplenishmentResponse(responseBody);
+// } else {
+// // 如果API失败,使用本地算法生成补货建议
+// return generateLocalReplenishmentSuggestions(inventoryData);
+// }
+// }
+//
+// } catch (Exception e) {
+// log.warn("AI补货建议失败,使用本地算法", e);
+// return generateLocalReplenishmentSuggestions(inventoryData);
+// }
+// }
+//
+// /**
+// * 本地补货算法 - 服务降级方案
+// */
+// private Map generateLocalReplenishmentSuggestions(Map inventoryData) {
+// List