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
Commit
210a9bae
authored
Jun 22, 2019
by
aye
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码提交
parent
86794995
Hide 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;
...
@@ -3,6 +3,7 @@ package com.jty.wsxt.application.service;
import
com.jty.wsxt.domain.model.paper.Paper
;
import
com.jty.wsxt.domain.model.paper.Paper
;
import
com.jty.wsxt.interfaces.dto.PaperDto
;
import
com.jty.wsxt.interfaces.dto.PaperDto
;
import
com.jty.wsxt.interfaces.dto.PaperSearchDto
;
import
com.jty.wsxt.interfaces.dto.PaperSearchDto
;
import
com.jty.wsxt.interfaces.dto.PaperSearchForCreatorDto
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Page
;
/**
/**
...
@@ -18,6 +19,11 @@ public interface PaperService {
...
@@ -18,6 +19,11 @@ public interface PaperService {
*/
*/
void
addPaper
(
PaperSearchDto
paperSearchDto
);
void
addPaper
(
PaperSearchDto
paperSearchDto
);
/**
*获取试卷列表
* @param paperSearchDto paperSearchDto
* @return page
*/
Page
<
Paper
>
findPagePaper
(
PaperSearchDto
paperSearchDto
);
Page
<
Paper
>
findPagePaper
(
PaperSearchDto
paperSearchDto
);
/**
/**
...
@@ -25,4 +31,18 @@ public interface PaperService {
...
@@ -25,4 +31,18 @@ public interface PaperService {
* @param paperId paperId
* @param paperId paperId
*/
*/
void
deletePaper
(
Integer
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;
...
@@ -5,16 +5,21 @@ import com.jty.wsxt.domain.DomainRegistry;
import
com.jty.wsxt.domain.model.paper.Paper
;
import
com.jty.wsxt.domain.model.paper.Paper
;
import
com.jty.wsxt.infrastructure.support.BusinessException
;
import
com.jty.wsxt.infrastructure.support.BusinessException
;
import
com.jty.wsxt.infrastructure.support.ResultCode
;
import
com.jty.wsxt.infrastructure.support.ResultCode
;
import
com.jty.wsxt.interfaces.dto.PaperDto
;
import
com.jty.wsxt.interfaces.dto.PaperSearchDto
;
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.beans.BeanUtils
;
import
org.springframework.data.domain.Example
;
import
org.springframework.data.domain.Example
;
import
org.springframework.data.domain.ExampleMatcher
;
import
org.springframework.data.domain.ExampleMatcher
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
javax.persistence.criteria.*
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
/**
* PaperServiceImpl
* PaperServiceImpl
*
*
...
@@ -51,7 +56,43 @@ public class PaperServiceImpl implements PaperService {
...
@@ -51,7 +56,43 @@ public class PaperServiceImpl implements PaperService {
@Override
@Override
public
void
deletePaper
(
Integer
paperId
)
{
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
();
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;
...
@@ -6,13 +6,11 @@ import com.jty.wsxt.domain.model.paper.Paper;
import
com.jty.wsxt.infrastructure.support.Result
;
import
com.jty.wsxt.infrastructure.support.Result
;
import
com.jty.wsxt.interfaces.dto.PaperDto
;
import
com.jty.wsxt.interfaces.dto.PaperDto
;
import
com.jty.wsxt.interfaces.dto.PaperSearchDto
;
import
com.jty.wsxt.interfaces.dto.PaperSearchDto
;
import
com.jty.wsxt.interfaces.dto.PaperSearchForCreatorDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
@@ -33,7 +31,7 @@ public class PaperController {
...
@@ -33,7 +31,7 @@ public class PaperController {
this
.
userFeign
=
userFeign
;
this
.
userFeign
=
userFeign
;
}
}
@PostMapping
@PostMapping
(
"/paper"
)
public
Result
addPaper
(
@RequestBody
PaperSearchDto
paperSearchDto
){
public
Result
addPaper
(
@RequestBody
PaperSearchDto
paperSearchDto
){
paperSearchDto
.
setCreatorId
(
userFeign
.
getLoginId
());
paperSearchDto
.
setCreatorId
(
userFeign
.
getLoginId
());
paperSearchDto
.
setCreatorName
(
userFeign
.
getLoginName
());
paperSearchDto
.
setCreatorName
(
userFeign
.
getLoginName
());
...
@@ -44,10 +42,33 @@ public class PaperController {
...
@@ -44,10 +42,33 @@ public class PaperController {
@GetMapping
(
"/papers"
)
@GetMapping
(
"/papers"
)
public
Result
getPapers
(
PaperSearchDto
paperSearchDto
){
public
Result
getPapers
(
PaperSearchDto
paperSearchDto
){
Page
<
Paper
>
paperPage
=
ApplicationRegistry
.
paperService
().
findPagePaper
(
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
){
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