Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
abf42fe
Добавил еще одно поле с профилями в соцсетях!
Boofoonazail Sep 18, 2019
c10f509
Все вернул на места свои!
Boofoonazail Sep 18, 2019
b7507d4
Создал класс клиентов для работы со студентами на странице "Все студе…
Boofoonazail Sep 18, 2019
9f85468
Сообразил класс со студентами для работы со страницей "Все студенты"!
Boofoonazail Sep 18, 2019
ec59ab6
Главный класс, который и будет являться всей и вся для страницы "Все …
Boofoonazail Sep 18, 2019
c71526c
Добавил методы для работы с классами!
Boofoonazail Sep 18, 2019
115a1db
Переписал классы ДТО и удалил ненужный.
Boofoonazail Sep 20, 2019
f01fd97
Добавил в StudentRepositoryImpl.java новый метод, связанный с ДТО и s…
Boofoonazail Sep 21, 2019
927e642
Правильно переименовал метод!
Boofoonazail Sep 21, 2019
4db7132
Изменил описание метода!
Boofoonazail Sep 22, 2019
618b09c
Добавил новый метод для получения всех студентов!
Boofoonazail Sep 22, 2019
703052f
Создал еще одну ДТО для работы со студентом!
Boofoonazail Sep 22, 2019
a348a60
Создал еще одну ДТО для работы со студентами!
Boofoonazail Sep 22, 2019
227ad51
Изменил метод, добавил проверку на null!
Boofoonazail Sep 25, 2019
2734761
Участок кода, который надо будет закомментировать, чтобы переделать все
Boofoonazail Sep 26, 2019
c0ed619
Сделал дополнительный метод, который вытаскивает всех студентов, как …
Boofoonazail Sep 26, 2019
392e466
Merge branch 'dev' into feature/905/dto-for-all-students-page
Boofoonazail Sep 26, 2019
64c3715
Добавил небольшой комментарий к методу!
Boofoonazail Sep 26, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/main/java/com/ewp/crm/controllers/StudentController.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,11 @@ public ModelAndView showAllStudents(@AuthenticationPrincipal User userFromSessio
} else {
modelAndView.addObject("defaultStatusForRejectedStudent", "");
}
modelAndView.addObject("students", studentService.getAll());
modelAndView.addObject("students", studentService.getAll()); //Надо закомментировать, так как будет использоваться рест!
modelAndView.addObject("statuses", statusService.getAll());
modelAndView.addObject("emailTmpl", messageTemplateService.getAll());
modelAndView.addObject("slackWorkspaceUrl", slackService.getSlackWorkspaceUrl());
return modelAndView;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ public class StudentRestController {

private final ClientStatusChangingHistoryService clientStatusChangingHistoryService;



@Autowired
public StudentRestController(StudentService studentService, ClientService clientService,
ClientHistoryService clientHistoryService, StudentStatusService studentStatusService,
Expand Down Expand Up @@ -259,4 +261,12 @@ private void updateNotification(boolean status, Long id, User userFromSession, H
studentService.update(current);
clientService.updateClient(client);
}

@GetMapping("/all")
public ResponseEntity getStudentDtoForPageOfAll() {
if (studentService.getStudentDtoForAllStudentsPage() == null) {
return new ResponseEntity(HttpStatus.NOT_FOUND);
}
return ResponseEntity.ok(studentService.getStudentDtoForAllStudentsPage());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
package com.ewp.crm.models.dto.all_students_page;

import com.ewp.crm.models.Client;
import com.ewp.crm.models.SocialProfile;
import com.ewp.crm.models.dto.StatusDto;
import com.ewp.crm.util.Constants;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

/**
* Этот класс нужен для страницы "Все страницы", чтобы собрать необходимую информацию о клиенте.
* Поля клиента, которые используются в all-students-table.html:
* a) status
* b) name
* c) lastName
* d) email
* e) phoneNumber
* f) socialProfiles
* g) id
*/
public class ClientDtoForAllStudentsPage {

private long id;
private String name;
private String lastName;
private String phoneNumber;
private StatusDto statusDto;
private String email;
private List<SocialNetworkDto> socialNetworkDtos = new ArrayList<>();


public ClientDtoForAllStudentsPage() {
}

public ClientDtoForAllStudentsPage(long id, String name, String lastName, String phoneNumber, StatusDto statusDto, String email, List<SocialNetworkDto> socialNetworkDtos) {
this.id = id;
this.name = name;
this.lastName = lastName;
this.phoneNumber = phoneNumber;
this.statusDto = statusDto;
this.email = email;
this.socialNetworkDtos = socialNetworkDtos;
}

public long getId() {
return id;
}

public void setId(long id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

public String getPhoneNumber() {
return phoneNumber;
}

public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public StatusDto getStatusDto() {
return statusDto;
}

public void setStatusDto(StatusDto statusDto) {
this.statusDto = statusDto;
}

public List<SocialNetworkDto> getSocialProfilesDto() {
return socialNetworkDtos;
}

public void setSocialProfiles(List<SocialNetworkDto> socialNetworkDtos) {
this.socialNetworkDtos = socialNetworkDtos;
}

/**
* Данный метод получает клиента и на выходе дает DTO этого клиента, необходим для работы с - StudentDto.java,
* @param client - получаемый клиент,
* @return - возвращаемый клиент.
*/
public static ClientDtoForAllStudentsPage getClientDtoForAllStudentsPage(Client client) {
ClientDtoForAllStudentsPage clientDtoForAllStudentsPage = new ClientDtoForAllStudentsPage();

clientDtoForAllStudentsPage.id = client.getId();
clientDtoForAllStudentsPage.name = client.getName();
clientDtoForAllStudentsPage.lastName = client.getLastName();

Optional<String> emailOptional = client.getEmail();
clientDtoForAllStudentsPage.email = emailOptional.orElse(Constants.EMPTY_STRING);
Optional<String> phoneNumberOptional = client.getPhoneNumber();
clientDtoForAllStudentsPage.phoneNumber = phoneNumberOptional.orElse(Constants.EMPTY_STRING);

clientDtoForAllStudentsPage.socialNetworkDtos = SocialNetworkDto.getSocialNetworkDtos(client.getSocialProfiles());
clientDtoForAllStudentsPage.statusDto = StatusDto.getStatusDto(client.getStatus());

return clientDtoForAllStudentsPage;
}

public static List<ClientDtoForAllStudentsPage> getListClientDtoForAllStudentsPage(List<Client> clients) {
return clients
.stream()
.map(ClientDtoForAllStudentsPage::getClientDtoForAllStudentsPage)
.collect(Collectors.toList());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package com.ewp.crm.models.dto.all_students_page;

import com.ewp.crm.models.SocialProfile;

import java.util.List;
import java.util.stream.Collectors;

public class SocialNetworkDto {
private long id;
private String socialId;
private SocialProfile.SocialNetworkType socialNetworkType;

public SocialNetworkDto() {
}

public SocialNetworkDto(long id, String socialId, SocialProfile.SocialNetworkType socialNetworkType) {
this.id = id;
this.socialId = socialId;
this.socialNetworkType = socialNetworkType;
}

public long getId() {
return id;
}

public void setId(long id) {
this.id = id;
}

public String getSocialId() {
return socialId;
}

public void setSocialId(String socialId) {
this.socialId = socialId;
}

public SocialProfile.SocialNetworkType getSocialNetworkType() {
return socialNetworkType;
}

public void setSocialNetworkType(SocialProfile.SocialNetworkType socialNetworkType) {
this.socialNetworkType = socialNetworkType;
}

public static SocialNetworkDto getSocialNetworkDto(SocialProfile socialProfile) {
SocialNetworkDto socialNetworkDto = new SocialNetworkDto();

socialNetworkDto.id = socialProfile.getId();
socialNetworkDto.socialId = socialProfile.getSocialId();
socialNetworkDto.socialNetworkType = socialProfile.getSocialNetworkType();

return socialNetworkDto;
}

public static List<SocialNetworkDto> getSocialNetworkDtos(List<SocialProfile> socialProfiles) {
return socialProfiles
.stream()
.map(SocialNetworkDto::getSocialNetworkDto)
.collect(Collectors.toList());

}
}
Loading