Добавление списка входов пользователя

This commit is contained in:
Shilyaev_Dmitry 2025-02-19 18:23:14 +03:00
parent 659306712d
commit dc19aee368
6 changed files with 24 additions and 15 deletions

View File

@ -13,6 +13,7 @@ import org.springframework.security.core.Authentication;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@ -35,4 +36,9 @@ public class EmployeeController {
public ResponseEntity<EnterDTO> add(@PathVariable("login") String login, @RequestBody EnterDTO enterDTO){ public ResponseEntity<EnterDTO> add(@PathVariable("login") String login, @RequestBody EnterDTO enterDTO){
return ResponseEntity.ok(employeeService.addEnter(login, enterDTO)); return ResponseEntity.ok(employeeService.addEnter(login, enterDTO));
} }
@GetMapping("/list/{login}")
public List<EnterDTO> list(@PathVariable("login") String username){
return employeeService.getAllEmployeeEnters(username);
}
} }

View File

@ -7,13 +7,13 @@ import java.time.LocalDateTime;
@Data @Data
@Entity @Entity
@Table(name="enters") @Table(name="Enters")
public class Enter { public class Enter {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private long id; private long id;
@Column(name="employee_username") @Column(name="username")
private String username; private String username;
@Column(name="value") @Column(name="value")

View File

@ -1,9 +1,16 @@
package com.example.nto.repository; package com.example.nto.repository;
import com.example.nto.dto.EnterDTO;
import com.example.nto.entity.Enter; import com.example.nto.entity.Enter;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
@Repository @Repository
public interface EnterRepository extends JpaRepository<Enter, Long> { public interface EnterRepository extends JpaRepository<Enter, Long> {
@Query("SELECT u FROM Enter u WHERE u.username = :username")
List<Enter> findAllByUsername(@Param("username") String username);
} }

View File

@ -2,15 +2,12 @@ package com.example.nto.service;
import com.example.nto.dto.EmployeeDTO; import com.example.nto.dto.EmployeeDTO;
import com.example.nto.dto.EnterDTO; import com.example.nto.dto.EnterDTO;
import com.example.nto.entity.Employee;
import com.example.nto.entity.EnterType;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
public interface EmployeeService { public interface EmployeeService {
EmployeeDTO getEmployeeByUsername(String username); EmployeeDTO getEmployeeByUsername(String username);
EmployeeDTO getInfo(String username); EmployeeDTO getInfo(String username);
EnterDTO addEnter(String username, EnterDTO enterDTO); EnterDTO addEnter(String username, EnterDTO enterDTO);
List<EnterDTO> getAllEmployeeEnters(); List<EnterDTO> getAllEmployeeEnters(String username);
} }

View File

@ -16,15 +16,12 @@ import com.example.nto.repository.EnterTypeRepository;
import com.example.nto.service.EmployeeService; import com.example.nto.service.EmployeeService;
import com.example.nto.util.EmployeeMapper; import com.example.nto.util.EmployeeMapper;
import com.example.nto.util.EnterMapper; import com.example.nto.util.EnterMapper;
import liquibase.pro.packaged.E;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.server.ResponseStatusException;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors;
import static org.springframework.util.Assert.hasText; import static org.springframework.util.Assert.hasText;
@ -81,8 +78,10 @@ public class EmployeeServiceImpl implements EmployeeService {
} }
@Override @Override
public List<EnterDTO> getAllEmployeeEnters() { public List<EnterDTO> getAllEmployeeEnters(String username) {
return List.of(); return enterRepository.findAllByUsername(username).stream()
.map(EnterMapper::convertToDTO)
.collect(Collectors.toList());
} }

View File

@ -7,15 +7,15 @@
<changeSet id="2025-02-19-0005-enters" author="dshilyaev"> <changeSet id="2025-02-19-0005-enters" author="dshilyaev">
<preConditions onFail="MARK_RAN"> <preConditions onFail="MARK_RAN">
<not> <not>
<tableExists tableName="enters"/> <tableExists tableName="Enters"/>
</not> </not>
</preConditions> </preConditions>
<createTable tableName="enters"> <createTable tableName="Enters">
<column name="id" type="BIGINT" autoIncrement="true" > <column name="id" type="BIGINT" autoIncrement="true" >
<constraints primaryKey="true" nullable="false"/> <constraints primaryKey="true" nullable="false"/>
</column> </column>
<column name="employee_username" type="VARCHAR(100)"> <column name="username" type="VARCHAR(100)">
<constraints nullable="false"/> <constraints nullable="false"/>
</column> </column>
<column name="value" type="BIGINT"> <column name="value" type="BIGINT">