Commit 86794995 by aye

代码提交

parent b0c4f68b
......@@ -2,6 +2,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 org.springframework.data.domain.Page;
/**
......@@ -13,11 +14,11 @@ import org.springframework.data.domain.Page;
public interface PaperService {
/**
* 新增试卷
* @param paperDto paperDto
* @param paperSearchDto paperDto
*/
void addPaper(PaperDto paperDto);
void addPaper(PaperSearchDto paperSearchDto);
Page<Paper> findPagePaper(PaperDto paperDto);
Page<Paper> findPagePaper(PaperSearchDto paperSearchDto);
/**
* 删除试卷
......
......@@ -6,6 +6,7 @@ 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 org.springframework.beans.BeanUtils;
import org.springframework.data.domain.Example;
......@@ -23,32 +24,29 @@ import com.alibaba.fastjson.JSON;
@Service
public class PaperServiceImpl implements PaperService {
@Override
public void addPaper(PaperDto paperDto) {
public void addPaper(PaperSearchDto paperSearchDto) {
Paper paper = new Paper();
BeanUtils.copyProperties(paperDto,paper,"answer","firstFeedback","secondFeedback");
paper.setAnswer(JSON.toJSONString(paperDto.getAnswer()));
BeanUtils.copyProperties(paperSearchDto,paper,"answer","firstFeedback","secondFeedback");
paper.setAnswer(JSON.toJSONString(paperSearchDto.getAnswer()));
paper.save();
}
@Override
public Page<Paper> findPagePaper(PaperDto paperDto) {
public Page<Paper> findPagePaper(PaperSearchDto paperSearchDto) {
Paper paper = new Paper();
if(paperDto.getCreatorId() != null){
paper.setCreatorId(paperDto.getCreatorId());
if(paperSearchDto.getModuleId() != null){
paper.setModuleId(paperSearchDto.getModuleId());
}
if(paperDto.getModuleId() != null){
paper.setModuleId(paperDto.getModuleId());
if(paperSearchDto.getSubjectId() != null){
paper.setSubjectId(paperSearchDto.getSubjectId());
}
if(paperDto.getSubjectId() != null){
paper.setSubjectId(paperDto.getSubjectId());
}
if(paperDto.getTypeId() != null){
paper.setTypeId(paperDto.getTypeId());
if(paperSearchDto.getTypeId() != null){
paper.setTypeId(paperSearchDto.getTypeId());
}
ExampleMatcher matcher = ExampleMatcher.matching().withMatcher("name",ExampleMatcher.GenericPropertyMatchers.contains());
Example<Paper> example = Example.of(paper,matcher);
return DomainRegistry.paperRepository().findAll(example,paperDto.getPageable());
return DomainRegistry.paperRepository().findAll(example,paperSearchDto.getPageable());
}
@Override
......
package com.jty.wsxt.domain.model.paper;
import com.alibaba.fastjson.JSON;
import com.jty.wsxt.domain.DomainRegistry;
import com.jty.wsxt.domain.model.module.Module;
import com.jty.wsxt.domain.shared.IdentifiedEntityObject;
import com.jty.wsxt.infrastructure.support.BusinessException;
import com.jty.wsxt.infrastructure.support.ResultCode;
import com.jty.wsxt.interfaces.dto.PaperDto;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import javax.persistence.Entity;
import java.time.LocalDateTime;
/**
* Paper
......@@ -23,18 +29,24 @@ public class Paper extends IdentifiedEntityObject<Module> {
private Integer creatorId;
private String creatorName;
private Integer subjectId;
private Integer typeId;
private Integer specialistId;
private String specialistName;
private String answer;
private String firstFeedback;
private String secondFeedback;
private LocalDateTime feedbackTime;
@Override
public boolean sameIdentityAs(Module other) {
return false;
......@@ -47,4 +59,24 @@ public class Paper extends IdentifiedEntityObject<Module> {
public void delete(){
DomainRegistry.paperRepository().delete(this);
}
public PaperDto cashToPaperDto(){
PaperDto paperDto = new PaperDto();
paperDto.setCreatorName(this.creatorName);
paperDto.setModuleName(DomainRegistry.moduleRepository().findById(this.moduleId).orElseThrow(()-> new BusinessException(ResultCode.DATA_IS_WRONG)).getName());
paperDto.setTypeName(DomainRegistry.typeRepository().findById(this.typeId).orElseThrow(()-> new BusinessException(ResultCode.DATA_IS_WRONG)).getName());
paperDto.setSpecialistName(this.specialistName);
paperDto.setName(this.name);
if (StringUtils.isNotEmpty(this.answer)) {
paperDto.setAnswer(JSON.parseArray(this.answer, String.class));
}
if (StringUtils.isNotEmpty(this.firstFeedback)) {
paperDto.setFirstFeedback(JSON.parseArray(this.firstFeedback, String.class));
}
if (StringUtils.isNotEmpty(this.secondFeedback)) {
paperDto.setSecondFeedback(JSON.parseArray(this.secondFeedback, String.class));
}
paperDto.setFeedbackTime(this.feedbackTime);
return paperDto;
}
}
......@@ -2,13 +2,21 @@ package com.jty.wsxt.interfaces.controller;
import com.jty.wsxt.application.ApplicationRegistry;
import com.jty.wsxt.application.feign.UserFeign;
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 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 java.util.ArrayList;
import java.util.List;
/**
* PaperController
*
......@@ -26,13 +34,20 @@ public class PaperController {
}
@PostMapping
public void addPaper(@RequestBody PaperDto paperDto){
paperDto.setCreatorId(userFeign.getLoginId());
ApplicationRegistry.paperService().addPaper(paperDto);
public Result addPaper(@RequestBody PaperSearchDto paperSearchDto){
paperSearchDto.setCreatorId(userFeign.getLoginId());
paperSearchDto.setCreatorName(userFeign.getLoginName());
ApplicationRegistry.paperService().addPaper(paperSearchDto);
return Result.success();
}
@GetMapping("/papers")
public void getPapers(PaperDto paperDto){
public Result getPapers(PaperSearchDto paperSearchDto){
Page<Paper> paperPage = ApplicationRegistry.paperService().findPagePaper(paperSearchDto);
List<PaperDto> paperDtos = new ArrayList<>();
if(paperPage.getTotalElements() != 0){
paperPage.getContent().forEach(paper -> paperDtos.add(paper.cashToPaperDto()));
}
return Result.success(new PageImpl<>(paperDtos,paperPage.getPageable(),paperPage.getTotalElements()));
}
}
package com.jty.wsxt.interfaces.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* PaperDto
*
* @author Manjiajie
* @since 2019-6-21 15:16:27
* @since 2019-6-21 16:46:36
*/
@Data
public class PaperDto extends SuperDto {
private Integer moduleId;
private Integer creatorId;
private Integer subjectId;
public class PaperDto extends PaperSearchDto {
private Integer typeId;
private String moduleName;
private Integer specialistId;
private String creatorName;
private String[] answer;
private String typeName;
private String[] firstFeedback;
private String specialistName;
private String[] secondFeedback;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime feedbackTime;
}
package com.jty.wsxt.interfaces.dto;
import lombok.Data;
import java.util.List;
/**
* PaperDto
*
* @author Manjiajie
* @since 2019-6-21 15:16:27
*/
@Data
public class PaperSearchDto extends SuperDto {
private Integer moduleId;
private Integer creatorId;
private String creatorName;
private Integer subjectId;
private Integer typeId;
private Integer specialistId;
private String specialistName;
private List<String> answer;
private List<String> firstFeedback;
private List<String> secondFeedback;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment