Commit b2b71dec by zwb

修改岗位列表查询接口添加analysisId参数

parent 5d219abb
......@@ -113,6 +113,10 @@ public class JobRecommendController {
*/
@PostMapping("/query-position-list")
public R<List<PositionRecommendListVo>> queryPositionList(@RequestBody PositionQueryDto dto) {
Long analysisId = dto.getAnalysisId();
if (analysisId == null){
throw new WarnException("岗位智推分析数据id不能为空");
}
List<PositionRecommendListVo> aiPositionRecommendRecordVoList = jobRecommendService.queryPositionList(dto);
return new R<>(aiPositionRecommendRecordVoList);
}
......
......@@ -26,4 +26,6 @@ public class PositionQueryDto {
private List<String> cityCodes;
private Long analysisId;
}
......@@ -3,8 +3,6 @@ package com.bkty.system.service.jobRecommend;
import com.bkty.system.domain.entity.FunctionPositionPortraitV2;
import com.bkty.system.domain.vo.AiPositionRecommendRecordVo;
import java.util.Map;
/**
* @author jiangxiaoge
* @description 岗位推荐查询redisService
......@@ -14,7 +12,7 @@ public interface PositionRecommendRedisService {
/**
* 初始化redis数据
*/
public boolean initRedisData(Long userId);
public boolean initRedisData(Long userId, Long analysisId);
/**
* 保存岗位到redis
......
......@@ -164,7 +164,8 @@ public class JobRecommendServiceImpl implements JobRecommendService {
@Override
public List<PositionRecommendListVo> queryPositionList(PositionQueryDto dto) {
Long userId = Objects.requireNonNull(LoginHelper.getLoginUser()).getUserId();
String redisKey = String.format(RECOMMEND_LIST, userId);
Long analysisId = dto.getAnalysisId();
String redisKey = String.format(RECOMMEND_LIST, analysisId);
dto.setUserId(userId);
List<PositionRecommendListVo> positionRecommendListVos = new ArrayList<>();
if (dto.getMaxSalary() == 0 && dto.getMinSalary() == 0 && CollectionUtils.isEmpty(dto.getCityCodes())) {
......
......@@ -2,7 +2,6 @@ package com.bkty.system.service.jobRecommend.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.bkty.system.domain.entity.AiPositionRecommendRecord;
......@@ -47,7 +46,7 @@ public class PositionRecommendRedisServiceImpl implements PositionRecommendRedis
private static final String RECOMMEND_LIST = "recommend:list:%s";// 用户岗位智推推荐列表
@Override
public boolean initRedisData(Long userId) {
public boolean initRedisData(Long userId, Long analysisId) {
// 1. 查询所有岗位推荐数据
QueryWrapper<AiPositionRecommendRecord> queryWrapper = Wrappers.query();
queryWrapper.select("id", "resume_id", "operation_type",
......@@ -74,7 +73,7 @@ public class PositionRecommendRedisServiceImpl implements PositionRecommendRedis
String favoriteKey = String.format(FAVORITE_KEY, userId);
String notSuitableKey = String.format(NOT_SUITABLE_KEY, userId);
String deliveredKey = String.format(DELIVERED_KEY, userId);
String recommendListKey = String.format(RECOMMEND_LIST, userId);
String recommendListKey = String.format(RECOMMEND_LIST, analysisId);
delRedisKey(allKey, notReadKey, favoriteKey, notSuitableKey, deliveredKey,recommendListKey);
// 2. 遍历数据,将其存入 Redis
......
......@@ -225,7 +225,7 @@ public class RecommendPositionServiceImpl implements RecommendPositionService {
// 更新分析状态和缓存
aiAnalysisMapper.updateAnalysis(analysisId, 2, userId, 0);
PositionRecommendRedisService recommendRedisService = applicationContext.getBean(PositionRecommendRedisService.class);
recommendRedisService.initRedisData(userId);
recommendRedisService.initRedisData(userId,analysisId);
}
/**
......@@ -975,9 +975,11 @@ public class RecommendPositionServiceImpl implements RecommendPositionService {
List<FunctionPositionPortraitVo> resultList = new ArrayList<>();
BoolQuery.Builder bool = QueryBuilders.bool().boost(1.0f);
List<String> byLevel3Name = categoryCacheManager.getLevel2NameByLevel3Name(jobTitle);
if (CollectionUtil.isEmpty(byLevel3Name)) {
return resultList;
}
BoolQuery.Builder byLevel3NameBool = QueryBuilders.bool().boost(1.0f);
;
for (String level3Name : byLevel3Name) {
if (!level3Name.equals(jobTitle)) {
......
......@@ -62,11 +62,13 @@
INNER JOIN city_data c
ON c.city_code = a.city_code
WHERE is_deleted = 0
AND a.analysis_id = #{dto.analysisId}
AND user_id = #{dto.userId}
AND recommend_time = (
SELECT MAX(recommend_time)
FROM ai_position_recommend_record
WHERE user_id = #{dto.userId}
AND a.analysis_id = #{dto.analysisId}
AND is_deleted = 0
)
<!-- 薪资过滤:查询薪资最小值小于薪资最小值字段,或查询薪资最大值大于薪资最大值字段 -->
......
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