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