Parcourir la source

issue #9 提供xml消息的Builder

master
Daniel Qian il y a 10 ans
Parent
révision
7cfbc05acd
3 fichiers modifiés avec 98 ajouts et 0 suppressions
  1. +33
    -0
      src/main/java/chanjarster/weixin/bean/outxmlbuilder/BaseBuilder.java
  2. +33
    -0
      src/main/java/chanjarster/weixin/bean/outxmlbuilder/ImageBuilder.java
  3. +32
    -0
      src/main/java/chanjarster/weixin/bean/outxmlbuilder/TextBuilder.java

+ 33
- 0
src/main/java/chanjarster/weixin/bean/outxmlbuilder/BaseBuilder.java Voir le fichier

@@ -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);
}
}

+ 33
- 0
src/main/java/chanjarster/weixin/bean/outxmlbuilder/ImageBuilder.java Voir le fichier

@@ -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;
}
}

+ 32
- 0
src/main/java/chanjarster/weixin/bean/outxmlbuilder/TextBuilder.java Voir le fichier

@@ -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;
}
}

Chargement…
Annuler
Enregistrer