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
1e220855
authored
Dec 09, 2025
by
zwb
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
新增查询历史分析数据,修改岗位详情数据查询
parent
7df4e9b1
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
178 additions
and
34 deletions
employmentBusiness-pc-common/employmentBusiness-pc-common-mybatis/pom.xml
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/AnalysisListVo.java
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/mapper/AiAnalysisMapper.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/java/com/bkty/system/service/jobRecommend/impl/PositionRecommendRedisServiceImpl.java
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/resources/mapper/system/AiAnalysisMapper.xml
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/resources/mapper/system/PositionRecommendMapper.xml
employmentBusiness-pc-common/employmentBusiness-pc-common-mybatis/pom.xml
View file @
1e220855
...
@@ -54,7 +54,7 @@
...
@@ -54,7 +54,7 @@
<dependency>
<dependency>
<groupId>
org.mariadb.jdbc
</groupId>
<groupId>
org.mariadb.jdbc
</groupId>
<artifactId>
mariadb-java-client
</artifactId>
<artifactId>
mariadb-java-client
</artifactId>
<version>
2.7.2
</version>
<version>
3.1.4
</version>
</dependency>
</dependency>
</dependencies>
</dependencies>
...
...
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/controller/JobRecommendController.java
View file @
1e220855
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.bkty.system.domain.dto.AnalysisCareerDto
;
import
com.bkty.system.domain.dto.AnalysisCareerDto
;
import
com.bkty.system.domain.dto.PositionQueryDto
;
import
com.bkty.system.domain.dto.PositionQueryDto
;
import
com.bkty.system.domain.vo.AiPositionRecommendRecordVo
;
import
com.bkty.system.domain.vo.AiPositionRecommendRecordVo
;
import
com.bkty.system.domain.vo.AnalysisListVo
;
import
com.bkty.system.domain.vo.PositionRecommendListVo
;
import
com.bkty.system.domain.vo.PositionRecommendListVo
;
import
com.bkty.system.init.*
;
import
com.bkty.system.init.*
;
import
com.bkty.system.service.jobRecommend.AiAnalysisService
;
import
com.bkty.system.service.jobRecommend.AiAnalysisService
;
...
@@ -125,4 +126,15 @@ public class JobRecommendController {
...
@@ -125,4 +126,15 @@ public class JobRecommendController {
AiPositionRecommendRecordVo
aiPositionRecommendRecordVo
=
jobRecommendService
.
queryPositionDetail
(
dto
);
AiPositionRecommendRecordVo
aiPositionRecommendRecordVo
=
jobRecommendService
.
queryPositionDetail
(
dto
);
return
new
R
<>(
aiPositionRecommendRecordVo
);
return
new
R
<>(
aiPositionRecommendRecordVo
);
}
}
/**
* 查询历史分析数据
* @param dateTime
* @return
*/
@GetMapping
(
"/query-analysis-list"
)
public
R
<
List
<
AnalysisListVo
>>
queryAnalysisList
(
@RequestParam
(
value
=
"dateTime"
)
String
dateTime
)
{
List
<
AnalysisListVo
>
analysisListVos
=
jobRecommendService
.
queryAnalysisList
(
dateTime
);
return
new
R
<>(
analysisListVos
);
}
}
}
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/domain/vo/AnalysisListVo.java
0 → 100644
View file @
1e220855
package
com
.
bkty
.
system
.
domain
.
vo
;
import
lombok.Data
;
import
java.util.List
;
/**
* @author Zhang Wenbiao
* @description 岗位分析条件列表返回vo
* @datetime 2025/12/9 14:07
*/
@Data
public
class
AnalysisListVo
{
/**
* 用户Id
*/
private
String
userId
;
/**
* 分析条件id
*/
private
String
analysisId
;
/**
* 目标岗位
*/
private
String
career
;
private
List
<
String
>
careerList
;
/**
* 目标城市
*/
private
String
targetCity
;
private
List
<
String
>
targetCityList
;
/**
* 期望薪资
*/
private
String
pay
;
/**
* 简历id
*/
private
String
resumeId
;
/**
* 简历名称
*/
private
String
resumeName
;
/**
* 日期
*/
private
String
dateTime
;
}
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/mapper/AiAnalysisMapper.java
View file @
1e220855
...
@@ -2,9 +2,12 @@ package com.bkty.system.mapper;
...
@@ -2,9 +2,12 @@ package com.bkty.system.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.bkty.system.domain.entity.AiRecommendBase
;
import
com.bkty.system.domain.entity.AiRecommendBase
;
import
com.bkty.system.domain.vo.AnalysisListVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
@Mapper
@Mapper
public
interface
AiAnalysisMapper
extends
BaseMapper
<
AiRecommendBase
>
{
public
interface
AiAnalysisMapper
extends
BaseMapper
<
AiRecommendBase
>
{
...
@@ -12,4 +15,6 @@ public interface AiAnalysisMapper extends BaseMapper<AiRecommendBase> {
...
@@ -12,4 +15,6 @@ public interface AiAnalysisMapper extends BaseMapper<AiRecommendBase> {
@Param
(
"rType"
)
Integer
rType
,
@Param
(
"rType"
)
Integer
rType
,
@Param
(
"userId"
)
Long
userId
,
@Param
(
"userId"
)
Long
userId
,
@Param
(
"authRecommend"
)
Integer
authRecommend
);
@Param
(
"authRecommend"
)
Integer
authRecommend
);
List
<
AnalysisListVo
>
selectAnalysisList
(
@Param
(
"userId"
)
Long
userId
,
@Param
(
"dateTime"
)
String
dateTime
);
}
}
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/mapper/PositionRecommendMapper.java
View file @
1e220855
...
@@ -47,4 +47,6 @@ public interface PositionRecommendMapper extends BaseMapper<AiPositionRecommendR
...
@@ -47,4 +47,6 @@ public interface PositionRecommendMapper extends BaseMapper<AiPositionRecommendR
List
<
PositionRecommendListVo
>
queryPositionList
(
@Param
(
"dto"
)
PositionQueryDto
dto
);
List
<
PositionRecommendListVo
>
queryPositionList
(
@Param
(
"dto"
)
PositionQueryDto
dto
);
AiPositionRecommendRecordVo
selectPositionById
(
@Param
(
"positionId"
)
Long
positionId
);
AiPositionRecommendRecordVo
selectPositionById
(
@Param
(
"positionId"
)
Long
positionId
);
String
selectPositionRDetails
(
@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 @
1e220855
...
@@ -2,6 +2,7 @@ package com.bkty.system.service.jobRecommend;
...
@@ -2,6 +2,7 @@ package com.bkty.system.service.jobRecommend;
import
com.bkty.system.domain.dto.PositionQueryDto
;
import
com.bkty.system.domain.dto.PositionQueryDto
;
import
com.bkty.system.domain.vo.AiPositionRecommendRecordVo
;
import
com.bkty.system.domain.vo.AiPositionRecommendRecordVo
;
import
com.bkty.system.domain.vo.AnalysisListVo
;
import
com.bkty.system.domain.vo.PositionRecommendListVo
;
import
com.bkty.system.domain.vo.PositionRecommendListVo
;
import
com.bkty.system.init.Level1Group
;
import
com.bkty.system.init.Level1Group
;
...
@@ -39,4 +40,11 @@ public interface JobRecommendService {
...
@@ -39,4 +40,11 @@ public interface JobRecommendService {
* @return
* @return
*/
*/
AiPositionRecommendRecordVo
queryPositionDetail
(
PositionQueryDto
dto
);
AiPositionRecommendRecordVo
queryPositionDetail
(
PositionQueryDto
dto
);
/**
* 查询历史分析数据
* @param dateTime
* @return
*/
List
<
AnalysisListVo
>
queryAnalysisList
(
String
dateTime
);
}
}
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/service/jobRecommend/impl/JobRecommendServiceImpl.java
View file @
1e220855
package
com
.
bkty
.
system
.
service
.
jobRecommend
.
impl
;
package
com
.
bkty
.
system
.
service
.
jobRecommend
.
impl
;
import
com.bkty.system.domain.vo.AnalysisListVo
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
java.util.Date
;
import
java.util.Date
;
import
com.bkty.system.domain.entity.FunctionPositionPortraitV2
;
import
com.bkty.system.domain.entity.FunctionPositionPortraitV2
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
...
@@ -83,7 +88,7 @@ public class JobRecommendServiceImpl implements JobRecommendService {
...
@@ -83,7 +88,7 @@ public class JobRecommendServiceImpl implements JobRecommendService {
List
<
Level1Group
>
positionCache
=
categoryCacheManager
.
getPositionCache
();
List
<
Level1Group
>
positionCache
=
categoryCacheManager
.
getPositionCache
();
List
<
Level1Group
>
result
=
new
ArrayList
<>();
List
<
Level1Group
>
result
=
new
ArrayList
<>();
for
(
Level1Group
level1Group
:
positionCache
)
{
for
(
Level1Group
level1Group
:
positionCache
)
{
if
(
level1Group
.
getName
().
toLowerCase
().
contains
(
level1
.
toLowerCase
())){
if
(
level1Group
.
getName
().
toLowerCase
().
contains
(
level1
.
toLowerCase
()))
{
result
.
add
(
level1Group
);
result
.
add
(
level1Group
);
continue
;
continue
;
}
}
...
@@ -91,17 +96,17 @@ public class JobRecommendServiceImpl implements JobRecommendService {
...
@@ -91,17 +96,17 @@ public class JobRecommendServiceImpl implements JobRecommendService {
for
(
Level2Group
level2Group
:
level1Group
.
getLevel2Groups
())
{
for
(
Level2Group
level2Group
:
level1Group
.
getLevel2Groups
())
{
List
<
Level3Group
>
level3Groups
=
new
ArrayList
<>();
List
<
Level3Group
>
level3Groups
=
new
ArrayList
<>();
for
(
Level3Group
level3Group
:
level2Group
.
getLevel3Groups
())
{
for
(
Level3Group
level3Group
:
level2Group
.
getLevel3Groups
())
{
if
(
level3Group
.
getName
().
toLowerCase
().
contains
(
level1
.
toLowerCase
())){
if
(
level3Group
.
getName
().
toLowerCase
().
contains
(
level1
.
toLowerCase
()))
{
level3Groups
.
add
(
level3Group
);
level3Groups
.
add
(
level3Group
);
}
}
}
}
if
(
CollectionUtils
.
isNotEmpty
(
level3Groups
)){
if
(
CollectionUtils
.
isNotEmpty
(
level3Groups
))
{
Level2Group
level2Group1
=
new
Level2Group
(
level2Group
.
getName
());
Level2Group
level2Group1
=
new
Level2Group
(
level2Group
.
getName
());
level2Group1
.
setLevel3Groups
(
level3Groups
);
level2Group1
.
setLevel3Groups
(
level3Groups
);
level2Groups
.
add
(
level2Group1
);
level2Groups
.
add
(
level2Group1
);
}
}
}
}
if
(
CollectionUtils
.
isNotEmpty
(
level2Groups
)){
if
(
CollectionUtils
.
isNotEmpty
(
level2Groups
))
{
Level1Group
level1Group1
=
new
Level1Group
(
level1Group
.
getName
());
Level1Group
level1Group1
=
new
Level1Group
(
level1Group
.
getName
());
level1Group1
.
setLevel2Groups
(
level2Groups
);
level1Group1
.
setLevel2Groups
(
level2Groups
);
result
.
add
(
level1Group1
);
result
.
add
(
level1Group1
);
...
@@ -145,25 +150,30 @@ public class JobRecommendServiceImpl implements JobRecommendService {
...
@@ -145,25 +150,30 @@ public class JobRecommendServiceImpl implements JobRecommendService {
}
}
}).
start
();
}).
start
();
}
}
private
static
final
String
RECOMMEND_LIST
=
"recommend:list:%s"
;
private
static
final
String
RECOMMEND_LIST
=
"recommend:list:%s"
;
@Override
@Override
public
List
<
PositionRecommendListVo
>
queryPositionList
(
PositionQueryDto
dto
)
{
public
List
<
PositionRecommendListVo
>
queryPositionList
(
PositionQueryDto
dto
)
{
Long
userId
=
Objects
.
requireNonNull
(
LoginHelper
.
getLoginUser
()).
getUserId
();
Long
userId
=
Objects
.
requireNonNull
(
LoginHelper
.
getLoginUser
()).
getUserId
();
//
String redisKey = String.format(RECOMMEND_LIST, userId);
String
redisKey
=
String
.
format
(
RECOMMEND_LIST
,
userId
);
dto
.
setUserId
(
userId
);
dto
.
setUserId
(
userId
);
// if (ObjectUtil.isEmpty(dto.getMaxSalary())&&ObjectUtil.isEmpty(dto.getMinSalary())&&CollectionUtils.isEmpty(dto.getCityCodes())) {
List
<
PositionRecommendListVo
>
positionRecommendListVos
=
new
ArrayList
<>();
// // 1. 先尝试从Redis获取
if
(
dto
.
getMaxSalary
()
==
0
&&
dto
.
getMinSalary
()
==
0
&&
CollectionUtils
.
isEmpty
(
dto
.
getCityCodes
()))
{
// String result = redisTemplate.opsForValue().get(redisKey);
// 1. 尝试从Redis获取
// if (StringUtils.isNotBlank(result)) {
String
result
=
redisTemplate
.
opsForValue
().
get
(
redisKey
);
// // 使用TypeReference来处理泛型类型
if
(
StringUtils
.
isNotBlank
(
result
))
{
// return JSON.parseObject(result, new TypeReference<List<PositionRecommendListVo>>() {
// 使用TypeReference来处理泛型类型
// });
return
JSON
.
parseObject
(
result
,
new
TypeReference
<
List
<
PositionRecommendListVo
>>()
{
// }
});
// }
}
List
<
PositionRecommendListVo
>
recommendList
=
positionRecommendMapper
.
queryPositionList
(
dto
);
positionRecommendListVos
=
positionRecommendMapper
.
queryPositionList
(
dto
);
redisTemplate
.
opsForValue
().
set
(
redisKey
,
JSON
.
toJSONString
(
positionRecommendListVos
),
1
,
TimeUnit
.
HOURS
)
;
return
recommendList
;
return
positionRecommendListVos
;
}
else
{
positionRecommendListVos
=
positionRecommendMapper
.
queryPositionList
(
dto
);
return
positionRecommendListVos
;
}
}
}
@Override
@Override
...
@@ -173,16 +183,13 @@ public class JobRecommendServiceImpl implements JobRecommendService {
...
@@ -173,16 +183,13 @@ public class JobRecommendServiceImpl implements JobRecommendService {
if
(
ObjectUtil
.
isEmpty
(
dto
.
getPositionId
()))
{
if
(
ObjectUtil
.
isEmpty
(
dto
.
getPositionId
()))
{
throw
new
WarnException
(
"岗位id不能为空"
);
throw
new
WarnException
(
"岗位id不能为空"
);
}
}
String
result
=
redisTemplate
.
opsForValue
().
get
(
String
.
format
(
RECOMMEND_ITEM_KEY
,
dto
.
getPositionId
()));
// String result = redisTemplate.opsForValue().get(String.format(RECOMMEND_ITEM_KEY, dto.getPositionId()));
if
(
StringUtils
.
isNotBlank
(
result
))
{
// if (StringUtils.isNotBlank(result)) {
// 使用TypeReference来处理泛型类型
// // 使用TypeReference来处理泛型类型
return
JSON
.
parseObject
(
result
,
new
TypeReference
<
AiPositionRecommendRecordVo
>()
{
// return JSON.parseObject(result, new TypeReference<AiPositionRecommendRecordVo>() {
});
// });
}
// }
AiPositionRecommendRecordVo
aiPositionRecommendRecordVo
=
positionRecommendMapper
.
selectPositionById
(
dto
.
getPositionId
());
String
rDetails
=
positionRecommendMapper
.
selectPositionRDetails
(
dto
.
getPositionId
(),
userId
);
if
(
aiPositionRecommendRecordVo
!=
null
)
{
return
aiPositionRecommendRecordVo
;
}
String
cityCode
=
dto
.
getCityCode
();
String
cityCode
=
dto
.
getCityCode
();
...
@@ -227,7 +234,7 @@ public class JobRecommendServiceImpl implements JobRecommendService {
...
@@ -227,7 +234,7 @@ public class JobRecommendServiceImpl implements JobRecommendService {
// 6. 构建参返回结果
// 6. 构建参返回结果
SearchHit
<
Map
>
searchHit
=
searchHits
.
getSearchHit
(
0
);
SearchHit
<
Map
>
searchHit
=
searchHits
.
getSearchHit
(
0
);
Map
<
String
,
Object
>
sourceMap
=
searchHit
.
getContent
();
Map
<
String
,
Object
>
sourceMap
=
searchHit
.
getContent
();
//
AiPositionRecommendRecordVo aiPositionRecommendRecordVo = new AiPositionRecommendRecordVo();
AiPositionRecommendRecordVo
aiPositionRecommendRecordVo
=
new
AiPositionRecommendRecordVo
();
aiPositionRecommendRecordVo
.
setUserId
(
userId
);
aiPositionRecommendRecordVo
.
setUserId
(
userId
);
aiPositionRecommendRecordVo
.
setPositionId
(
Long
.
valueOf
(
String
.
valueOf
(
sourceMap
.
get
(
"positionDataId"
))));
aiPositionRecommendRecordVo
.
setPositionId
(
Long
.
valueOf
(
String
.
valueOf
(
sourceMap
.
get
(
"positionDataId"
))));
aiPositionRecommendRecordVo
.
setCityCode
(
cityCode
);
aiPositionRecommendRecordVo
.
setCityCode
(
cityCode
);
...
@@ -245,7 +252,7 @@ public class JobRecommendServiceImpl implements JobRecommendService {
...
@@ -245,7 +252,7 @@ public class JobRecommendServiceImpl implements JobRecommendService {
// aiPositionRecommendRecordVo.setMinPay(0);
// aiPositionRecommendRecordVo.setMinPay(0);
// aiPositionRecommendRecordVo.setJobProfession("");
// aiPositionRecommendRecordVo.setJobProfession("");
// aiPositionRecommendRecordVo.setRScore(0);
// aiPositionRecommendRecordVo.setRScore(0);
// aiPositionRecommendRecordVo.setRDetails(""
);
aiPositionRecommendRecordVo
.
setRDetails
(
rDetails
);
// aiPositionRecommendRecordVo.setAnalyzeJson("");
// aiPositionRecommendRecordVo.setAnalyzeJson("");
// aiPositionRecommendRecordVo.setEvaluationJson("");
// aiPositionRecommendRecordVo.setEvaluationJson("");
// aiPositionRecommendRecordVo.setPublicPlatform("");
// aiPositionRecommendRecordVo.setPublicPlatform("");
...
@@ -256,8 +263,8 @@ public class JobRecommendServiceImpl implements JobRecommendService {
...
@@ -256,8 +263,8 @@ public class JobRecommendServiceImpl implements JobRecommendService {
// aiPositionRecommendRecordVo.setMatchRate("");
// aiPositionRecommendRecordVo.setMatchRate("");
// aiPositionRecommendRecordVo.setDeliverPrepare("");
// aiPositionRecommendRecordVo.setDeliverPrepare("");
// aiPositionRecommendRecordVo.setSelfIntroduction("");
// aiPositionRecommendRecordVo.setSelfIntroduction("");
//
aiPositionRecommendRecordVo.setCompanyScale("");
aiPositionRecommendRecordVo
.
setCompanyScale
(
""
);
//
aiPositionRecommendRecordVo.setCompanyIndustry("");
aiPositionRecommendRecordVo
.
setCompanyIndustry
(
""
);
// aiPositionRecommendRecordVo.setAnalysisId(0L);
// aiPositionRecommendRecordVo.setAnalysisId(0L);
// aiPositionRecommendRecordVo.setSearchValue("");
// aiPositionRecommendRecordVo.setSearchValue("");
// aiPositionRecommendRecordVo.setCreateBy("");
// aiPositionRecommendRecordVo.setCreateBy("");
...
@@ -269,4 +276,29 @@ public class JobRecommendServiceImpl implements JobRecommendService {
...
@@ -269,4 +276,29 @@ public class JobRecommendServiceImpl implements JobRecommendService {
return
aiPositionRecommendRecordVo
;
return
aiPositionRecommendRecordVo
;
}
}
@Override
public
List
<
AnalysisListVo
>
queryAnalysisList
(
String
dateTime
)
{
Long
userId
=
Objects
.
requireNonNull
(
LoginHelper
.
getLoginUser
()).
getUserId
();
List
<
AnalysisListVo
>
analysisListVos
=
aiAnalysisMapper
.
selectAnalysisList
(
userId
,
dateTime
);
ArrayList
<
AnalysisListVo
>
listVos
=
new
ArrayList
<>();
for
(
AnalysisListVo
analysisListVo
:
analysisListVos
)
{
if
(
StringUtils
.
isNotBlank
(
analysisListVo
.
getTargetCity
())){
List
<
String
>
targetCityList
=
JSON
.
parseArray
(
analysisListVo
.
getTargetCity
(),
String
.
class
);
if
(
CollectionUtils
.
isNotEmpty
(
targetCityList
)){
analysisListVo
.
setTargetCityList
(
targetCityList
);
}
}
if
(
StringUtils
.
isNotBlank
(
analysisListVo
.
getCareer
())){
List
<
String
>
careerList
=
JSON
.
parseArray
(
analysisListVo
.
getCareer
(),
String
.
class
);
if
(
CollectionUtils
.
isNotEmpty
(
careerList
)){
analysisListVo
.
setCareerList
(
careerList
);
}
}
listVos
.
add
(
analysisListVo
);
// return analysisListVo;
}
return
listVos
;
}
}
}
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/java/com/bkty/system/service/jobRecommend/impl/PositionRecommendRedisServiceImpl.java
View file @
1e220855
...
@@ -44,6 +44,7 @@ public class PositionRecommendRedisServiceImpl implements PositionRecommendRedis
...
@@ -44,6 +44,7 @@ public class PositionRecommendRedisServiceImpl implements PositionRecommendRedis
private
static
final
String
DELIVERED_KEY
=
"recommend:%d:delivered"
;
private
static
final
String
DELIVERED_KEY
=
"recommend:%d:delivered"
;
private
static
final
String
RECOMMEND_ITEM_KEY
=
"recommend:item:%d"
;
private
static
final
String
RECOMMEND_ITEM_KEY
=
"recommend:item:%d"
;
private
static
final
String
RECOMMEND_COUNT_KEY
=
"recommend:count:%d"
;
//推荐次数
private
static
final
String
RECOMMEND_COUNT_KEY
=
"recommend:count:%d"
;
//推荐次数
private
static
final
String
RECOMMEND_LIST
=
"recommend:list:%s"
;
// 用户岗位智推推荐列表
@Override
@Override
public
boolean
initRedisData
(
Long
userId
)
{
public
boolean
initRedisData
(
Long
userId
)
{
...
@@ -73,7 +74,8 @@ public class PositionRecommendRedisServiceImpl implements PositionRecommendRedis
...
@@ -73,7 +74,8 @@ public class PositionRecommendRedisServiceImpl implements PositionRecommendRedis
String
favoriteKey
=
String
.
format
(
FAVORITE_KEY
,
userId
);
String
favoriteKey
=
String
.
format
(
FAVORITE_KEY
,
userId
);
String
notSuitableKey
=
String
.
format
(
NOT_SUITABLE_KEY
,
userId
);
String
notSuitableKey
=
String
.
format
(
NOT_SUITABLE_KEY
,
userId
);
String
deliveredKey
=
String
.
format
(
DELIVERED_KEY
,
userId
);
String
deliveredKey
=
String
.
format
(
DELIVERED_KEY
,
userId
);
delRedisKey
(
allKey
,
notReadKey
,
favoriteKey
,
notSuitableKey
,
deliveredKey
);
String
recommendListKey
=
String
.
format
(
RECOMMEND_LIST
,
userId
);
delRedisKey
(
allKey
,
notReadKey
,
favoriteKey
,
notSuitableKey
,
deliveredKey
,
recommendListKey
);
// 2. 遍历数据,将其存入 Redis
// 2. 遍历数据,将其存入 Redis
for
(
AiPositionRecommendRecordVo
position
:
positions
)
{
for
(
AiPositionRecommendRecordVo
position
:
positions
)
{
...
...
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/resources/mapper/system/AiAnalysisMapper.xml
View file @
1e220855
...
@@ -12,4 +12,21 @@
...
@@ -12,4 +12,21 @@
</if>
</if>
where id = #{analysisId}
where id = #{analysisId}
</update>
</update>
<select
id=
"selectAnalysisList"
resultType=
"com.bkty.system.domain.vo.AnalysisListVo"
>
SELECT
a.id,
a.career,
a.target_city,
a.pay,
a.create_time,
b.resume_name
FROM ai_recommend_base a
INNER JOIN function_resume_base b
ON a.resume_id = b.id
WHERE a.user_id = #{userId}
AND a.is_deleted = 0
AND b.is_deleted = 0
AND DATE(a.create_time) = #{dateTime}
ORDER BY create_time DESC
</select>
</mapper>
</mapper>
\ No newline at end of file
employmentBusiness-pc-modules/employmentBusiness-pc-system/src/main/resources/mapper/system/PositionRecommendMapper.xml
View file @
1e220855
...
@@ -88,8 +88,14 @@
...
@@ -88,8 +88,14 @@
ORDER BY position_score DESC
ORDER BY position_score DESC
</select>
</select>
<select
id=
"selectPositionById"
resultType=
"com.bkty.system.domain.vo.AiPositionRecommendRecordVo"
>
<select
id=
"selectPositionById"
resultType=
"com.bkty.system.domain.vo.AiPositionRecommendRecordVo"
>
select
*
select
r_details
from ai_position_recommend_record
from ai_position_recommend_record
where position_id = #{positionId}
where position_id = #{positionId}
</select>
</select>
<select
id=
"selectPositionRDetails"
resultType=
"java.lang.String"
>
select r_details
from ai_position_recommend_record
where position_id = #{positionId}
and user_id = #{userId}
</select>
</mapper>
</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