diff --git a/src/main/java/com/alterdekim/game/controller/AsyncController.java b/src/main/java/com/alterdekim/game/controller/AsyncController.java index e78546f..bf4f463 100644 --- a/src/main/java/com/alterdekim/game/controller/AsyncController.java +++ b/src/main/java/com/alterdekim/game/controller/AsyncController.java @@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -114,8 +115,12 @@ public class AsyncController { List cdatas = new ArrayList<>(); cdatas.add(new ServerActionConfig(items)); cdatas.add(new ServerActionSystem(1, "cache/resources.swf")); // swf/cache/rus/resources[19].swf - cdatas.add(new ServerActionUser(user.getId(), AuthenticationUtil.getToken(user), AuthenticationUtil.getToken(user), 2)); - cdatas.add(new ServerActionServers(s_items)); + if( !user.getIsBanned() ) { + cdatas.add(new ServerActionUser(user.getId(), AuthenticationUtil.getToken(user), AuthenticationUtil.getToken(user), 2, null, null)); + cdatas.add(new ServerActionServers(s_items)); + } else { + cdatas.add(new ServerActionUser(user.getId(), null, null, 0, LocalDateTime.now(), 162L)); + } serverActionResult.setCdata(cdatas); return ResponseEntity.ok() .contentType(MediaType.APPLICATION_XML) diff --git a/src/main/java/com/alterdekim/game/controller/result/async/ServerActionUser.java b/src/main/java/com/alterdekim/game/controller/result/async/ServerActionUser.java index 9615cc4..fc4db13 100644 --- a/src/main/java/com/alterdekim/game/controller/result/async/ServerActionUser.java +++ b/src/main/java/com/alterdekim/game/controller/result/async/ServerActionUser.java @@ -1,11 +1,15 @@ package com.alterdekim.game.controller.result.async; +import com.alterdekim.game.xml.LocalDateTimeSerializer; import com.fasterxml.jackson.annotation.JsonRootName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import lombok.AllArgsConstructor; import lombok.NoArgsConstructor; import lombok.Setter; +import java.time.LocalDateTime; + @Setter @AllArgsConstructor @NoArgsConstructor @@ -23,4 +27,11 @@ public class ServerActionUser extends ServerActionCData { @JacksonXmlProperty(isAttribute = true, localName = "RoleFlags") private Integer roleFlags; + + @JacksonXmlProperty(isAttribute = true, localName = "BanDateExpired") + @JsonSerialize(using = LocalDateTimeSerializer.class) + private LocalDateTime banDateExpired; + + @JacksonXmlProperty(isAttribute = true, localName = "BanTextResourceID") + private Long banTextResourceID; } diff --git a/src/main/java/com/alterdekim/game/entity/User.java b/src/main/java/com/alterdekim/game/entity/User.java index ba67273..246fed2 100644 --- a/src/main/java/com/alterdekim/game/entity/User.java +++ b/src/main/java/com/alterdekim/game/entity/User.java @@ -46,6 +46,9 @@ public class User { inverseJoinColumns={@JoinColumn(name="ROLE_ID", referencedColumnName="ID")}) private List roles = new ArrayList<>(); + @Column(nullable = false) + private Boolean isBanned = false; + public User(Long id, String username) { this.id = id; this.username = username;