Commit 56add9bb by hweeeeeei

Merge branch 'feature-1.4-pushParam' of…

Merge branch 'feature-1.4-pushParam' of https://gitlab.aillo.cc/hewei/wecloud_im_server into feiwa_test
parents ac803a47 909d90d9
...@@ -3,6 +3,7 @@ package com.wecloud.im.ws.model.request; ...@@ -3,6 +3,7 @@ package com.wecloud.im.ws.model.request;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashMap;
/** /**
* @Description 推送model * @Description 推送model
...@@ -25,7 +26,7 @@ public class PushModel implements Serializable { ...@@ -25,7 +26,7 @@ public class PushModel implements Serializable {
/** /**
* 自定义系统推送内容 * 自定义系统推送内容
*/ */
private String data; private HashMap data;
} }
package com.wecloud.im.ws.sender; package com.wecloud.im.ws.sender;
import cn.hutool.core.codec.Base64; import cn.hutool.core.codec.Base64;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.json.JsonMapper;
import com.turo.pushy.apns.DeliveryPriority; import com.turo.pushy.apns.DeliveryPriority;
import com.turo.pushy.apns.PushType; import com.turo.pushy.apns.PushType;
import com.wecloud.im.entity.ImApplication; import com.wecloud.im.entity.ImApplication;
...@@ -32,6 +34,7 @@ import java.util.Map; ...@@ -32,6 +34,7 @@ import java.util.Map;
@Component @Component
@Slf4j @Slf4j
public class PushTask { public class PushTask {
private static final JsonMapper JSON_MAPPER = new JsonMapper();
@Autowired @Autowired
private ImIosApnsService imIosApnsService; private ImIosApnsService imIosApnsService;
...@@ -73,6 +76,7 @@ public class PushTask { ...@@ -73,6 +76,7 @@ public class PushTask {
pushModel = new PushModel(); pushModel = new PushModel();
pushModel.setTitle(PUSH_TITLE); pushModel.setTitle(PUSH_TITLE);
pushModel.setSubTitle(PUSH_BODY); pushModel.setSubTitle(PUSH_BODY);
pushModel.setData(new HashMap<>(1));
} }
// 校验参数 // 校验参数
...@@ -105,19 +109,33 @@ public class PushTask { ...@@ -105,19 +109,33 @@ public class PushTask {
public void push(HashMap<String, String> pushMap, ImClient imClientReceiver, ImApplication imApplication) { public void push(HashMap<String, String> pushMap, ImClient imClientReceiver, ImApplication imApplication) {
log.info("push:" + imClientReceiver.getClientId()); log.info("push:" + imClientReceiver.getClientId());
PushModel pushModel = new PushModel(); PushModel pushModel = getPushModel(pushMap);
this.push(pushModel, imClientReceiver, imApplication);
}
private PushModel getPushModel(HashMap<String, String> pushMap) {
PushModel pushModel = new PushModel();
if (pushMap == null || pushMap.isEmpty()) { if (pushMap == null || pushMap.isEmpty()) {
pushModel.setTitle(PUSH_TITLE); pushModel.setTitle(PUSH_TITLE);
pushModel.setSubTitle(PUSH_BODY); pushModel.setSubTitle(PUSH_BODY);
pushModel.setData(new HashMap<>(1));
} else { } else {
pushModel.setTitle(pushMap.get(title)); pushModel.setTitle(pushMap.get(title));
pushModel.setSubTitle(pushMap.get(subTitle)); pushModel.setSubTitle(pushMap.get(subTitle));
pushModel.setData(pushMap.get(DATA));
}
this.push(pushModel, imClientReceiver, imApplication); // 自定义推送内容
try {
HashMap hashMap = JSON_MAPPER.readValue(pushMap.get(DATA), HashMap.class);
pushModel.setData(hashMap);
} catch (JsonProcessingException e) {
log.error("pushModel.setData(hashMap)", e);
pushModel.setData(new HashMap<>(1));
}
}
return pushModel;
} }
private void android(PushModel pushModel, ImClient imClientReceiver, ImApplication imApplication) { private void android(PushModel pushModel, ImClient imClientReceiver, ImApplication imApplication) {
...@@ -221,9 +239,9 @@ public class PushTask { ...@@ -221,9 +239,9 @@ public class PushTask {
info.put("body", pushModel.getSubTitle()); info.put("body", pushModel.getSubTitle());
// 自定义推送字段 // 自定义推送字段
Map<String, String> dataMap = new HashMap<>(); // Map<String, String> dataMap = new HashMap<>();
dataMap.put("data", pushModel.getData()); // dataMap.put("data", JSON_MAPPER.writeValueAsString());
json.put("data", dataMap); json.put("data", pushModel.getData());
//数据消息data 通知消息 notification //数据消息data 通知消息 notification
json.put("notification", info); json.put("notification", info);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment