版本更新

This commit is contained in:
yan.y 2025-02-11 14:04:56 +08:00
parent 441439d492
commit 734367fcfc
3 changed files with 84 additions and 66 deletions

30
pom.xml
View File

@ -234,33 +234,9 @@
</dependency>
<dependency>
<groupId>com.gexin.platform</groupId>
<artifactId>gexin-rp-fastjson</artifactId>
<version>1.0.0.7</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>com.gexin.platform</groupId>
<artifactId>gexin-rp-sdk-base</artifactId>
<version>4.0.0.37</version>
</dependency>
<dependency>
<groupId>com.gexin.platform</groupId>
<artifactId>gexin-rp-sdk-http</artifactId>
<version>4.1.1.4</version>
</dependency>
<dependency>
<groupId>com.gexin.platform</groupId>
<artifactId>gexin-rp-sdk-template</artifactId>
<version>4.0.0.29</version>
<groupId>com.getui.push</groupId>
<artifactId>restful-sdk</artifactId>
<version>1.0.6.0</version>
</dependency>
</dependencies>

View File

@ -9,15 +9,18 @@ import com.aliyuncs.push.model.v20160801.PushRequest;
import com.aliyuncs.push.model.v20160801.PushResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.gexin.rp.sdk.base.IPushResult;
import com.gexin.rp.sdk.base.impl.SingleMessage;
import com.gexin.rp.sdk.base.impl.Target;
import com.gexin.rp.sdk.base.notify.Notify;
import com.gexin.rp.sdk.dto.GtReq;
import com.gexin.rp.sdk.http.IGtPush;
import com.gexin.rp.sdk.template.NotificationTemplate;
import com.gexin.rp.sdk.template.TransmissionTemplate;
import com.gexin.rp.sdk.template.style.Style0;
import com.getui.push.v2.sdk.ApiHelper;
import com.getui.push.v2.sdk.GtApiConfiguration;
import com.getui.push.v2.sdk.api.PushApi;
import com.getui.push.v2.sdk.common.ApiResult;
import com.getui.push.v2.sdk.dto.req.Audience;
import com.getui.push.v2.sdk.dto.req.message.PushChannel;
import com.getui.push.v2.sdk.dto.req.message.PushDTO;
import com.getui.push.v2.sdk.dto.req.message.PushMessage;
import com.getui.push.v2.sdk.dto.req.message.android.AndroidDTO;
import com.getui.push.v2.sdk.dto.req.message.android.GTNotification;
import com.getui.push.v2.sdk.dto.req.message.android.ThirdNotification;
import com.getui.push.v2.sdk.dto.req.message.android.Ups;
import com.ifish7.mq.business.user.entity.TblAliyunDeviceInfo;
import com.ifish7.mq.business.user.entity.TblPushList;
import com.ifish7.mq.business.user.service.ITblAliyunDeviceInfoService;
@ -27,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import java.security.MessageDigest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
@ -41,8 +45,6 @@ public class AliyunPushApi {
private final DefaultAcsClient client;
private final IGtPush iGtPush = new IGtPush(HOST_HTTPS, "099ng3u5ud5pVGqsH0GlK", "w3yLh3Ng4j5JYqGYH7C7o9");
public AliyunPushApi(String regionId,String accessKeyId,String accessKeySecret){
client = new DefaultAcsClient(DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret));
@ -53,8 +55,6 @@ public class AliyunPushApi {
//推送类型
private static final String PUSH_TYPE = "NOTICE";
private static final String HOST_HTTPS = "https://api.getui.com/apiex.htm";
@Value("${android_app_key}")
private String androidAppKey;
@ -154,33 +154,75 @@ public class AliyunPushApi {
}
}
private void gtPush(TblPushList pushList, TblAliyunDeviceInfo aliyunDeviceInfo) {
SingleMessage singleMessage = new SingleMessage();
Notify notify = new Notify();
notify.setTitle(pushList.getPushTitle());
notify.setContent(pushList.getPushContext());
notify.addExtKVToAll("/android/notification/importance","NORMAL");
notify.addXMExtKV("/extra.channel_id", "131247");
TransmissionTemplate transmissionTemplate = new TransmissionTemplate();
transmissionTemplate.setTransmissionType(2); // 透传消息接受方式设置1立即启动APP 2客户端收到消息后需要自行处理
transmissionTemplate.setAppId(gtAppId);
transmissionTemplate.setAppkey(gtAppKey);
transmissionTemplate.set3rdNotifyInfo(notify);
singleMessage.setData(transmissionTemplate);
singleMessage.setOffline(true);
singleMessage.setOfflineExpireTime(72 * 3600000L);
Target target = new Target();
target.setAppId(gtAppId);
target.setClientId(aliyunDeviceInfo.getAliyunDeviceId());
IPushResult pushResult = iGtPush.pushMessageToSingle(singleMessage, target);
Map<String, Object> response = pushResult.getResponse();
log.info("gtPush request : " + JSONObject.toJSONString(singleMessage) + " , response : " + JSONObject.toJSONString(response));
public static ApiHelper apiHelper = null;
public static PushApi pushApi = null;
static {
System.setProperty("http.maxConnections", "200");
GtApiConfiguration apiConfiguration = new GtApiConfiguration();
//填写应用配置
apiConfiguration.setAppId("C2ZpsHzexi5UKuUKyW0Ig");
apiConfiguration.setAppKey("099ng3u5ud5pVGqsH0GlK");
apiConfiguration.setMasterSecret("w3yLh3Ng4j5JYqGYH7C7o9");
// 接口调用前缀请查看文档: 接口调用规范 -> 接口前缀
apiConfiguration.setDomain("https://restapi.getui.com/v2/");
apiHelper = ApiHelper.build(apiConfiguration);
pushApi = apiHelper.creatApi(PushApi.class);
}
private void gtPush(TblPushList pushList, TblAliyunDeviceInfo aliyunDeviceInfo) {
//根据cid进行单推
PushDTO<Audience> pushDTO = new PushDTO<>();
// 设置推送参数
pushDTO.setRequestId(System.currentTimeMillis() + "");
PushMessage pushMessage = new PushMessage();
pushDTO.setPushMessage(pushMessage);
GTNotification notification = new GTNotification();
pushMessage.setNotification(notification);
notification.setTitle(pushList.getPushTitle());
notification.setBody(pushList.getPushContext());
notification.setClickType("startapp");
PushChannel pushChannel = new PushChannel();
pushDTO.setPushChannel(pushChannel);
/*配置安卓厂商参数*/
AndroidDTO androidDTO = new AndroidDTO();
Ups ups = new Ups();
ThirdNotification thirdNotification = new ThirdNotification();
thirdNotification.setTitle(pushList.getPushTitle());
thirdNotification.setBody(pushList.getPushContext());
thirdNotification.setClickType("startapp");
ups.setNotification(thirdNotification);
Map<String, Map<String, Object>> options = new HashMap<>();
Map<String, Object> HO = new HashMap<>();
HO.put("/android/notification/importance", "NORMAL");
options.put("HO", HO);
Map<String, Object> HW = new HashMap<>();
HW.put("/message/android/category", "WORK");
options.put("HW", HW);
Map<String, Object> XM = new HashMap<>();
XM.put("/extra.channel_id", "131247");
options.put("XM", XM);
Map<String, Object> OP = new HashMap<>();
OP.put("/channel_id", "push_oplus_category_content");
options.put("OP", OP);
ups.setOptions(options);
androidDTO.setUps(ups);
pushChannel.setAndroid(androidDTO);
Audience audience = new Audience();
pushDTO.setAudience(audience);
audience.addCid(aliyunDeviceInfo.getAliyunDeviceId());
// 进行cid单推
ApiResult<Map<String, Map<String, String>>> apiResult = pushApi.pushToSingleByCid(pushDTO);
log.info("gtPush request : " + aliyunDeviceInfo.getAliyunDeviceId() + " , response : " + JSONObject.toJSONString(apiResult));
}
public static void main(String[] args) {
}
/*public static void main(String[] args) {
//8cfcfe16d96ef9345391de475bb5297d
SingleMessage singleMessage = new SingleMessage();
Style0 style = new Style0();
@ -207,7 +249,7 @@ public class AliyunPushApi {
System.out.println(JSONObject.toJSONString(pushResult));
Map<String, Object> response = pushResult.getResponse();
System.out.println(response);
}
}*/
/**

View File

@ -4,7 +4,7 @@ log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#\u53EF\u4EE5\u7075\u6D3B\u5730\u6307\u5B9A\u65E5\u5FD7\u8F93\u51FA\u683C\u5F0F\uFF0C\u4E0B\u9762\u4E00\u884C\u662F\u6307\u5B9A\u5177\u4F53\u7684\u683C\u5F0F
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[ifishMQ][%c] - %m%n
log4j.appender.Console.layout.ConversionPattern=[ifishMQ]][%p] [%d{yyyy-MM-dd HH\:mm\:ss}] [%c]%m%n
#\u6587\u4EF6\u5927\u5C0F\u5230\u8FBE\u6307\u5B9A\u5C3A\u5BF8\u7684\u65F6\u5019\u4EA7\u751F\u4E00\u4E2A\u65B0\u7684\u6587\u4EF6
log4j.appender.File = org.apache.log4j.RollingFileAppender
#\u6307\u5B9A\u8F93\u51FA\u76EE\u5F55
@ -14,7 +14,7 @@ log4j.appender.File.MaxFileSize = 100
#\u8F93\u51FA\u6240\u4EE5\u65E5\u5FD7\uFF0C\u5982\u679C\u6362\u6210DEBUG\u8868\u793A\u8F93\u51FADEBUG\u4EE5\u4E0A\u7EA7\u522B\u65E5\u5FD7
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[ifishMQ][%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
log4j.appender.File.layout.ConversionPattern =[ifishMQ]][%p] [%d{yyyy-MM-dd HH\:mm\:ss}] [%c]%m%n
log4j.logger.org.springframework=INFO
log4j.logger.org.apache.activemq=INFO