@@ -0,0 +1,33 @@ | |||||
package chanjarster.weixin.bean.outxmlbuilder; | |||||
import chanjarster.weixin.bean.WxXmlOutMessage; | |||||
public abstract class BaseBuilder<BuilderType, ValueType> { | |||||
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); | |||||
} | |||||
} |
@@ -0,0 +1,33 @@ | |||||
package chanjarster.weixin.bean.outxmlbuilder; | |||||
import chanjarster.weixin.api.WxConsts; | |||||
import chanjarster.weixin.bean.WxXmlOutImageMessage; | |||||
/** | |||||
* 获得消息builder | |||||
* <pre> | |||||
* 用法: WxXmlMessage m = WxXmlMessage.IMAGE().media_id(...).touser(...).build(); | |||||
* </pre> | |||||
* @author chanjarster | |||||
* | |||||
*/ | |||||
public final class ImageBuilder extends BaseBuilder<ImageBuilder, WxXmlOutImageMessage> { | |||||
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; | |||||
} | |||||
} |
@@ -0,0 +1,32 @@ | |||||
package chanjarster.weixin.bean.outxmlbuilder; | |||||
import chanjarster.weixin.api.WxConsts; | |||||
import chanjarster.weixin.bean.WxXmlOutTextMessage; | |||||
/** | |||||
* 文本消息builder | |||||
* <pre> | |||||
* 用法: WxXmlMessage m = WxXmlMessage.TEXT().touser(...).fromUser(...).content(...).build(); | |||||
* </pre> | |||||
* @author chanjarster | |||||
* | |||||
*/ | |||||
public final class TextBuilder extends BaseBuilder<TextBuilder, WxXmlOutTextMessage> { | |||||
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; | |||||
} | |||||
} |