Commit a1f4173e by zwb

修改岗位详情

parent b2b71dec
......@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.bkty.system.domain.dto.AnalysisCareerDto;
import com.bkty.system.domain.dto.PositionQueryDto;
import com.bkty.system.domain.vo.AiPositionRecommendDetailVo;
import com.bkty.system.domain.vo.AiPositionRecommendRecordVo;
import com.bkty.system.domain.vo.AnalysisListVo;
import com.bkty.system.domain.vo.PositionRecommendListVo;
......@@ -127,9 +128,9 @@ public class JobRecommendController {
* @return
*/
@PostMapping("/query-position-detail")
public R<AiPositionRecommendRecordVo> queryPositionDetail(@RequestBody PositionQueryDto dto) {
AiPositionRecommendRecordVo aiPositionRecommendRecordVo = jobRecommendService.queryPositionDetail(dto);
return new R<>(aiPositionRecommendRecordVo);
public R<AiPositionRecommendDetailVo> queryPositionDetail(@RequestBody PositionQueryDto dto) {
AiPositionRecommendDetailVo aiPositionRecommendDetailVo = jobRecommendService.queryPositionDetail(dto);
return new R<>(aiPositionRecommendDetailVo);
}
/**
......
package com.bkty.system.domain.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.util.Date;
/**
* @author Zhang Wenbiao
* @description 岗位智推岗位详情Vo
* @datetime 2025/12/10 10:22
*/
@Data
public class AiPositionRecommendDetailVo {
private Long userId;
private Long positionId;
// /**
// * 是否收藏 0.否 1.是 2.不喜欢
// */
// private Integer treasuresType;
//
// /**
// * 是否已读 0.否 1.是
// */
// private Integer alreadyType;
//
// private Integer deliverType;
//
// private Integer operationType;
private Integer rScore;
private String rDetails;
private Date recommendTime;
private Long resumeId;
private String cityCode;
// private String analyzeJson;
// private String evaluationJson;
private String jobTitle;
// private String jobProfession;
private String standardPosition;
// private Integer companySize;
// private Integer companyNature;
private String expDemand;
private String eduDemand;
// private String publicPlatform;
// private Integer maxPay;
// private Integer minPay;
private String companyName;
// private Integer positionScore;
private String jdMd;
// /**
// * 首次评分
// */
// private Integer firstScore;
// //岗位优势分析
// private String advantageAnalysis;
//
// //岗位匹配度
// private String matchRate;
//
// //投递准备
// private String deliverPrepare;
//
// //自我介绍
// private String selfIntroduction;
//
// //公司规模
// private String companyScale;
//
// //公司行业
// private String companyIndustry;
// // 分析id
// private Long analysisId;
//薪资范围
private String salaryRange;
// 岗位链接
private String platformUrl;
}
......@@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Select;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @author jiangxiaoge
......@@ -48,5 +49,5 @@ public interface PositionRecommendMapper extends BaseMapper<AiPositionRecommendR
AiPositionRecommendRecordVo selectPositionById(@Param("positionId") Long positionId);
String selectPositionRDetails(@Param("positionId") Long positionId,@Param("userId") Long userId);
Map<String,Object> selectPositionRDetailAndScore(@Param("positionId") Long positionId, @Param("userId") Long userId);
}
package com.bkty.system.service.jobRecommend;
import com.bkty.system.domain.dto.PositionQueryDto;
import com.bkty.system.domain.vo.AiPositionRecommendDetailVo;
import com.bkty.system.domain.vo.AiPositionRecommendRecordVo;
import com.bkty.system.domain.vo.AnalysisListVo;
import com.bkty.system.domain.vo.PositionRecommendListVo;
......@@ -40,7 +41,7 @@ public interface JobRecommendService {
* @param dto
* @return
*/
AiPositionRecommendRecordVo queryPositionDetail(PositionQueryDto dto);
AiPositionRecommendDetailVo queryPositionDetail(PositionQueryDto dto);
/**
* 查询历史分析数据
......
package com.bkty.system.service.jobRecommend.impl;
import com.bkty.system.config.AtdProperties;
import com.bkty.system.domain.vo.AiPositionRecommendDetailVo;
import com.bkty.system.domain.vo.AnalysisListVo;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Lists;
......@@ -186,7 +187,7 @@ public class JobRecommendServiceImpl implements JobRecommendService {
}
@Override
public AiPositionRecommendRecordVo queryPositionDetail(PositionQueryDto dto) {
public AiPositionRecommendDetailVo queryPositionDetail(PositionQueryDto dto) {
Long userId = Objects.requireNonNull(LoginHelper.getLoginUser()).getUserId();
// 1. 参数校验
if (ObjectUtil.isEmpty(dto.getPositionId())) {
......@@ -198,7 +199,7 @@ public class JobRecommendServiceImpl implements JobRecommendService {
// return JSON.parseObject(result, new TypeReference<AiPositionRecommendRecordVo>() {
// });
// }
String rDetails = positionRecommendMapper.selectPositionRDetails(dto.getPositionId(), userId);
Map<String,Object> rDetailAndScoremap = positionRecommendMapper.selectPositionRDetailAndScore(dto.getPositionId(), userId);
String cityCode = dto.getCityCode();
......@@ -243,47 +244,34 @@ public class JobRecommendServiceImpl implements JobRecommendService {
// 6. 构建参返回结果
SearchHit<Map> searchHit = searchHits.getSearchHit(0);
Map<String, Object> sourceMap = searchHit.getContent();
AiPositionRecommendRecordVo aiPositionRecommendRecordVo = new AiPositionRecommendRecordVo();
aiPositionRecommendRecordVo.setUserId(userId);
aiPositionRecommendRecordVo.setPositionId(Long.valueOf(String.valueOf(sourceMap.get("positionDataId"))));
aiPositionRecommendRecordVo.setCityCode(cityCode);
aiPositionRecommendRecordVo.setJobTitle((String) sourceMap.get("jobTitle"));
aiPositionRecommendRecordVo.setStandardPosition((String) sourceMap.get("standardPosition"));
aiPositionRecommendRecordVo.setCompanySize((Integer) sourceMap.get("companySize"));
aiPositionRecommendRecordVo.setCompanyNature((Integer) sourceMap.get("companyNature"));
aiPositionRecommendRecordVo.setExpDemand((String) sourceMap.get("expDemand"));
aiPositionRecommendRecordVo.setEduDemand((String) sourceMap.get("eduDemand"));
aiPositionRecommendRecordVo.setCompanyName((String) sourceMap.get("companyName"));
aiPositionRecommendRecordVo.setPlatformUrl((String) sourceMap.get("platformUrl"));
aiPositionRecommendRecordVo.setJdMd((String) sourceMap.get("jdHtml"));
aiPositionRecommendRecordVo.setSalaryRange((String) sourceMap.get("salaryRange"));
// aiPositionRecommendRecordVo.setRDetails();
// aiPositionRecommendRecordVo.setMinPay(0);
// aiPositionRecommendRecordVo.setJobProfession("");
// aiPositionRecommendRecordVo.setRScore(0);
aiPositionRecommendRecordVo.setRDetails(rDetails);
// aiPositionRecommendRecordVo.setAnalyzeJson("");
// aiPositionRecommendRecordVo.setEvaluationJson("");
// aiPositionRecommendRecordVo.setPublicPlatform("");
// aiPositionRecommendRecordVo.setMaxPay(0);
// aiPositionRecommendRecordVo.setPositionScore(0);
// aiPositionRecommendRecordVo.setFirstScore(0);
// aiPositionRecommendRecordVo.setAdvantageAnalysis("");
// aiPositionRecommendRecordVo.setMatchRate("");
// aiPositionRecommendRecordVo.setDeliverPrepare("");
// aiPositionRecommendRecordVo.setSelfIntroduction("");
aiPositionRecommendRecordVo.setCompanyScale("");
aiPositionRecommendRecordVo.setCompanyIndustry("");
// aiPositionRecommendRecordVo.setAnalysisId(0L);
// aiPositionRecommendRecordVo.setSearchValue("");
// aiPositionRecommendRecordVo.setCreateBy("");
// aiPositionRecommendRecordVo.setCreateTime(new Date());
// aiPositionRecommendRecordVo.setUpdateBy("");
// aiPositionRecommendRecordVo.setUpdateTime(new Date());
// aiPositionRecommendRecordVo.setParams(Maps.newHashMap());
aiPositionRecommendRecordVo.setIsDeleted(false);
return aiPositionRecommendRecordVo;
AiPositionRecommendDetailVo aiPositionRecommendDetailVo = new AiPositionRecommendDetailVo();
aiPositionRecommendDetailVo.setUserId(userId);
aiPositionRecommendDetailVo.setPositionId(Long.valueOf(String.valueOf(sourceMap.get("positionDataId"))));
aiPositionRecommendDetailVo.setCityCode(cityCode);
aiPositionRecommendDetailVo.setJobTitle((String) sourceMap.get("jobTitle"));
aiPositionRecommendDetailVo.setStandardPosition((String) sourceMap.get("standardPosition"));
// aiPositionRecommendDetailVo.setCompanySize((Integer) sourceMap.get("companySize"));
// aiPositionRecommendDetailVo.setCompanyNature((Integer) sourceMap.get("companyNature"));
aiPositionRecommendDetailVo.setExpDemand((String) sourceMap.get("expDemand"));
aiPositionRecommendDetailVo.setEduDemand((String) sourceMap.get("eduDemand"));
aiPositionRecommendDetailVo.setCompanyName((String) sourceMap.get("companyName"));
aiPositionRecommendDetailVo.setPlatformUrl((String) sourceMap.get("platformUrl"));
aiPositionRecommendDetailVo.setJdMd((String) sourceMap.get("jdHtml"));
aiPositionRecommendDetailVo.setSalaryRange((String) sourceMap.get("salaryRange"));
// 处理 rScore
Object rScoreObj = rDetailAndScoremap.get("rScore");
String rScoreStr = (rScoreObj != null) ? rScoreObj.toString() : null;
aiPositionRecommendDetailVo.setRScore(
StringUtils.isBlank(rScoreStr) ? 0 : Integer.parseInt(rScoreStr)
);
// 处理 rDetails
Object rDetailsObj = rDetailAndScoremap.get("rDetails");
String rDetailsStr = (rDetailsObj != null) ? rDetailsObj.toString() : null;
aiPositionRecommendDetailVo.setRDetails(
StringUtils.isEmpty(rDetailsStr) ? "" : rDetailsStr
);
return aiPositionRecommendDetailVo;
}
@Override
......
......@@ -94,8 +94,8 @@
from ai_position_recommend_record
where position_id = #{positionId}
</select>
<select id="selectPositionRDetails" resultType="java.lang.String">
select r_details
<select id="selectPositionRDetailAndScore" resultType="java.util.Map">
select r_details rDetails, r_score rScore
from ai_position_recommend_record
where position_id = #{positionId}
and user_id = #{userId}
......
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