Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
【公众号】群发消息支持多图片群发
  • Loading branch information
唐英鹏 committed Oct 24, 2022
commit 913e19cb1e71d7854e3c3f68af9a7048c1be902c
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,7 @@ public static class MassMsgType {
public static final String TEXT = "text";
public static final String VOICE = "voice";
public static final String IMAGE = "image";
public static final String IMAGES = "images";
public static final String MPVIDEO = "mpvideo";
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ public class WxMpMassOpenIdsMessage implements Serializable {
private String msgType;
private String content;
private String mediaId;
/**
* 图片列表
*/
private List<String> mediaIds;
/**
* 文章被判定为转载时,是否继续进行群发操作。
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;

import java.io.Serializable;
import java.util.List;

/**
* 按标签群发的消息.
Expand Down Expand Up @@ -34,6 +35,10 @@ public class WxMpMassTagMessage implements Serializable {
private String msgType;
private String content;
private String mediaId;
/**
* 图片列表
*/
private List<String> mediaIds;
/**
* 是否群发给所有用户.
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -39,8 +41,17 @@ public JsonElement serialize(WxMpMassOpenIdsMessage message, Type typeOfSrc, Jso
}
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();
Expand All @@ -64,4 +75,7 @@ public JsonElement serialize(WxMpMassOpenIdsMessage message, Type typeOfSrc, Jso
return messageJson;
}

public static void main(String[] args) {

}
}
Original file line number Diff line number Diff line change
@@ -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转换适配器.
Expand Down Expand Up @@ -47,8 +46,17 @@ public JsonElement serialize(WxMpMassTagMessage message, Type typeOfSrc, JsonSer
}
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();
Expand Down