Commit 2266fcfb by zwb

新增简历模块列表查询与排序

parent ab25ca45
package com.bkty.system.controller; package com.bkty.system.controller;
import cn.hutool.core.collection.CollectionUtil;
import com.bkty.system.api.model.LoginUser; import com.bkty.system.api.model.LoginUser;
import com.bkty.system.domain.dto.ModuleOptimizationDto; import com.bkty.system.domain.dto.ModuleOptimizationDto;
import com.bkty.system.domain.dto.ResumeByPdfDto; import com.bkty.system.domain.dto.ResumeByPdfDto;
import com.bkty.system.domain.dto.ResumeListItemCache; import com.bkty.system.domain.dto.ResumeListItemCache;
import com.bkty.system.domain.dto.ResumeMakeDto; import com.bkty.system.domain.dto.ResumeMakeDto;
import com.bkty.system.domain.vo.ResumeModelVo;
import com.bkty.system.domain.vo.ResumeVo; import com.bkty.system.domain.vo.ResumeVo;
import com.bkty.system.service.resume.NewEditionResumeService; import com.bkty.system.service.resume.NewEditionResumeService;
import com.bkty.system.service.resume.ResumeCacheService; import com.bkty.system.service.resume.ResumeCacheService;
...@@ -22,6 +24,7 @@ import org.dromara.common.satoken.utils.LoginHelper; ...@@ -22,6 +24,7 @@ import org.dromara.common.satoken.utils.LoginHelper;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -162,4 +165,36 @@ public class NewEditionResumeController { ...@@ -162,4 +165,36 @@ public class NewEditionResumeController {
return new R<>(this.newEditionResumeService.queryModuleOptimization(dto)); return new R<>(this.newEditionResumeService.queryModuleOptimization(dto));
} }
/**
* 根据简历id查询简历模块列表
* @param resumeId
* @return
*/
@GetMapping(value = "/query-resume-model")
public R<List<ResumeModelVo>> queryResumeModel(@RequestParam("resumeId") Long resumeId){
List<ResumeModelVo> resumeModelVos = resumeCacheService.queryResumeModelCache(resumeId);
if (CollectionUtil.isNotEmpty(resumeModelVos)){
resumeModelVos.sort(Comparator.comparing(ResumeModelVo::getDataSort));
return new R<>(resumeModelVos);
}
List<ResumeModelVo> resultList = this.newEditionResumeService.queryModelList(resumeId);
return new R<>(resultList);
}
/**
* 模块排序
* @param dto
* @return
*/
@PostMapping(value = "/resume-model-sort")
@RepeatSubmit
public R<Void> resumeModelSort(@RequestBody ResumeMakeDto dto){
if (null == dto.getResumeId()){
throw new JxgException("简历id不能为空");
}
this.newEditionResumeService.resumeModelSort(dto);
this.resumeCacheService.updateModelSort(dto);
return new R<>();
}
} }
...@@ -3,6 +3,7 @@ package com.bkty.system.service.resume; ...@@ -3,6 +3,7 @@ package com.bkty.system.service.resume;
import com.bkty.system.domain.dto.ModuleOptimizationDto; import com.bkty.system.domain.dto.ModuleOptimizationDto;
import com.bkty.system.domain.dto.ResumeListItemCache; import com.bkty.system.domain.dto.ResumeListItemCache;
import com.bkty.system.domain.dto.ResumeMakeDto; import com.bkty.system.domain.dto.ResumeMakeDto;
import com.bkty.system.domain.vo.ResumeModelVo;
import com.bkty.system.domain.vo.ResumeVo; import com.bkty.system.domain.vo.ResumeVo;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
...@@ -77,4 +78,16 @@ public interface NewEditionResumeService { ...@@ -77,4 +78,16 @@ public interface NewEditionResumeService {
*/ */
String queryModuleOptimization(ModuleOptimizationDto dto) throws Exception; String queryModuleOptimization(ModuleOptimizationDto dto) throws Exception;
/**
* 查询模块
* @param resumeId
* @return
*/
List<ResumeModelVo> queryModelList(Long resumeId);
/**
* 简历模块排序
* @param dto
*/
void resumeModelSort(ResumeMakeDto dto);
} }
...@@ -776,6 +776,60 @@ public class NewEditionResumeServiceImpl implements NewEditionResumeService { ...@@ -776,6 +776,60 @@ public class NewEditionResumeServiceImpl implements NewEditionResumeService {
return null; return null;
} }
@Override
public List<ResumeModelVo> queryModelList(Long resumeId) {
QueryWrapper<FunctionResumeModel> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("resume_id", resumeId).eq("is_deleted", 0).orderByAsc("data_sort");
List<FunctionResumeModel> models = this.resumeModelMapper.selectList(queryWrapper);
if (CollectionUtil.isEmpty(models)) {
return List.of();
}
List<ResumeModelVo> resultList = new ArrayList<>(models.size());
models.forEach(m -> {
resumeCacheService.saveResumeModelListCache(m, resumeId);
resultList.add(initModelVo(m));
});
return resultList;
}
@Override
public void resumeModelSort(ResumeMakeDto dto) {
if (CollectionUtil.isEmpty(dto.getModelSort())) {
UpdateWrapper<FunctionResumeModel> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("resume_id", dto.getResumeId())
.eq("is_deleted", 0)
.set("is_show", 1);
this.resumeModelMapper.update(null, updateWrapper);
//修改模块缓存
this.resumeCacheService.updateModelSort(dto);
} else {
//排序
resumeModelMapper.updateDataSortByIds(dto.getModelSort());
//不等于这个id的都不显示
UpdateWrapper<FunctionResumeModel> updateWrapper = new UpdateWrapper<>();
updateWrapper.notIn("id", dto.getModelSort().keySet())
.eq("resume_id", dto.getResumeId())
.eq("is_deleted", 0)
.set("is_show", 1);
this.resumeModelMapper.update(null, updateWrapper);
}
}
private ResumeModelVo initModelVo(FunctionResumeModel m) {
ResumeModelVo modelVo = new ResumeModelVo();
modelVo.setModelId(m.getId());
modelVo.setModelType(m.getModelType());
if (m.getIsShow() != null) {
modelVo.setIsShow(m.getIsShow());
}
modelVo.setDataSort(m.getDataSort());
modelVo.setModelName(m.getModelName());
modelVo.setWebCode(ResumeEnum.ResumeModel.getWebCodeByCode(m.getModelType()));
return modelVo;
}
/** /**
* 根据生日计算年龄 * 根据生日计算年龄
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment