Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
school-portal
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Muhammad Suleman
school-portal
Commits
bf61d376
Commit
bf61d376
authored
Aug 15, 2022
by
Muhammad Suleman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
implementing-pagination
parent
30782061
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
78 additions
and
17 deletions
+78
-17
pom.xml
pom.xml
+13
-6
TeacherController.java
...java/com/school/project/controller/TeacherController.java
+14
-6
PaginationDTO.java
src/main/java/com/school/project/dto/PaginationDTO.java
+12
-0
PageOfTeacherToDTO.java
...in/java/com/school/project/mapper/PageOfTeacherToDTO.java
+15
-0
Teacher.java
src/main/java/com/school/project/model/Teacher.java
+1
-5
TeacherService.java
...va/com/school/project/service/teacher/TeacherService.java
+5
-0
TeacherServiceImpl.java
...om/school/project/service/teacher/TeacherServiceImpl.java
+18
-0
No files found.
pom.xml
View file @
bf61d376
...
...
@@ -15,6 +15,7 @@
<description>
Spring Project for School
</description>
<properties>
<java.version>
17
</java.version>
<org.mapstruct.version>
1.5.2.Final
</org.mapstruct.version>
</properties>
<dependencies>
...
...
@@ -29,12 +30,6 @@
<scope>
runtime
</scope>
</dependency>
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct
</artifactId>
<version>
1.4.2.Final
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
...
...
@@ -129,6 +124,18 @@
<version>
5.0.0
</version>
</dependency>
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct
</artifactId>
<version>
${org.mapstruct.version}
</version>
</dependency>
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct-processor
</artifactId>
<version>
${org.mapstruct.version}
</version>
</dependency>
</dependencies>
<build>
...
...
src/main/java/com/school/project/controller/TeacherController.java
View file @
bf61d376
package
com
.
school
.
project
.
controller
;
import
com.school.project.dto.PaginationDTO
;
import
com.school.project.dto.teacher.*
;
import
com.school.project.model.Teacher
;
import
com.school.project.service.teacher.TeacherServiceImpl
;
import
com.school.project.service.teacher.UploadMarksServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.web.bind.annotation.*
;
import
java.security.Principal
;
...
...
@@ -19,10 +22,10 @@ public class TeacherController {
UploadMarksServiceImpl
uploadMarksService
;
@GetMapping
(
""
)
public
TeacherViewDataDTO
getTeacherData
(
Principal
principal
)
{
return
teacherService
.
getTeacherData
(
principal
.
getName
());
}
//
@GetMapping("")
//
public TeacherViewDataDTO getTeacherData(Principal principal) {
//
return teacherService.getTeacherData(principal.getName());
//
}
@GetMapping
(
"/course"
)
public
TeacherViewCoursesDTO
getTeacherCourses
(
Principal
principal
)
{
...
...
@@ -30,13 +33,18 @@ public class TeacherController {
}
@PostMapping
(
"/upload/marks"
)
public
void
addAssessment
(
@RequestBody
AddAssessmentDTO
addAssessmentDTO
){
public
void
addAssessment
(
@RequestBody
AddAssessmentDTO
addAssessmentDTO
)
{
uploadMarksService
.
setAssessment
(
addAssessmentDTO
);
}
@PostMapping
(
"/upload/marks/assessments"
)
public
void
addMarks
(
@RequestBody
UploadMarksDTO
uploadMarksDTO
){
public
void
addMarks
(
@RequestBody
UploadMarksDTO
uploadMarksDTO
)
{
uploadMarksService
.
setObtainedMarks
(
uploadMarksDTO
);
}
@GetMapping
public
Page
<
TeacherViewDataDTO
>
getAllTeachers
(
@RequestBody
PaginationDTO
paginationDTO
)
{
return
teacherService
.
getAllTeachers
(
paginationDTO
);
}
}
src/main/java/com/school/project/dto/PaginationDTO.java
0 → 100644
View file @
bf61d376
package
com
.
school
.
project
.
dto
;
import
lombok.Getter
;
import
lombok.Setter
;
@Getter
@Setter
public
class
PaginationDTO
{
private
int
page
;
private
int
size
;
}
src/main/java/com/school/project/mapper/PageOfTeacherToDTO.java
0 → 100644
View file @
bf61d376
package
com
.
school
.
project
.
mapper
;
import
com.school.project.dto.teacher.TeacherViewDataDTO
;
import
com.school.project.model.Teacher
;
import
org.mapstruct.Mapper
;
import
org.springframework.data.domain.Page
;
@Mapper
(
componentModel
=
"spring"
)
public
interface
PageOfTeacherToDTO
{
TeacherViewDataDTO
map
(
Teacher
teacher
);
default
Page
<
TeacherViewDataDTO
>
modelToDTO
(
Page
<
Teacher
>
teachers
)
{
return
teachers
.
map
(
this
::
map
);
}
}
src/main/java/com/school/project/model/Teacher.java
View file @
bf61d376
...
...
@@ -14,9 +14,6 @@ import java.util.Set;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
@Entity
@Table
(
name
=
"Teacher"
)
public
class
Teacher
{
...
...
@@ -31,7 +28,7 @@ public class Teacher {
private
String
name
;
@NotNull
@Column
(
name
=
"teacher_num"
,
unique
=
true
)
@Column
(
name
=
"teacher_num"
,
unique
=
true
)
private
String
teacherNumber
;
@NotNull
...
...
@@ -59,5 +56,4 @@ public class Teacher {
@JsonIgnore
private
User
teacherAppUser
;
}
src/main/java/com/school/project/service/teacher/TeacherService.java
View file @
bf61d376
package
com
.
school
.
project
.
service
.
teacher
;
import
com.school.project.dto.PaginationDTO
;
import
com.school.project.dto.teacher.TeacherViewCoursesDTO
;
import
com.school.project.dto.teacher.TeacherViewDataDTO
;
import
com.school.project.model.Teacher
;
import
org.springframework.data.domain.Page
;
public
interface
TeacherService
{
TeacherViewDataDTO
getTeacherData
(
String
username
);
TeacherViewCoursesDTO
getTeacherCourses
(
String
username
);
Page
<
TeacherViewDataDTO
>
getAllTeachers
(
PaginationDTO
paginationDTO
);
}
src/main/java/com/school/project/service/teacher/TeacherServiceImpl.java
View file @
bf61d376
package
com
.
school
.
project
.
service
.
teacher
;
import
com.school.project.dto.PaginationDTO
;
import
com.school.project.dto.teacher.TeacherViewCoursesDTO
;
import
com.school.project.dto.teacher.TeacherViewDataDTO
;
import
com.school.project.mapper.PageOfTeacherToDTO
;
import
com.school.project.mapper.TeacherViewCoursesMapper
;
import
com.school.project.mapper.TeacherViewDataMapper
;
import
com.school.project.model.Teacher
;
import
com.school.project.model.userRegistration.User
;
import
com.school.project.repository.*
;
import
com.school.project.repository.userRegistration.UserRepository
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.stereotype.Service
;
@Service
...
...
@@ -26,6 +31,9 @@ public class TeacherServiceImpl implements TeacherService {
TeacherViewCoursesMapper
teacherViewCoursesMapper
;
private
PageOfTeacherToDTO
pageOfTeacherToDTO
;
@Override
public
TeacherViewDataDTO
getTeacherData
(
String
username
)
{
...
...
@@ -42,4 +50,14 @@ public class TeacherServiceImpl implements TeacherService {
return
teacherViewCoursesMapper
.
modelToDTO
(
teacherRepository
.
findOneByTeacherId
(
user
.
getUserId
()));
}
public
Page
<
TeacherViewDataDTO
>
getAllTeachers
(
PaginationDTO
paginationDTO
)
{
return
pageOfTeacherToDTO
.
modelToDTO
(
teacherRepository
.
findAll
(
PageRequest
.
of
(
paginationDTO
.
getPage
(),
paginationDTO
.
getSize
())));
}
@Autowired
public
void
setPageOfTeacherToDTO
(
PageOfTeacherToDTO
pageOfTeacherToDTO
)
{
this
.
pageOfTeacherToDTO
=
pageOfTeacherToDTO
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment