From d6b1b931dfb218e1cc06128450be1ad8225bc9fb Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 27 二月 2026 17:16:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/utils/AliPushUtil.java | 112 ++++++++++++++++++++++++++++++++-----------------------
1 files changed, 65 insertions(+), 47 deletions(-)
diff --git a/xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/utils/AliPushUtil.java b/xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/utils/AliPushUtil.java
index 8374017..e851116 100644
--- a/xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/utils/AliPushUtil.java
+++ b/xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/utils/AliPushUtil.java
@@ -9,12 +9,14 @@
import darabonba.core.client.ClientOverrideConfiguration;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
//import javax.net.ssl.KeyManager;
//import javax.net.ssl.X509TrustManager;
import java.util.concurrent.CompletableFuture;
@Slf4j
+@Component
public class AliPushUtil {
@Value("${ali.push.accessKeyId}")
@@ -27,6 +29,10 @@
private Long appKey;
@Value("${ali.push.iosAppKey}")
private Long iosAppKey;
+ @Value("${ali.push.channelId}")
+ private String channelId;
+ @Value("${ali.push.iosChannelId}")
+ private String iosChannelId;
/**
* 消息类型 MESSAGE 消息 NOTICE 通知
*/
@@ -50,62 +56,74 @@
/**
- *
+ * 消息推送方法
* @param account 运维手机号
* @param title 标题
* @param body 消息内容
* @throws Exception
*/
- public String pushMessage(Integer deviceType,String account, String title, String body) throws Exception {
+ public String pushMessage(Integer deviceType,String account, String title, String body){
- StaticCredentialProvider credentialProvider = StaticCredentialProvider.create(
- Credential.builder()
- .accessKeyId(accessKeyId)
- .accessKeySecret(accessKeySecret)
- .build()
- );
+ try {
+ StaticCredentialProvider credentialProvider = StaticCredentialProvider.create(
+ Credential.builder()
+ .accessKeyId(accessKeyId)
+ .accessKeySecret(accessKeySecret)
+ .build()
+ );
- // Configure the Client
- try (AsyncClient client = AsyncClient.builder()
- .region(regionId) // Region ID
- .credentialsProvider(credentialProvider)
- .overrideConfiguration(
- ClientOverrideConfiguration.create()
- .setEndpointOverride("cloudpush.aliyuncs.com")
- )
- .build()) {
+ // Configure the Client
+ try (AsyncClient client = AsyncClient.builder()
+ .region(regionId) // Region ID
+ .credentialsProvider(credentialProvider)
+ .overrideConfiguration(
+ ClientOverrideConfiguration.create()
+ .setEndpointOverride("cloudpush.aliyuncs.com")
+ )
+ .build()) {
- // 判断账号类型
- Long appKeys = appKey;
- if(deviceType == 2){
- appKeys = iosAppKey;
+ // 判断账号类型
+ Long appKeys = appKey;
+ if(deviceType == 2){
+ appKeys = iosAppKey;
+ }
+
+ String channelIds = channelId;
+ if(deviceType == 2){
+ channelIds = iosChannelId;
+ }
+
+ PushRequest pushRequest = PushRequest.builder()
+ .appKey(appKeys)
+ .pushType(PUSH_TYPE)
+ .deviceType(DEVICE_TYPE_ALL)
+ .target(TARGET)
+ .targetValue(account)
+ .title(title)
+ .body(body)
+ .androidNotificationChannel(channelIds)
+ .build();
+ CompletableFuture<PushResponse> response = client.push(pushRequest);
+ PushResponse resp = response.get();
+ String json = new Gson().toJson(resp);
+ log.info("运维APP-消息推送:{}",json);
+
+ JSONObject jsonObject = JSONObject.parseObject(json);
+
+ Integer statusCode = jsonObject.getInteger("statusCode");
+ if(statusCode == 200){
+ log.info("运维APP-消息推送成功");
+ JSONObject resultBody = jsonObject.getJSONObject("body");
+ return resultBody.getString("messageId");
+ }else{
+ log.info("运维APP-消息推送失败");
+ return null;
+ }
}
-
- PushRequest pushRequest = PushRequest.builder()
- .appKey(appKeys)
- .pushType(PUSH_TYPE)
- .deviceType(DEVICE_TYPE_ALL)
- .target(TARGET)
- .targetValue(account)
- .title(title)
- .body(body)
- .build();
- CompletableFuture<PushResponse> response = client.push(pushRequest);
- PushResponse resp = response.get();
- String json = new Gson().toJson(resp);
- log.info("运维APP-消息推送:{}",json);
-
- JSONObject jsonObject = JSONObject.parseObject(json);
-
- Integer statusCode = jsonObject.getInteger("statusCode");
- if(statusCode == 200){
- log.info("运维APP-消息推送成功");
- JSONObject resultBody = jsonObject.getJSONObject("body");
- return resultBody.getString("messageId");
- }else{
- log.info("运维APP-消息推送失败");
- return null;
- }
+ } catch (Exception e) {
+ log.info("运维APP-消息推送失败-异常");
+ e.printStackTrace();
+ return null;
}
}
--
Gitblit v1.7.1