首页 标准问答 分页

This commit is contained in:
gaojiabao
2023-04-12 16:07:23 +08:00
parent e84430c4a9
commit 7e6ca43fe1
4 changed files with 99 additions and 5 deletions
@@ -58,12 +58,45 @@ public class AskQuestionsController extends BaseController<AskQuestions> {
@GetMapping("/getAskQuestionsPage")
public ResponseMessage<IPage<AskQuestions>> getAskQuestionsPage(AskQuestionsPage askQuestions){
askQuestions.setPage(1l);
askQuestions.setPageSize(1000l);
askQuestions.setUserId("aideyu");
if(StringUtils.isBlank(askQuestions.getUserId())){
return Result.error();
}
Set<String> askIdList = askQuestionsService.getAskQuestionsPage(askQuestions);
//查询出所有的回答
IPage<AskQuestions> iPage = new Page<>();
iPage.setSize(askQuestions.getPageSize());
iPage.setPages(askQuestions.getPage());
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.orderByDesc("QUESTION_TIME");
if(!askIdList.isEmpty()){
queryWrapper.in("id",askIdList);
}
IPage<AskQuestions> page = askQuestionsService.page(iPage,queryWrapper);
if(!page.getRecords().isEmpty()){
for (AskQuestions data : page.getRecords()){
if(StringUtils.isNotBlank(data.getQuestioner())){
TsUser tsUser = tsUserDao.selectById(data.getQuestioner());
data.setQuestioner(tsUser.getUname());
}
if(StringUtils.isNotBlank(data.getClassification())){
if (data.getClassification().equals("BUSINESS_STAND")) {
data.setClassification("企业标准");
}
if (data.getClassification().equals("FOREIGN")) {
data.setClassification("海外标准");
}
if (data.getClassification().equals("INLAND")) {
data.setClassification("国内标准");
}
if (data.getClassification().equals("OTHER")) {
data.setClassification("公共标准");
}
}
}
}
return Result.success(page);
}
@@ -42,4 +42,7 @@ public class AskQuestionsPage {
@ApiModelProperty(value = "标准ID")
private String appendixName;
@ApiModelProperty(value = "登录人")
private String userId;
}
@@ -4,10 +4,12 @@ import com.adc.da.slrs.NewsFeed.entity.NewsFeed;
import com.adc.da.slrs.StandardQA.entity.AskQuestions;
import com.adc.da.slrs.StandardQA.entity.AskQuestionsPage;
import com.adc.da.slrs.StandardQA.entity.Reply;
import com.adc.da.util.http.ResponseMessage;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Set;
/**
* @Author: qk
@@ -31,5 +33,5 @@ public interface AskQuestionsService extends IService<AskQuestions> {
List<AskQuestions> getArchiveAskQuestions(String id);
List<Reply> getAskQuestionsByakId(String id,String state,String userId);
Set<String> getAskQuestionsPage(AskQuestionsPage askQuestions);
}
@@ -3,11 +3,10 @@ package com.adc.da.slrs.StandardQA.service.Impl;
import com.adc.da.slrs.StandardQA.dao.AskQuestionsDao;
import com.adc.da.slrs.StandardQA.dao.ReplyDao;
import com.adc.da.slrs.StandardQA.entity.AskQuestions;
import com.adc.da.slrs.StandardQA.entity.AskQuestionsPage;
import com.adc.da.slrs.StandardQA.entity.AskQuestionsReplyVO;
import com.adc.da.slrs.StandardQA.entity.Reply;
import com.adc.da.slrs.StandardQA.entity.*;
import com.adc.da.slrs.StandardQA.service.AskQuestionsService;
import com.adc.da.slrs.sarUser.dao.TsUserDao;
import com.adc.da.slrs.sarUser.entity.TsUser;
import com.adc.da.slrs.sarUser.entity.UpDTO;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.util.http.ResponseMessage;
@@ -24,7 +23,10 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* @Author: qk
@@ -44,6 +46,13 @@ public class AskQuestionsServiceImpl extends ServiceImpl<AskQuestionsDao, AskQue
@Autowired
private ITsUserService userService;
@Autowired
private TsUserDao tsUserDao;
@Autowired
private AskUserServiceImpl askUserService;
@Override
public List<AskQuestions> getAskQuestions(AskQuestions askQuestions) {
return askQuestionsDao.getAskQuestions(askQuestions);
@@ -137,6 +146,53 @@ public class AskQuestionsServiceImpl extends ServiceImpl<AskQuestionsDao, AskQue
return askQuestionsDao.getAskQuestionsById(id);
}
@Override
public Set<String> getAskQuestionsPage(AskQuestionsPage askQuestions) {
//当前人是法规部门 则返回未被回答的提问信息
List<String> uId = askQuestionsDao.getUId();
for (String uid : uId){
if(uid.equals(askQuestions.getUserId())){
//查询所有的问 答
List<AskQuestions> askQuestionsList = baseMapper.selectList(null);
List<Reply> repLies = replyDao.selectList(null);
List<AskQuestions> askList = new ArrayList<>();
for (AskQuestions ask: askQuestionsList){
for (Reply reply: repLies){
if(ask.getId().equals(reply.getAskId())){
askList.add(ask);
}
}
}
askQuestionsList.removeAll(askList.stream().distinct().collect(Collectors.toList()));
Set<String> askIdList = new HashSet<>();
//所有没有回答的问题
for (AskQuestions ask: askQuestionsList){
askIdList.add(ask.getId());
}
//查询出所有的回答
return askIdList;
}
}
// 不是法规部门 但是被邀请回答
QueryWrapper<AskQuestions> askQuestionsQueryWrapper = new QueryWrapper<>();
askQuestionsQueryWrapper.eq("QUESTIONER",askQuestions.getUserId());
List<AskQuestions> askQuestionsList = baseMapper.selectList(askQuestionsQueryWrapper);
Set<String> askIdList = new HashSet<>();
//所有没有回答的问题
for (AskQuestions ask: askQuestionsList){
askIdList.add(ask.getId());
}
// 邀请当前人回答
QueryWrapper<AskUser> objectQueryWrapper = new QueryWrapper<>();
objectQueryWrapper.eq("USID",askQuestions.getUserId());
List<AskUser> askUsers = askUserService.list(objectQueryWrapper);
for (AskUser askUser: askUsers){
askIdList.add(askUser.getAsdId());
}
//查询出所有的回答
return askIdList;
}
public ResponseMessage selectAskReply(String id) {
ArrayList<AskQuestionsReplyVO> objects = new ArrayList<>();