From ab390e59c14d4b57fce680a17c7835db19d2a7e1 Mon Sep 17 00:00:00 2001 From: Unique-Jerry <10902054+unique-jerry@user.noreply.gitee.com> Date: Sun, 19 Nov 2023 13:19:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E4=BA=AB=E9=A2=98=E5=BA=93=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/QuestionController.java | 32 +++++++-- .../controller/UploadController.java | 2 +- .../AiInterviewer/entity/SharedQuestion.java | 2 + .../entity/SharedQuestionBank.java | 2 + .../entity/dto/JobSettingDto.java | 2 + .../entity/dto/SharedQuestionBankDto.java | 14 ++++ .../entity/dto/SharedQuestionDto.java | 17 +++++ .../AiInterviewer/service/CompanyService.java | 2 + .../service/SharedQuestionBankService.java | 18 ++++- .../service/SharedQuestionService.java | 8 ++- .../impl/InterviewSettingServiceImpl.java | 13 +++- .../impl/SharedQuestionBankServiceImpl.java | 66 ++++++++++++++++++- .../impl/SharedQuestionServiceImpl.java | 57 +++++++++++++++- 13 files changed, 217 insertions(+), 18 deletions(-) create mode 100644 src/main/java/com/yzdx/AiInterviewer/entity/dto/SharedQuestionBankDto.java create mode 100644 src/main/java/com/yzdx/AiInterviewer/entity/dto/SharedQuestionDto.java diff --git a/src/main/java/com/yzdx/AiInterviewer/controller/QuestionController.java b/src/main/java/com/yzdx/AiInterviewer/controller/QuestionController.java index 177e8c9..f78a129 100644 --- a/src/main/java/com/yzdx/AiInterviewer/controller/QuestionController.java +++ b/src/main/java/com/yzdx/AiInterviewer/controller/QuestionController.java @@ -5,6 +5,8 @@ import com.yzdx.AiInterviewer.entity.Question; import com.yzdx.AiInterviewer.entity.QuestionBank; import com.yzdx.AiInterviewer.entity.SharedQuestionBank; import com.yzdx.AiInterviewer.entity.dto.QuestionDto; +import com.yzdx.AiInterviewer.entity.dto.SharedQuestionBankDto; +import com.yzdx.AiInterviewer.entity.dto.SharedQuestionDto; import com.yzdx.AiInterviewer.service.QuestionBankService; import com.yzdx.AiInterviewer.service.QuestionService; import com.yzdx.AiInterviewer.service.SharedQuestionBankService; @@ -239,7 +241,6 @@ public class QuestionController { } return R.success("修改成功!"); } - /** *删除题目 * @param id 删除题目的id @@ -256,28 +257,47 @@ public class QuestionController { return R.success("删除成功!"); } - @PostMapping("/add_question_sharedQuestionBank") + @GetMapping("/get_sharedQuestionType") + public R getSharedQuestionBankList(){ + + List sharedQuestionBank = sharedQuestionBankService.getSharedQuestionBank(); + return R.success(sharedQuestionBank); + } + + + @PostMapping("/add_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"); + String encoding=(String)addInfo.get("encoding"); - SharedQuestionBank sharedQuestionBank = sharedQuestionBankService.addSharedQuestionBank(typeName, type, description, userId); + SharedQuestionBank sharedQuestionBank = sharedQuestionBankService.addSharedQuestionBank(typeName, type, description, userId,encoding); if(sharedQuestionBank==null){ - return R.error("添加失败,您可能创建了相同名称的题库!"); + return R.error("添加失败,贵公司可能创建了相同名称的题库!"); } return R.success("添加成功",sharedQuestionBank); } - @PostMapping("/add_question_sharedQuestion") + @GetMapping("/get_sharedQuestion") + public R getSharedQuestionList(){ + + List sharedQuestionList = sharedQuestionService.getSharedQuestionList(); + + return R.success(sharedQuestionList); + } + + + @PostMapping("/add_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 encoding=(String)addInfo.get("encoding"); - String result = sharedQuestionService.addSharedQuestions(sharedBankId, selectQuestionId, userId); + String result = sharedQuestionService.addSharedQuestions(sharedBankId, selectQuestionId, userId,encoding); if(result.equals("已存在添加题库中")){ return R.success("分享成功"); diff --git a/src/main/java/com/yzdx/AiInterviewer/controller/UploadController.java b/src/main/java/com/yzdx/AiInterviewer/controller/UploadController.java index 0e7f32e..6b36724 100644 --- a/src/main/java/com/yzdx/AiInterviewer/controller/UploadController.java +++ b/src/main/java/com/yzdx/AiInterviewer/controller/UploadController.java @@ -196,7 +196,7 @@ public class UploadController { if(videoPath==null||videoPath.equals("")){ return R.error("删除失败!"); } - String uploadPath = request.getSession().getServletContext().getRealPath("/upload/picture/"); + String uploadPath = request.getSession().getServletContext().getRealPath("/upload/video/"); try { File folder = new File(uploadPath); File[] files = folder.listFiles(); diff --git a/src/main/java/com/yzdx/AiInterviewer/entity/SharedQuestion.java b/src/main/java/com/yzdx/AiInterviewer/entity/SharedQuestion.java index 4e01476..d0404b2 100644 --- a/src/main/java/com/yzdx/AiInterviewer/entity/SharedQuestion.java +++ b/src/main/java/com/yzdx/AiInterviewer/entity/SharedQuestion.java @@ -22,4 +22,6 @@ public class SharedQuestion extends BaseEntity { private String promote; @ApiModelProperty("题库id") private Integer bankId; + @ApiModelProperty("创建公司编码") + private String createCompany; } diff --git a/src/main/java/com/yzdx/AiInterviewer/entity/SharedQuestionBank.java b/src/main/java/com/yzdx/AiInterviewer/entity/SharedQuestionBank.java index fdd4530..4a990e3 100644 --- a/src/main/java/com/yzdx/AiInterviewer/entity/SharedQuestionBank.java +++ b/src/main/java/com/yzdx/AiInterviewer/entity/SharedQuestionBank.java @@ -20,4 +20,6 @@ public class SharedQuestionBank extends BaseEntity{ private Integer type; @ApiModelProperty("描述") private String description; + @ApiModelProperty("创建公司编码") + private String createCompany; } diff --git a/src/main/java/com/yzdx/AiInterviewer/entity/dto/JobSettingDto.java b/src/main/java/com/yzdx/AiInterviewer/entity/dto/JobSettingDto.java index fb6f65d..0ec96f1 100644 --- a/src/main/java/com/yzdx/AiInterviewer/entity/dto/JobSettingDto.java +++ b/src/main/java/com/yzdx/AiInterviewer/entity/dto/JobSettingDto.java @@ -15,6 +15,8 @@ public class JobSettingDto extends InterviewSetting { private String backgroundUrl; @ApiModelProperty("形象图片") private String imageUrl; + @ApiModelProperty("形象视频") + private String videoUrl; @ApiModelProperty("logo图片") private String logoUrl; @ApiModelProperty("题库名数组") diff --git a/src/main/java/com/yzdx/AiInterviewer/entity/dto/SharedQuestionBankDto.java b/src/main/java/com/yzdx/AiInterviewer/entity/dto/SharedQuestionBankDto.java new file mode 100644 index 0000000..afa3bc2 --- /dev/null +++ b/src/main/java/com/yzdx/AiInterviewer/entity/dto/SharedQuestionBankDto.java @@ -0,0 +1,14 @@ +package com.yzdx.AiInterviewer.entity.dto; + +import com.yzdx.AiInterviewer.entity.SharedQuestionBank; +import lombok.Data; + +@Data +public class SharedQuestionBankDto extends SharedQuestionBank { + + private String createUserName; + + private String updateUserName; + + private String createCompanyName; +} diff --git a/src/main/java/com/yzdx/AiInterviewer/entity/dto/SharedQuestionDto.java b/src/main/java/com/yzdx/AiInterviewer/entity/dto/SharedQuestionDto.java new file mode 100644 index 0000000..3416a9a --- /dev/null +++ b/src/main/java/com/yzdx/AiInterviewer/entity/dto/SharedQuestionDto.java @@ -0,0 +1,17 @@ +package com.yzdx.AiInterviewer.entity.dto; + +import com.yzdx.AiInterviewer.entity.SharedQuestion; +import lombok.Data; + +@Data +public class SharedQuestionDto extends SharedQuestion { + + private String createUserName; + + private String updateUserName; + + private String createCompanyName; + + private String SharedQuestionBankName; + +} diff --git a/src/main/java/com/yzdx/AiInterviewer/service/CompanyService.java b/src/main/java/com/yzdx/AiInterviewer/service/CompanyService.java index b89fd7d..5823337 100644 --- a/src/main/java/com/yzdx/AiInterviewer/service/CompanyService.java +++ b/src/main/java/com/yzdx/AiInterviewer/service/CompanyService.java @@ -41,4 +41,6 @@ public interface CompanyService extends IService { String treatment, String registeredCapital, Integer userId); + + } diff --git a/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionBankService.java b/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionBankService.java index 7655fe4..e4694d2 100644 --- a/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionBankService.java +++ b/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionBankService.java @@ -2,6 +2,9 @@ package com.yzdx.AiInterviewer.service; import com.baomidou.mybatisplus.extension.service.IService; import com.yzdx.AiInterviewer.entity.SharedQuestionBank; +import com.yzdx.AiInterviewer.entity.dto.SharedQuestionBankDto; + +import java.util.List; public interface SharedQuestionBankService extends IService { @@ -13,7 +16,20 @@ public interface SharedQuestionBankService extends IService * @param userId 创建人 * @return 创建的SharedQuestionBank对象 * */ - SharedQuestionBank addSharedQuestionBank(String typeName,Integer type,String description,Integer userId); + SharedQuestionBank addSharedQuestionBank(String typeName,Integer type,String description,Integer userId,String encoding); + /** + * 获取分享题库列表 + * @return 分享题库列表 + * */ + List getSharedQuestionBank(); + /** + * 根据id查找分享题库对象 + * @param bankId 题库ID + * @return 题库对象 + * + * */ + + SharedQuestionBank getSharedQuestionBankById(Integer bankId); } diff --git a/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionService.java b/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionService.java index 3dba8fd..5385456 100644 --- a/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionService.java +++ b/src/main/java/com/yzdx/AiInterviewer/service/SharedQuestionService.java @@ -2,6 +2,7 @@ package com.yzdx.AiInterviewer.service; import com.baomidou.mybatisplus.extension.service.IService; import com.yzdx.AiInterviewer.entity.SharedQuestion; +import com.yzdx.AiInterviewer.entity.dto.SharedQuestionDto; import java.util.List; @@ -15,6 +16,9 @@ public interface SharedQuestionService extends IService { * @return 影响的行数 * * */ - String addSharedQuestions(Integer sharedBankId, List selectQuestionId,Integer userId); - /// + String addSharedQuestions(Integer sharedBankId, List selectQuestionId,Integer userId,String encoding); + + + List getSharedQuestionList(); + } diff --git a/src/main/java/com/yzdx/AiInterviewer/service/impl/InterviewSettingServiceImpl.java b/src/main/java/com/yzdx/AiInterviewer/service/impl/InterviewSettingServiceImpl.java index 75e1807..be994d8 100644 --- a/src/main/java/com/yzdx/AiInterviewer/service/impl/InterviewSettingServiceImpl.java +++ b/src/main/java/com/yzdx/AiInterviewer/service/impl/InterviewSettingServiceImpl.java @@ -102,7 +102,12 @@ public class InterviewSettingServiceImpl extends ServiceImpl logoEntityLambdaQueryWrapper=new LambdaQueryWrapper<>(); @@ -210,8 +215,12 @@ public class InterviewSettingServiceImpl extends ServiceImpl logoEntityLambdaQueryWrapper=new LambdaQueryWrapper<>(); 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 0488c53..014ed31 100644 --- a/src/main/java/com/yzdx/AiInterviewer/service/impl/SharedQuestionBankServiceImpl.java +++ b/src/main/java/com/yzdx/AiInterviewer/service/impl/SharedQuestionBankServiceImpl.java @@ -3,25 +3,39 @@ 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.Company; import com.yzdx.AiInterviewer.entity.SharedQuestionBank; +import com.yzdx.AiInterviewer.entity.User; +import com.yzdx.AiInterviewer.entity.dto.SharedQuestionBankDto; import com.yzdx.AiInterviewer.mapper.SharedQuestionBankMapper; +import com.yzdx.AiInterviewer.service.CompanyService; import com.yzdx.AiInterviewer.service.SharedQuestionBankService; +import com.yzdx.AiInterviewer.service.UserService; import com.yzdx.AiInterviewer.utiles.TimeUtil; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.stream.Collectors; + @Service public class SharedQuestionBankServiceImpl extends ServiceImpl implements SharedQuestionBankService{ @Autowired private SharedQuestionBankMapper sharedQuestionBankMapper; + @Autowired + private CompanyService companyService; + @Autowired + private UserService userService; @Override - public SharedQuestionBank addSharedQuestionBank(String typeName, Integer type, String description, Integer userId) { + public SharedQuestionBank addSharedQuestionBank(String typeName, Integer type, String description, Integer userId,String encoding) { + + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(SharedQuestionBank::getTypeName,typeName).eq(BaseEntity::getCreateUser,userId); + queryWrapper.eq(SharedQuestionBank::getTypeName,typeName).eq(SharedQuestionBank::getCreateCompany,encoding); SharedQuestionBank sharedQuestionBank = sharedQuestionBankMapper.selectOne(queryWrapper); @@ -34,7 +48,10 @@ public class SharedQuestionBankServiceImpl extends ServiceImpl getSharedQuestionBank() { + + + List sharedQuestionBanks = sharedQuestionBankMapper.selectList(null); + + List 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; + } + + @Override + public SharedQuestionBank getSharedQuestionBankById(Integer bankId) { + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); + + queryWrapper.eq(SharedQuestionBank::getId,bankId); + + SharedQuestionBank sharedQuestionBank = sharedQuestionBankMapper.selectOne(queryWrapper); + + return sharedQuestionBank; + } } 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 23ede5d..28b7004 100644 --- a/src/main/java/com/yzdx/AiInterviewer/service/impl/SharedQuestionServiceImpl.java +++ b/src/main/java/com/yzdx/AiInterviewer/service/impl/SharedQuestionServiceImpl.java @@ -2,16 +2,21 @@ 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.entity.*; +import com.yzdx.AiInterviewer.entity.dto.SharedQuestionDto; import com.yzdx.AiInterviewer.mapper.QuestionMapper; import com.yzdx.AiInterviewer.mapper.SharedQuestionMapper; +import com.yzdx.AiInterviewer.service.CompanyService; +import com.yzdx.AiInterviewer.service.SharedQuestionBankService; import com.yzdx.AiInterviewer.service.SharedQuestionService; +import com.yzdx.AiInterviewer.service.UserService; import com.yzdx.AiInterviewer.utiles.TimeUtil; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.stream.Collectors; @Service public class SharedQuestionServiceImpl extends ServiceImpl implements SharedQuestionService { @@ -22,8 +27,17 @@ public class SharedQuestionServiceImpl extends ServiceImpl selectQuestionId, Integer userId) { + public String addSharedQuestions(Integer sharedBankId, List selectQuestionId, Integer userId,String encoding) { String errorQuestion=""; @@ -59,11 +73,48 @@ public class SharedQuestionServiceImpl extends ServiceImpl getSharedQuestionList() { + List sharedQuestions = sharedQuestionMapper.selectList(null); + + List sharedQuestionDtos=sharedQuestions.stream().map(item->{ + SharedQuestionDto sharedQuestionDto=new SharedQuestionDto(); + + BeanUtils.copyProperties(item,sharedQuestionDto); + + User findCreateUser = userService.getUserById(sharedQuestionDto.getCreateUser()); + + sharedQuestionDto.setCreateUserName(findCreateUser.getUsername()); + + User findUpdateUser = userService.getUserById(sharedQuestionDto.getUpdateUser()); + + sharedQuestionDto.setUpdateUserName(findUpdateUser.getUsername()); + + SharedQuestionBank sharedQuestionBankById = sharedQuestionBankService.getSharedQuestionBankById(sharedQuestionDto.getBankId()); + + sharedQuestionDto.setSharedQuestionBankName(sharedQuestionBankById.getTypeName()); + + Company companyDetail = companyService.getCompanyDetail(sharedQuestionDto.getCreateCompany()); + + sharedQuestionDto.setCreateCompanyName(companyDetail.getCompanyName()); + + return sharedQuestionDto; + + }).collect(Collectors.toList()); + + return sharedQuestionDtos; + } + + }