Чёт делается.

This commit is contained in:
Programmist73 2023-05-12 19:56:55 +04:00
parent fc65e71ffa
commit 42e4e9c1cc
4 changed files with 82 additions and 13 deletions

View File

@ -2,27 +2,32 @@ package premium_store.controller.DTO;
import com.fasterxml.jackson.annotation.JsonProperty;
import premium_store.model.GameClient;
import premium_store.model.UserRole;
import java.util.List;
//класс, который соединяет танки клиента в одну строчку (нам так захотелось)
public class ClientDTO {
private long id;
private String nickName;
private String login;
private String email;
private String password;
private Integer balance;
private List<TankDTO> tanks;
private UserRole role;
public ClientDTO(){ }
public ClientDTO(GameClient gameClient){
this.id = gameClient.getId();
this.nickName = gameClient.getLogin();
this.login = gameClient.getLogin();
this.password = gameClient.getPassword();
this.email = gameClient.getEmail();
this.balance = gameClient.getBalance();
this.tanks = gameClient.getTanks().stream()
.map(TankDTO::new)
.toList();
this.role = gameClient.getRole();
}
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
@ -34,12 +39,12 @@ public class ClientDTO {
this.id = id;
}
public String getNickName(){
return nickName;
public String getLogin(){
return login;
}
public void setNickName(String nickName) {
this.nickName = nickName;
public void setLogin(String login) {
this.login = login;
}
public String getEmail(){
@ -50,6 +55,14 @@ public class ClientDTO {
this.email = email;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
public Integer getBalance(){
return balance;
}
@ -69,4 +82,12 @@ public class ClientDTO {
public void setTanks(List<TankDTO> tanks) {
this.tanks = tanks;
}
public UserRole getRole() {
return role;
}
public void setRole(UserRole role) {
this.role = role;
}
}

View File

@ -7,19 +7,25 @@ public class UserSignupDto {
@NotBlank
@Size(min = 3, max = 64)
private String login;
@NotBlank
@Size(min = 6, max = 64)
private String password;
@NotBlank
private String email;
@NotBlank
@Size(min = 6, max = 64)
private String passwordConfirm;
public UserSignupDto() {}
public UserSignupDto( String login, String password, String passwordConfirm) {
public UserSignupDto(String login, String password, String passwordConfirm, String email) {
this.login = login;
this.password = password;
this.passwordConfirm = passwordConfirm;
this.email = email;
}
public void setLogin(String login){
@ -34,6 +40,10 @@ public class UserSignupDto {
this.passwordConfirm = passwordConfirm;
}
public void setEmail(String email) {
this.email = email;
}
public String getLogin(){
return login;
}
@ -45,4 +55,8 @@ public class UserSignupDto {
public String getPasswordConfirm(){
return passwordConfirm;
}
public String getEmail() {
return email;
}
}

View File

@ -1,5 +1,10 @@
package premium_store.model;
import org.h2.engine.User;
import premium_store.controller.DTO.ClientDTO;
import premium_store.controller.DTO.TankDTO;
import premium_store.controller.DTO.UserSignupDto;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;
@ -28,13 +33,30 @@ public class GameClient {
@OneToMany(fetch = FetchType.EAGER)
private List<Tank> tanks = new ArrayList<>();
private UserRole role;
public GameClient(){ }
public GameClient(String login, String email, String password, Integer balance){
public GameClient(String login, String email, String password, Integer balance, UserRole role){
this.login = login;
this.email = email;
this.password = password;
this.balance = balance;
this.role = role;
}
public GameClient(ClientDTO clientDTO){
this.login = clientDTO.getLogin();
this.password = clientDTO.getPassword();
this.email = clientDTO.getEmail();
this.role = clientDTO.getRole();
}
public GameClient(UserSignupDto userSignupDto){
this.login = userSignupDto.getLogin();
this.email = userSignupDto.getEmail();
this.password = userSignupDto.getPassword();
this.role = UserRole.USER;
}
public Long getId(){
@ -81,6 +103,14 @@ public class GameClient {
this.tanks.add(tank);
}
public UserRole getRole() {
return role;
}
public void setRole(UserRole role) {
this.role = role;
}
//метод для сравнения
@Override
public boolean equals(Object o) {
@ -104,11 +134,13 @@ public class GameClient {
@Override
public String toString() {
return "Client{" +
"id=" + id +
", nickName='" + login + '\'' +
", email='" + email + '\'' +
", balance='" + balance + '\'' +
", tanks='" + tanks.stream().map(Object::toString).collect(Collectors.joining(", ")) + '\'' +
"id =" + id +
", login ='" + login + '\'' +
", password ='" + password + '\'' +
", email ='" + email + '\'' +
", balance ='" + balance + '\'' +
", tanks ='" + tanks.stream().map(Object::toString).collect(Collectors.joining(", ")) + '\'' +
", role ='" + role + '\'' +
'}';
}
}

View File

@ -1,5 +1,7 @@
package premium_store.model;
import premium_store.controller.DTO.TankDTO;
import javax.persistence.*;
import java.util.Objects;