From fa4ad30c86fea9558886116221195369b9c0abad Mon Sep 17 00:00:00 2001 From: zhanglexiang Date: Wed, 10 May 2023 14:28:07 +0800 Subject: [PATCH 1/2] =?UTF-8?q?add=20DocumentParameter=E3=80=81ImageParame?= =?UTF-8?q?ter=E3=80=81VideoParameter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/messages/DocumentParameter.java | 46 +++++++++++++++++++ .../api/domain/messages/ImageParameter.java | 39 ++++++++++++++++ .../api/domain/messages/VideoParameter.java | 39 ++++++++++++++++ .../domain/messages/type/ParameterType.java | 12 +++++ 4 files changed, 136 insertions(+) create mode 100644 src/main/java/com/whatsapp/api/domain/messages/DocumentParameter.java create mode 100644 src/main/java/com/whatsapp/api/domain/messages/ImageParameter.java create mode 100644 src/main/java/com/whatsapp/api/domain/messages/VideoParameter.java diff --git a/src/main/java/com/whatsapp/api/domain/messages/DocumentParameter.java b/src/main/java/com/whatsapp/api/domain/messages/DocumentParameter.java new file mode 100644 index 0000000..b0f3f31 --- /dev/null +++ b/src/main/java/com/whatsapp/api/domain/messages/DocumentParameter.java @@ -0,0 +1,46 @@ +package com.whatsapp.api.domain.messages; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.whatsapp.api.domain.messages.type.ParameterType; + +/** + * The type Document parameter. + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +public class DocumentParameter extends Parameter { + + @JsonProperty("link") + private String link; + @JsonProperty("caption") + private String caption; + @JsonProperty("filename") + private String filename; + + + /** + * Instantiates a new Document parameter. + * + * @param link the link + * @param caption the caption + * @param filename the filename + */ + public DocumentParameter(String link, String caption, String filename) { + super(ParameterType.IMAGE); + this.link = link; + this.caption = caption; + this.filename = filename; + } + + public String getLink() { + return link; + } + + public String getCaption() { + return caption; + } + + public String getFilename() { + return filename; + } +} diff --git a/src/main/java/com/whatsapp/api/domain/messages/ImageParameter.java b/src/main/java/com/whatsapp/api/domain/messages/ImageParameter.java new file mode 100644 index 0000000..0a6e848 --- /dev/null +++ b/src/main/java/com/whatsapp/api/domain/messages/ImageParameter.java @@ -0,0 +1,39 @@ +package com.whatsapp.api.domain.messages; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.whatsapp.api.domain.messages.type.ParameterType; + +/** + * The type Image parameter. + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +public class ImageParameter extends Parameter { + + @JsonProperty("link") + private String link; + @JsonProperty("caption") + private String caption; + + + /** + * Instantiates a new Image parameter. + * + * @param link the link + * @param caption the caption + */ + public ImageParameter(String link, String caption) { + super(ParameterType.IMAGE); + this.link = link; + this.caption = caption; + } + + public String getLink() { + return link; + } + + public String getCaption() { + return caption; + } + +} diff --git a/src/main/java/com/whatsapp/api/domain/messages/VideoParameter.java b/src/main/java/com/whatsapp/api/domain/messages/VideoParameter.java new file mode 100644 index 0000000..9d115cf --- /dev/null +++ b/src/main/java/com/whatsapp/api/domain/messages/VideoParameter.java @@ -0,0 +1,39 @@ +package com.whatsapp.api.domain.messages; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.whatsapp.api.domain.messages.type.ParameterType; + +/** + * The type Video parameter. + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +public class VideoParameter extends Parameter { + + @JsonProperty("link") + private String link; + @JsonProperty("caption") + private String caption; + + + /** + * Instantiates a new Video parameter. + * + * @param link the link + * @param caption the caption + */ + public VideoParameter(String link, String caption) { + super(ParameterType.IMAGE); + this.link = link; + this.caption = caption; + } + + public String getLink() { + return link; + } + + public String getCaption() { + return caption; + } + +} diff --git a/src/main/java/com/whatsapp/api/domain/messages/type/ParameterType.java b/src/main/java/com/whatsapp/api/domain/messages/type/ParameterType.java index 817f822..f6e1645 100644 --- a/src/main/java/com/whatsapp/api/domain/messages/type/ParameterType.java +++ b/src/main/java/com/whatsapp/api/domain/messages/type/ParameterType.java @@ -10,6 +10,18 @@ public enum ParameterType { * Text parameter type. */ TEXT("text"), + /** + * Image parameter type. + */ + IMAGE("image"), + /** + * Video parameter type. + */ + VIDEO("video"), + /** + * Document parameter type. + */ + DOCUMENT("document"), /** * Currency parameter type. */ From 98c82743002433bdeca4e4c9a3cf0a6b464ae4ea Mon Sep 17 00:00:00 2001 From: guomingwei <593978813@qq.com> Date: Fri, 12 May 2023 14:23:23 +0800 Subject: [PATCH 2/2] =?UTF-8?q?update=20DocumentParameter=E3=80=81ImagePar?= =?UTF-8?q?ameter=E3=80=81VideoParameter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/messages/DocumentParameter.java | 32 +++++-------- .../api/domain/messages/ImageParameter.java | 24 ++++------ .../whatsapp/api/domain/messages/Media.java | 45 +++++++++++++++++++ .../api/domain/messages/VideoParameter.java | 26 +++++------ 4 files changed, 74 insertions(+), 53 deletions(-) create mode 100644 src/main/java/com/whatsapp/api/domain/messages/Media.java diff --git a/src/main/java/com/whatsapp/api/domain/messages/DocumentParameter.java b/src/main/java/com/whatsapp/api/domain/messages/DocumentParameter.java index b0f3f31..ed2b143 100644 --- a/src/main/java/com/whatsapp/api/domain/messages/DocumentParameter.java +++ b/src/main/java/com/whatsapp/api/domain/messages/DocumentParameter.java @@ -10,37 +10,25 @@ @JsonInclude(JsonInclude.Include.NON_NULL) public class DocumentParameter extends Parameter { - @JsonProperty("link") - private String link; - @JsonProperty("caption") - private String caption; - @JsonProperty("filename") - private String filename; + @JsonProperty("document") + private Media document; /** * Instantiates a new Document parameter. * - * @param link the link - * @param caption the caption - * @param filename the filename + * @param document document */ - public DocumentParameter(String link, String caption, String filename) { - super(ParameterType.IMAGE); - this.link = link; - this.caption = caption; - this.filename = filename; + public DocumentParameter(Media document) { + super(ParameterType.DOCUMENT); + this.document = document; } - public String getLink() { - return link; + public Media getDocument() { + return document; } - public String getCaption() { - return caption; - } - - public String getFilename() { - return filename; + public void setDocument(Media document) { + this.document = document; } } diff --git a/src/main/java/com/whatsapp/api/domain/messages/ImageParameter.java b/src/main/java/com/whatsapp/api/domain/messages/ImageParameter.java index 0a6e848..488fea5 100644 --- a/src/main/java/com/whatsapp/api/domain/messages/ImageParameter.java +++ b/src/main/java/com/whatsapp/api/domain/messages/ImageParameter.java @@ -10,30 +10,24 @@ @JsonInclude(JsonInclude.Include.NON_NULL) public class ImageParameter extends Parameter { - @JsonProperty("link") - private String link; - @JsonProperty("caption") - private String caption; - + @JsonProperty("image") + private Media image; /** * Instantiates a new Image parameter. * - * @param link the link - * @param caption the caption + * @param image image */ - public ImageParameter(String link, String caption) { + public ImageParameter(Media image) { super(ParameterType.IMAGE); - this.link = link; - this.caption = caption; + this.image = image; } - public String getLink() { - return link; + public Media getImage() { + return image; } - public String getCaption() { - return caption; + public void setImage(Media image) { + this.image = image; } - } diff --git a/src/main/java/com/whatsapp/api/domain/messages/Media.java b/src/main/java/com/whatsapp/api/domain/messages/Media.java new file mode 100644 index 0000000..a9e5378 --- /dev/null +++ b/src/main/java/com/whatsapp/api/domain/messages/Media.java @@ -0,0 +1,45 @@ +package com.whatsapp.api.domain.messages; + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.*; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +@NoArgsConstructor +@AllArgsConstructor +@Getter +@Setter +@Builder +@JsonInclude(NON_NULL) +public class Media { + /** + * Required when type is an image, audio, document, or video and you are not using a link. + * The media object ID. For more information, see Get Media ID. + * */ + private String id; + /** + * Required when type is audio, document, image, sticker, or video and you are not using an uploaded media ID. + * The protocol and URL of the media to be sent. Use only with HTTP/HTTPS URLs. caption Optional. + */ + private String link; + + /** + * Describes the specified image, video, or document media. Do not use it with audio media. + */ + private String caption; + + /** + * Describes the filename for the specific document. Use only with document media. + */ + private String filename; + + /** + * 是否是语音 + */ + private Boolean voice; + + /** + * 文件类型 + */ + private String mimeType; +} diff --git a/src/main/java/com/whatsapp/api/domain/messages/VideoParameter.java b/src/main/java/com/whatsapp/api/domain/messages/VideoParameter.java index 9d115cf..53597d0 100644 --- a/src/main/java/com/whatsapp/api/domain/messages/VideoParameter.java +++ b/src/main/java/com/whatsapp/api/domain/messages/VideoParameter.java @@ -10,30 +10,24 @@ @JsonInclude(JsonInclude.Include.NON_NULL) public class VideoParameter extends Parameter { - @JsonProperty("link") - private String link; - @JsonProperty("caption") - private String caption; - + @JsonProperty("video") + private Media video; /** * Instantiates a new Video parameter. * - * @param link the link - * @param caption the caption + * @param video video */ - public VideoParameter(String link, String caption) { - super(ParameterType.IMAGE); - this.link = link; - this.caption = caption; + public VideoParameter(Media video) { + super(ParameterType.VIDEO); + this.video = video; } - public String getLink() { - return link; + public Media getVideo() { + return video; } - public String getCaption() { - return caption; + public void setVideo(Media video) { + this.video = video; } - }