diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PushService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PushService.java index 342ac8405..f1c8f7ae4 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/PushService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PushService.java @@ -85,7 +85,7 @@ public interface PushService { */ XgjAccessTokenDTO getXgjAccessToken(); - + Integer getUnReadMessageNum(String partnerId); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PushServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PushServiceImpl.java index ca0317d77..c7fad0eec 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PushServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PushServiceImpl.java @@ -47,8 +47,6 @@ import java.util.stream.Collectors; @Slf4j public class PushServiceImpl implements PushService { - // TODO: 2025/4/9 suzhuhong_ - @Value("${spring.profiles.active}") private String active; @@ -85,6 +83,9 @@ public class PushServiceImpl implements PushService { @Value("${xzg.api.auth.url}") private String xzgUrl; + @Value("${ask.bot.url}") + private String askBotUrl; + @Resource OkHttpClient okHttpClient; @Resource @@ -225,6 +226,28 @@ public class PushServiceImpl implements PushService { } } + @Override + public Integer getUnReadMessageNum(String partnerId) { + String apiUrl =askBotUrl + "/api-pluto/session/getUnReadMessageNum?userId="+partnerId; + log.info("获取小正AI消息数据开始 url:{}", apiUrl); + Request request = new Request.Builder() + .url(apiUrl) + .get() + .build(); + try (Response response = okHttpClient.newCall(request).execute()) { + if (!response.isSuccessful()) { + throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR, + "HTTP请求失败,状态码: " + response.code()); + } + String responseBody = response.body().string(); + log.info("getUnReadMessageNum response num:{}", responseBody); + return Integer.valueOf(responseBody); + } catch (Exception e) { + log.error("API调用异常 - URL: {}, 错误: {}", url, e.getMessage(), e); + throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR, "接口调用异常: " + e.getMessage()); + } + } + private T executeApiCall(String url, Object requestBody, Class responseType, String username, String secret){ return executePostApiCall(url,requestBody,responseType,username,secret,null); } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java index 95edd4456..f10dfc4dc 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java @@ -288,6 +288,13 @@ public class PCTestController { return ResponseResult.success(pushService.getXgjAccessToken()); } + @GetMapping("/getUnReadMessageNum") + @ApiOperation("getUnReadMessageNum") + public ResponseResult getUnReadMessageNum(@RequestParam(value = "partnerId", required = true,defaultValue = "0") String partnerId) { + return ResponseResult.success(pushService.getUnReadMessageNum(partnerId)); + } + + @Resource ShopAccountService accountService; diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/AskBotController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/AskBotController.java new file mode 100644 index 000000000..c20872136 --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/AskBotController.java @@ -0,0 +1,31 @@ +package com.cool.store.controller.webc; + +import com.cool.store.response.ResponseResult; +import com.cool.store.service.PushService; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @Author: WangShuo + * @Date: 2025/07/04/10:16 + * @Version 1.0 + * @注释: + */ +@RestController +@RequestMapping("/mini/askBot") +public class AskBotController { + @Resource + private PushService pushService; + @GetMapping("/getUnReadMessageNum") + @ApiOperation("获取未读数量") + public ResponseResult getUnReadMessageNum(@RequestParam(value = "partnerId", required = true,defaultValue = "0") String partnerId) { + return ResponseResult.success(pushService.getUnReadMessageNum(partnerId)); + } + + +} diff --git a/coolstore-partner-web/src/main/resources/application-online.properties b/coolstore-partner-web/src/main/resources/application-online.properties index a77373aa5..88bcd9149 100644 --- a/coolstore-partner-web/src/main/resources/application-online.properties +++ b/coolstore-partner-web/src/main/resources/application-online.properties @@ -124,4 +124,6 @@ zx.food.url=https://datacenter.zhengxinshipin.com cool.api.appKey=k8J7fG2qR5tY9vX3 cool.api.secret=wP4sN6dL8zK2xM9c -special.user.id=wpayJeDAAAklx_q1jGhyGUd4yEh8vV_g_woayJeDAAAtwLSAPVMWbpGi9q4caSujg \ No newline at end of file +special.user.id=wpayJeDAAAklx_q1jGhyGUd4yEh8vV_g_woayJeDAAAtwLSAPVMWbpGi9q4caSujg + +ask.bot.url=https://auth.wx.askbot.cn \ No newline at end of file diff --git a/coolstore-partner-web/src/main/resources/application-test.properties b/coolstore-partner-web/src/main/resources/application-test.properties index 0ac5005d9..2a28827b2 100644 --- a/coolstore-partner-web/src/main/resources/application-test.properties +++ b/coolstore-partner-web/src/main/resources/application-test.properties @@ -130,3 +130,5 @@ cool.api.secret=wP4sN6dL8zK2xM9c #maozhejun userID special.user.id=wpayJeDAAAhGIFgUJpJN-zg39JuNbYhg_woayJeDAAA0TC8mkCJeXouw94hYA-D3Q +ask.bot.url=https://test.auth.wx.askbot.cn +