start conference controller
This commit is contained in:
parent
6cf627bf02
commit
8e89ec08a7
@ -0,0 +1,60 @@
|
||||
package ru.ulstu.activity.conference;
|
||||
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import ru.ulstu.activity.api.ActivityController;
|
||||
import ru.ulstu.activity.conference.model.ConferenceDashboardDto;
|
||||
import ru.ulstu.activity.conference.model.ConferenceDto;
|
||||
import ru.ulstu.activity.conference.model.ConferenceListDto;
|
||||
import ru.ulstu.activity.conference.service.ConferenceService;
|
||||
import ru.ulstu.core.model.response.PageableItems;
|
||||
import ru.ulstu.core.model.response.Response;
|
||||
|
||||
public class ConferenceController extends ActivityController<ConferenceListDto, ConferenceDashboardDto, ConferenceDto> {
|
||||
|
||||
private final ConferenceService conferenceService;
|
||||
|
||||
public ConferenceController(ConferenceService conferenceService) {
|
||||
this.conferenceService = conferenceService;
|
||||
}
|
||||
|
||||
@Override
|
||||
@GetMapping("list")
|
||||
public Response<PageableItems<ConferenceListDto>> getList(@RequestParam(value = "offset", defaultValue = "0") int offset,
|
||||
@RequestParam(value = "count", defaultValue = "0") int count) {
|
||||
return new Response<>(conferenceService.findAllDto(offset, count));
|
||||
}
|
||||
|
||||
@Override
|
||||
@GetMapping("dashboard")
|
||||
public Response<PageableItems<ConferenceDashboardDto>> getDashboard(@RequestParam(value = "offset", defaultValue = "0") int offset,
|
||||
@RequestParam(value = "count", defaultValue = "0") int count) {
|
||||
return new Response<>(conferenceService.findAllActiveDto(offset, count));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Response<ConferenceDto> get(@PathVariable("grant-id") Integer entityId) {
|
||||
return new Response<>(conferenceService.findById(entityId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Response<ConferenceDto> create(ConferenceDto entity) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Response<ConferenceDto> update(ConferenceDto entity) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Response<Boolean> delete(Integer entityId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ping(int entityId) {
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package ru.ulstu.activity.conference.model;
|
||||
|
||||
import ru.ulstu.activity.api.model.ActivityDashboardDto;
|
||||
import ru.ulstu.activity.common.model.ScienceGroupMemberDto;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import static ru.ulstu.core.util.StreamApiUtils.convert;
|
||||
|
||||
public class ConferenceDashboardDto extends ActivityDashboardDto {
|
||||
private final Set<ScienceGroupMemberDto> members;
|
||||
|
||||
public ConferenceDashboardDto(Conference conference) {
|
||||
super(conference.getId(), conference.getTitle());
|
||||
this.members = convert(conference.getActivityMembers(), ScienceGroupMemberDto::new);
|
||||
}
|
||||
|
||||
public Set<ScienceGroupMemberDto> getAuthors() {
|
||||
return members;
|
||||
}
|
||||
}
|
@ -1,5 +1,7 @@
|
||||
package ru.ulstu.activity.conference.repository;
|
||||
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
@ -17,7 +19,7 @@ public interface ConferenceRepository extends JpaRepository<Conference, Integer>
|
||||
List<Conference> findByUserAndYear(@Param("user") User user, @Param("year") Integer year);
|
||||
|
||||
@Query("SELECT c FROM Conference c WHERE c.beginDate > :date")
|
||||
List<Conference> findAllActive(@Param("date") Date date);
|
||||
Page<Conference> findAllActive(Pageable pageable, @Param("date") Date date);
|
||||
|
||||
@Query("SELECT case when count(c) > 0 then true else false end FROM Conference c JOIN c.papers p WHERE p.id = :paperId")
|
||||
boolean isPaperAttached(@Param("paperId") Integer paperId);
|
||||
|
@ -3,14 +3,9 @@ package ru.ulstu.activity.conference.service;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.validation.Errors;
|
||||
import ru.ulstu.activity.common.service.AbstractActivityService;
|
||||
import ru.ulstu.activity.conference.model.Conference;
|
||||
import ru.ulstu.activity.conference.model.ConferenceDto;
|
||||
import ru.ulstu.activity.conference.model.ConferenceFilterDto;
|
||||
import ru.ulstu.activity.conference.model.ConferenceListDto;
|
||||
import ru.ulstu.activity.conference.model.ConferenceUser;
|
||||
import ru.ulstu.activity.conference.model.*;
|
||||
import ru.ulstu.activity.conference.repository.ConferenceRepository;
|
||||
import ru.ulstu.activity.deadline.model.Deadline;
|
||||
import ru.ulstu.activity.deadline.service.DeadlineService;
|
||||
@ -32,6 +27,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
import static org.springframework.util.ObjectUtils.isEmpty;
|
||||
import static ru.ulstu.core.util.StreamApiUtils.convert;
|
||||
import static ru.ulstu.core.util.StreamApiUtils.convertPageable;
|
||||
|
||||
@Service
|
||||
public class ConferenceService extends AbstractActivityService<ConferenceListDto, Conference, ConferenceDto> {
|
||||
@ -239,12 +235,14 @@ public class ConferenceService extends AbstractActivityService<ConferenceListDto
|
||||
|
||||
}
|
||||
|
||||
public List<ConferenceDto> findAllActiveDto() {
|
||||
return convert(findAllActive(), ConferenceDto::new);
|
||||
public PageableItems<ConferenceDashboardDto> findAllActiveDto(int offset, int count) {
|
||||
return convertPageable(findAllActive(offset, count), ConferenceDashboardDto::new);
|
||||
}
|
||||
|
||||
private List<Conference> findAllActive() {
|
||||
return conferenceRepository.findAllActive(new Date());
|
||||
private PageableItems<Conference> findAllActive(int offset, int count) {
|
||||
Page<Conference> activeConferencePage = conferenceRepository
|
||||
.findAllActive(new OffsetablePageRequest(offset, count), new Date());
|
||||
return new PageableItems<>(activeConferencePage.getTotalElements(), activeConferencePage.getContent());
|
||||
}
|
||||
|
||||
public boolean isAttachedToConference(Integer paperId) {
|
||||
@ -253,34 +251,16 @@ public class ConferenceService extends AbstractActivityService<ConferenceListDto
|
||||
|
||||
@Transactional
|
||||
public void ping(ConferenceDto conferenceDto) throws IOException {
|
||||
pingService.addPing(findOne(conferenceDto.getId()));
|
||||
pingService.addPing(findConferenceById(conferenceDto.getId()));
|
||||
conferenceRepository.updatePingConference(conferenceDto.getId());
|
||||
}
|
||||
|
||||
private Conference findOne(Integer conferenceId) {
|
||||
return conferenceRepository.getOne(conferenceId);
|
||||
public ConferenceDto findById(Integer id) {
|
||||
return new ConferenceDto(findConferenceById(id));
|
||||
}
|
||||
|
||||
public void setChartData(ModelMap modelMap) {
|
||||
//first, add the regional sales
|
||||
Integer northeastSales = 17089;
|
||||
Integer westSales = 10603;
|
||||
Integer midwestSales = 5223;
|
||||
Integer southSales = 10111;
|
||||
|
||||
modelMap.addAttribute("northeastSales", northeastSales);
|
||||
modelMap.addAttribute("southSales", southSales);
|
||||
modelMap.addAttribute("midwestSales", midwestSales);
|
||||
modelMap.addAttribute("westSales", westSales);
|
||||
|
||||
//now add sales by lure type
|
||||
List<Integer> inshoreSales = Arrays.asList(4074, 3455, 4112);
|
||||
List<Integer> nearshoreSales = Arrays.asList(3222, 3011, 3788);
|
||||
List<Integer> offshoreSales = Arrays.asList(7811, 7098, 6455);
|
||||
|
||||
modelMap.addAttribute("inshoreSales", inshoreSales);
|
||||
modelMap.addAttribute("nearshoreSales", nearshoreSales);
|
||||
modelMap.addAttribute("offshoreSales", offshoreSales);
|
||||
public Conference findConferenceById(Integer id) {
|
||||
return conferenceRepository.getOne(id);
|
||||
}
|
||||
|
||||
private void sendNotificationAfterUpdateDeadlines(Conference conference, List<Deadline> oldDeadlines) {
|
||||
|
Loading…
Reference in New Issue
Block a user