Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
张文彪
/
employmentBusinessPc
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
a1f4173e
authored
Dec 10, 2025
by
zwb
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
修改岗位详情
parent
b2b71dec
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
151 additions
and
51 deletions
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/controller/JobRecommendController.java
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/domain/vo/AiPositionRecommendDetailVo.java
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/mapper/PositionRecommendMapper.java
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/service/jobRecommend/JobRecommendService.java
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/service/jobRecommend/impl/JobRecommendServiceImpl.java
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/resources/mapper/system/PositionRecommendMapper.xml
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/controller/JobRecommendController.java
View file @
a1f4173e
...
...
@@ -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
<
AiPositionRecommend
Record
Vo
>
queryPositionDetail
(
@RequestBody
PositionQueryDto
dto
)
{
AiPositionRecommend
RecordVo
aiPositionRecommendRecord
Vo
=
jobRecommendService
.
queryPositionDetail
(
dto
);
return
new
R
<>(
aiPositionRecommend
Record
Vo
);
public
R
<
AiPositionRecommend
Detail
Vo
>
queryPositionDetail
(
@RequestBody
PositionQueryDto
dto
)
{
AiPositionRecommend
DetailVo
aiPositionRecommendDetail
Vo
=
jobRecommendService
.
queryPositionDetail
(
dto
);
return
new
R
<>(
aiPositionRecommend
Detail
Vo
);
}
/**
...
...
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/domain/vo/AiPositionRecommendDetailVo.java
0 → 100644
View file @
a1f4173e
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
;
}
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/mapper/PositionRecommendMapper.java
View file @
a1f4173e
...
...
@@ -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
);
}
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/service/jobRecommend/JobRecommendService.java
View file @
a1f4173e
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
*/
AiPositionRecommend
Record
Vo
queryPositionDetail
(
PositionQueryDto
dto
);
AiPositionRecommend
Detail
Vo
queryPositionDetail
(
PositionQueryDto
dto
);
/**
* 查询历史分析数据
...
...
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/service/jobRecommend/impl/JobRecommendServiceImpl.java
View file @
a1f4173e
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
AiPositionRecommend
Record
Vo
queryPositionDetail
(
PositionQueryDto
dto
)
{
public
AiPositionRecommend
Detail
Vo
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
...
...
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/resources/mapper/system/PositionRecommendMapper.xml
View file @
a1f4173e
...
...
@@ -94,10 +94,10 @@
from ai_position_recommend_record
where position_id = #{positionId}
</select>
<select
id=
"selectPositionRDetail
s"
resultType=
"java.lang.String
"
>
select r_details
<select
id=
"selectPositionRDetail
AndScore"
resultType=
"java.util.Map
"
>
select r_details
rDetails, r_score rScore
from ai_position_recommend_record
where position_id = #{positionId}
and user_id = #{userId}
and user_id = #{userId}
</select>
</mapper>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment