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

120 lines
4.5 KiB
Java
Raw Normal View History

2023-11-16 13:22:51 +00:00
package com.yzdx.AiInterviewer.service.impl;
2023-11-18 07:36:40 +00:00
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
2023-11-16 13:22:51 +00:00
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
2023-11-19 07:50:14 +00:00
import com.yzdx.AiInterviewer.comment.R;
2023-11-18 07:36:40 +00:00
import com.yzdx.AiInterviewer.entity.BaseEntity;
2023-11-19 05:19:41 +00:00
import com.yzdx.AiInterviewer.entity.Company;
2023-11-16 13:22:51 +00:00
import com.yzdx.AiInterviewer.entity.SharedQuestionBank;
2023-11-19 05:19:41 +00:00
import com.yzdx.AiInterviewer.entity.User;
import com.yzdx.AiInterviewer.entity.dto.SharedQuestionBankDto;
2023-11-16 13:22:51 +00:00
import com.yzdx.AiInterviewer.mapper.SharedQuestionBankMapper;
2023-11-19 05:19:41 +00:00
import com.yzdx.AiInterviewer.service.CompanyService;
2023-11-16 13:22:51 +00:00
import com.yzdx.AiInterviewer.service.SharedQuestionBankService;
2023-11-19 05:19:41 +00:00
import com.yzdx.AiInterviewer.service.UserService;
2023-11-18 07:36:40 +00:00
import com.yzdx.AiInterviewer.utiles.TimeUtil;
2023-11-19 05:19:41 +00:00
import org.springframework.beans.BeanUtils;
2023-11-16 13:22:51 +00:00
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
2023-11-19 05:19:41 +00:00
import java.util.List;
import java.util.stream.Collectors;
2023-11-16 13:22:51 +00:00
@Service
public class SharedQuestionBankServiceImpl extends ServiceImpl<SharedQuestionBankMapper,SharedQuestionBank> implements SharedQuestionBankService{
@Autowired
private SharedQuestionBankMapper sharedQuestionBankMapper;
2023-11-19 05:19:41 +00:00
@Autowired
private CompanyService companyService;
@Autowired
private UserService userService;
2023-11-16 13:22:51 +00:00
2023-11-18 07:36:40 +00:00
@Override
2023-11-19 05:19:41 +00:00
public SharedQuestionBank addSharedQuestionBank(String typeName, Integer type, String description, Integer userId,String encoding) {
2023-11-18 07:36:40 +00:00
LambdaQueryWrapper<SharedQuestionBank> queryWrapper=new LambdaQueryWrapper<>();
2023-11-16 13:22:51 +00:00
2023-11-19 05:19:41 +00:00
queryWrapper.eq(SharedQuestionBank::getTypeName,typeName).eq(SharedQuestionBank::getCreateCompany,encoding);
2023-11-18 07:36:40 +00:00
SharedQuestionBank sharedQuestionBank = sharedQuestionBankMapper.selectOne(queryWrapper);
if (sharedQuestionBank!=null){
return null;
}
SharedQuestionBank newSharedBank=new SharedQuestionBank();
newSharedBank.setTypeName(typeName);
newSharedBank.setType(type);
newSharedBank.setDescription(description);
newSharedBank.setCreateUser(userId);
2023-11-19 05:19:41 +00:00
newSharedBank.setUpdateUser(userId);
newSharedBank.setUpdateTime(TimeUtil.getTime());
2023-11-18 07:36:40 +00:00
newSharedBank.setCreateTime(TimeUtil.getTime());
2023-11-19 05:19:41 +00:00
newSharedBank.setCreateCompany(encoding);
2023-11-18 07:36:40 +00:00
sharedQuestionBankMapper.insert(newSharedBank);
LambdaQueryWrapper<SharedQuestionBank> bankLambdaQueryWrapper=new LambdaQueryWrapper<>();
bankLambdaQueryWrapper.eq(SharedQuestionBank::getTypeName,typeName).eq(BaseEntity::getCreateUser,userId);
return sharedQuestionBankMapper.selectOne(bankLambdaQueryWrapper);
}
2023-11-19 07:50:14 +00:00
@Override
public SharedQuestionBank getSharedQuestionBankById(Integer bankId) {
LambdaQueryWrapper<SharedQuestionBank> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(SharedQuestionBank::getId,bankId);
SharedQuestionBank sharedQuestionBank = sharedQuestionBankMapper.selectOne(queryWrapper);
return sharedQuestionBank;
}
2023-11-19 05:19:41 +00:00
@Override
public List<SharedQuestionBankDto> getSharedQuestionBank() {
List<SharedQuestionBank> sharedQuestionBanks = sharedQuestionBankMapper.selectList(null);
List<SharedQuestionBankDto> sharedQuestionBankDtos=sharedQuestionBanks.stream().map(item->{
SharedQuestionBankDto sharedQuestionBankDto=new SharedQuestionBankDto();
BeanUtils.copyProperties(item,sharedQuestionBankDto);
Company companyDetail = companyService.getCompanyDetail(sharedQuestionBankDto.getCreateCompany());
sharedQuestionBankDto.setCreateCompany(null);
sharedQuestionBankDto.setCreateCompanyName(companyDetail.getCompanyName());
User createUser = userService.getUserById(sharedQuestionBankDto.getCreateUser());
sharedQuestionBankDto.setCreateUserName(createUser.getUsername());
User updateUser = userService.getUserById(sharedQuestionBankDto.getUpdateUser());
sharedQuestionBankDto.setUpdateUserName(updateUser.getUsername());
return sharedQuestionBankDto;
}).collect(Collectors.toList());
return sharedQuestionBankDtos;
}
2023-11-19 07:50:14 +00:00
2023-11-19 05:19:41 +00:00
@Override
2023-11-19 07:50:14 +00:00
public SharedQuestionBank getShareQuestionTypeByCompany(String encoding){
2023-11-19 05:19:41 +00:00
LambdaQueryWrapper<SharedQuestionBank> queryWrapper=new LambdaQueryWrapper<>();
2023-11-19 07:50:14 +00:00
queryWrapper.eq(SharedQuestionBank::getCreateCompany,encoding);
SharedQuestionBank sharedQuestionBank =sharedQuestionBankMapper.selectOne(queryWrapper);
return sharedQuestionBank;
}
2023-11-19 05:19:41 +00:00
2023-11-16 13:22:51 +00:00
}