Ai-interviewer-system/src/main/java/com/yzdx/AiInterviewer/service/impl/QuestionServiceImpl.java

84 lines
3.1 KiB
Java

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<QuestionMapper, Question> implements QuestionService {
@Autowired
private QuestionMapper questionMapper;
@Autowired
private UserMapper userMapper;
@Autowired
private QuestionBankMapper questionBankMapper;
@Override
public List<QuestionDto> getQuestionList(String encoding) {
//根据公司编码寻找题目
LambdaQueryWrapper<Question> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(Question::getCompanyEncoding,encoding);
List<Question> questionList= questionMapper.selectList(queryWrapper);
List<QuestionDto> 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<User> userLambdaQueryWrapper =new LambdaQueryWrapper<>();
userLambdaQueryWrapper.eq(User::getId,question.getCreateUser());
User findCreateUser= userMapper.selectOne(userLambdaQueryWrapper);
questionDto.setCreateUserName(findCreateUser.getUsername());
LambdaQueryWrapper<User> userLambdaQueryWrapper1 =new LambdaQueryWrapper<>();
userLambdaQueryWrapper.eq(User::getId,question.getUpdateUser());
User findUpdateUser= userMapper.selectOne(userLambdaQueryWrapper1);
questionDto.setUpdateUserName(findUpdateUser.getUsername());
LambdaQueryWrapper<QuestionBank> bankQueryWrapper=new LambdaQueryWrapper<>();
bankQueryWrapper.eq(QuestionBank::getId,question.getBankId());
findQuestionBank=questionBankMapper.selectOne(bankQueryWrapper);
questionDto.setTypeName(findQuestionBank.getTypeName());
questionDtoList.add(questionDto);
}
return questionDtoList;
}
}