Merge branch 'release/release-0.6.2'
This commit is contained in:
commit
89050be9a3
3
pom.xml
3
pom.xml
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>org.sadtech.bot</groupId>
|
<groupId>org.sadtech.bot</groupId>
|
||||||
<artifactId>bot-core</artifactId>
|
<artifactId>bot-core</artifactId>
|
||||||
<version>0.6.1-RELEASE</version>
|
<version>0.6.2-RELEASE</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@ -57,6 +57,7 @@
|
|||||||
<developers>
|
<developers>
|
||||||
<developer>
|
<developer>
|
||||||
<id>uPagge</id>
|
<id>uPagge</id>
|
||||||
|
<organization>SADTECH</organization>
|
||||||
<name>Struchkov Mark</name>
|
<name>Struchkov Mark</name>
|
||||||
<email>upagge@mail.ru</email>
|
<email>upagge@mail.ru</email>
|
||||||
</developer>
|
</developer>
|
||||||
|
@ -38,10 +38,6 @@ public class BoxAnswer {
|
|||||||
return keyboard;
|
return keyboard;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setKeyboard(KeyBoard keyboard) {
|
|
||||||
this.keyboard = keyboard;
|
|
||||||
}
|
|
||||||
|
|
||||||
public GeoCoordinate getCoordinates() {
|
public GeoCoordinate getCoordinates() {
|
||||||
return coordinates;
|
return coordinates;
|
||||||
}
|
}
|
||||||
@ -50,10 +46,6 @@ public class BoxAnswer {
|
|||||||
return stickerId;
|
return stickerId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setStickerId(Integer stickerId) {
|
|
||||||
this.stickerId = stickerId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BoxAnswer prototype() {
|
public BoxAnswer prototype() {
|
||||||
return new BoxAnswer(this);
|
return new BoxAnswer(this);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
package org.sadtech.bot.core.domain.content;
|
||||||
|
|
||||||
|
public class BoardComment extends Comment {
|
||||||
|
|
||||||
|
public BoardComment() {
|
||||||
|
type = ContentType.BOARD_COMMENT;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
package org.sadtech.bot.core.domain.content;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public abstract class Comment extends Message {
|
||||||
|
|
||||||
|
private Integer contentId;
|
||||||
|
|
||||||
|
public Integer getContentId() {
|
||||||
|
return contentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContentId(Integer contentId) {
|
||||||
|
this.contentId = contentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (!(o instanceof Comment)) return false;
|
||||||
|
if (!super.equals(o)) return false;
|
||||||
|
Comment that = (Comment) o;
|
||||||
|
return Objects.equals(contentId, that.contentId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(super.hashCode(), contentId);
|
||||||
|
}
|
||||||
|
}
|
@ -1,48 +0,0 @@
|
|||||||
package org.sadtech.bot.core.domain.content;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
public abstract class Content {
|
|
||||||
|
|
||||||
private Integer personId;
|
|
||||||
private String message;
|
|
||||||
|
|
||||||
public Content() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public Content(Content source) {
|
|
||||||
this.personId = source.getPersonId();
|
|
||||||
this.message = source.getMessage();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getPersonId() {
|
|
||||||
return personId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPersonId(Integer personId) {
|
|
||||||
this.personId = personId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMessage() {
|
|
||||||
return message;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMessage(String message) {
|
|
||||||
this.message = message;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(Object o) {
|
|
||||||
if (this == o) return true;
|
|
||||||
if (!(o instanceof Content)) return false;
|
|
||||||
Content content = (Content) o;
|
|
||||||
return Objects.equals(personId, content.personId) &&
|
|
||||||
Objects.equals(message, content.message);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
return Objects.hash(personId, message);
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,7 @@
|
|||||||
|
package org.sadtech.bot.core.domain.content;
|
||||||
|
|
||||||
|
public enum ContentType {
|
||||||
|
|
||||||
|
MAIL, BOARD_COMMENT, EMPTY
|
||||||
|
|
||||||
|
}
|
@ -2,7 +2,11 @@ package org.sadtech.bot.core.domain.content;
|
|||||||
|
|
||||||
import org.sadtech.bot.core.exception.AppBotException;
|
import org.sadtech.bot.core.exception.AppBotException;
|
||||||
|
|
||||||
public class EmptyContent extends Content {
|
public class EmptyMessage extends Message {
|
||||||
|
|
||||||
|
public EmptyMessage() {
|
||||||
|
type = ContentType.EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getMessage() {
|
public String getMessage() {
|
||||||
@ -11,6 +15,6 @@ public class EmptyContent extends Content {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setMessage(String message) {
|
public void setMessage(String message) {
|
||||||
throw new AppBotException(0, "EmptyContent no setMessage");
|
throw new AppBotException(0, "EmptyMessage no setMessage");
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -2,40 +2,20 @@ package org.sadtech.bot.core.domain.content;
|
|||||||
|
|
||||||
import org.sadtech.bot.core.domain.content.attachment.Attachment;
|
import org.sadtech.bot.core.domain.content.attachment.Attachment;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class Mail extends Content {
|
public class Mail extends Message {
|
||||||
|
|
||||||
private Integer id;
|
|
||||||
private LocalDateTime date;
|
|
||||||
private List<Attachment> attachments;
|
private List<Attachment> attachments;
|
||||||
|
|
||||||
public Mail() {
|
public Mail() {
|
||||||
|
type = ContentType.MAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Mail(Mail source) {
|
public Mail(Mail source) {
|
||||||
super(source);
|
super(source);
|
||||||
this.id = source.getId();
|
this.attachments = source.getAttachments();
|
||||||
this.date = source.getDate();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Integer id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDateTime getDate() {
|
|
||||||
return date;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDate(LocalDateTime date) {
|
|
||||||
this.date = date;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -51,28 +31,26 @@ public class Mail extends Content {
|
|||||||
this.attachments = attachments;
|
this.attachments = attachments;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object o) {
|
public boolean equals(Object o) {
|
||||||
if (this == o) return true;
|
if (this == o) return true;
|
||||||
if (!(o instanceof Mail)) return false;
|
if (!(o instanceof Mail)) return false;
|
||||||
if (!super.equals(o)) return false;
|
if (!super.equals(o)) return false;
|
||||||
Mail mail = (Mail) o;
|
Mail mail = (Mail) o;
|
||||||
return Objects.equals(id, mail.id) &&
|
return Objects.equals(attachments, mail.attachments);
|
||||||
Objects.equals(date, mail.date) &&
|
|
||||||
Objects.equals(attachments, mail.attachments);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hash(super.hashCode(), id, date, attachments);
|
return Objects.hash(super.hashCode(), attachments);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "Mail{" +
|
return "Mail{" +
|
||||||
"id=" + id +
|
"attachments=" + attachments +
|
||||||
", date=" + date +
|
", type=" + type +
|
||||||
", attachments=" + attachments +
|
|
||||||
'}';
|
'}';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,93 @@
|
|||||||
|
package org.sadtech.bot.core.domain.content;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public abstract class Message {
|
||||||
|
|
||||||
|
private Integer id;
|
||||||
|
protected ContentType type;
|
||||||
|
private LocalDateTime createDate;
|
||||||
|
private Integer personId;
|
||||||
|
private String message;
|
||||||
|
|
||||||
|
public Message() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Message(Message source) {
|
||||||
|
this.personId = source.getPersonId();
|
||||||
|
this.message = source.getMessage();
|
||||||
|
this.createDate = source.getCreateDate();
|
||||||
|
this.id = source.getPersonId();
|
||||||
|
this.type = source.getType();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPersonId() {
|
||||||
|
return personId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPersonId(Integer personId) {
|
||||||
|
this.personId = personId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMessage() {
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMessage(String message) {
|
||||||
|
this.message = message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Integer id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDateTime getCreateDate() {
|
||||||
|
return createDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateDate(LocalDateTime createDate) {
|
||||||
|
this.createDate = createDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ContentType getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(ContentType type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (!(o instanceof Message)) return false;
|
||||||
|
Message message = (Message) o;
|
||||||
|
return Objects.equals(id, message.id) &&
|
||||||
|
type == message.type &&
|
||||||
|
Objects.equals(createDate, message.createDate) &&
|
||||||
|
Objects.equals(personId, message.personId) &&
|
||||||
|
Objects.equals(this.message, message.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(id, type, createDate, personId, message);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Message{" +
|
||||||
|
"id=" + id +
|
||||||
|
", type=" + type +
|
||||||
|
", createDate=" + createDate +
|
||||||
|
", personId=" + personId +
|
||||||
|
", message='" + message + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
package org.sadtech.bot.core.domain.keyboard;
|
||||||
|
|
||||||
|
public enum ButtonType {
|
||||||
|
|
||||||
|
TEXT, ACCOUNT
|
||||||
|
|
||||||
|
}
|
@ -2,80 +2,38 @@ package org.sadtech.bot.core.domain.keyboard;
|
|||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class KeyBoardButton {
|
public abstract class KeyBoardButton {
|
||||||
|
|
||||||
private String payload;
|
protected String payload;
|
||||||
private String label;
|
protected ButtonType type = ButtonType.TEXT;
|
||||||
private ButtonColor color = ButtonColor.DEFAULT;
|
|
||||||
|
|
||||||
private KeyBoardButton() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPayload() {
|
public String getPayload() {
|
||||||
return payload;
|
return payload;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getLabel() {
|
public void setPayload(String payload) {
|
||||||
return label;
|
this.payload = payload;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ButtonColor getColor() {
|
public ButtonType getType() {
|
||||||
return color;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Builder builder() {
|
public void setType(ButtonType type) {
|
||||||
return new KeyBoardButton().new Builder();
|
this.type = type;
|
||||||
}
|
|
||||||
|
|
||||||
public class Builder {
|
|
||||||
|
|
||||||
private Builder() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder color(ButtonColor color) {
|
|
||||||
KeyBoardButton.this.color = color;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder label(String label) {
|
|
||||||
KeyBoardButton.this.label = label;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder payload(String payload) {
|
|
||||||
KeyBoardButton.this.payload = payload;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public KeyBoardButton build() {
|
|
||||||
return KeyBoardButton.this;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object o) {
|
public boolean equals(Object o) {
|
||||||
if (this == o) return true;
|
if (this == o) return true;
|
||||||
if (!(o instanceof KeyBoardButton)) return false;
|
if (!(o instanceof KeyBoardButton)) return false;
|
||||||
KeyBoardButton button = (KeyBoardButton) o;
|
KeyBoardButton that = (KeyBoardButton) o;
|
||||||
return Objects.equals(payload, button.payload) &&
|
return Objects.equals(payload, that.payload) &&
|
||||||
Objects.equals(label, button.label) &&
|
type == that.type;
|
||||||
color == button.color;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hash(payload, label, color);
|
return Objects.hash(payload, type);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return "KeyBoardButton{" +
|
|
||||||
"payload='" + payload + '\'' +
|
|
||||||
", label='" + label + '\'' +
|
|
||||||
", color=" + color +
|
|
||||||
'}';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,75 @@
|
|||||||
|
package org.sadtech.bot.core.domain.keyboard.button;
|
||||||
|
|
||||||
|
import org.sadtech.bot.core.domain.keyboard.ButtonType;
|
||||||
|
import org.sadtech.bot.core.domain.keyboard.KeyBoardButton;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class KeyBoardButtonAccount extends KeyBoardButton {
|
||||||
|
|
||||||
|
private Integer amount;
|
||||||
|
private Integer accountId;
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
private KeyBoardButtonAccount() {
|
||||||
|
type = ButtonType.ACCOUNT;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getAmount() {
|
||||||
|
return amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getAccountId() {
|
||||||
|
return accountId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Builder builder() {
|
||||||
|
return new KeyBoardButtonAccount().new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Builder {
|
||||||
|
private Builder() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder amount(Integer amount) {
|
||||||
|
KeyBoardButtonAccount.this.amount = amount;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder description(String description) {
|
||||||
|
KeyBoardButtonAccount.this.description = description;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder accountId(Integer accountId) {
|
||||||
|
KeyBoardButtonAccount.this.accountId = accountId;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public KeyBoardButtonAccount build() {
|
||||||
|
return KeyBoardButtonAccount.this;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (!(o instanceof KeyBoardButtonAccount)) return false;
|
||||||
|
if (!super.equals(o)) return false;
|
||||||
|
KeyBoardButtonAccount that = (KeyBoardButtonAccount) o;
|
||||||
|
return Objects.equals(amount, that.amount) &&
|
||||||
|
Objects.equals(description, that.description);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(super.hashCode(), amount, description);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,78 @@
|
|||||||
|
package org.sadtech.bot.core.domain.keyboard.button;
|
||||||
|
|
||||||
|
import org.sadtech.bot.core.domain.keyboard.ButtonColor;
|
||||||
|
import org.sadtech.bot.core.domain.keyboard.ButtonType;
|
||||||
|
import org.sadtech.bot.core.domain.keyboard.KeyBoardButton;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class KeyBoardButtonText extends KeyBoardButton {
|
||||||
|
|
||||||
|
private String label;
|
||||||
|
private ButtonColor color = ButtonColor.DEFAULT;
|
||||||
|
|
||||||
|
public KeyBoardButtonText() {
|
||||||
|
type = ButtonType.TEXT;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ButtonColor getColor() {
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLabel() {
|
||||||
|
return label;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Builder builder() {
|
||||||
|
return new KeyBoardButtonText().new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Builder {
|
||||||
|
private Builder() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder label(String label) {
|
||||||
|
KeyBoardButtonText.this.label = label;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder color(ButtonColor color) {
|
||||||
|
KeyBoardButtonText.this.color = color;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder payload(String payload) {
|
||||||
|
KeyBoardButtonText.this.payload = payload;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public KeyBoardButtonText build() {
|
||||||
|
return KeyBoardButtonText.this;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (!(o instanceof KeyBoardButtonText)) return false;
|
||||||
|
if (!super.equals(o)) return false;
|
||||||
|
KeyBoardButtonText that = (KeyBoardButtonText) o;
|
||||||
|
return Objects.equals(label, that.label) &&
|
||||||
|
color == that.color;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(super.hashCode(), label, color);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "KeyBoardButtonText{" +
|
||||||
|
"label='" + label + '\'' +
|
||||||
|
", color=" + color +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
@ -5,7 +5,7 @@ import java.util.Objects;
|
|||||||
public class Account {
|
public class Account {
|
||||||
|
|
||||||
private Integer id;
|
private Integer id;
|
||||||
private Double totalSum;
|
private Integer totalSum;
|
||||||
private Integer belongsPersonId;
|
private Integer belongsPersonId;
|
||||||
private Integer extinguishedPersonId;
|
private Integer extinguishedPersonId;
|
||||||
private String description;
|
private String description;
|
||||||
@ -19,11 +19,11 @@ public class Account {
|
|||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Double getTotalSum() {
|
public Integer getTotalSum() {
|
||||||
return totalSum;
|
return totalSum;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTotalSum(Double totalSum) {
|
public void setTotalSum(Integer totalSum) {
|
||||||
this.totalSum = totalSum;
|
this.totalSum = totalSum;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
package org.sadtech.bot.core.exception;
|
||||||
|
|
||||||
|
public class TimerSettingExceprion extends AppBotException {
|
||||||
|
|
||||||
|
public TimerSettingExceprion(String message) {
|
||||||
|
super(54, message);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
package org.sadtech.bot.core.repository;
|
||||||
|
|
||||||
|
import org.sadtech.bot.core.domain.content.Message;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface ContentRepository<T extends Message> {
|
||||||
|
|
||||||
|
Integer add(T content);
|
||||||
|
|
||||||
|
List<T> findByTime(LocalDateTime timeFrom, LocalDateTime timeTo);
|
||||||
|
|
||||||
|
}
|
@ -1,14 +0,0 @@
|
|||||||
package org.sadtech.bot.core.repository;
|
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.content.Mail;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public interface MailRepository {
|
|
||||||
|
|
||||||
void add(Mail mail);
|
|
||||||
|
|
||||||
List<Mail> getMailByTime(LocalDateTime timeFrom, LocalDateTime timeTo);
|
|
||||||
|
|
||||||
}
|
|
@ -43,6 +43,6 @@ public class AccountRepositoryMap implements AccountRepository {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean check(Integer id) {
|
private boolean check(Integer id) {
|
||||||
return saveMap.containsKey(id);
|
return !saveMap.containsKey(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
package org.sadtech.bot.core.repository.impl;
|
||||||
|
|
||||||
|
import org.sadtech.bot.core.domain.content.BoardComment;
|
||||||
|
import org.sadtech.bot.core.repository.ContentRepository;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class BoardCommentRepositoryMap implements ContentRepository<BoardComment> {
|
||||||
|
|
||||||
|
private final Map<Integer, BoardComment> saveMap = new HashMap<>();
|
||||||
|
private Integer count = 0;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer add(BoardComment comment) {
|
||||||
|
comment.setId(count);
|
||||||
|
saveMap.put(count, comment);
|
||||||
|
return count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BoardComment> findByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
||||||
|
ArrayList<BoardComment> rezultMails = new ArrayList<>();
|
||||||
|
for (int i = saveMap.size() - 1; i >= 0; i--) {
|
||||||
|
if (!(saveMap.get(i).getCreateDate().isBefore(timeFrom) || saveMap.get(i).getCreateDate().isAfter(timeTo)) && saveMap.get(i).getCreateDate().equals(timeFrom)) {
|
||||||
|
rezultMails.add(this.saveMap.get(i));
|
||||||
|
} else if (saveMap.get(i).getCreateDate().isBefore(timeFrom)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rezultMails;
|
||||||
|
}
|
||||||
|
}
|
@ -1,40 +1,30 @@
|
|||||||
package org.sadtech.bot.core.repository.impl;
|
package org.sadtech.bot.core.repository.impl;
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.content.Mail;
|
import org.sadtech.bot.core.domain.content.Mail;
|
||||||
import org.sadtech.bot.core.repository.EventRepository;
|
import org.sadtech.bot.core.repository.ContentRepository;
|
||||||
import org.sadtech.bot.core.repository.MailRepository;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Queue;
|
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
|
||||||
|
|
||||||
public class MailRepositoryList implements EventRepository<Mail>, MailRepository {
|
public class MailRepositoryList implements ContentRepository<Mail> {
|
||||||
|
|
||||||
private final List<Mail> mails = new ArrayList<>();
|
private final List<Mail> mails = new ArrayList<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(Mail mail) {
|
public Integer add(Mail mail) {
|
||||||
mails.add(mail);
|
mails.add(mail);
|
||||||
|
return mails.size() - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void cleanAll() {
|
public List<Mail> findByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
||||||
mails.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Queue<Mail> getEventQueue() {
|
|
||||||
return new ConcurrentLinkedQueue<>(mails);
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Mail> getMailByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
|
||||||
ArrayList<Mail> rezultMails = new ArrayList<>();
|
ArrayList<Mail> rezultMails = new ArrayList<>();
|
||||||
for (int i = mails.size() - 1; i >= 0; i--) {
|
for (int i = mails.size() - 1; i >= 0; i--) {
|
||||||
if (!(mails.get(i).getDate().isBefore(timeFrom) || mails.get(i).getDate().isAfter(timeTo)) && mails.get(i).getDate().equals(timeFrom)) {
|
if (!(mails.get(i).getCreateDate().isBefore(timeFrom) || mails.get(i).getCreateDate().isAfter(timeTo)) && mails.get(i).getCreateDate().equals(timeFrom)) {
|
||||||
rezultMails.add(this.mails.get(i));
|
rezultMails.add(this.mails.get(i));
|
||||||
} else if (mails.get(i).getDate().isBefore(timeFrom)) {
|
} else if (mails.get(i).getCreateDate().isBefore(timeFrom)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ public interface AccountService {
|
|||||||
|
|
||||||
Integer add(Account account);
|
Integer add(Account account);
|
||||||
|
|
||||||
Boolean pay(Integer accountId, Integer extinguishedPersonId, Double sum);
|
Boolean pay(Integer accountId, Integer extinguishedPersonId, Integer sum);
|
||||||
|
|
||||||
Boolean paymentVerification(Integer accountId);
|
Boolean paymentVerification(Integer accountId);
|
||||||
|
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
package org.sadtech.bot.core.service;
|
||||||
|
|
||||||
|
import org.sadtech.bot.core.domain.content.BoardComment;
|
||||||
|
|
||||||
|
public interface BoardCommentService extends ContentService<BoardComment> {
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
package org.sadtech.bot.core.service;
|
||||||
|
|
||||||
|
import org.sadtech.bot.core.domain.content.Message;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface ContentService<T extends Message> {
|
||||||
|
|
||||||
|
void add(T event);
|
||||||
|
|
||||||
|
List<T> getByTime(LocalDateTime timeFrom, LocalDateTime timeTo);
|
||||||
|
|
||||||
|
List<T> getLastEventByTime(LocalDateTime timeFrom, LocalDateTime timeTo);
|
||||||
|
|
||||||
|
}
|
@ -1,18 +0,0 @@
|
|||||||
package org.sadtech.bot.core.service;
|
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.content.Content;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public interface EventService<T extends Content> {
|
|
||||||
|
|
||||||
void add(T event);
|
|
||||||
|
|
||||||
List<T> getEvent(LocalDateTime timeFrom, LocalDateTime timeTo);
|
|
||||||
|
|
||||||
List<T> getFirstEventByTime(LocalDateTime timeFrom, LocalDateTime timeTo);
|
|
||||||
|
|
||||||
List<T> getLastEventByTime(LocalDateTime timeFrom, LocalDateTime timeTo);
|
|
||||||
|
|
||||||
}
|
|
@ -1,9 +1,9 @@
|
|||||||
package org.sadtech.bot.core.service;
|
package org.sadtech.bot.core.service;
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.content.Content;
|
import org.sadtech.bot.core.domain.content.Message;
|
||||||
|
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
public interface Filter<T extends Content> {
|
public interface Filter<T extends Message> {
|
||||||
|
|
||||||
void processing(T content);
|
void processing(T content);
|
||||||
|
|
||||||
|
@ -2,6 +2,6 @@ package org.sadtech.bot.core.service;
|
|||||||
|
|
||||||
import org.sadtech.bot.core.domain.content.Mail;
|
import org.sadtech.bot.core.domain.content.Mail;
|
||||||
|
|
||||||
public interface MailService extends EventService<Mail> {
|
public interface MailService extends ContentService<Mail> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ public class AccountServiceImpl implements AccountService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean pay(Integer accountId, Integer extinguishedPersonId, Double sum) {
|
public Boolean pay(Integer accountId, Integer extinguishedPersonId, Integer sum) {
|
||||||
Account account = accountRepository.findById(accountId);
|
Account account = accountRepository.findById(accountId);
|
||||||
if (validStatus(account.getAccountStatus())) {
|
if (validStatus(account.getAccountStatus())) {
|
||||||
if (account.getTotalSum().equals(sum)) {
|
if (account.getTotalSum().equals(sum)) {
|
||||||
|
@ -0,0 +1,49 @@
|
|||||||
|
package org.sadtech.bot.core.service.impl;
|
||||||
|
|
||||||
|
import org.sadtech.bot.core.domain.content.BoardComment;
|
||||||
|
import org.sadtech.bot.core.repository.ContentRepository;
|
||||||
|
import org.sadtech.bot.core.service.BoardCommentService;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
public class BoardCommentServiceImpl implements BoardCommentService {
|
||||||
|
|
||||||
|
private static final Logger log = LoggerFactory.getLogger(BoardCommentServiceImpl.class);
|
||||||
|
|
||||||
|
private final ContentRepository<BoardComment> commentRepository;
|
||||||
|
|
||||||
|
public BoardCommentServiceImpl(ContentRepository<BoardComment> commentRepository) {
|
||||||
|
this.commentRepository = commentRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void add(BoardComment event) {
|
||||||
|
commentRepository.add(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BoardComment> getByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BoardComment> getLastEventByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
||||||
|
log.info("Запрошены последние комментарии к обсуждению {} - {} ", timeFrom, timeTo);
|
||||||
|
List<BoardComment> mails = commentRepository.findByTime(timeFrom, timeTo);
|
||||||
|
Set<Integer> people = new HashSet<>();
|
||||||
|
List<BoardComment> returnMails = new ArrayList<>();
|
||||||
|
for (int i = mails.size() - 1; i >= 0; i--) {
|
||||||
|
if (!people.contains(mails.get(i).getPersonId())) {
|
||||||
|
returnMails.add(mails.get(i));
|
||||||
|
people.add(mails.get(i).getPersonId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return returnMails;
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
package org.sadtech.bot.core.service.impl;
|
package org.sadtech.bot.core.service.impl;
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.content.Mail;
|
import org.sadtech.bot.core.domain.content.Mail;
|
||||||
import org.sadtech.bot.core.repository.MailRepository;
|
import org.sadtech.bot.core.repository.ContentRepository;
|
||||||
import org.sadtech.bot.core.service.MailService;
|
import org.sadtech.bot.core.service.MailService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@ -16,9 +16,9 @@ public class MailServiceImpl implements MailService {
|
|||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(MailServiceImpl.class);
|
private static final Logger log = LoggerFactory.getLogger(MailServiceImpl.class);
|
||||||
|
|
||||||
private final MailRepository mailRepository;
|
private final ContentRepository<Mail> mailRepository;
|
||||||
|
|
||||||
public MailServiceImpl(MailRepository mailRepository) {
|
public MailServiceImpl(ContentRepository<Mail> mailRepository) {
|
||||||
this.mailRepository = mailRepository;
|
this.mailRepository = mailRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -29,9 +29,9 @@ public class MailServiceImpl implements MailService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Mail> getFirstEventByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
public List<Mail> getLastEventByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
||||||
log.info("Запрошены сообщения {} - {} ", timeFrom, timeTo);
|
log.info("Запрошены последние сообщения {} - {} ", timeFrom, timeTo);
|
||||||
List<Mail> mails = mailRepository.getMailByTime(timeFrom, timeTo);
|
List<Mail> mails = mailRepository.findByTime(timeFrom, timeTo);
|
||||||
Set<Integer> people = new HashSet<>();
|
Set<Integer> people = new HashSet<>();
|
||||||
List<Mail> returnMails = new ArrayList<>();
|
List<Mail> returnMails = new ArrayList<>();
|
||||||
for (int i = mails.size() - 1; i >= 0; i--) {
|
for (int i = mails.size() - 1; i >= 0; i--) {
|
||||||
@ -44,23 +44,9 @@ public class MailServiceImpl implements MailService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Mail> getLastEventByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
public List<Mail> getByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
||||||
List<Mail> mails = mailRepository.getMailByTime(timeFrom, timeTo);
|
log.info("Запрошены все сообщения {} - {} ", timeFrom, timeTo);
|
||||||
Set<Integer> people = new HashSet<>();
|
return mailRepository.findByTime(timeFrom, timeTo);
|
||||||
List<Mail> returnMails = new ArrayList<>();
|
|
||||||
for (Mail mail : mails) {
|
|
||||||
if (!people.contains(mail.getPersonId())) {
|
|
||||||
returnMails.add(mail);
|
|
||||||
people.add(mail.getPersonId());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return returnMails;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Mail> getEvent(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
|
||||||
log.info("Запрошены сообщения {} - {} ", timeFrom, timeTo);
|
|
||||||
return mailRepository.getMailByTime(timeFrom, timeTo);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,26 @@
|
|||||||
|
package org.sadtech.bot.core.service.sender;
|
||||||
|
|
||||||
|
import org.sadtech.bot.core.domain.BoxAnswer;
|
||||||
|
import org.sadtech.bot.core.domain.content.Comment;
|
||||||
|
import org.sadtech.bot.core.domain.content.Message;
|
||||||
|
|
||||||
|
public class SendBox {
|
||||||
|
|
||||||
|
private SendBox() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sent(Message message, BoxAnswer boxAnswer, Sent sent) {
|
||||||
|
switch (message.getType()) {
|
||||||
|
case BOARD_COMMENT:
|
||||||
|
sent.send(((Comment) message).getContentId(), message.getPersonId(), boxAnswer);
|
||||||
|
break;
|
||||||
|
case MAIL:
|
||||||
|
sent.send(message.getPersonId(), boxAnswer);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
sent.send(message.getPersonId(), boxAnswer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -4,8 +4,8 @@ import org.sadtech.bot.core.domain.BoxAnswer;
|
|||||||
|
|
||||||
public interface Sent {
|
public interface Sent {
|
||||||
|
|
||||||
void send(Integer personId, String message);
|
|
||||||
|
|
||||||
void send(Integer personId, BoxAnswer boxAnswer);
|
void send(Integer personId, BoxAnswer boxAnswer);
|
||||||
|
|
||||||
|
void send(Integer contentId, Integer personId, BoxAnswer boxAnswer);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ public class EmailSent implements Sent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void send(Integer personId, String htmlText) {
|
public void send(Integer personId, BoxAnswer boxAnswer) {
|
||||||
Session session = Session.getDefaultInstance(emailConfig.getProps(), new Authenticator() {
|
Session session = Session.getDefaultInstance(emailConfig.getProps(), new Authenticator() {
|
||||||
@Override
|
@Override
|
||||||
protected PasswordAuthentication getPasswordAuthentication() {
|
protected PasswordAuthentication getPasswordAuthentication() {
|
||||||
@ -33,7 +33,7 @@ public class EmailSent implements Sent {
|
|||||||
Message message = new MimeMessage(session);
|
Message message = new MimeMessage(session);
|
||||||
message.setFrom(new InternetAddress(emailConfig.getUsername()));
|
message.setFrom(new InternetAddress(emailConfig.getUsername()));
|
||||||
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(emailConfig.getUsername()));
|
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(emailConfig.getUsername()));
|
||||||
message.setContent(htmlText, "text/html; charset=utf-8");
|
message.setContent(boxAnswer.getMessage(), "text/html; charset=utf-8");
|
||||||
Transport.send(message);
|
Transport.send(message);
|
||||||
} catch (MessagingException e) {
|
} catch (MessagingException e) {
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
@ -42,7 +42,7 @@ public class EmailSent implements Sent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void send(Integer personId, BoxAnswer boxAnswer) {
|
public void send(Integer contentId, Integer personId, BoxAnswer boxAnswer) {
|
||||||
throw new MailSendException();
|
throw new MailSendException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package org.sadtech.bot.core.utils;
|
package org.sadtech.bot.core.utils;
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.content.EmptyContent;
|
import org.sadtech.bot.core.domain.content.EmptyMessage;
|
||||||
|
|
||||||
public class Contents {
|
public class Contents {
|
||||||
|
|
||||||
@ -8,7 +8,7 @@ public class Contents {
|
|||||||
throw new IllegalStateException("Utility class");
|
throw new IllegalStateException("Utility class");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final EmptyContent EMPTY_CONTENT = new EmptyContent();
|
public static final EmptyMessage EMPTY_CONTENT = new EmptyMessage();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import org.sadtech.bot.core.domain.keyboard.ButtonColor;
|
|||||||
import org.sadtech.bot.core.domain.keyboard.KeyBoard;
|
import org.sadtech.bot.core.domain.keyboard.KeyBoard;
|
||||||
import org.sadtech.bot.core.domain.keyboard.KeyBoardButton;
|
import org.sadtech.bot.core.domain.keyboard.KeyBoardButton;
|
||||||
import org.sadtech.bot.core.domain.keyboard.KeyBoardLine;
|
import org.sadtech.bot.core.domain.keyboard.KeyBoardLine;
|
||||||
|
import org.sadtech.bot.core.domain.keyboard.button.KeyBoardButtonText;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -14,8 +15,8 @@ public class KeyBoards {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static KeyBoard keyBoardYesNo() {
|
public static KeyBoard keyBoardYesNo() {
|
||||||
KeyBoardButton yesButton = KeyBoardButton.builder().color(ButtonColor.POSITIVE).label("Да").payload("{\"button\": \"yes\"}").build();
|
KeyBoardButton yesButton = KeyBoardButtonText.builder().color(ButtonColor.POSITIVE).label("Да").payload("{\"button\": \"yes\"}").build();
|
||||||
KeyBoardButton noButton = KeyBoardButton.builder().color(ButtonColor.NEGATIVE).label("Нет").payload("{\"button\": \"no\"}").build();
|
KeyBoardButton noButton = KeyBoardButtonText.builder().color(ButtonColor.NEGATIVE).label("Нет").payload("{\"button\": \"no\"}").build();
|
||||||
KeyBoardLine keyBoardLine = KeyBoardLine.builder().buttonKeyBoard(yesButton).buttonKeyBoard(noButton).build();
|
KeyBoardLine keyBoardLine = KeyBoardLine.builder().buttonKeyBoard(yesButton).buttonKeyBoard(noButton).build();
|
||||||
return KeyBoard.builder().lineKeyBoard(keyBoardLine).oneTime(true).build();
|
return KeyBoard.builder().lineKeyBoard(keyBoardLine).oneTime(true).build();
|
||||||
}
|
}
|
||||||
@ -23,12 +24,39 @@ public class KeyBoards {
|
|||||||
public static KeyBoard verticalMenuString(List<String> labelButtons) {
|
public static KeyBoard verticalMenuString(List<String> labelButtons) {
|
||||||
KeyBoard.Builder keyBoard = KeyBoard.builder().oneTime(true);
|
KeyBoard.Builder keyBoard = KeyBoard.builder().oneTime(true);
|
||||||
for (String labelButton : labelButtons) {
|
for (String labelButton : labelButtons) {
|
||||||
KeyBoardButton keyBoardButton = KeyBoardButton.builder().label(labelButton).payload("{\"button\": \"" + labelButton + "\"}").build();
|
KeyBoardButton keyBoardButton = KeyBoardButtonText.builder().label(labelButton).payload("{\"button\": \"" + labelButton + "\"}").build();
|
||||||
keyBoard.lineKeyBoard(KeyBoardLine.builder().buttonKeyBoard(keyBoardButton).build());
|
keyBoard.lineKeyBoard(KeyBoardLine.builder().buttonKeyBoard(keyBoardButton).build());
|
||||||
}
|
}
|
||||||
return keyBoard.build();
|
return keyBoard.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static KeyBoard verticalMenuString(String... labelButton) {
|
||||||
|
KeyBoard.Builder keyBoard = KeyBoard.builder().oneTime(true);
|
||||||
|
for (String label : labelButton) {
|
||||||
|
KeyBoardButton keyBoardButton = KeyBoardButtonText.builder().label(label).payload("{\"button\": \"" + label + "\"}").build();
|
||||||
|
keyBoard.lineKeyBoard(KeyBoardLine.builder().buttonKeyBoard(keyBoardButton).build());
|
||||||
|
}
|
||||||
|
return keyBoard.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static KeyBoard verticalDuoMenuString(String... labelButton) {
|
||||||
|
KeyBoard.Builder keyBoard = KeyBoard.builder().oneTime(true);
|
||||||
|
boolean flag = true;
|
||||||
|
KeyBoardLine.Builder keyBoardLine = KeyBoardLine.builder();
|
||||||
|
for (String label : labelButton) {
|
||||||
|
if (flag) {
|
||||||
|
keyBoardLine.buttonKeyBoard(KeyBoardButtonText.builder().label(label).build());
|
||||||
|
flag = false;
|
||||||
|
} else {
|
||||||
|
keyBoardLine.buttonKeyBoard(KeyBoardButtonText.builder().label(label).build());
|
||||||
|
keyBoard.lineKeyBoard(keyBoardLine.build());
|
||||||
|
keyBoardLine = KeyBoardLine.builder();
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return keyBoard.build();
|
||||||
|
}
|
||||||
|
|
||||||
public static KeyBoard verticalMenuButton(List<KeyBoardButton> keyBoardButtons) {
|
public static KeyBoard verticalMenuButton(List<KeyBoardButton> keyBoardButtons) {
|
||||||
KeyBoard.Builder keyBoard = KeyBoard.builder().oneTime(true);
|
KeyBoard.Builder keyBoard = KeyBoard.builder().oneTime(true);
|
||||||
for (KeyBoardButton keyBoardButton : keyBoardButtons) {
|
for (KeyBoardButton keyBoardButton : keyBoardButtons) {
|
||||||
@ -36,4 +64,9 @@ public class KeyBoards {
|
|||||||
}
|
}
|
||||||
return keyBoard.build();
|
return keyBoard.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static KeyBoard singelton(KeyBoardButton keyBoardButton) {
|
||||||
|
KeyBoardLine line = KeyBoardLine.builder().buttonKeyBoard(keyBoardButton).build();
|
||||||
|
return KeyBoard.builder().lineKeyBoard(line).build();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user