84 lines
3.1 KiB
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;
|
|
}
|
|
}
|