diff --git a/src/main/java/chanjarster/weixin/bean/outxmlbuilder/BaseBuilder.java b/src/main/java/chanjarster/weixin/bean/outxmlbuilder/BaseBuilder.java new file mode 100644 index 00000000..195976d7 --- /dev/null +++ b/src/main/java/chanjarster/weixin/bean/outxmlbuilder/BaseBuilder.java @@ -0,0 +1,33 @@ +package chanjarster.weixin.bean.outxmlbuilder; + +import chanjarster.weixin.bean.WxXmlOutMessage; + + +public abstract class BaseBuilder { + + protected String toUserName; + + protected String fromUserName; + + protected String msgtype; + + public BuilderType touser(String touser) { + this.toUserName = touser; + return (BuilderType) this; + } + + public BuilderType fromUser(String fromusername) { + this.fromUserName = fromusername; + return (BuilderType) this; + } + + public abstract ValueType build(); + + public void setCommon(WxXmlOutMessage m) { + m.setToUserName(this.toUserName); + m.setFromUserName(this.fromUserName); + m.setMsgType(this.msgtype); + m.setCreateTime(System.currentTimeMillis() / 1000l); + } + +} diff --git a/src/main/java/chanjarster/weixin/bean/outxmlbuilder/ImageBuilder.java b/src/main/java/chanjarster/weixin/bean/outxmlbuilder/ImageBuilder.java new file mode 100644 index 00000000..6c9d744d --- /dev/null +++ b/src/main/java/chanjarster/weixin/bean/outxmlbuilder/ImageBuilder.java @@ -0,0 +1,33 @@ +package chanjarster.weixin.bean.outxmlbuilder; + +import chanjarster.weixin.api.WxConsts; +import chanjarster.weixin.bean.WxXmlOutImageMessage; + +/** + * 获得消息builder + *
+ * 用法: WxXmlMessage m = WxXmlMessage.IMAGE().media_id(...).touser(...).build();
+ * 
+ * @author chanjarster + * + */ +public final class ImageBuilder extends BaseBuilder { + private String media_id; + + public ImageBuilder() { + this.msgtype = WxConsts.XML_MSG_IMAGE; + } + + public ImageBuilder media_id(String media_id) { + this.media_id = media_id; + return this; + } + + public WxXmlOutImageMessage build() { + WxXmlOutImageMessage m = new WxXmlOutImageMessage(); + setCommon(m); + m.setMediaId(this.media_id); + return m; + } + +} diff --git a/src/main/java/chanjarster/weixin/bean/outxmlbuilder/TextBuilder.java b/src/main/java/chanjarster/weixin/bean/outxmlbuilder/TextBuilder.java new file mode 100644 index 00000000..d4f19483 --- /dev/null +++ b/src/main/java/chanjarster/weixin/bean/outxmlbuilder/TextBuilder.java @@ -0,0 +1,32 @@ +package chanjarster.weixin.bean.outxmlbuilder; + +import chanjarster.weixin.api.WxConsts; +import chanjarster.weixin.bean.WxXmlOutTextMessage; + +/** + * 文本消息builder + *
+ * 用法: WxXmlMessage m = WxXmlMessage.TEXT().touser(...).fromUser(...).content(...).build();
+ * 
+ * @author chanjarster + * + */ +public final class TextBuilder extends BaseBuilder { + private String content; + + public TextBuilder() { + this.msgtype = WxConsts.XML_MSG_TEXT; + } + + public TextBuilder content(String content) { + this.content = content; + return this; + } + + public WxXmlOutTextMessage build() { + WxXmlOutTextMessage m = new WxXmlOutTextMessage(); + setCommon(m); + m.setContent(this.content); + return m; + } +}