feat: added TerminalService and TerminalServiceImpl
This commit is contained in:
parent
a4b7c9ed61
commit
f0b45b78e2
@ -1,5 +1,16 @@
|
||||
package com.example.nto.service;
|
||||
|
||||
public interface TerminalService {
|
||||
import com.example.nto.dto.entity.TerminalDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface TerminalService {
|
||||
List<TerminalDTO> getAllTerminal();
|
||||
TerminalDTO getById(long terminalId);
|
||||
|
||||
TerminalDTO create(TerminalDTO terminalDTO);
|
||||
TerminalDTO update(long terminalId, TerminalDTO terminalDTO);
|
||||
void delete(long terminalId);
|
||||
|
||||
TerminalDTO checkCode(String code);
|
||||
}
|
||||
|
@ -1,6 +1,79 @@
|
||||
package com.example.nto.service.impl;
|
||||
|
||||
import com.example.nto.aspect.annotation.LogExample;
|
||||
import com.example.nto.domain.entity.Office;
|
||||
import com.example.nto.domain.entity.Terminal;
|
||||
import com.example.nto.domain.exception.ResourceNotFoundException;
|
||||
import com.example.nto.dto.entity.TerminalDTO;
|
||||
import com.example.nto.dto.mappers.TerminalMapper;
|
||||
import com.example.nto.repository.OfficeRepository;
|
||||
import com.example.nto.repository.TerminalRepository;
|
||||
import com.example.nto.service.TerminalService;
|
||||
import com.example.nto.utils.Utils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class TerminalServiceImpl implements TerminalService {
|
||||
private final TerminalRepository terminalRepository;
|
||||
private final OfficeRepository officeRepository;
|
||||
|
||||
@Override
|
||||
@LogExample
|
||||
public List<TerminalDTO> getAllTerminal() {
|
||||
return terminalRepository.findAll().stream().map(TerminalMapper::convertToDTO).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
@LogExample
|
||||
public TerminalDTO getById(long terminalId) {
|
||||
return terminalRepository.findById(terminalId).map(TerminalMapper::convertToDTO)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Терминал с id (" + terminalId + ") не найден!"));
|
||||
}
|
||||
|
||||
@Override
|
||||
@LogExample
|
||||
public TerminalDTO create(TerminalDTO terminalDTO) {
|
||||
Office office = officeRepository.findByName(terminalDTO.getOfficeName())
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Офис с названием (" + terminalDTO.getOfficeName() + ") не найден!"));
|
||||
|
||||
Terminal terminal = new Terminal();
|
||||
terminal.setName(terminalDTO.getName());
|
||||
terminal.setOffice(office);
|
||||
|
||||
return TerminalMapper.convertToDTO(terminalRepository.save(terminal));
|
||||
}
|
||||
|
||||
@Override
|
||||
@LogExample
|
||||
public TerminalDTO update(long terminalId, TerminalDTO terminalDTO) {
|
||||
Terminal terminal = terminalRepository.findById(terminalId)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Терминал с id (" + terminalId + ") не найден!"));
|
||||
Office office = officeRepository.findByName(terminalDTO.getOfficeName())
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Офис с названием (" + terminalDTO.getOfficeName() + ") не найден!"));
|
||||
|
||||
terminal.setName(terminalDTO.getName());
|
||||
terminal.setCode(Utils.generateUniqueName());
|
||||
terminal.setOffice(office);
|
||||
|
||||
return TerminalMapper.convertToDTO(terminalRepository.save(terminal));
|
||||
}
|
||||
|
||||
@Override
|
||||
@LogExample
|
||||
public void delete(long terminalId) {
|
||||
terminalRepository.findById(terminalId).orElseThrow(() -> new ResourceNotFoundException("Терминал с id (" + terminalId + ") не найден!"));
|
||||
terminalRepository.deleteById(terminalId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@LogExample
|
||||
public TerminalDTO checkCode(String code) {
|
||||
return terminalRepository.findByCode(code).map(TerminalMapper::convertToDTO)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Терминал с кодом (" + code + ") не найден!"));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user