package github.benjamin.equipreservebackend.vo; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import github.benjamin.equipreservebackend.entity.Team; import github.benjamin.equipreservebackend.entity.User; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Map; @Data @AllArgsConstructor @NoArgsConstructor public class UserVO { @JsonSerialize(using = ToStringSerializer.class) private Long userId; private String username; private String team; @JsonSerialize(using = ToStringSerializer.class) private Long teamId; private String name; private String phone; @JsonSerialize(using = ToStringSerializer.class) private Long roleId; public UserVO(User u, Team t) { this.userId = u.getId(); this.username = u.getUsername(); this.name = u.getName(); this.phone = u.getPhone(); this.team = t.getName(); this.teamId = u.getId(); } public UserVO(User u, Map teamMap, Map roleMap) { this.userId = u.getId(); this.username = u.getUsername(); this.name = u.getName(); this.phone = u.getPhone(); this.team = teamMap.get(u.getTeamId()).getName(); this.teamId = u.getTeamId(); this.roleId = roleMap.get(u.getId()); } }