Снова доблавен VisitController для получения посещений конкретного пользователя + исправлен баг с тем, что время создания Visit не сохранялось
This commit is contained in:
parent
ae3b001d8f
commit
e7aea29ec8
@ -31,21 +31,13 @@ public class EmployeeController {
|
||||
|
||||
@GetMapping("/{username}/info")
|
||||
public ResponseEntity<Employee> info(@PathVariable String username) {
|
||||
return employeeService.info(username);
|
||||
return ResponseEntity.ok(employeeService.info(username));
|
||||
}
|
||||
|
||||
@GetMapping("/{username}/auth")
|
||||
public ResponseEntity<Visit> auth(@PathVariable String username) {
|
||||
return new ResponseEntity<>(null, employeeService.auth(username));
|
||||
}
|
||||
|
||||
@GetMapping("/{username}/visits")
|
||||
public ResponseEntity<List<Visit>> visits(
|
||||
@PathVariable String username,
|
||||
@RequestParam Integer offset,
|
||||
@RequestParam Integer limit
|
||||
) {
|
||||
return ResponseEntity.ok(employeeService.getVisits(username, offset, limit));
|
||||
employeeService.auth(username);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PatchMapping("/{username}/open")
|
||||
|
@ -0,0 +1,28 @@
|
||||
package com.example.onomatopoeiaback.controller;
|
||||
|
||||
import com.example.onomatopoeiaback.domain.visit.Visit;
|
||||
import com.example.onomatopoeiaback.domain.visit.VisitDTO;
|
||||
import com.example.onomatopoeiaback.service.VisitService;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/visit")
|
||||
public class VisitController {
|
||||
private final VisitService visitService;
|
||||
|
||||
public VisitController(VisitService visitService) {
|
||||
this.visitService = visitService;
|
||||
}
|
||||
|
||||
@GetMapping("/{username}/visits")
|
||||
public ResponseEntity<List<Visit>> visits(
|
||||
@PathVariable String username,
|
||||
@RequestParam Integer offset,
|
||||
@RequestParam Integer limit
|
||||
) {
|
||||
return ResponseEntity.ok(visitService.getVisits(username, offset, limit));
|
||||
}
|
||||
}
|
@ -2,19 +2,12 @@ package com.example.onomatopoeiaback.service;
|
||||
|
||||
import com.example.onomatopoeiaback.domain.employee.Employee;
|
||||
import com.example.onomatopoeiaback.domain.employee.EmployeeDTO;
|
||||
import com.example.onomatopoeiaback.domain.visit.Visit;
|
||||
import com.example.onomatopoeiaback.exceptions.UnauthorizedException;
|
||||
import com.example.onomatopoeiaback.repository.EmployeeRepository;
|
||||
import jakarta.persistence.criteria.CriteriaBuilder;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import com.example.onomatopoeiaback.repository.VisitRepository;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class EmployeeService {
|
||||
|
||||
@ -38,33 +31,21 @@ public class EmployeeService {
|
||||
return employee;
|
||||
}
|
||||
|
||||
public HttpStatus auth(String login) {
|
||||
public void auth(String login) {
|
||||
Employee employee = employeeRepository.getEmployeesByLogin(login);
|
||||
|
||||
if (employee == null) return HttpStatus.UNAUTHORIZED;
|
||||
LocalDateTime localDateTime = LocalDateTime.now().truncatedTo(ChronoUnit.SECONDS);
|
||||
employee.setLastVisit(localDateTime);
|
||||
employeeRepository.save(employee);
|
||||
|
||||
return HttpStatus.OK;
|
||||
if (employee == null) {
|
||||
throw new UnauthorizedException();
|
||||
}
|
||||
}
|
||||
|
||||
public ResponseEntity<Employee> info(String login) {
|
||||
public Employee info(String login) {
|
||||
Employee employee = employeeRepository.getEmployeesByLogin(login);
|
||||
HttpStatus response_status = HttpStatus.OK;
|
||||
|
||||
if (employee == null) response_status = HttpStatus.UNAUTHORIZED;
|
||||
else {
|
||||
LocalDateTime localDateTime = LocalDateTime.now().truncatedTo(ChronoUnit.SECONDS);
|
||||
employee.setLastVisit(localDateTime);
|
||||
employeeRepository.save(employee);
|
||||
if (employee == null) {
|
||||
throw new UnauthorizedException();
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(employee, response_status);
|
||||
}
|
||||
|
||||
public List<Visit> getVisits(String login, Integer offset, Integer limit) {
|
||||
Employee employee = employeeRepository.getEmployeesByLogin(login);
|
||||
return new ArrayList<>();
|
||||
return employee;
|
||||
}
|
||||
}
|
||||
|
@ -14,6 +14,8 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@Service
|
||||
@ -32,6 +34,8 @@ public class VisitService {
|
||||
|
||||
public void register(String login, VisitDTO visitDTO) {
|
||||
Employee employee = employeeRepository.getEmployeesByLogin(login);
|
||||
LocalDateTime localDateTime = LocalDateTime.now().truncatedTo(ChronoUnit.SECONDS);
|
||||
|
||||
Optional<QrCode> qrCodeOptional = qrCodeRepository.findById(visitDTO.getQrCodeId());
|
||||
if (qrCodeOptional.isEmpty()) {
|
||||
throw new BadRequestException();
|
||||
@ -45,10 +49,15 @@ public class VisitService {
|
||||
Visit visit = new Visit();
|
||||
visit.setQrCode(qrCode);
|
||||
visit.setVisitType(visitDTO.getVisitType());
|
||||
visit.setVisitTime(localDateTime);
|
||||
visit.setEmployee(employee);
|
||||
visitRepository.saveAndFlush(visit);
|
||||
LocalDateTime localDateTime = LocalDateTime.now().truncatedTo(ChronoUnit.SECONDS);
|
||||
employee.setLastVisit(localDateTime);
|
||||
employeeRepository.saveAndFlush(employee);
|
||||
}
|
||||
|
||||
public List<Visit> getVisits(String login, Integer offset, Integer limit) {
|
||||
Employee employee = employeeRepository.getEmployeesByLogin(login);
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user