Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jty-wsxt
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
aye
jty-wsxt
Commits
210a9bae
You need to sign in or sign up before continuing.
Commit
210a9bae
authored
Jun 22, 2019
by
aye
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码提交
parent
86794995
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
112 additions
and
11 deletions
+112
-11
service-paper/src/main/java/com/jty/wsxt/application/service/PaperService.java
+20
-0
service-paper/src/main/java/com/jty/wsxt/application/service/impl/PaperServiceImpl.java
+45
-3
service-paper/src/main/java/com/jty/wsxt/interfaces/controller/PaperController.java
+29
-8
service-paper/src/main/java/com/jty/wsxt/interfaces/dto/PaperSearchForCreatorDto.java
+18
-0
No files found.
service-paper/src/main/java/com/jty/wsxt/application/service/PaperService.java
View file @
210a9bae
...
...
@@ -3,6 +3,7 @@ package com.jty.wsxt.application.service;
import
com.jty.wsxt.domain.model.paper.Paper
;
import
com.jty.wsxt.interfaces.dto.PaperDto
;
import
com.jty.wsxt.interfaces.dto.PaperSearchDto
;
import
com.jty.wsxt.interfaces.dto.PaperSearchForCreatorDto
;
import
org.springframework.data.domain.Page
;
/**
...
...
@@ -18,6 +19,11 @@ public interface PaperService {
*/
void
addPaper
(
PaperSearchDto
paperSearchDto
);
/**
*获取试卷列表
* @param paperSearchDto paperSearchDto
* @return page
*/
Page
<
Paper
>
findPagePaper
(
PaperSearchDto
paperSearchDto
);
/**
...
...
@@ -25,4 +31,18 @@ public interface PaperService {
* @param paperId paperId
*/
void
deletePaper
(
Integer
paperId
);
/**
*获取个人上传试卷
* @param paperSearchDto paperSearchDto
* @return page
*/
Page
<
Paper
>
findPagePaperByCreatorId
(
PaperSearchForCreatorDto
paperSearchDto
);
/**
* 根据id获取试卷详情
* @param id id
* @return paper
*/
Paper
findPaperDetailById
(
Integer
id
);
}
service-paper/src/main/java/com/jty/wsxt/application/service/impl/PaperServiceImpl.java
View file @
210a9bae
...
...
@@ -5,16 +5,21 @@ import com.jty.wsxt.domain.DomainRegistry;
import
com.jty.wsxt.domain.model.paper.Paper
;
import
com.jty.wsxt.infrastructure.support.BusinessException
;
import
com.jty.wsxt.infrastructure.support.ResultCode
;
import
com.jty.wsxt.interfaces.dto.PaperDto
;
import
com.jty.wsxt.interfaces.dto.PaperSearchDto
;
import
org.apache.commons.lang3.StringUtils
;
import
com.jty.wsxt.interfaces.dto.PaperSearchForCreatorDto
;
import
org.hibernate.query.criteria.internal.OrderImpl
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.data.domain.Example
;
import
org.springframework.data.domain.ExampleMatcher
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.stereotype.Service
;
import
com.alibaba.fastjson.JSON
;
import
javax.persistence.criteria.*
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* PaperServiceImpl
*
...
...
@@ -51,7 +56,43 @@ public class PaperServiceImpl implements PaperService {
@Override
public
void
deletePaper
(
Integer
paperId
)
{
Paper
paper
=
DomainRegistry
.
paperRepository
().
findById
(
paperId
).
orElseThrow
(()->
new
BusinessException
(
ResultCode
.
RESULT_DATA_NONE
)
);
Paper
paper
=
this
.
findPaperDetailById
(
paperId
);
paper
.
delete
();
}
@Override
public
Page
<
Paper
>
findPagePaperByCreatorId
(
PaperSearchForCreatorDto
paperSearchDto
)
{
return
DomainRegistry
.
paperRepository
().
findAll
(
PaperDsl
.
getNrscTeachersWhereClause
(
paperSearchDto
),
paperSearchDto
.
getPageable
());
}
@Override
public
Paper
findPaperDetailById
(
Integer
id
)
{
return
DomainRegistry
.
paperRepository
().
findById
(
id
).
orElseThrow
(()->
new
BusinessException
(
ResultCode
.
RESULT_DATA_NONE
));
}
}
class
PaperDsl
{
public
static
Specification
<
Paper
>
getNrscTeachersWhereClause
(
PaperSearchForCreatorDto
searchDto
)
{
return
new
Specification
<
Paper
>()
{
@Override
public
Predicate
toPredicate
(
Root
<
Paper
>
root
,
CriteriaQuery
<?>
query
,
CriteriaBuilder
cb
)
{
List
<
Predicate
>
predicate
=
new
ArrayList
<>();
predicate
.
add
(
cb
.
equal
(
root
.
get
(
"creatorId"
),
searchDto
.
getCreatorId
()));
if
(
searchDto
.
getUploadingStartTime
()
!=
null
)
{
predicate
.
add
(
cb
.
greaterThanOrEqualTo
(
root
.
get
(
"createTime"
),
searchDto
.
getUploadingStartTime
()));
}
if
(
searchDto
.
getUploadingEndTime
()
!=
null
)
{
predicate
.
add
(
cb
.
lessThanOrEqualTo
(
root
.
get
(
"createTime"
),
searchDto
.
getUploadingEndTime
()));
}
List
<
Order
>
orders
=
new
ArrayList
<>();
orders
.
add
(
new
OrderImpl
(
root
.
get
(
"feedbackTime"
)));
orders
.
add
(
new
OrderImpl
(
root
.
get
(
"id"
)));
Predicate
[]
pre
=
new
Predicate
[
predicate
.
size
()];
return
query
.
distinct
(
true
).
where
(
predicate
.
toArray
(
pre
)).
orderBy
(
orders
).
getRestriction
();
}
};
}
}
\ No newline at end of file
service-paper/src/main/java/com/jty/wsxt/interfaces/controller/PaperController.java
View file @
210a9bae
...
...
@@ -6,13 +6,11 @@ import com.jty.wsxt.domain.model.paper.Paper;
import
com.jty.wsxt.infrastructure.support.Result
;
import
com.jty.wsxt.interfaces.dto.PaperDto
;
import
com.jty.wsxt.interfaces.dto.PaperSearchDto
;
import
com.jty.wsxt.interfaces.dto.PaperSearchForCreatorDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -33,7 +31,7 @@ public class PaperController {
this
.
userFeign
=
userFeign
;
}
@PostMapping
@PostMapping
(
"/paper"
)
public
Result
addPaper
(
@RequestBody
PaperSearchDto
paperSearchDto
){
paperSearchDto
.
setCreatorId
(
userFeign
.
getLoginId
());
paperSearchDto
.
setCreatorName
(
userFeign
.
getLoginName
());
...
...
@@ -44,10 +42,33 @@ public class PaperController {
@GetMapping
(
"/papers"
)
public
Result
getPapers
(
PaperSearchDto
paperSearchDto
){
Page
<
Paper
>
paperPage
=
ApplicationRegistry
.
paperService
().
findPagePaper
(
paperSearchDto
);
List
<
PaperDto
>
paperDtos
=
new
ArrayList
<>();
return
this
.
getPaperDtoPage
(
paperPage
);
}
@GetMapping
(
"/papers/creator"
)
public
Result
getPapersByCreatorId
(
PaperSearchForCreatorDto
paperSearchDto
){
Page
<
Paper
>
paperPage
=
ApplicationRegistry
.
paperService
().
findPagePaperByCreatorId
(
paperSearchDto
);
return
this
.
getPaperDtoPage
(
paperPage
);
}
@GetMapping
(
"/paper/{paperId}"
)
public
Result
getPaperDetail
(
@PathVariable
Integer
paperId
){
Paper
paper
=
ApplicationRegistry
.
paperService
().
findPaperDetailById
(
paperId
);
return
Result
.
success
(
paper
.
cashToPaperDto
());
}
@DeleteMapping
(
"/paper/{paperId}"
)
public
Result
deletePaper
(
@PathVariable
Integer
paperId
){
ApplicationRegistry
.
paperService
().
deletePaper
(
paperId
);
return
Result
.
success
();
}
private
Result
getPaperDtoPage
(
Page
<
Paper
>
paperPage
){
List
<
PaperDto
>
paperDtoList
=
new
ArrayList
<>();
if
(
paperPage
.
getTotalElements
()
!=
0
){
paperPage
.
getContent
().
forEach
(
paper
->
paperDto
s
.
add
(
paper
.
cashToPaperDto
()));
paperPage
.
getContent
().
forEach
(
paper
->
paperDto
List
.
add
(
paper
.
cashToPaperDto
()));
}
return
Result
.
success
(
new
PageImpl
<>(
paperDto
s
,
paperPage
.
getPageable
(),
paperPage
.
getTotalElements
()));
return
Result
.
success
(
new
PageImpl
<>(
paperDto
List
,
paperPage
.
getPageable
(),
paperPage
.
getTotalElements
()));
}
}
service-paper/src/main/java/com/jty/wsxt/interfaces/dto/PaperSearchForCreatorDto.java
0 → 100644
View file @
210a9bae
package
com
.
jty
.
wsxt
.
interfaces
.
dto
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* PaperSearchForCreatorDto
*
* @author Manjiajie
* @since 2019-6-22 09:03:36
*/
@Data
public
class
PaperSearchForCreatorDto
extends
SuperDto
{
private
Integer
creatorId
;
private
LocalDateTime
uploadingStartTime
;
private
LocalDateTime
uploadingEndTime
;
}
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