mybatis plus 分页查询出来数据后对他二次 修改数据 封装返回
@AutoLog(value = "v_survey-搜索")@ApiOperation(value="v_survey-搜索", notes="v_survey-搜索")@GetMapping(value = "/search")public Result<IPage<VSurvey>> search(@RequestParam(name="keyword",required=true) String keyword,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {QueryWrapper<VSurvey> queryWrapper = new QueryWrapper<>();queryWrapper.like("title", keyword).or().like("description", keyword);queryWrapper.orderByDesc("create_time") .orderByDesc("update_time"); Page<VSurvey> page = new Page<VSurvey>(pageNo, pageSize);IPage<VSurvey> pageList = vSurveyService.page(page, queryWrapper);IPage<VSurvey> dtoPage = new Page<>();LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();if (sysUser.getPost().equals("teacher")){QueryWrapper<SysUser> queryWrapper1 = new QueryWrapper<>();queryWrapper1.eq("post", "student");queryWrapper1.eq("del_flag", 0);List<SysUser> list = userMapper.selectList(queryWrapper1);dtoPage = pageList.convert(survey -> {VSurvey dto = new VSurvey();BeanUtils.copyProperties(survey, dto);QueryWrapper<VSurveyAnswer> queryWrapper2 = new QueryWrapper<>();queryWrapper2.eq("survey_id", dto.getId());List<VSurveyAnswer> surveyAnswers = vSurveyAnswerMapper.selectList(queryWrapper2);if (!list.isEmpty()&& !surveyAnswers.isEmpty() && list.size() == surveyAnswers.size()){dto.setStatus(2);}else{dto.setStatus(1);}return dto;});}else{dtoPage = pageList.convert(survey -> {VSurvey dto = new VSurvey();BeanUtils.copyProperties(survey, dto);QueryWrapper<VSurveyAnswer> queryWrapper2 = new QueryWrapper<>();queryWrapper2.eq("survey_id", dto.getId());queryWrapper2.eq("student_id", sysUser.getId());List<VSurveyAnswer> surveyAnswers = vSurveyAnswerMapper.selectList(queryWrapper2);if (!surveyAnswers.isEmpty()){dto.setStatus(2);}else{dto.setStatus(1);}return dto;});}VSearchHistory searchHistory = new VSearchHistory();searchHistory.setType(4);searchHistory.setKeyword(keyword);vSearchHistoryService.addSearchHistory(searchHistory);;return Result.OK(dtoPage);}}