Merge branch '82-paper-formatted-list' into 'dev'
Resolve "Метод в rest для список опубликованных статей" Closes #82 See merge request romanov73/ng-tracker!45
This commit is contained in:
commit
0d7c594a94
@ -20,7 +20,6 @@ import ru.ulstu.user.error.UserNotActivatedException;
|
||||
import ru.ulstu.user.error.UserNotFoundException;
|
||||
import ru.ulstu.user.error.UserPasswordsNotValidOrNotMatchException;
|
||||
import ru.ulstu.user.error.UserResetKeyError;
|
||||
import ru.ulstu.user.model.User;
|
||||
import ru.ulstu.user.service.UserService;
|
||||
|
||||
import java.util.Set;
|
||||
@ -28,7 +27,6 @@ import java.util.stream.Collectors;
|
||||
|
||||
@ControllerAdvice
|
||||
public class AdviceController {
|
||||
private final static String USER_NAME_TEMPLATE = "%s %s %s";
|
||||
private final Logger log = LoggerFactory.getLogger(AdviceController.class);
|
||||
private final UserService userService;
|
||||
|
||||
@ -38,11 +36,7 @@ public class AdviceController {
|
||||
|
||||
@ModelAttribute("currentUser")
|
||||
public String getCurrentUser() {
|
||||
User user = userService.getCurrentUser();
|
||||
return String.format(USER_NAME_TEMPLATE,
|
||||
user.getLastName(),
|
||||
user.getFirstName().substring(0, 1),
|
||||
user.getPatronymic().substring(0, 1));
|
||||
return userService.getCurrentUser().getUserAbbreviate();
|
||||
}
|
||||
|
||||
private Response<Void> handleException(ErrorConstants error) {
|
||||
|
@ -51,7 +51,7 @@ public class PaperController {
|
||||
|
||||
@GetMapping("/dashboard")
|
||||
public void getDashboard(ModelMap modelMap) {
|
||||
modelMap.put("papers", paperService.findAllActive());
|
||||
modelMap.put("papers", paperService.findAllActiveDto());
|
||||
}
|
||||
|
||||
@GetMapping("/paper")
|
||||
|
@ -61,4 +61,9 @@ public class PaperRestController {
|
||||
public Response<List<PaperDto>> filter(@RequestBody @Valid PaperFilterDto paperFilterDto) throws IOException {
|
||||
return new Response<>(paperService.filter(paperFilterDto));
|
||||
}
|
||||
|
||||
@GetMapping("formatted-list")
|
||||
public Response<List<String>> getFormattedPaperList() {
|
||||
return new Response<>(paperService.getFormattedPaperList());
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,7 @@ import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static java.util.stream.Collectors.toList;
|
||||
import static org.springframework.util.ObjectUtils.isEmpty;
|
||||
@ -34,6 +35,7 @@ import static ru.ulstu.paper.model.Paper.PaperStatus.ON_PREPARATION;
|
||||
@Service
|
||||
public class PaperService {
|
||||
private final static int MAX_DISPLAY_SIZE = 40;
|
||||
private final static String PAPER_FORMATTED_TEMPLATE = "%s %s";
|
||||
|
||||
private final PaperNotificationService paperNotificationService;
|
||||
private final PaperRepository paperRepository;
|
||||
@ -66,13 +68,17 @@ public class PaperService {
|
||||
return papers;
|
||||
}
|
||||
|
||||
public List<PaperDto> findAllActive() {
|
||||
return findAllDto()
|
||||
public List<Paper> findAllActive() {
|
||||
return findAll()
|
||||
.stream()
|
||||
.filter(paper -> paper.getStatus() != COMPLETED && paper.getStatus() != FAILED)
|
||||
.collect(toList());
|
||||
}
|
||||
|
||||
public List<PaperDto> findAllActiveDto() {
|
||||
return convert(findAllActive(), PaperDto::new);
|
||||
}
|
||||
|
||||
public PaperDto findOneDto(Integer id) {
|
||||
return new PaperDto(paperRepository.findOne(id));
|
||||
}
|
||||
@ -212,4 +218,25 @@ public class PaperService {
|
||||
public List<User> getPaperAuthors() {
|
||||
return userService.findAll();
|
||||
}
|
||||
|
||||
public List<String> getFormattedPaperList() {
|
||||
return findAllCompleted()
|
||||
.stream()
|
||||
.map(paper -> String.format(PAPER_FORMATTED_TEMPLATE, paper.getTitle(), getAuthors(paper)))
|
||||
.collect(toList());
|
||||
}
|
||||
|
||||
private List<Paper> findAllCompleted() {
|
||||
return findAll()
|
||||
.stream()
|
||||
.filter(paper -> paper.getStatus() == COMPLETED)
|
||||
.collect(toList());
|
||||
}
|
||||
|
||||
private String getAuthors(Paper paper) {
|
||||
return paper.getAuthors()
|
||||
.stream()
|
||||
.map(User::getUserAbbreviate)
|
||||
.collect(Collectors.joining(", "));
|
||||
}
|
||||
}
|
||||
|
@ -24,6 +24,8 @@ import java.util.Set;
|
||||
@Entity
|
||||
@Table(name = "users")
|
||||
public class User extends BaseEntity {
|
||||
private final static String USER_ABBREVIATE_TEMPLATE = "%s %s%s";
|
||||
|
||||
@NotNull
|
||||
@Pattern(regexp = Constants.LOGIN_REGEX)
|
||||
@Size(min = 1, max = 50)
|
||||
@ -186,4 +188,11 @@ public class User extends BaseEntity {
|
||||
public void setPatronymic(String patronymic) {
|
||||
this.patronymic = patronymic;
|
||||
}
|
||||
|
||||
public String getUserAbbreviate() {
|
||||
return String.format(USER_ABBREVIATE_TEMPLATE,
|
||||
lastName == null ? "" : lastName,
|
||||
firstName == null ? "" : firstName.substring(0, 1) + ".",
|
||||
patronymic == null ? "" : patronymic.substring(0, 1) + ".");
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user