package com.yzdx.AiInterviewer.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yzdx.AiInterviewer.entity.Question; import com.yzdx.AiInterviewer.entity.QuestionBank; import com.yzdx.AiInterviewer.entity.User; import com.yzdx.AiInterviewer.entity.dto.QuestionDto; import com.yzdx.AiInterviewer.mapper.QuestionBankMapper; import com.yzdx.AiInterviewer.mapper.QuestionMapper; import com.yzdx.AiInterviewer.mapper.UserMapper; import com.yzdx.AiInterviewer.service.QuestionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Service public class QuestionServiceImpl extends ServiceImpl implements QuestionService { @Autowired private QuestionMapper questionMapper; @Autowired private UserMapper userMapper; @Autowired private QuestionBankMapper questionBankMapper; @Override public List getQuestionList(String encoding) { //根据公司编码寻找题目 LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(Question::getCompanyEncoding,encoding); List questionList= questionMapper.selectList(queryWrapper); List questionDtoList =new ArrayList<>(); QuestionDto questionDto=new QuestionDto(); QuestionBank findQuestionBank=new QuestionBank(); for (Question question:questionList) { questionDto.setId(question.getId()); questionDto.setTitle(question.getTitle()); questionDto.setDetails(question.getDetails()); questionDto.setPromote(question.getPromote()); questionDto.setBankId(question.getBankId()); questionDto.setCompanyEncoding(question.getCompanyEncoding()); questionDto.setCreateTime(question.getCreateTime()); questionDto.setUpdateTime(question.getUpdateTime()); LambdaQueryWrapper userLambdaQueryWrapper =new LambdaQueryWrapper<>(); userLambdaQueryWrapper.eq(User::getId,question.getCreateUser()); User findCreateUser= userMapper.selectOne(userLambdaQueryWrapper); questionDto.setCreateUserName(findCreateUser.getUsername()); LambdaQueryWrapper userLambdaQueryWrapper1 =new LambdaQueryWrapper<>(); userLambdaQueryWrapper.eq(User::getId,question.getUpdateUser()); User findUpdateUser= userMapper.selectOne(userLambdaQueryWrapper1); questionDto.setUpdateUserName(findUpdateUser.getUsername()); LambdaQueryWrapper bankQueryWrapper=new LambdaQueryWrapper<>(); bankQueryWrapper.eq(QuestionBank::getId,question.getBankId()); findQuestionBank=questionBankMapper.selectOne(bankQueryWrapper); questionDto.setTypeName(findQuestionBank.getTypeName()); questionDtoList.add(questionDto); } return questionDtoList; } }