:art: 【企业微信】添加AttachmentBuilder,可以更方便的创建新客户欢迎语的附件信息 · yepingping/WxJava@6e96d7c · GitHub
Skip to content

Commit 6e96d7c

Browse files
authored
🎨 【企业微信】添加AttachmentBuilder,可以更方便的创建新客户欢迎语的附件信息
1 parent 722c2cf commit 6e96d7c

9 files changed

Lines changed: 95 additions & 6 deletions

File tree

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/msg/Attachment.java

Lines changed: 10 additions & 5 deletions
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package me.chanjar.weixin.cp.bean.external.msg;
2+
3+
import lombok.Builder;
4+
5+
/**
6+
* @author codecrab
7+
*/
8+
public class AttachmentBuilder {
9+
10+
@Builder(builderClassName = "ImageBuilder", builderMethodName = "imageBuilder")
11+
private static Attachment image(String mediaId, String picUrl) {
12+
Image image = new Image().setMediaId(mediaId).setPicUrl(picUrl);
13+
return new Attachment().setImage(image);
14+
}
15+
16+
@Builder(builderClassName = "VideoBuilder", builderMethodName = "videoBuilder")
17+
private static Attachment video(String mediaId) {
18+
Video video = new Video().setMediaId(mediaId);
19+
return new Attachment().setVideo(video);
20+
}
21+
22+
@Builder(builderClassName = "FileBuilder", builderMethodName = "fileBuilder")
23+
private static Attachment file(String mediaId) {
24+
File file = new File().setMediaId(mediaId);
25+
return new Attachment().setFile(file);
26+
}
27+
28+
@Builder(builderClassName = "LinkBuilder", builderMethodName = "linkBuilder")
29+
private static Attachment link(String title, String url, String picUrl, String desc) {
30+
Link link = new Link().setTitle(title).setPicUrl(picUrl).setUrl(url).setDesc(desc);
31+
return new Attachment().setLink(link);
32+
}
33+
34+
@Builder(builderClassName = "MiniProgramBuilder", builderMethodName = "miniProgramBuilder")
35+
private static Attachment miniProgram(String title, String picMediaId, String appId, String page) {
36+
MiniProgram miniProgram = new MiniProgram().setTitle(title).setPicMediaId(picMediaId).setAppid(appId).setPage(page);
37+
return new Attachment().setMiniProgram(miniProgram);
38+
}
39+
40+
}

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/msg/File.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.google.gson.annotations.SerializedName;
44
import lombok.Data;
5+
import lombok.experimental.Accessors;
56

67
import java.io.Serializable;
78

@@ -11,6 +12,7 @@
1112
* @author <a href="https://github.com/binarywang">Binary Wang</a> created on 2021-08-23
1213
*/
1314
@Data
15+
@Accessors(chain = true)
1416
public class File implements Serializable {
1517
private static final long serialVersionUID = 2794189478198329090L;
1618

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/msg/Image.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.google.gson.annotations.SerializedName;
44
import lombok.Data;
5+
import lombok.experimental.Accessors;
56

67
import java.io.Serializable;
78

@@ -11,6 +12,7 @@
1112
* @author <a href="https://github.com/binarywang">Binary Wang</a> created on 2020-08-16
1213
*/
1314
@Data
15+
@Accessors(chain = true)
1416
public class Image implements Serializable {
1517
private static final long serialVersionUID = -606286372867787121L;
1618

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/msg/Link.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.google.gson.annotations.SerializedName;
44
import lombok.Data;
5+
import lombok.experimental.Accessors;
56

67
import java.io.Serializable;
78

@@ -11,6 +12,7 @@
1112
* @author <a href="https://github.com/binarywang">Binary Wang</a> created on 2020-08-16
1213
*/
1314
@Data
15+
@Accessors(chain = true)
1416
public class Link implements Serializable {
1517
private static final long serialVersionUID = -8041816740881163875L;
1618
private String title;

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/msg/Location.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package me.chanjar.weixin.cp.bean.external.msg;
22

33
import lombok.Data;
4+
import lombok.experimental.Accessors;
45

56
/**
67
* 地理位置
78
*
89
* @author leiin created on 2021-10-29
910
*/
1011
@Data
12+
@Accessors(chain = true)
1113
public class Location {
1214
private String latitude;
1315
private String longitude;

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/msg/MiniProgram.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.google.gson.annotations.SerializedName;
44
import lombok.Data;
5+
import lombok.experimental.Accessors;
56

67
import java.io.Serializable;
78

@@ -11,6 +12,7 @@
1112
* @author <a href="https://github.com/binarywang">Binary Wang</a> created on 2020-08-16
1213
*/
1314
@Data
15+
@Accessors(chain = true)
1416
public class MiniProgram implements Serializable {
1517
private static final long serialVersionUID = 4242074162638170679L;
1618

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/msg/Video.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.google.gson.annotations.SerializedName;
44
import lombok.Data;
5+
import lombok.experimental.Accessors;
56

67
import java.io.Serializable;
78

@@ -11,6 +12,7 @@
1112
* @author pg created on 2021-6-21
1213
*/
1314
@Data
15+
@Accessors(chain = true)
1416
public class Video implements Serializable {
1517
private static final long serialVersionUID = -6048642921382867138L;
1618
@SerializedName("media_id")

weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImplTest.java

Lines changed: 33 additions & 1 deletion

0 commit comments

Comments
 (0)