Рефакторинг
Добавил новое вложение - карта
This commit is contained in:
parent
fd8c8402d1
commit
dfc4f36e55
@ -1,5 +1,6 @@
|
|||||||
package org.sadtech.bot.core.domain;
|
package org.sadtech.bot.core.domain;
|
||||||
|
|
||||||
|
import org.sadtech.bot.core.domain.content.GeoCoordinate;
|
||||||
import org.sadtech.bot.core.domain.keyboard.KeyBoard;
|
import org.sadtech.bot.core.domain.keyboard.KeyBoard;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -8,8 +9,7 @@ public class BoxAnswer {
|
|||||||
|
|
||||||
private String message;
|
private String message;
|
||||||
private KeyBoard keyboard;
|
private KeyBoard keyboard;
|
||||||
private Float lat;
|
private GeoCoordinate coordinates;
|
||||||
private Float aLong;
|
|
||||||
private Integer stickerId;
|
private Integer stickerId;
|
||||||
|
|
||||||
private BoxAnswer() {
|
private BoxAnswer() {
|
||||||
@ -20,8 +20,7 @@ public class BoxAnswer {
|
|||||||
if (target != null) {
|
if (target != null) {
|
||||||
this.message = target.getMessage();
|
this.message = target.getMessage();
|
||||||
this.keyboard = target.getKeyboard();
|
this.keyboard = target.getKeyboard();
|
||||||
this.lat = target.getLat();
|
this.coordinates = target.getCoordinates();
|
||||||
this.aLong = target.getaLong();
|
|
||||||
this.stickerId = target.getStickerId();
|
this.stickerId = target.getStickerId();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -43,20 +42,8 @@ public class BoxAnswer {
|
|||||||
this.keyboard = keyboard;
|
this.keyboard = keyboard;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Float getLat() {
|
public GeoCoordinate getCoordinates() {
|
||||||
return lat;
|
return coordinates;
|
||||||
}
|
|
||||||
|
|
||||||
public void setLat(Float lat) {
|
|
||||||
this.lat = lat;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Float getaLong() {
|
|
||||||
return aLong;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setaLong(Float aLong) {
|
|
||||||
this.aLong = aLong;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getStickerId() {
|
public Integer getStickerId() {
|
||||||
@ -90,13 +77,8 @@ public class BoxAnswer {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder lat(Float lat) {
|
public Builder coordinate(Float lat, Float aLong) {
|
||||||
BoxAnswer.this.lat = lat;
|
BoxAnswer.this.coordinates = new GeoCoordinate(lat, aLong);
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder aLong(Float aLong) {
|
|
||||||
BoxAnswer.this.aLong = aLong;
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,19 +95,26 @@ public class BoxAnswer {
|
|||||||
@Override
|
@Override
|
||||||
public boolean equals(Object o) {
|
public boolean equals(Object o) {
|
||||||
if (this == o) return true;
|
if (this == o) return true;
|
||||||
if (o == null || getClass() != o.getClass()) return false;
|
if (!(o instanceof BoxAnswer)) return false;
|
||||||
BoxAnswer boxAnswer = (BoxAnswer) o;
|
BoxAnswer boxAnswer = (BoxAnswer) o;
|
||||||
return Objects.equals(message, boxAnswer.message) &&
|
return Objects.equals(message, boxAnswer.message) &&
|
||||||
Objects.equals(keyboard, boxAnswer.keyboard) &&
|
Objects.equals(keyboard, boxAnswer.keyboard) &&
|
||||||
Objects.equals(lat, boxAnswer.lat) &&
|
Objects.equals(coordinates, boxAnswer.coordinates) &&
|
||||||
Objects.equals(aLong, boxAnswer.aLong) &&
|
|
||||||
Objects.equals(stickerId, boxAnswer.stickerId);
|
Objects.equals(stickerId, boxAnswer.stickerId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hash(message, keyboard, lat, aLong, stickerId);
|
return Objects.hash(message, keyboard, coordinates, stickerId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "BoxAnswer{" +
|
||||||
|
"message='" + message + '\'' +
|
||||||
|
", keyboard=" + keyboard +
|
||||||
|
", coordinates=" + coordinates +
|
||||||
|
", stickerId=" + stickerId +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
package org.sadtech.bot.core.domain;
|
package org.sadtech.bot.core.domain;
|
||||||
|
|
||||||
|
import org.sadtech.bot.core.domain.content.Content;
|
||||||
|
import org.sadtech.bot.core.exception.AppBotException;
|
||||||
|
|
||||||
public class EmptyContent extends Content {
|
public class EmptyContent extends Content {
|
||||||
|
|
||||||
public EmptyContent() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getMessage() {
|
public String getMessage() {
|
||||||
return "";
|
return "";
|
||||||
@ -13,6 +12,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");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,91 +0,0 @@
|
|||||||
package org.sadtech.bot.core.domain;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
public class Person {
|
|
||||||
|
|
||||||
private Integer id;
|
|
||||||
private String firstName;
|
|
||||||
private String lastName;
|
|
||||||
private Integer sex;
|
|
||||||
private String city;
|
|
||||||
private String email;
|
|
||||||
|
|
||||||
public Integer getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Integer id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getFirstName() {
|
|
||||||
return firstName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFirstName(String firstName) {
|
|
||||||
this.firstName = firstName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getLastName() {
|
|
||||||
return lastName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLastName(String lastName) {
|
|
||||||
this.lastName = lastName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getSex() {
|
|
||||||
return sex;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSex(Integer sex) {
|
|
||||||
this.sex = sex;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCity() {
|
|
||||||
return city;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCity(String city) {
|
|
||||||
this.city = city;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getEmail() {
|
|
||||||
return email;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEmail(String email) {
|
|
||||||
this.email = email;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(Object o) {
|
|
||||||
if (this == o) return true;
|
|
||||||
if (!(o instanceof Person)) return false;
|
|
||||||
Person person = (Person) o;
|
|
||||||
return Objects.equals(id, person.id) &&
|
|
||||||
Objects.equals(firstName, person.firstName) &&
|
|
||||||
Objects.equals(lastName, person.lastName) &&
|
|
||||||
Objects.equals(sex, person.sex) &&
|
|
||||||
Objects.equals(city, person.city) &&
|
|
||||||
Objects.equals(email, person.email);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
return Objects.hash(id, firstName, lastName, sex, city, email);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return "Person{" +
|
|
||||||
"id=" + id +
|
|
||||||
", firstName='" + firstName + '\'' +
|
|
||||||
", lastName='" + lastName + '\'' +
|
|
||||||
", sex=" + sex +
|
|
||||||
", city='" + city + '\'' +
|
|
||||||
", email='" + email + '\'' +
|
|
||||||
'}';
|
|
||||||
}
|
|
||||||
}
|
|
@ -7,4 +7,5 @@ public abstract class Attachment {
|
|||||||
public AttachmentType getType() {
|
public AttachmentType getType() {
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package org.sadtech.bot.core.domain.attachment;
|
package org.sadtech.bot.core.domain.attachment;
|
||||||
|
|
||||||
public enum AttachmentType {
|
public enum AttachmentType {
|
||||||
AUDIO_MESSAGE
|
|
||||||
|
AUDIO_MESSAGE, GEO
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,81 @@
|
|||||||
|
package org.sadtech.bot.core.domain.attachment;
|
||||||
|
|
||||||
|
import org.sadtech.bot.core.domain.content.GeoCoordinate;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class Geo extends Attachment {
|
||||||
|
|
||||||
|
private GeoCoordinate geoCoordinate;
|
||||||
|
private String country;
|
||||||
|
private String city;
|
||||||
|
|
||||||
|
private Geo() {
|
||||||
|
type = AttachmentType.GEO;
|
||||||
|
}
|
||||||
|
|
||||||
|
public GeoCoordinate getGeoCoordinate() {
|
||||||
|
return geoCoordinate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCountry() {
|
||||||
|
return country;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCity() {
|
||||||
|
return city;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Geo().new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Builder {
|
||||||
|
private Builder() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder coordinate(Float lat, Float aLong) {
|
||||||
|
Geo.this.geoCoordinate = new GeoCoordinate(lat, aLong);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder country(String countryName) {
|
||||||
|
Geo.this.country = countryName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder city(String cityName) {
|
||||||
|
Geo.this.city = cityName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Geo build() {
|
||||||
|
return Geo.this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (!(o instanceof Geo)) return false;
|
||||||
|
Geo geo = (Geo) o;
|
||||||
|
return Objects.equals(geoCoordinate, geo.geoCoordinate) &&
|
||||||
|
Objects.equals(country, geo.country) &&
|
||||||
|
Objects.equals(city, geo.city);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(geoCoordinate, country, city);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Geo{" +
|
||||||
|
"geoCoordinate=" + geoCoordinate +
|
||||||
|
", country='" + country + '\'' +
|
||||||
|
", city='" + city + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
@ -1,11 +1,9 @@
|
|||||||
package org.sadtech.bot.core.domain;
|
package org.sadtech.bot.core.domain.content;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public abstract class Content {
|
public abstract class Content {
|
||||||
|
|
||||||
public static final EmptyContent EMPTY_CONTENT = new EmptyContent();
|
|
||||||
|
|
||||||
private Integer personId;
|
private Integer personId;
|
||||||
private String message;
|
private String message;
|
||||||
|
|
@ -0,0 +1,28 @@
|
|||||||
|
package org.sadtech.bot.core.domain.content;
|
||||||
|
|
||||||
|
public class GeoCoordinate {
|
||||||
|
|
||||||
|
private Float latitude;
|
||||||
|
private Float longitude;
|
||||||
|
|
||||||
|
public GeoCoordinate(Float latitude, Float longitude) {
|
||||||
|
this.latitude = latitude;
|
||||||
|
this.longitude = longitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Float getLatitude() {
|
||||||
|
return latitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLatitude(Float latitude) {
|
||||||
|
this.latitude = latitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Float getLongitude() {
|
||||||
|
return longitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLongitude(Float longitude) {
|
||||||
|
this.longitude = longitude;
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package org.sadtech.bot.core.domain;
|
package org.sadtech.bot.core.domain.content;
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.attachment.Attachment;
|
import org.sadtech.bot.core.domain.attachment.Attachment;
|
||||||
|
|
@ -2,6 +2,7 @@ package org.sadtech.bot.core.domain.keyboard;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
public class KeyBoard {
|
public class KeyBoard {
|
||||||
|
|
||||||
@ -45,4 +46,26 @@ public class KeyBoard {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (!(o instanceof KeyBoard)) return false;
|
||||||
|
KeyBoard keyBoard = (KeyBoard) o;
|
||||||
|
return oneTime == keyBoard.oneTime &&
|
||||||
|
Objects.equals(keyBoardLines, keyBoard.keyBoardLines);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(keyBoardLines, oneTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "KeyBoard{" +
|
||||||
|
"keyBoardLines=" + keyBoardLines +
|
||||||
|
", oneTime=" + oneTime +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package org.sadtech.bot.core.domain.keyboard;
|
package org.sadtech.bot.core.domain.keyboard;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class KeyBoardButton {
|
public class KeyBoardButton {
|
||||||
@ -10,7 +8,7 @@ public class KeyBoardButton {
|
|||||||
private String label;
|
private String label;
|
||||||
private ButtonColor color = ButtonColor.DEFAULT;
|
private ButtonColor color = ButtonColor.DEFAULT;
|
||||||
|
|
||||||
public KeyBoardButton() {
|
private KeyBoardButton() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -26,13 +24,6 @@ public class KeyBoardButton {
|
|||||||
return color;
|
return color;
|
||||||
}
|
}
|
||||||
|
|
||||||
private JsonObject generateAction() {
|
|
||||||
JsonObject action = new JsonObject();
|
|
||||||
action.addProperty("payload", payload);
|
|
||||||
action.addProperty("label", label);
|
|
||||||
return action;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Builder builder() {
|
public static Builder builder() {
|
||||||
return new KeyBoardButton().new Builder();
|
return new KeyBoardButton().new Builder();
|
||||||
}
|
}
|
||||||
@ -68,14 +59,23 @@ public class KeyBoardButton {
|
|||||||
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 that = (KeyBoardButton) o;
|
KeyBoardButton button = (KeyBoardButton) o;
|
||||||
return Objects.equals(payload, that.payload) &&
|
return Objects.equals(payload, button.payload) &&
|
||||||
Objects.equals(label, that.label) &&
|
Objects.equals(label, button.label) &&
|
||||||
color == that.color;
|
color == button.color;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hash(payload, label, color);
|
return Objects.hash(payload, label, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "KeyBoardButton{" +
|
||||||
|
"payload='" + payload + '\'' +
|
||||||
|
", label='" + label + '\'' +
|
||||||
|
", color=" + color +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,19 +2,16 @@ package org.sadtech.bot.core.domain.keyboard;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
public class KeyBoardLine {
|
public class KeyBoardLine {
|
||||||
|
|
||||||
private List<KeyBoardButton> keyBoardButtons = new ArrayList<>();
|
private List<KeyBoardButton> keyBoardButtons = new ArrayList<>();
|
||||||
|
|
||||||
public KeyBoardLine() {
|
private KeyBoardLine() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public KeyBoardLine(List<KeyBoardButton> keyBoardButtons) {
|
|
||||||
this.keyBoardButtons = keyBoardButtons;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<KeyBoardButton> getKeyBoardButtons() {
|
public List<KeyBoardButton> getKeyBoardButtons() {
|
||||||
return keyBoardButtons;
|
return keyBoardButtons;
|
||||||
}
|
}
|
||||||
@ -38,4 +35,24 @@ public class KeyBoardLine {
|
|||||||
return KeyBoardLine.this;
|
return KeyBoardLine.this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (!(o instanceof KeyBoardLine)) return false;
|
||||||
|
KeyBoardLine that = (KeyBoardLine) o;
|
||||||
|
return Objects.equals(keyBoardButtons, that.keyBoardButtons);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(keyBoardButtons);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "KeyBoardLine{" +
|
||||||
|
"keyBoardButtons=" + keyBoardButtons +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -67,12 +67,25 @@ public class Account {
|
|||||||
return Objects.equals(id, account.id) &&
|
return Objects.equals(id, account.id) &&
|
||||||
Objects.equals(totalSum, account.totalSum) &&
|
Objects.equals(totalSum, account.totalSum) &&
|
||||||
Objects.equals(belongsPersonId, account.belongsPersonId) &&
|
Objects.equals(belongsPersonId, account.belongsPersonId) &&
|
||||||
|
Objects.equals(extinguishedPersonId, account.extinguishedPersonId) &&
|
||||||
Objects.equals(description, account.description) &&
|
Objects.equals(description, account.description) &&
|
||||||
accountStatus == account.accountStatus;
|
accountStatus == account.accountStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hash(id, totalSum, belongsPersonId, description, accountStatus);
|
return Objects.hash(id, totalSum, belongsPersonId, extinguishedPersonId, description, accountStatus);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Account{" +
|
||||||
|
"id=" + id +
|
||||||
|
", totalSum=" + totalSum +
|
||||||
|
", belongsPersonId=" + belongsPersonId +
|
||||||
|
", extinguishedPersonId=" + extinguishedPersonId +
|
||||||
|
", description='" + description + '\'' +
|
||||||
|
", accountStatus=" + accountStatus +
|
||||||
|
'}';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,23 +4,18 @@ import java.time.LocalDateTime;
|
|||||||
|
|
||||||
public class AppBotException extends RuntimeException {
|
public class AppBotException extends RuntimeException {
|
||||||
|
|
||||||
private final String type = "ERROR";
|
private static final String TYPE = "ERROR";
|
||||||
private final LocalDateTime timeError = LocalDateTime.now();
|
private final LocalDateTime timeError = LocalDateTime.now();
|
||||||
protected Integer code;
|
protected final Integer code;
|
||||||
protected String description;
|
protected final String description;
|
||||||
|
|
||||||
public AppBotException(String message, Integer code) {
|
public AppBotException(Integer code, String message) {
|
||||||
super(message);
|
|
||||||
this.description = message;
|
this.description = message;
|
||||||
this.code = code;
|
this.code = code;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AppBotException(Integer code) {
|
|
||||||
this.code = code;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getType() {
|
public String getType() {
|
||||||
return type;
|
return TYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
public LocalDateTime getTimeError() {
|
public LocalDateTime getTimeError() {
|
||||||
|
@ -2,9 +2,8 @@ package org.sadtech.bot.core.exception;
|
|||||||
|
|
||||||
public class MailSendException extends AppBotException {
|
public class MailSendException extends AppBotException {
|
||||||
|
|
||||||
public final static Integer CODE = 1;
|
|
||||||
|
|
||||||
public MailSendException() {
|
public MailSendException() {
|
||||||
super(CODE);
|
super(1, "Ошибка отправки сообщения");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,12 +2,8 @@ package org.sadtech.bot.core.exception;
|
|||||||
|
|
||||||
public class PaymentException extends AppBotException {
|
public class PaymentException extends AppBotException {
|
||||||
|
|
||||||
public PaymentException(String message, Integer code) {
|
public PaymentException(Integer code, String message) {
|
||||||
super(message, code);
|
super(code, message);
|
||||||
}
|
|
||||||
|
|
||||||
public PaymentException(Integer code) {
|
|
||||||
super(code);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
package org.sadtech.bot.core.filter;
|
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.Content;
|
|
||||||
|
|
||||||
public interface Filter<T extends Content> {
|
|
||||||
|
|
||||||
void doFilter(T content);
|
|
||||||
|
|
||||||
}
|
|
@ -1,6 +1,6 @@
|
|||||||
package org.sadtech.bot.core.repository;
|
package org.sadtech.bot.core.repository;
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.Mail;
|
import org.sadtech.bot.core.domain.content.Mail;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
package org.sadtech.bot.core.repository;
|
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.Person;
|
|
||||||
|
|
||||||
public interface PersonRepository {
|
|
||||||
|
|
||||||
void add(Person person);
|
|
||||||
|
|
||||||
Person get(Integer id);
|
|
||||||
|
|
||||||
}
|
|
@ -6,7 +6,7 @@ import org.sadtech.bot.core.repository.AccountRepository;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class AccountRepositoryImpl implements AccountRepository {
|
public class AccountRepositoryMap implements AccountRepository {
|
||||||
|
|
||||||
private final Map<Integer, Account> saveMap = new HashMap<>();
|
private final Map<Integer, Account> saveMap = new HashMap<>();
|
||||||
private Integer id = 0;
|
private Integer id = 0;
|
@ -1,6 +1,6 @@
|
|||||||
package org.sadtech.bot.core.repository.impl;
|
package org.sadtech.bot.core.repository.impl;
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.Mail;
|
import org.sadtech.bot.core.domain.content.Mail;
|
||||||
import org.sadtech.bot.core.repository.EventRepository;
|
import org.sadtech.bot.core.repository.EventRepository;
|
||||||
import org.sadtech.bot.core.repository.MailRepository;
|
import org.sadtech.bot.core.repository.MailRepository;
|
||||||
|
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
package org.sadtech.bot.core.repository.impl;
|
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.Person;
|
|
||||||
import org.sadtech.bot.core.repository.EventRepository;
|
|
||||||
import org.sadtech.bot.core.repository.PersonRepository;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Queue;
|
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
|
||||||
|
|
||||||
public class PersonRepositoryMap implements EventRepository<Person>, PersonRepository {
|
|
||||||
|
|
||||||
private final Map<Integer, Person> personMap = new HashMap<>();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void add(Person person) {
|
|
||||||
personMap.put(person.getId(), person);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void cleanAll() {
|
|
||||||
personMap.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Queue<Person> getEventQueue() {
|
|
||||||
return new ConcurrentLinkedQueue<>(personMap.values());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Person get(Integer id) {
|
|
||||||
return personMap.get(id);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +1,6 @@
|
|||||||
package org.sadtech.bot.core.service;
|
package org.sadtech.bot.core.service;
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.Mail;
|
import org.sadtech.bot.core.domain.content.Mail;
|
||||||
|
|
||||||
public interface MailService extends EventService<Mail> {
|
public interface MailService extends EventService<Mail> {
|
||||||
|
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
package org.sadtech.bot.core.service;
|
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.Person;
|
|
||||||
|
|
||||||
public interface PersonService {
|
|
||||||
|
|
||||||
void add(Person person);
|
|
||||||
|
|
||||||
Person get(Integer id);
|
|
||||||
|
|
||||||
boolean checkPerson(Integer personId);
|
|
||||||
|
|
||||||
Person createPerson(Integer userId);
|
|
||||||
|
|
||||||
}
|
|
@ -0,0 +1,9 @@
|
|||||||
|
package org.sadtech.bot.core.service.filter;
|
||||||
|
|
||||||
|
import org.sadtech.bot.core.domain.content.Content;
|
||||||
|
|
||||||
|
public interface Filter<T extends Content> {
|
||||||
|
|
||||||
|
void processing(T content);
|
||||||
|
|
||||||
|
}
|
@ -30,7 +30,7 @@ public class AccountServiceImpl implements AccountService {
|
|||||||
} else {
|
} else {
|
||||||
account.setAccountStatus(AccountStatus.EXCEPTION);
|
account.setAccountStatus(AccountStatus.EXCEPTION);
|
||||||
accountRepository.edit(accountId, account);
|
accountRepository.edit(accountId, account);
|
||||||
throw new PaymentException("Неверная сумма", 2);
|
throw new PaymentException(2, "Неверная сумма");
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package org.sadtech.bot.core.service.impl;
|
package org.sadtech.bot.core.service.impl;
|
||||||
|
|
||||||
import org.sadtech.bot.core.domain.Mail;
|
import org.sadtech.bot.core.domain.content.Mail;
|
||||||
import org.sadtech.bot.core.repository.MailRepository;
|
import org.sadtech.bot.core.repository.MailRepository;
|
||||||
import org.sadtech.bot.core.repository.impl.MailRepositoryList;
|
|
||||||
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;
|
||||||
@ -19,10 +18,6 @@ public class MailServiceImpl implements MailService {
|
|||||||
|
|
||||||
private final MailRepository mailRepository;
|
private final MailRepository mailRepository;
|
||||||
|
|
||||||
public MailServiceImpl() {
|
|
||||||
this.mailRepository = new MailRepositoryList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public MailServiceImpl(MailRepository mailRepository) {
|
public MailServiceImpl(MailRepository mailRepository) {
|
||||||
this.mailRepository = mailRepository;
|
this.mailRepository = mailRepository;
|
||||||
}
|
}
|
||||||
@ -30,13 +25,12 @@ public class MailServiceImpl implements MailService {
|
|||||||
@Override
|
@Override
|
||||||
public void add(Mail mail) {
|
public void add(Mail mail) {
|
||||||
mailRepository.add(mail);
|
mailRepository.add(mail);
|
||||||
log.info("Сообщение добавлено в репозиторий");
|
log.info("Сообщение добавлено в репозиторий | {}", mail);
|
||||||
log.info(mail.toString());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Mail> getFirstEventByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
public List<Mail> getFirstEventByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
||||||
log.info("Запрошены сообщения " + timeFrom + " - " + timeTo);
|
log.info("Запрошены сообщения {} - {} ", timeFrom, timeTo);
|
||||||
List<Mail> mails = mailRepository.getMailByTime(timeFrom, timeTo);
|
List<Mail> mails = mailRepository.getMailByTime(timeFrom, timeTo);
|
||||||
Set<Integer> people = new HashSet<>();
|
Set<Integer> people = new HashSet<>();
|
||||||
List<Mail> returnMails = new ArrayList<>();
|
List<Mail> returnMails = new ArrayList<>();
|
||||||
@ -65,7 +59,7 @@ public class MailServiceImpl implements MailService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Mail> getEvent(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
public List<Mail> getEvent(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
||||||
log.info("Запрос на получение сообщений в интервале от " + timeFrom + " до " + timeTo);
|
log.info("Запрошены сообщения {} - {} ", timeFrom, timeTo);
|
||||||
return mailRepository.getMailByTime(timeFrom, timeTo);
|
return mailRepository.getMailByTime(timeFrom, timeTo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ public class EmailSent implements Sent {
|
|||||||
@Override
|
@Override
|
||||||
public void send(Integer personId, String htmlText) {
|
public void send(Integer personId, String htmlText) {
|
||||||
Session session = Session.getDefaultInstance(emailConfig.getProps(), new Authenticator() {
|
Session session = Session.getDefaultInstance(emailConfig.getProps(), new Authenticator() {
|
||||||
|
@Override
|
||||||
protected PasswordAuthentication getPasswordAuthentication() {
|
protected PasswordAuthentication getPasswordAuthentication() {
|
||||||
return new PasswordAuthentication(emailConfig.getUsername(), emailConfig.getPassword());
|
return new PasswordAuthentication(emailConfig.getUsername(), emailConfig.getPassword());
|
||||||
}
|
}
|
||||||
@ -42,6 +43,6 @@ public class EmailSent implements Sent {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void send(Integer personId, BoxAnswer boxAnswer) {
|
public void send(Integer personId, BoxAnswer boxAnswer) {
|
||||||
|
throw new MailSendException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
14
src/main/java/org/sadtech/bot/core/utils/Contents.java
Normal file
14
src/main/java/org/sadtech/bot/core/utils/Contents.java
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
package org.sadtech.bot.core.utils;
|
||||||
|
|
||||||
|
import org.sadtech.bot.core.domain.EmptyContent;
|
||||||
|
|
||||||
|
public class Contents {
|
||||||
|
|
||||||
|
private Contents() {
|
||||||
|
throw new IllegalStateException("Utility class");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final EmptyContent EMPTY_CONTENT = new EmptyContent();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user