diff --git a/src/main/java/com/yzdx/AiInterviewer/comment/R.java b/src/main/java/com/yzdx/AiInterviewer/comment/R.java index 504424a..cbfc20d 100644 --- a/src/main/java/com/yzdx/AiInterviewer/comment/R.java +++ b/src/main/java/com/yzdx/AiInterviewer/comment/R.java @@ -16,6 +16,14 @@ public class R{ r.message="成功"; return r; } + + public static R success(String message,T object){ + R r= new R<>(); + r.code=0; + r.data=object; + r.message=message; + return r; + } public static R error(String message){ R r=new R<>(); diff --git a/src/main/java/com/yzdx/AiInterviewer/controller/QuestionController.java b/src/main/java/com/yzdx/AiInterviewer/controller/QuestionController.java index 98ac35f..9648a47 100644 --- a/src/main/java/com/yzdx/AiInterviewer/controller/QuestionController.java +++ b/src/main/java/com/yzdx/AiInterviewer/controller/QuestionController.java @@ -2,9 +2,12 @@ package com.yzdx.AiInterviewer.controller; import com.yzdx.AiInterviewer.comment.R; import com.yzdx.AiInterviewer.entity.QuestionBank; +import com.yzdx.AiInterviewer.entity.SharedQuestionBank; import com.yzdx.AiInterviewer.entity.dto.QuestionDto; import com.yzdx.AiInterviewer.service.QuestionBankService; import com.yzdx.AiInterviewer.service.QuestionService; +import com.yzdx.AiInterviewer.service.SharedQuestionBankService; +import com.yzdx.AiInterviewer.service.SharedQuestionService; import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -22,6 +25,11 @@ public class QuestionController { @Autowired private QuestionService questionService; + @Autowired + private SharedQuestionBankService sharedQuestionBankService; + + @Autowired + private SharedQuestionService sharedQuestionService; /** * 获取题库列表 * @param encoding 公司编码 @@ -231,7 +239,34 @@ public class QuestionController { return R.success("删除成功!"); } + @PostMapping("/add_question_sharedQuestionBank") + public R addSharedQuestionType(@RequestBody Map addInfo){ + String typeName=(String) addInfo.get("typeName"); + Integer type=(Integer) addInfo.get("type"); + String description=(String) addInfo.get("description"); + Integer userId=(Integer) addInfo.get("userId"); + SharedQuestionBank sharedQuestionBank = sharedQuestionBankService.addSharedQuestionBank(typeName, type, description, userId); + + if(sharedQuestionBank==null){ + return R.error("添加失败,您可能创建了相同名称的题库!"); + } + return R.success("添加成功",sharedQuestionBank); + } + + @PostMapping("/add_question_sharedQuestion") + public R addSharedQuestion(@RequestBody Map addInfo){ + Integer sharedBankId=(Integer) addInfo.get("sharedBankId"); + List selectQuestionId=(List) addInfo.get("selectQuestionId"); + Integer userId =(Integer) addInfo.get("userId"); + + String result = sharedQuestionService.addShardQuestions(sharedBankId, selectQuestionId, userId); + + if(result.equals("已存在添加题库中")){ + return R.success("分享成功"); + } + return R.error(result); + } } diff --git a/src/main/java/com/yzdx/AiInterviewer/controller/RecruitmentController.java b/src/main/java/com/yzdx/AiInterviewer/controller/RecruitmentController.java index 69902ff..501ce64 100644 --- a/src/main/java/com/yzdx/AiInterviewer/controller/RecruitmentController.java +++ b/src/main/java/com/yzdx/AiInterviewer/controller/RecruitmentController.java @@ -8,14 +8,8 @@ import com.yzdx.AiInterviewer.entity.dto.JobSettingDto; import com.yzdx.AiInterviewer.service.CompanyService; import com.yzdx.AiInterviewer.service.InterviewSettingService; import com.yzdx.AiInterviewer.service.JobListService; -import com.yzdx.AiInterviewer.utiles.MyStringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpSession; -import java.io.File; -import java.io.IOException; import java.util.*; diff --git a/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionBankService.java b/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionBankService.java index 8b047a5..7655fe4 100644 --- a/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionBankService.java +++ b/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionBankService.java @@ -5,5 +5,15 @@ import com.yzdx.AiInterviewer.entity.SharedQuestionBank; public interface SharedQuestionBankService extends IService { + /** + * 添加分享题库 + * @param typeName 题库名称 + * @param type 题库类型 + * @param description 题库描述 + * @param userId 创建人 + * @return 创建的SharedQuestionBank对象 + * */ + SharedQuestionBank addSharedQuestionBank(String typeName,Integer type,String description,Integer userId); + } diff --git a/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionService.java b/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionService.java index 34eeec0..3405ac4 100644 --- a/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionService.java +++ b/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionService.java @@ -3,5 +3,17 @@ package com.yzdx.AiInterviewer.service; import com.baomidou.mybatisplus.extension.service.IService; import com.yzdx.AiInterviewer.entity.SharedQuestion; +import java.util.List; + public interface SharedQuestionService extends IService { + + /** + * 增加题目 + * @param sharedBankId 分享题库id + * @param selectQuestionId 分享题目的id + * @param userId 分享人 + * @return 影响的行数 + * + * */ + String addShardQuestions(Integer sharedBankId, List selectQuestionId,Integer userId); } diff --git a/src/main/java/com/yzdx/AiInterviewer/service/impl/SharedQuestionBankServiceImpl.java b/src/main/java/com/yzdx/AiInterviewer/service/impl/SharedQuestionBankServiceImpl.java index 7cb5f0f..0488c53 100644 --- a/src/main/java/com/yzdx/AiInterviewer/service/impl/SharedQuestionBankServiceImpl.java +++ b/src/main/java/com/yzdx/AiInterviewer/service/impl/SharedQuestionBankServiceImpl.java @@ -1,9 +1,13 @@ 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.BaseEntity; +import com.yzdx.AiInterviewer.entity.QuestionBank; import com.yzdx.AiInterviewer.entity.SharedQuestionBank; import com.yzdx.AiInterviewer.mapper.SharedQuestionBankMapper; import com.yzdx.AiInterviewer.service.SharedQuestionBankService; +import com.yzdx.AiInterviewer.utiles.TimeUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -13,5 +17,32 @@ public class SharedQuestionBankServiceImpl extends ServiceImpl queryWrapper=new LambdaQueryWrapper<>(); + queryWrapper.eq(SharedQuestionBank::getTypeName,typeName).eq(BaseEntity::getCreateUser,userId); + + 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); + newSharedBank.setCreateTime(TimeUtil.getTime()); + + sharedQuestionBankMapper.insert(newSharedBank); + + LambdaQueryWrapper bankLambdaQueryWrapper=new LambdaQueryWrapper<>(); + + bankLambdaQueryWrapper.eq(SharedQuestionBank::getTypeName,typeName).eq(BaseEntity::getCreateUser,userId); + + return sharedQuestionBankMapper.selectOne(bankLambdaQueryWrapper); + + } } diff --git a/src/main/java/com/yzdx/AiInterviewer/service/impl/SharedQuestionServiceImpl.java b/src/main/java/com/yzdx/AiInterviewer/service/impl/SharedQuestionServiceImpl.java index 7fbaebb..521b0a8 100644 --- a/src/main/java/com/yzdx/AiInterviewer/service/impl/SharedQuestionServiceImpl.java +++ b/src/main/java/com/yzdx/AiInterviewer/service/impl/SharedQuestionServiceImpl.java @@ -1,15 +1,70 @@ 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.SharedQuestion; +import com.yzdx.AiInterviewer.mapper.QuestionMapper; import com.yzdx.AiInterviewer.mapper.SharedQuestionBankMapper; import com.yzdx.AiInterviewer.mapper.SharedQuestionMapper; import com.yzdx.AiInterviewer.service.SharedQuestionService; +import com.yzdx.AiInterviewer.utiles.TimeUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class SharedQuestionServiceImpl extends ServiceImpl implements SharedQuestionService { + @Autowired + private QuestionMapper questionMapper; + @Autowired + private SharedQuestionMapper sharedQuestionMapper; + + @Override + public String addShardQuestions(Integer sharedBankId, List selectQuestionId, Integer userId) { + + String errorQuestion=""; + + for (int i = 0; i < selectQuestionId.size(); i++) { + Integer id = selectQuestionId.get(i); + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); + + queryWrapper.eq(Question::getId,id); + + Question question = questionMapper.selectOne(queryWrapper); + + if(question==null){ + continue; + } + + String findTitle=question.getTitle(); + + LambdaQueryWrapper titleQueryWrapper=new LambdaQueryWrapper<>(); + + titleQueryWrapper.eq(SharedQuestion::getTitle,findTitle).eq(SharedQuestion::getBankId,sharedBankId); + + SharedQuestion selectOne = sharedQuestionMapper.selectOne(titleQueryWrapper); + + if(selectOne!=null){ + errorQuestion=errorQuestion+","+selectOne.getTitle(); + continue; + } + + SharedQuestion sharedQuestion=new SharedQuestion(); + + sharedQuestion.setDetails(question.getDetails()); + sharedQuestion.setTitle(question.getTitle()); + sharedQuestion.setPromote(question.getPromote()); + sharedQuestion.setCreateUser(userId); + sharedQuestion.setCreateTime(TimeUtil.getTime()); + sharedQuestion.setBankId(sharedBankId); + + sharedQuestionMapper.insert(sharedQuestion); + } + errorQuestion=errorQuestion+"已存在添加题库中"; + return errorQuestion; + } }