提交 a888daf0 编写于 作者: minghao.wu's avatar minghao.wu

feature: 增加回复列表分页

上级 611e51a1
流水线 #3325 已通过 于阶段
in 10 second
...@@ -83,6 +83,20 @@ public class AnalysisController extends BaseController { ...@@ -83,6 +83,20 @@ public class AnalysisController extends BaseController {
return builder.build(); return builder.build();
} }
@RequestMapping(value = "/replyList/v2/{examTitleId}/page/{pageNo}/size/{pageSize}", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
public PicaResponse<ExamTitleReplyDto> getReplyList(@PathVariable("examTitleId") Integer examTitleId,
@PathVariable("pageNo") Integer pageNo,
@PathVariable("pageSize") Integer pageSize) {
PicaResponse.Builder<ExamTitleReplyDto> builder = new PicaResponse.Builder<>();
PicaUser user = null;
try {
user = fetchPicaUser();
} catch (Exception e) {
}
builder.setData(analysisService.getReplyListV2ByExamTitleId(examTitleId, pageNo, pageSize, user));
return builder.build();
}
@RequestMapping(value = "/replyDetail/{replyId}", method = RequestMethod.GET, produces = "application/json;charset=UTF-8") @RequestMapping(value = "/replyDetail/{replyId}", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
public PicaResponse<ExamTitleReplyDetailDto> getReplyDetail(@PathVariable("replyId") Integer replyId) { public PicaResponse<ExamTitleReplyDetailDto> getReplyDetail(@PathVariable("replyId") Integer replyId) {
PicaResponse.Builder<ExamTitleReplyDetailDto> builder = new PicaResponse.Builder<>(); PicaResponse.Builder<ExamTitleReplyDetailDto> builder = new PicaResponse.Builder<>();
......
...@@ -56,6 +56,16 @@ public interface CHCAnalysisService { ...@@ -56,6 +56,16 @@ public interface CHCAnalysisService {
*/ */
ExamTitleReplyDto getReplyListByExamTitleId(Integer examTitleId, PicaUser user); ExamTitleReplyDto getReplyListByExamTitleId(Integer examTitleId, PicaUser user);
/**
* 获取题目的回复列表 分页
* @param examTitleId 题目id
* @param pageNo 页码
* @param pageSize 大小
* @param user
* @return
*/
ExamTitleReplyDto getReplyListV2ByExamTitleId(Integer examTitleId, Integer pageNo, Integer pageSize, PicaUser user);
/** /**
* 获取下一题的回复列表 * 获取下一题的回复列表
* @param examTitleId * @param examTitleId
......
...@@ -216,6 +216,54 @@ public class CHCAnalysisServiceImpl implements CHCAnalysisService { ...@@ -216,6 +216,54 @@ public class CHCAnalysisServiceImpl implements CHCAnalysisService {
return examTitleReplyDto; return examTitleReplyDto;
} }
@Override
public ExamTitleReplyDto getReplyListV2ByExamTitleId(Integer examTitleId, Integer pageNo, Integer pageSize, PicaUser user) {
AnalysisRoundExamTitle analysisRoundExamTitle = analysisRoundExamTitleMapper.selectByPrimaryKey(examTitleId);
CHCAnalysis analysis = analysisMapper.selectByPrimaryKey(analysisRoundExamTitle.getAnalysisId());
ExamTitleReplyDto examTitleReplyDto = new ExamTitleReplyDto();
ExamTitleDto examTitleDto = getExamTitleDtoById(examTitleId);
List<ReplyDto> replyDtoList = getReplyListDtoByExamTitleId(examTitleId, user != null ? user.getId() : 0);
/**
* 分页 pageNo: 1,2,...
*/
Integer totalRecordCount = replyDtoList.size();
if ((pageNo - 1) * pageSize >= totalRecordCount) {
replyDtoList.clear();
} else {
Integer beginIdx = (pageNo - 1) * pageSize;
Integer endIdx = Integer.min(pageNo * pageSize, totalRecordCount - 1);
replyDtoList = replyDtoList.subList(beginIdx, endIdx);
}
/**
* 如果是PSA 删除回复的时间显示
*/
if (analysis.getType() == ANALYSIS_TYPE_PSA ) {
replyDtoList.forEach(replyDto -> replyDto.setReplayTime(""));
}
examTitleReplyDto.setAnalysisId(analysisRoundExamTitle.getAnalysisId());
examTitleReplyDto.setRoundId(analysisRoundExamTitle.getRoundId());
examTitleReplyDto.setExamTitle(examTitleDto);
examTitleReplyDto.setReplyList(replyDtoList);
examTitleReplyDto.setType(analysis.getType().intValue());
AnalysisRound analysisRound = analysisRoundMapper.selectByPrimaryKey(analysisRoundExamTitle.getRoundId());
examTitleReplyDto.setPublished(analysisRound.getIsPublished() ? 1 : 0);
/**
* 设置回复状态
*/
examTitleReplyDto.setReplyStatus(0);
if ((new Date()).getTime() < analysisRound.getEndTime().getTime()) {
if (user != null && user.getId() != 0) {
examTitleReplyDto.setReplyStatus(getReplyStatus(analysis, examTitleId, user.getId()));
}
}
return examTitleReplyDto;
}
@Override @Override
public ExamTitleReplyDto getNextReplyListByExamTitleId(Integer examTitleId, PicaUser user) { public ExamTitleReplyDto getNextReplyListByExamTitleId(Integer examTitleId, PicaUser user) {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册