mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2026-03-10 00:13:40 +08:00
🎨 #2851【公众号】群发消息支持多图片群发
This commit is contained in:
@@ -36,6 +36,10 @@ public class WxMpMassOpenIdsMessage implements Serializable {
|
||||
private String msgType;
|
||||
private String content;
|
||||
private String mediaId;
|
||||
/**
|
||||
* 图片列表
|
||||
*/
|
||||
private List<String> mediaIds;
|
||||
/**
|
||||
* 文章被判定为转载时,是否继续进行群发操作。
|
||||
*/
|
||||
|
||||
@@ -5,6 +5,7 @@ import me.chanjar.weixin.common.api.WxConsts;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 按标签群发的消息.
|
||||
@@ -34,6 +35,10 @@ public class WxMpMassTagMessage implements Serializable {
|
||||
private String msgType;
|
||||
private String content;
|
||||
private String mediaId;
|
||||
/**
|
||||
* 图片列表
|
||||
*/
|
||||
private List<String> mediaIds;
|
||||
/**
|
||||
* 是否群发给所有用户.
|
||||
*/
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package me.chanjar.weixin.mp.util.json;
|
||||
|
||||
import com.google.gson.*;
|
||||
|
||||
import me.chanjar.weixin.common.api.WxConsts;
|
||||
import me.chanjar.weixin.mp.bean.WxMpMassOpenIdsMessage;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author someone
|
||||
@@ -39,8 +41,17 @@ public class WxMpMassOpenIdsMessageGsonAdapter implements JsonSerializer<WxMpMas
|
||||
}
|
||||
if (WxConsts.MassMsgType.IMAGE.equals(message.getMsgType())) {
|
||||
JsonObject sub = new JsonObject();
|
||||
sub.addProperty("media_id", message.getMediaId());
|
||||
messageJson.add(WxConsts.MassMsgType.IMAGE, sub);
|
||||
List<String> mediaIds = message.getMediaIds();
|
||||
if (mediaIds != null && !mediaIds.isEmpty() ) {
|
||||
JsonArray json = new JsonArray();
|
||||
mediaIds.forEach(json::add);
|
||||
sub.add("media_ids", json);
|
||||
messageJson.add(WxConsts.MassMsgType.IMAGES, sub);
|
||||
} else {
|
||||
String mediaId = message.getMediaId();
|
||||
sub.addProperty("media_id", mediaId);
|
||||
messageJson.add(WxConsts.MassMsgType.IMAGE, sub);
|
||||
}
|
||||
}
|
||||
if (WxConsts.MassMsgType.MPVIDEO.equals(message.getMsgType())) {
|
||||
JsonObject sub = new JsonObject();
|
||||
@@ -64,4 +75,7 @@ public class WxMpMassOpenIdsMessageGsonAdapter implements JsonSerializer<WxMpMas
|
||||
return messageJson;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
package me.chanjar.weixin.mp.util.json;
|
||||
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonSerializationContext;
|
||||
import com.google.gson.JsonSerializer;
|
||||
import com.google.gson.*;
|
||||
|
||||
import me.chanjar.weixin.common.api.WxConsts;
|
||||
import me.chanjar.weixin.mp.bean.WxMpMassTagMessage;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 群发消息json转换适配器.
|
||||
@@ -47,8 +46,17 @@ public class WxMpMassTagMessageGsonAdapter implements JsonSerializer<WxMpMassTag
|
||||
}
|
||||
if (WxConsts.MassMsgType.IMAGE.equals(message.getMsgType())) {
|
||||
JsonObject sub = new JsonObject();
|
||||
sub.addProperty("media_id", message.getMediaId());
|
||||
messageJson.add(WxConsts.MassMsgType.IMAGE, sub);
|
||||
List<String> mediaIds = message.getMediaIds();
|
||||
if (mediaIds != null && !mediaIds.isEmpty() ) {
|
||||
JsonArray json = new JsonArray();
|
||||
mediaIds.forEach(json::add);
|
||||
sub.add("media_ids", json);
|
||||
messageJson.add(WxConsts.MassMsgType.IMAGES, sub);
|
||||
} else {
|
||||
String mediaId = message.getMediaId();
|
||||
sub.addProperty("media_id", mediaId);
|
||||
messageJson.add(WxConsts.MassMsgType.IMAGE, sub);
|
||||
}
|
||||
}
|
||||
if (WxConsts.MassMsgType.MPVIDEO.equals(message.getMsgType())) {
|
||||
JsonObject sub = new JsonObject();
|
||||
|
||||
Reference in New Issue
Block a user