@@ -1,14 +1,16 @@ | |||
package me.chanjar.weixin.cp.bean; | |||
import lombok.Data; | |||
import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; | |||
import java.io.Serializable; | |||
/** | |||
* 微信部门 | |||
* 微信部门. | |||
* | |||
* @author Daniel Qian | |||
*/ | |||
@Data | |||
public class WxCpDepart implements Serializable { | |||
private static final long serialVersionUID = -5028321625140879571L; | |||
@@ -21,49 +23,8 @@ public class WxCpDepart implements Serializable { | |||
return WxCpGsonBuilder.create().fromJson(json, WxCpDepart.class); | |||
} | |||
public Integer getId() { | |||
return this.id; | |||
} | |||
public void setId(Integer id) { | |||
this.id = id; | |||
} | |||
public String getName() { | |||
return this.name; | |||
} | |||
public void setName(String name) { | |||
this.name = name; | |||
} | |||
public Integer getParentId() { | |||
return this.parentId; | |||
} | |||
public void setParentId(Integer parentId) { | |||
this.parentId = parentId; | |||
} | |||
public Long getOrder() { | |||
return this.order; | |||
} | |||
public void setOrder(Long order) { | |||
this.order = order; | |||
} | |||
public String toJson() { | |||
return WxCpGsonBuilder.create().toJson(this); | |||
} | |||
@Override | |||
public String toString() { | |||
return "WxCpDepart{" + | |||
"id=" + this.id + | |||
", name='" + this.name + '\'' + | |||
", parentId=" + this.parentId + | |||
", order=" + this.order + | |||
'}'; | |||
} | |||
} |
@@ -1,5 +1,6 @@ | |||
package me.chanjar.weixin.cp.bean; | |||
import lombok.Data; | |||
import me.chanjar.weixin.common.api.WxConsts; | |||
import me.chanjar.weixin.cp.bean.article.MpnewsArticle; | |||
import me.chanjar.weixin.cp.bean.article.NewArticle; | |||
@@ -11,13 +12,14 @@ import java.util.ArrayList; | |||
import java.util.List; | |||
/** | |||
* 消息 | |||
* 消息. | |||
* | |||
* @author Daniel Qian | |||
*/ | |||
@Data | |||
public class WxCpMessage implements Serializable { | |||
private static final long serialVersionUID = -2082278303476631708L; | |||
private String toUser; | |||
private String toParty; | |||
private String toTag; | |||
@@ -36,104 +38,61 @@ public class WxCpMessage implements Serializable { | |||
private List<MpnewsArticle> mpnewsArticles = new ArrayList<>(); | |||
/** | |||
* 获得文本消息builder | |||
* 获得文本消息builder. | |||
*/ | |||
public static TextBuilder TEXT() { | |||
return new TextBuilder(); | |||
} | |||
/** | |||
* 获得文本卡片消息builder | |||
* 获得文本卡片消息builder. | |||
*/ | |||
public static TextCardBuilder TEXTCARD() { | |||
return new TextCardBuilder(); | |||
} | |||
/** | |||
* 获得图片消息builder | |||
* 获得图片消息builder. | |||
*/ | |||
public static ImageBuilder IMAGE() { | |||
return new ImageBuilder(); | |||
} | |||
/** | |||
* 获得语音消息builder | |||
* 获得语音消息builder. | |||
*/ | |||
public static VoiceBuilder VOICE() { | |||
return new VoiceBuilder(); | |||
} | |||
/** | |||
* 获得视频消息builder | |||
* 获得视频消息builder. | |||
*/ | |||
public static VideoBuilder VIDEO() { | |||
return new VideoBuilder(); | |||
} | |||
/** | |||
* 获得图文消息builder | |||
* 获得图文消息builder. | |||
*/ | |||
public static NewsBuilder NEWS() { | |||
return new NewsBuilder(); | |||
} | |||
/** | |||
* 获得mpnews图文消息builder | |||
* 获得mpnews图文消息builder. | |||
*/ | |||
public static MpnewsBuilder MPNEWS() { | |||
return new MpnewsBuilder(); | |||
} | |||
/** | |||
* 获得文件消息builder | |||
* 获得文件消息builder. | |||
*/ | |||
public static FileBuilder FILE() { | |||
return new FileBuilder(); | |||
} | |||
public List<MpnewsArticle> getMpnewsArticles() { | |||
return mpnewsArticles; | |||
} | |||
public void setMpnewsArticles(List<MpnewsArticle> mpnewsArticles) { | |||
this.mpnewsArticles = mpnewsArticles; | |||
} | |||
public String getToUser() { | |||
return this.toUser; | |||
} | |||
public void setToUser(String toUser) { | |||
this.toUser = toUser; | |||
} | |||
public String getToParty() { | |||
return this.toParty; | |||
} | |||
public void setToParty(String toParty) { | |||
this.toParty = toParty; | |||
} | |||
public String getToTag() { | |||
return this.toTag; | |||
} | |||
public void setToTag(String toTag) { | |||
this.toTag = toTag; | |||
} | |||
public Integer getAgentId() { | |||
return this.agentId; | |||
} | |||
public void setAgentId(Integer agentId) { | |||
this.agentId = agentId; | |||
} | |||
public String getMsgType() { | |||
return this.msgType; | |||
} | |||
/** | |||
* <pre> | |||
@@ -153,87 +112,8 @@ public class WxCpMessage implements Serializable { | |||
this.msgType = msgType; | |||
} | |||
public String getSafe() { | |||
return this.safe; | |||
} | |||
public void setSafe(String safe) { | |||
this.safe = safe; | |||
} | |||
public String getContent() { | |||
return this.content; | |||
} | |||
public void setContent(String content) { | |||
this.content = content; | |||
} | |||
public String getMediaId() { | |||
return this.mediaId; | |||
} | |||
public void setMediaId(String mediaId) { | |||
this.mediaId = mediaId; | |||
} | |||
public String getThumbMediaId() { | |||
return this.thumbMediaId; | |||
} | |||
public void setThumbMediaId(String thumbMediaId) { | |||
this.thumbMediaId = thumbMediaId; | |||
} | |||
public String getTitle() { | |||
return this.title; | |||
} | |||
public void setTitle(String title) { | |||
this.title = title; | |||
} | |||
public String getDescription() { | |||
return this.description; | |||
} | |||
public void setDescription(String description) { | |||
this.description = description; | |||
} | |||
public String getMusicUrl() { | |||
return this.musicUrl; | |||
} | |||
public void setMusicUrl(String musicUrl) { | |||
this.musicUrl = musicUrl; | |||
} | |||
public String getHqMusicUrl() { | |||
return this.hqMusicUrl; | |||
} | |||
public void setHqMusicUrl(String hqMusicUrl) { | |||
this.hqMusicUrl = hqMusicUrl; | |||
} | |||
public List<NewArticle> getArticles() { | |||
return this.articles; | |||
} | |||
public void setArticles(List<NewArticle> articles) { | |||
this.articles = articles; | |||
} | |||
public String toJson() { | |||
return WxCpGsonBuilder.INSTANCE.create().toJson(this); | |||
} | |||
public String getUrl() { | |||
return this.url; | |||
} | |||
public void setUrl(String url) { | |||
this.url = url; | |||
} | |||
} |
@@ -2,21 +2,25 @@ package me.chanjar.weixin.cp.bean; | |||
import com.google.common.base.Splitter; | |||
import com.google.gson.annotations.SerializedName; | |||
import lombok.Data; | |||
import me.chanjar.weixin.common.util.ToStringUtils; | |||
import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; | |||
import org.apache.commons.lang3.StringUtils; | |||
import java.io.Serializable; | |||
import java.util.Collections; | |||
import java.util.List; | |||
/** | |||
* <pre> | |||
* 消息发送结果对象类 | |||
* 消息发送结果对象类. | |||
* Created by Binary Wang on 2017-6-22. | |||
* | |||
* @author <a href="https://github.com/binarywang">Binary Wang</a> | |||
* </pre> | |||
*/ | |||
public class WxCpMessageSendResult { | |||
@Data | |||
public class WxCpMessageSendResult implements Serializable { | |||
private static final long serialVersionUID = 916455987193190004L; | |||
@Override | |||
public String toString() { | |||
return ToStringUtils.toSimpleString(this); | |||
@@ -41,52 +45,13 @@ public class WxCpMessageSendResult { | |||
@SerializedName("invalidtag") | |||
private String invalidTag; | |||
public Integer getErrCode() { | |||
return this.errCode; | |||
} | |||
public void setErrCode(Integer errCode) { | |||
this.errCode = errCode; | |||
} | |||
public String getErrMsg() { | |||
return this.errMsg; | |||
} | |||
public void setErrMsg(String errMsg) { | |||
this.errMsg = errMsg; | |||
} | |||
public String getInvalidUser() { | |||
return this.invalidUser; | |||
} | |||
public void setInvalidUser(String invalidUser) { | |||
this.invalidUser = invalidUser; | |||
} | |||
public String getInvalidParty() { | |||
return this.invalidParty; | |||
} | |||
public void setInvalidParty(String invalidParty) { | |||
this.invalidParty = invalidParty; | |||
} | |||
public String getInvalidTag() { | |||
return this.invalidTag; | |||
} | |||
public void setInvalidTag(String invalidTag) { | |||
this.invalidTag = invalidTag; | |||
} | |||
public List<String> getInvalidUserList() { | |||
return this.content2List(this.invalidUser); | |||
} | |||
private List<String> content2List(String content) { | |||
if(StringUtils.isBlank(content)){ | |||
if (StringUtils.isBlank(content)) { | |||
return Collections.emptyList(); | |||
} | |||
@@ -1,50 +1,30 @@ | |||
package me.chanjar.weixin.cp.bean; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Data; | |||
import lombok.NoArgsConstructor; | |||
import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; | |||
import java.io.Serializable; | |||
/** | |||
* Created by Daniel Qian | |||
* Created by Daniel Qian. | |||
*/ | |||
@Data | |||
@AllArgsConstructor | |||
@NoArgsConstructor | |||
public class WxCpTag implements Serializable { | |||
private static final long serialVersionUID = -7243320279646928402L; | |||
private String id; | |||
private String name; | |||
public WxCpTag() { | |||
super(); | |||
} | |||
public WxCpTag(String id, String name) { | |||
super(); | |||
this.id = id; | |||
this.name = name; | |||
} | |||
public static WxCpTag fromJson(String json) { | |||
return WxCpGsonBuilder.create().fromJson(json, WxCpTag.class); | |||
} | |||
public String getName() { | |||
return this.name; | |||
} | |||
public void setName(String name) { | |||
this.name = name; | |||
} | |||
public String getId() { | |||
return this.id; | |||
} | |||
public void setId(String id) { | |||
this.id = id; | |||
} | |||
public String toJson() { | |||
return WxCpGsonBuilder.create().toJson(this); | |||
} | |||
@@ -2,21 +2,25 @@ package me.chanjar.weixin.cp.bean; | |||
import com.google.common.base.Splitter; | |||
import com.google.gson.annotations.SerializedName; | |||
import lombok.Data; | |||
import me.chanjar.weixin.common.util.ToStringUtils; | |||
import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; | |||
import org.apache.commons.lang3.StringUtils; | |||
import java.io.Serializable; | |||
import java.util.Collections; | |||
import java.util.List; | |||
/** | |||
* <pre> | |||
* 为标签添加或移除用户结果对象类 | |||
* 为标签添加或移除用户结果对象类. | |||
* Created by Binary Wang on 2017-6-22. | |||
* | |||
* @author <a href="https://github.com/binarywang">Binary Wang</a> | |||
* </pre> | |||
*/ | |||
public class WxCpTagAddOrRemoveUsersResult { | |||
@Data | |||
public class WxCpTagAddOrRemoveUsersResult implements Serializable { | |||
private static final long serialVersionUID = 1420065684270213578L; | |||
@Override | |||
public String toString() { | |||
return ToStringUtils.toSimpleString(this); | |||
@@ -38,44 +42,12 @@ public class WxCpTagAddOrRemoveUsersResult { | |||
@SerializedName("invalidparty") | |||
private String[] invalidParty; | |||
public Integer getErrCode() { | |||
return this.errCode; | |||
} | |||
public void setErrCode(Integer errCode) { | |||
this.errCode = errCode; | |||
} | |||
public String getErrMsg() { | |||
return this.errMsg; | |||
} | |||
public void setErrMsg(String errMsg) { | |||
this.errMsg = errMsg; | |||
} | |||
public String getInvalidUser() { | |||
return this.invalidUsers; | |||
} | |||
public void setInvalidUser(String invalidUser) { | |||
this.invalidUsers = invalidUser; | |||
} | |||
public String[] getInvalidParty() { | |||
return this.invalidParty; | |||
} | |||
public void setInvalidParty(String[] invalidParty) { | |||
this.invalidParty = invalidParty; | |||
} | |||
public List<String> getInvalidUserList() { | |||
return this.content2List(this.invalidUsers); | |||
} | |||
private List<String> content2List(String content) { | |||
if(StringUtils.isBlank(content)){ | |||
if (StringUtils.isBlank(content)) { | |||
return Collections.emptyList(); | |||
} | |||
@@ -1,5 +1,7 @@ | |||
package me.chanjar.weixin.cp.bean; | |||
import lombok.AllArgsConstructor; | |||
import lombok.Data; | |||
import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; | |||
import java.io.Serializable; | |||
@@ -7,12 +9,12 @@ import java.util.ArrayList; | |||
import java.util.List; | |||
/** | |||
* 微信用户信息 | |||
* 微信用户信息. | |||
* | |||
* @author Daniel Qian | |||
*/ | |||
@Data | |||
public class WxCpUser implements Serializable { | |||
public enum Gender { | |||
MALE("男", "1"), | |||
FEMAIL("女", "2"); | |||
@@ -62,159 +64,23 @@ public class WxCpUser implements Serializable { | |||
private String englishName; | |||
private String telephone; | |||
public static WxCpUser fromJson(String json) { | |||
return WxCpGsonBuilder.INSTANCE.create().fromJson(json, WxCpUser.class); | |||
} | |||
public String getUserId() { | |||
return this.userId; | |||
} | |||
public void setUserId(String userId) { | |||
this.userId = userId; | |||
} | |||
public String getName() { | |||
return this.name; | |||
} | |||
public void setName(String name) { | |||
this.name = name; | |||
} | |||
public Integer[] getDepartIds() { | |||
return this.departIds; | |||
} | |||
public void setDepartIds(Integer[] departIds) { | |||
this.departIds = departIds; | |||
} | |||
public Gender getGender() { | |||
return this.gender; | |||
} | |||
public void setGender(Gender gender) { | |||
this.gender = gender; | |||
} | |||
public String getPosition() { | |||
return this.position; | |||
} | |||
public void setPosition(String position) { | |||
this.position = position; | |||
} | |||
public String getMobile() { | |||
return this.mobile; | |||
} | |||
public void setMobile(String mobile) { | |||
this.mobile = mobile; | |||
} | |||
public String getTelephone() { | |||
return this.telephone; | |||
} | |||
public void setTelephone(String telephone) { | |||
this.telephone = telephone; | |||
} | |||
public String getEmail() { | |||
return this.email; | |||
} | |||
public void setEmail(String email) { | |||
this.email = email; | |||
} | |||
public String getAvatar() { | |||
return this.avatar; | |||
} | |||
public void setAvatar(String avatar) { | |||
this.avatar = avatar; | |||
} | |||
public Integer getStatus() { | |||
return this.status; | |||
} | |||
public void setStatus(Integer status) { | |||
this.status = status; | |||
} | |||
public Integer getEnable() { | |||
return this.enable; | |||
} | |||
public void setEnable(Integer enable) { | |||
this.enable = enable; | |||
} | |||
public void addExtAttr(String name, String value) { | |||
this.extAttrs.add(new Attr(name, value)); | |||
} | |||
public List<Attr> getExtAttrs() { | |||
return this.extAttrs; | |||
} | |||
public Integer getIsLeader() { | |||
return isLeader; | |||
} | |||
public void setIsLeader(Integer isLeader) { | |||
this.isLeader = isLeader; | |||
} | |||
public Integer getHideMobile() { | |||
return hideMobile; | |||
} | |||
public void setHideMobile(Integer hideMobile) { | |||
this.hideMobile = hideMobile; | |||
} | |||
public String getEnglishName() { | |||
return englishName; | |||
} | |||
public void setEnglishName(String englishName) { | |||
this.englishName = englishName; | |||
public static WxCpUser fromJson(String json) { | |||
return WxCpGsonBuilder.INSTANCE.create().fromJson(json, WxCpUser.class); | |||
} | |||
public String toJson() { | |||
return WxCpGsonBuilder.INSTANCE.create().toJson(this); | |||
} | |||
@Data | |||
@AllArgsConstructor | |||
public static class Attr { | |||
private String name; | |||
private String value; | |||
public Attr(String name, String value) { | |||
this.name = name; | |||
this.value = value; | |||
} | |||
public String getName() { | |||
return this.name; | |||
} | |||
public void setName(String name) { | |||
this.name = name; | |||
} | |||
public String getValue() { | |||
return this.value; | |||
} | |||
public void setValue(String value) { | |||
this.value = value; | |||
} | |||
} | |||
} |
@@ -2,6 +2,7 @@ package me.chanjar.weixin.cp.bean; | |||
import com.thoughtworks.xstream.annotations.XStreamAlias; | |||
import com.thoughtworks.xstream.annotations.XStreamConverter; | |||
import lombok.Data; | |||
import me.chanjar.weixin.common.api.WxConsts; | |||
import me.chanjar.weixin.common.util.ToStringUtils; | |||
import me.chanjar.weixin.common.util.xml.XStreamCDataConverter; | |||
@@ -28,6 +29,7 @@ import java.util.List; | |||
* @author Daniel Qian | |||
*/ | |||
@XStreamAlias("xml") | |||
@Data | |||
public class WxCpXmlMessage implements Serializable { | |||
private static final long serialVersionUID = -1042994982179476410L; | |||
@@ -130,28 +132,29 @@ public class WxCpXmlMessage implements Serializable { | |||
// 群发消息返回的结果 | |||
/////////////////////////////////////// | |||
/** | |||
* 群发的结果 | |||
* 群发的结果. | |||
*/ | |||
@XStreamAlias("Status") | |||
@XStreamConverter(value = XStreamCDataConverter.class) | |||
private String status; | |||
/** | |||
* group_id下粉丝数;或者openid_list中的粉丝数 | |||
* group_id下粉丝数;或者openid_list中的粉丝数. | |||
*/ | |||
@XStreamAlias("TotalCount") | |||
private Integer totalCount; | |||
/** | |||
* 过滤(过滤是指特定地区、性别的过滤、用户设置拒收的过滤,用户接收已超4条的过滤)后,准备发送的粉丝数,原则上,filterCount = sentCount + errorCount | |||
* 过滤. | |||
* (过滤是指特定地区、性别的过滤、用户设置拒收的过滤,用户接收已超4条的过滤)后,准备发送的粉丝数,原则上,filterCount = sentCount + errorCount | |||
*/ | |||
@XStreamAlias("FilterCount") | |||
private Integer filterCount; | |||
/** | |||
* 发送成功的粉丝数 | |||
* 发送成功的粉丝数. | |||
*/ | |||
@XStreamAlias("SentCount") | |||
private Integer sentCount; | |||
/** | |||
* 发送失败的粉丝数 | |||
* 发送失败的粉丝数. | |||
*/ | |||
@XStreamAlias("ErrorCount") | |||
private Integer errorCount; | |||
@@ -176,7 +179,7 @@ public class WxCpXmlMessage implements Serializable { | |||
} | |||
/** | |||
* 从加密字符串转换 | |||
* 从加密字符串转换. | |||
*/ | |||
public static WxCpXmlMessage fromEncryptedXml( | |||
String encryptedXml, | |||
@@ -198,30 +201,6 @@ public class WxCpXmlMessage implements Serializable { | |||
} | |||
} | |||
public Integer getAgentId() { | |||
return this.agentId; | |||
} | |||
public void setAgentId(Integer agentId) { | |||
this.agentId = agentId; | |||
} | |||
public String getToUserName() { | |||
return this.toUserName; | |||
} | |||
public void setToUserName(String toUserName) { | |||
this.toUserName = toUserName; | |||
} | |||
public Long getCreateTime() { | |||
return this.createTime; | |||
} | |||
public void setCreateTime(Long createTime) { | |||
this.createTime = createTime; | |||
} | |||
/** | |||
* <pre> | |||
* 当接受用户消息时,可能会获得以下值: | |||
@@ -247,322 +226,54 @@ public class WxCpXmlMessage implements Serializable { | |||
* {@link WxConsts.XmlMsgType#VIDEO} | |||
* {@link WxConsts.XmlMsgType#NEWS} | |||
* </pre> | |||
* | |||
* @param msgType | |||
*/ | |||
public void setMsgType(String msgType) { | |||
this.msgType = msgType; | |||
} | |||
public String getContent() { | |||
return this.content; | |||
} | |||
public void setContent(String content) { | |||
this.content = content; | |||
} | |||
public Long getMsgId() { | |||
return this.msgId; | |||
} | |||
public void setMsgId(Long msgId) { | |||
this.msgId = msgId; | |||
} | |||
public String getPicUrl() { | |||
return this.picUrl; | |||
} | |||
public void setPicUrl(String picUrl) { | |||
this.picUrl = picUrl; | |||
} | |||
public String getMediaId() { | |||
return this.mediaId; | |||
} | |||
public void setMediaId(String mediaId) { | |||
this.mediaId = mediaId; | |||
} | |||
public String getFormat() { | |||
return this.format; | |||
} | |||
public void setFormat(String format) { | |||
this.format = format; | |||
} | |||
public String getThumbMediaId() { | |||
return this.thumbMediaId; | |||
} | |||
public void setThumbMediaId(String thumbMediaId) { | |||
this.thumbMediaId = thumbMediaId; | |||
} | |||
public Double getLocationX() { | |||
return this.locationX; | |||
} | |||
public void setLocationX(Double locationX) { | |||
this.locationX = locationX; | |||
} | |||
public Double getLocationY() { | |||
return this.locationY; | |||
} | |||
public void setLocationY(Double locationY) { | |||
this.locationY = locationY; | |||
} | |||
public Double getScale() { | |||
return this.scale; | |||
} | |||
public void setScale(Double scale) { | |||
this.scale = scale; | |||
} | |||
public String getLabel() { | |||
return this.label; | |||
} | |||
public void setLabel(String label) { | |||
this.label = label; | |||
} | |||
public String getTitle() { | |||
return this.title; | |||
} | |||
public void setTitle(String title) { | |||
this.title = title; | |||
} | |||
public String getDescription() { | |||
return this.description; | |||
} | |||
public void setDescription(String description) { | |||
this.description = description; | |||
} | |||
public String getUrl() { | |||
return this.url; | |||
} | |||
public void setUrl(String url) { | |||
this.url = url; | |||
} | |||
public String getEvent() { | |||
return this.event; | |||
} | |||
public void setEvent(String event) { | |||
this.event = event; | |||
} | |||
public String getEventKey() { | |||
return this.eventKey; | |||
} | |||
public void setEventKey(String eventKey) { | |||
this.eventKey = eventKey; | |||
} | |||
public String getTicket() { | |||
return this.ticket; | |||
} | |||
public void setTicket(String ticket) { | |||
this.ticket = ticket; | |||
} | |||
public Double getLatitude() { | |||
return this.latitude; | |||
} | |||
public void setLatitude(Double latitude) { | |||
this.latitude = latitude; | |||
} | |||
public Double getLongitude() { | |||
return this.longitude; | |||
} | |||
public void setLongitude(Double longitude) { | |||
this.longitude = longitude; | |||
} | |||
public Double getPrecision() { | |||
return this.precision; | |||
} | |||
public void setPrecision(Double precision) { | |||
this.precision = precision; | |||
} | |||
public String getRecognition() { | |||
return this.recognition; | |||
} | |||
public void setRecognition(String recognition) { | |||
this.recognition = recognition; | |||
} | |||
public String getFromUserName() { | |||
return this.fromUserName; | |||
} | |||
public void setFromUserName(String fromUserName) { | |||
this.fromUserName = fromUserName; | |||
} | |||
public String getStatus() { | |||
return this.status; | |||
} | |||
public void setStatus(String status) { | |||
this.status = status; | |||
} | |||
public Integer getTotalCount() { | |||
return this.totalCount; | |||
} | |||
public void setTotalCount(Integer totalCount) { | |||
this.totalCount = totalCount; | |||
} | |||
public Integer getFilterCount() { | |||
return this.filterCount; | |||
} | |||
public void setFilterCount(Integer filterCount) { | |||
this.filterCount = filterCount; | |||
} | |||
public Integer getSentCount() { | |||
return this.sentCount; | |||
} | |||
public void setSentCount(Integer sentCount) { | |||
this.sentCount = sentCount; | |||
} | |||
public Integer getErrorCount() { | |||
return this.errorCount; | |||
} | |||
public void setErrorCount(Integer errorCount) { | |||
this.errorCount = errorCount; | |||
} | |||
public WxCpXmlMessage.ScanCodeInfo getScanCodeInfo() { | |||
return this.scanCodeInfo; | |||
} | |||
public void setScanCodeInfo(WxCpXmlMessage.ScanCodeInfo scanCodeInfo) { | |||
this.scanCodeInfo = scanCodeInfo; | |||
} | |||
public WxCpXmlMessage.SendPicsInfo getSendPicsInfo() { | |||
return this.sendPicsInfo; | |||
} | |||
public void setSendPicsInfo(WxCpXmlMessage.SendPicsInfo sendPicsInfo) { | |||
this.sendPicsInfo = sendPicsInfo; | |||
} | |||
public WxCpXmlMessage.SendLocationInfo getSendLocationInfo() { | |||
return this.sendLocationInfo; | |||
} | |||
public void setSendLocationInfo(WxCpXmlMessage.SendLocationInfo sendLocationInfo) { | |||
this.sendLocationInfo = sendLocationInfo; | |||
} | |||
@Override | |||
public String toString() { | |||
return ToStringUtils.toSimpleString(this); | |||
} | |||
@Data | |||
@XStreamAlias("ScanCodeInfo") | |||
public static class ScanCodeInfo { | |||
/** | |||
* 扫描类型,一般是qrcode. | |||
*/ | |||
@XStreamAlias("ScanType") | |||
@XStreamConverter(value = XStreamCDataConverter.class) | |||
private String scanType; | |||
/** | |||
* 扫描结果,即二维码对应的字符串信息. | |||
*/ | |||
@XStreamAlias("ScanResult") | |||
@XStreamConverter(value = XStreamCDataConverter.class) | |||
private String scanResult; | |||
/** | |||
* 扫描类型,一般是qrcode | |||
*/ | |||
public String getScanType() { | |||
return this.scanType; | |||
} | |||
public void setScanType(String scanType) { | |||
this.scanType = scanType; | |||
} | |||
/** | |||
* 扫描结果,即二维码对应的字符串信息 | |||
*/ | |||
public String getScanResult() { | |||
return this.scanResult; | |||
} | |||
public void setScanResult(String scanResult) { | |||
this.scanResult = scanResult; | |||
} | |||
} | |||
@Data | |||
@XStreamAlias("SendPicsInfo") | |||
public static class SendPicsInfo { | |||
@XStreamAlias("PicList") | |||
protected final List<Item> picList = new ArrayList<>(); | |||
@XStreamAlias("Count") | |||
private Long count; | |||
public Long getCount() { | |||
return this.count; | |||
} | |||
public void setCount(Long count) { | |||
this.count = count; | |||
} | |||
public List<Item> getPicList() { | |||
return this.picList; | |||
} | |||
@XStreamAlias("item") | |||
@Data | |||
public static class Item { | |||
@XStreamAlias("PicMd5Sum") | |||
@XStreamConverter(value = XStreamCDataConverter.class) | |||
private String PicMd5Sum; | |||
public String getPicMd5Sum() { | |||
return this.PicMd5Sum; | |||
} | |||
public void setPicMd5Sum(String picMd5Sum) { | |||
this.PicMd5Sum = picMd5Sum; | |||
} | |||
private String picMd5Sum; | |||
} | |||
} | |||
@Data | |||
@XStreamAlias("SendLocationInfo") | |||
public static class SendLocationInfo { | |||
@@ -584,47 +295,8 @@ public class WxCpXmlMessage implements Serializable { | |||
@XStreamAlias("Poiname") | |||
@XStreamConverter(value = XStreamCDataConverter.class) | |||
private String poiname; | |||
public String getLocationX() { | |||
return this.locationX; | |||
} | |||
public void setLocationX(String locationX) { | |||
this.locationX = locationX; | |||
} | |||
private String poiName; | |||
public String getLocationY() { | |||
return this.locationY; | |||
} | |||
public void setLocationY(String locationY) { | |||
this.locationY = locationY; | |||
} | |||
public String getScale() { | |||
return this.scale; | |||
} | |||
public void setScale(String scale) { | |||
this.scale = scale; | |||
} | |||
public String getLabel() { | |||
return this.label; | |||
} | |||
public void setLabel(String label) { | |||
this.label = label; | |||
} | |||
public String getPoiname() { | |||
return this.poiname; | |||
} | |||
public void setPoiname(String poiname) { | |||
this.poiname = poiname; | |||
} | |||
} | |||
} |
@@ -2,10 +2,12 @@ package me.chanjar.weixin.cp.bean; | |||
import com.thoughtworks.xstream.annotations.XStreamAlias; | |||
import com.thoughtworks.xstream.annotations.XStreamConverter; | |||
import lombok.Data; | |||
import me.chanjar.weixin.common.api.WxConsts; | |||
import me.chanjar.weixin.common.util.xml.XStreamMediaIdConverter; | |||
@XStreamAlias("xml") | |||
@Data | |||
public class WxCpXmlOutImageMessage extends WxCpXmlOutMessage { | |||
private static final long serialVersionUID = -1099446240667237313L; | |||
@@ -17,12 +19,4 @@ public class WxCpXmlOutImageMessage extends WxCpXmlOutMessage { | |||
this.msgType = WxConsts.XmlMsgType.IMAGE; | |||
} | |||
public String getMediaId() { | |||
return this.mediaId; | |||
} | |||
public void setMediaId(String mediaId) { | |||
this.mediaId = mediaId; | |||
} | |||
} |
@@ -2,6 +2,7 @@ package me.chanjar.weixin.cp.bean; | |||
import com.thoughtworks.xstream.annotations.XStreamAlias; | |||
import com.thoughtworks.xstream.annotations.XStreamConverter; | |||
import lombok.Data; | |||
import me.chanjar.weixin.common.util.xml.XStreamCDataConverter; | |||
import me.chanjar.weixin.cp.config.WxCpConfigStorage; | |||
import me.chanjar.weixin.cp.bean.outxmlbuilder.*; | |||
@@ -11,8 +12,8 @@ import me.chanjar.weixin.cp.util.xml.XStreamTransformer; | |||
import java.io.Serializable; | |||
@XStreamAlias("xml") | |||
@Data | |||
public abstract class WxCpXmlOutMessage implements Serializable { | |||
private static final long serialVersionUID = 1418629839964153110L; | |||
@XStreamAlias("ToUserName") | |||
@@ -31,78 +32,46 @@ public abstract class WxCpXmlOutMessage implements Serializable { | |||
protected String msgType; | |||
/** | |||
* 获得文本消息builder | |||
* 获得文本消息builder. | |||
*/ | |||
public static TextBuilder TEXT() { | |||
return new TextBuilder(); | |||
} | |||
/** | |||
* 获得图片消息builder | |||
* 获得图片消息builder. | |||
*/ | |||
public static ImageBuilder IMAGE() { | |||
return new ImageBuilder(); | |||
} | |||
/** | |||
* 获得语音消息builder | |||
* 获得语音消息builder. | |||
*/ | |||
public static VoiceBuilder VOICE() { | |||
return new VoiceBuilder(); | |||
} | |||
/** | |||
* 获得视频消息builder | |||
* 获得视频消息builder. | |||
*/ | |||
public static VideoBuilder VIDEO() { | |||
return new VideoBuilder(); | |||
} | |||
/** | |||
* 获得图文消息builder | |||
* 获得图文消息builder. | |||
*/ | |||
public static NewsBuilder NEWS() { | |||
return new NewsBuilder(); | |||
} | |||
public String getToUserName() { | |||
return this.toUserName; | |||
} | |||
public void setToUserName(String toUserName) { | |||
this.toUserName = toUserName; | |||
} | |||
public String getFromUserName() { | |||
return this.fromUserName; | |||
} | |||
public void setFromUserName(String fromUserName) { | |||
this.fromUserName = fromUserName; | |||
} | |||
public Long getCreateTime() { | |||
return this.createTime; | |||
} | |||
public void setCreateTime(Long createTime) { | |||
this.createTime = createTime; | |||
} | |||
public String getMsgType() { | |||
return this.msgType; | |||
} | |||
public void setMsgType(String msgType) { | |||
this.msgType = msgType; | |||
} | |||
protected String toXml() { | |||
return XStreamTransformer.toXml((Class) this.getClass(), this); | |||
} | |||
/** | |||
* 转换成加密的xml格式 | |||
* 转换成加密的xml格式. | |||
*/ | |||
public String toEncryptedXml(WxCpConfigStorage wxCpConfigStorage) { | |||
String plainXml = toXml(); | |||
@@ -2,6 +2,7 @@ package me.chanjar.weixin.cp.bean; | |||
import com.thoughtworks.xstream.annotations.XStreamAlias; | |||
import com.thoughtworks.xstream.annotations.XStreamConverter; | |||
import lombok.Data; | |||
import me.chanjar.weixin.common.api.WxConsts; | |||
import me.chanjar.weixin.common.util.xml.XStreamCDataConverter; | |||
@@ -9,11 +10,13 @@ import java.util.ArrayList; | |||
import java.util.List; | |||
@XStreamAlias("xml") | |||
@Data | |||
public class WxCpXmlOutNewsMessage extends WxCpXmlOutMessage { | |||
private static final long serialVersionUID = -5796178637883178826L; | |||
@XStreamAlias("Articles") | |||
protected final List<Item> articles = new ArrayList<>(); | |||
@XStreamAlias("ArticleCount") | |||
protected int articleCount; | |||
@@ -21,72 +24,32 @@ public class WxCpXmlOutNewsMessage extends WxCpXmlOutMessage { | |||
this.msgType = WxConsts.XmlMsgType.NEWS; | |||
} | |||
public int getArticleCount() { | |||
return this.articleCount; | |||
} | |||
public void addArticle(Item item) { | |||
this.articles.add(item); | |||
this.articleCount = this.articles.size(); | |||
} | |||
public List<Item> getArticles() { | |||
return this.articles; | |||
} | |||
@XStreamAlias("item") | |||
@Data | |||
public static class Item { | |||
@XStreamAlias("Title") | |||
@XStreamConverter(value = XStreamCDataConverter.class) | |||
private String Title; | |||
private String title; | |||
@XStreamAlias("Description") | |||
@XStreamConverter(value = XStreamCDataConverter.class) | |||
private String Description; | |||
private String description; | |||
@XStreamAlias("PicUrl") | |||
@XStreamConverter(value = XStreamCDataConverter.class) | |||
private String PicUrl; | |||
private String picUrl; | |||
@XStreamAlias("Url") | |||
@XStreamConverter(value = XStreamCDataConverter.class) | |||
private String Url; | |||
public String getTitle() { | |||
return this.Title; | |||
} | |||
public void setTitle(String title) { | |||
this.Title = title; | |||
} | |||
public String getDescription() { | |||
return this.Description; | |||
} | |||
public void setDescription(String description) { | |||
this.Description = description; | |||
} | |||
public String getPicUrl() { | |||
return this.PicUrl; | |||
} | |||
public void setPicUrl(String picUrl) { | |||
this.PicUrl = picUrl; | |||
} | |||
public String getUrl() { | |||
return this.Url; | |||
} | |||
public void setUrl(String url) { | |||
this.Url = url; | |||
} | |||
private String url; | |||
} | |||
} |
@@ -2,10 +2,12 @@ package me.chanjar.weixin.cp.bean; | |||
import com.thoughtworks.xstream.annotations.XStreamAlias; | |||
import com.thoughtworks.xstream.annotations.XStreamConverter; | |||
import lombok.Data; | |||
import me.chanjar.weixin.common.api.WxConsts; | |||
import me.chanjar.weixin.common.util.xml.XStreamCDataConverter; | |||
@XStreamAlias("xml") | |||
@Data | |||
public class WxCpXmlOutTextMessage extends WxCpXmlOutMessage { | |||
private static final long serialVersionUID = 2569239617185930232L; | |||
@@ -17,13 +19,4 @@ public class WxCpXmlOutTextMessage extends WxCpXmlOutMessage { | |||
this.msgType = WxConsts.XmlMsgType.TEXT; | |||
} | |||
public String getContent() { | |||
return this.content; | |||
} | |||
public void setContent(String content) { | |||
this.content = content; | |||
} | |||
} |
@@ -2,10 +2,12 @@ package me.chanjar.weixin.cp.bean; | |||
import com.thoughtworks.xstream.annotations.XStreamAlias; | |||
import com.thoughtworks.xstream.annotations.XStreamConverter; | |||
import lombok.Data; | |||
import me.chanjar.weixin.common.api.WxConsts; | |||
import me.chanjar.weixin.common.util.xml.XStreamCDataConverter; | |||
@XStreamAlias("xml") | |||
@Data | |||
public class WxCpXmlOutVideoMessage extends WxCpXmlOutMessage { | |||
private static final long serialVersionUID = -8672761162722733622L; | |||
@@ -40,7 +42,7 @@ public class WxCpXmlOutVideoMessage extends WxCpXmlOutMessage { | |||
this.video.setDescription(description); | |||
} | |||
@Data | |||
@XStreamAlias("Video") | |||
public static class Video { | |||
@@ -56,30 +58,6 @@ public class WxCpXmlOutVideoMessage extends WxCpXmlOutMessage { | |||
@XStreamConverter(value = XStreamCDataConverter.class) | |||
private String description; | |||
public String getMediaId() { | |||
return this.mediaId; | |||
} | |||
public void setMediaId(String mediaId) { | |||
this.mediaId = mediaId; | |||
} | |||
public String getTitle() { | |||
return this.title; | |||
} | |||
public void setTitle(String title) { | |||
this.title = title; | |||
} | |||
public String getDescription() { | |||
return this.description; | |||
} | |||
public void setDescription(String description) { | |||
this.description = description; | |||
} | |||
} | |||
} |
@@ -2,10 +2,12 @@ package me.chanjar.weixin.cp.bean; | |||
import com.thoughtworks.xstream.annotations.XStreamAlias; | |||
import com.thoughtworks.xstream.annotations.XStreamConverter; | |||
import lombok.Data; | |||
import me.chanjar.weixin.common.api.WxConsts; | |||
import me.chanjar.weixin.common.util.xml.XStreamMediaIdConverter; | |||
@XStreamAlias("xml") | |||
@Data | |||
public class WxCpXmlOutVoiceMessage extends WxCpXmlOutMessage { | |||
private static final long serialVersionUID = -7947384031546099340L; | |||
@@ -17,12 +19,4 @@ public class WxCpXmlOutVoiceMessage extends WxCpXmlOutMessage { | |||
this.msgType = WxConsts.XmlMsgType.VOICE; | |||
} | |||
public String getMediaId() { | |||
return this.mediaId; | |||
} | |||
public void setMediaId(String mediaId) { | |||
this.mediaId = mediaId; | |||
} | |||
} |
@@ -1,5 +1,8 @@ | |||
package me.chanjar.weixin.cp.bean.article; | |||
import lombok.Builder; | |||
import lombok.Data; | |||
import java.io.Serializable; | |||
/** | |||
@@ -9,6 +12,8 @@ import java.io.Serializable; | |||
* | |||
* @author Binary Wang | |||
*/ | |||
@Data | |||
@Builder(builderMethodName = "newBuilder") | |||
public class MpnewsArticle implements Serializable { | |||
private static final long serialVersionUID = 6985871812170756481L; | |||
@@ -20,125 +25,4 @@ public class MpnewsArticle implements Serializable { | |||
private String digest; | |||
private String showCoverPic; | |||
private MpnewsArticle(Builder builder) { | |||
setTitle(builder.title); | |||
setThumbMediaId(builder.thumbMediaId); | |||
setAuthor(builder.author); | |||
setContentSourceUrl(builder.contentSourceUrl); | |||
setContent(builder.content); | |||
setDigest(builder.digest); | |||
setShowCoverPic(builder.showCoverPic); | |||
} | |||
public static Builder newBuilder() { | |||
return new Builder(); | |||
} | |||
public String getTitle() { | |||
return title; | |||
} | |||
public void setTitle(String title) { | |||
this.title = title; | |||
} | |||
public String getThumbMediaId() { | |||
return thumbMediaId; | |||
} | |||
public void setThumbMediaId(String thumbMediaId) { | |||
this.thumbMediaId = thumbMediaId; | |||
} | |||
public String getAuthor() { | |||
return author; | |||
} | |||
public void setAuthor(String author) { | |||
this.author = author; | |||
} | |||
public String getContentSourceUrl() { | |||
return contentSourceUrl; | |||
} | |||
public void setContentSourceUrl(String contentSourceUrl) { | |||
this.contentSourceUrl = contentSourceUrl; | |||
} | |||
public String getContent() { | |||
return content; | |||
} | |||
public void setContent(String content) { | |||
this.content = content; | |||
} | |||
public String getDigest() { | |||
return digest; | |||
} | |||
public void setDigest(String digest) { | |||
this.digest = digest; | |||
} | |||
public String getShowCoverPic() { | |||
return showCoverPic; | |||
} | |||
public void setShowCoverPic(String showCoverPic) { | |||
this.showCoverPic = showCoverPic; | |||
} | |||
public static final class Builder { | |||
private String title; | |||
private String thumbMediaId; | |||
private String author; | |||
private String contentSourceUrl; | |||
private String content; | |||
private String digest; | |||
private String showCoverPic; | |||
private Builder() { | |||
} | |||
public Builder title(String title) { | |||
this.title = title; | |||
return this; | |||
} | |||
public Builder thumbMediaId(String thumbMediaId) { | |||
this.thumbMediaId = thumbMediaId; | |||
return this; | |||
} | |||
public Builder author(String author) { | |||
this.author = author; | |||
return this; | |||
} | |||
public Builder contentSourceUrl(String contentSourceUrl) { | |||
this.contentSourceUrl = contentSourceUrl; | |||
return this; | |||
} | |||
public Builder content(String content) { | |||
this.content = content; | |||
return this; | |||
} | |||
public Builder digest(String digest) { | |||
this.digest = digest; | |||
return this; | |||
} | |||
public Builder showCoverPic(String showCoverPic) { | |||
this.showCoverPic = showCoverPic; | |||
return this; | |||
} | |||
public MpnewsArticle build() { | |||
return new MpnewsArticle(this); | |||
} | |||
} | |||
} |
@@ -1,5 +1,7 @@ | |||
package me.chanjar.weixin.cp.bean.article; | |||
import lombok.Data; | |||
import java.io.Serializable; | |||
/** | |||
@@ -9,6 +11,7 @@ import java.io.Serializable; | |||
* | |||
* @author Binary Wang | |||
*/ | |||
@Data | |||
public class NewArticle implements Serializable { | |||
private static final long serialVersionUID = 4087852055781140659L; | |||
@@ -17,36 +20,4 @@ public class NewArticle implements Serializable { | |||
private String url; | |||
private String picUrl; | |||
public String getTitle() { | |||
return this.title; | |||
} | |||
public void setTitle(String title) { | |||
this.title = title; | |||
} | |||
public String getDescription() { | |||
return this.description; | |||
} | |||
public void setDescription(String description) { | |||
this.description = description; | |||
} | |||
public String getUrl() { | |||
return this.url; | |||
} | |||
public void setUrl(String url) { | |||
this.url = url; | |||
} | |||
public String getPicUrl() { | |||
return this.picUrl; | |||
} | |||
public void setPicUrl(String picUrl) { | |||
this.picUrl = picUrl; | |||
} | |||
} |
@@ -86,7 +86,7 @@ public class WxCpXmlMessageTest { | |||
assertEquals(wxMessage.getSendLocationInfo().getLocationY(), "113"); | |||
assertEquals(wxMessage.getSendLocationInfo().getScale(), "15"); | |||
assertEquals(wxMessage.getSendLocationInfo().getLabel(), " 广州市海珠区客村艺苑路 106号"); | |||
assertEquals(wxMessage.getSendLocationInfo().getPoiname(), "wo de poi"); | |||
assertEquals(wxMessage.getSendLocationInfo().getPoiName(), "wo de poi"); | |||
} | |||
public void testSendPicsInfo() { | |||