版本更新
This commit is contained in:
parent
441439d492
commit
734367fcfc
30
pom.xml
30
pom.xml
|
|
@ -234,33 +234,9 @@
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.gexin.platform</groupId>
|
<groupId>com.getui.push</groupId>
|
||||||
<artifactId>gexin-rp-fastjson</artifactId>
|
<artifactId>restful-sdk</artifactId>
|
||||||
<version>1.0.0.7</version>
|
<version>1.0.6.0</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>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
|
||||||
|
|
@ -9,15 +9,18 @@ import com.aliyuncs.push.model.v20160801.PushRequest;
|
||||||
import com.aliyuncs.push.model.v20160801.PushResponse;
|
import com.aliyuncs.push.model.v20160801.PushResponse;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.gexin.rp.sdk.base.IPushResult;
|
import com.getui.push.v2.sdk.ApiHelper;
|
||||||
import com.gexin.rp.sdk.base.impl.SingleMessage;
|
import com.getui.push.v2.sdk.GtApiConfiguration;
|
||||||
import com.gexin.rp.sdk.base.impl.Target;
|
import com.getui.push.v2.sdk.api.PushApi;
|
||||||
import com.gexin.rp.sdk.base.notify.Notify;
|
import com.getui.push.v2.sdk.common.ApiResult;
|
||||||
import com.gexin.rp.sdk.dto.GtReq;
|
import com.getui.push.v2.sdk.dto.req.Audience;
|
||||||
import com.gexin.rp.sdk.http.IGtPush;
|
import com.getui.push.v2.sdk.dto.req.message.PushChannel;
|
||||||
import com.gexin.rp.sdk.template.NotificationTemplate;
|
import com.getui.push.v2.sdk.dto.req.message.PushDTO;
|
||||||
import com.gexin.rp.sdk.template.TransmissionTemplate;
|
import com.getui.push.v2.sdk.dto.req.message.PushMessage;
|
||||||
import com.gexin.rp.sdk.template.style.Style0;
|
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.TblAliyunDeviceInfo;
|
||||||
import com.ifish7.mq.business.user.entity.TblPushList;
|
import com.ifish7.mq.business.user.entity.TblPushList;
|
||||||
import com.ifish7.mq.business.user.service.ITblAliyunDeviceInfoService;
|
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 org.springframework.beans.factory.annotation.Value;
|
||||||
|
|
||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
@ -41,8 +45,6 @@ public class AliyunPushApi {
|
||||||
|
|
||||||
private final DefaultAcsClient client;
|
private final DefaultAcsClient client;
|
||||||
|
|
||||||
private final IGtPush iGtPush = new IGtPush(HOST_HTTPS, "099ng3u5ud5pVGqsH0GlK", "w3yLh3Ng4j5JYqGYH7C7o9");
|
|
||||||
|
|
||||||
|
|
||||||
public AliyunPushApi(String regionId,String accessKeyId,String accessKeySecret){
|
public AliyunPushApi(String regionId,String accessKeyId,String accessKeySecret){
|
||||||
client = new DefaultAcsClient(DefaultProfile.getProfile(regionId, accessKeyId, 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 PUSH_TYPE = "NOTICE";
|
||||||
|
|
||||||
private static final String HOST_HTTPS = "https://api.getui.com/apiex.htm";
|
|
||||||
|
|
||||||
@Value("${android_app_key}")
|
@Value("${android_app_key}")
|
||||||
private String androidAppKey;
|
private String androidAppKey;
|
||||||
|
|
||||||
|
|
@ -154,33 +154,75 @@ public class AliyunPushApi {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void gtPush(TblPushList pushList, TblAliyunDeviceInfo aliyunDeviceInfo) {
|
public static ApiHelper apiHelper = null;
|
||||||
SingleMessage singleMessage = new SingleMessage();
|
public static PushApi pushApi = null;
|
||||||
Notify notify = new Notify();
|
static {
|
||||||
notify.setTitle(pushList.getPushTitle());
|
System.setProperty("http.maxConnections", "200");
|
||||||
notify.setContent(pushList.getPushContext());
|
GtApiConfiguration apiConfiguration = new GtApiConfiguration();
|
||||||
notify.addExtKVToAll("/android/notification/importance","NORMAL");
|
//填写应用配置
|
||||||
notify.addXMExtKV("/extra.channel_id", "131247");
|
apiConfiguration.setAppId("C2ZpsHzexi5UKuUKyW0Ig");
|
||||||
|
apiConfiguration.setAppKey("099ng3u5ud5pVGqsH0GlK");
|
||||||
TransmissionTemplate transmissionTemplate = new TransmissionTemplate();
|
apiConfiguration.setMasterSecret("w3yLh3Ng4j5JYqGYH7C7o9");
|
||||||
transmissionTemplate.setTransmissionType(2); // 透传消息接受方式设置:1:立即启动APP 2:客户端收到消息后需要自行处理
|
// 接口调用前缀,请查看文档: 接口调用规范 -> 接口前缀
|
||||||
|
apiConfiguration.setDomain("https://restapi.getui.com/v2/");
|
||||||
transmissionTemplate.setAppId(gtAppId);
|
apiHelper = ApiHelper.build(apiConfiguration);
|
||||||
transmissionTemplate.setAppkey(gtAppKey);
|
pushApi = apiHelper.creatApi(PushApi.class);
|
||||||
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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*public static void main(String[] args) {
|
||||||
//8cfcfe16d96ef9345391de475bb5297d
|
//8cfcfe16d96ef9345391de475bb5297d
|
||||||
SingleMessage singleMessage = new SingleMessage();
|
SingleMessage singleMessage = new SingleMessage();
|
||||||
Style0 style = new Style0();
|
Style0 style = new Style0();
|
||||||
|
|
@ -207,7 +249,7 @@ public class AliyunPushApi {
|
||||||
System.out.println(JSONObject.toJSONString(pushResult));
|
System.out.println(JSONObject.toJSONString(pushResult));
|
||||||
Map<String, Object> response = pushResult.getResponse();
|
Map<String, Object> response = pushResult.getResponse();
|
||||||
System.out.println(response);
|
System.out.println(response);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ log4j.appender.Console=org.apache.log4j.ConsoleAppender
|
||||||
log4j.appender.Console.Target=System.out
|
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
|
#\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 = 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
|
#\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
|
log4j.appender.File = org.apache.log4j.RollingFileAppender
|
||||||
#\u6307\u5B9A\u8F93\u51FA\u76EE\u5F55
|
#\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
|
#\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.Threshold = ALL
|
||||||
log4j.appender.File.layout = org.apache.log4j.PatternLayout
|
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.springframework=INFO
|
||||||
log4j.logger.org.apache.activemq=INFO
|
log4j.logger.org.apache.activemq=INFO
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue