mirror of
https://github.com/geekgeekrun/geekgeekrun.git
synced 2026-09-06 16:07:17 +08:00
add the logic to mark unsuitable job on local
This commit is contained in:
@@ -903,7 +903,21 @@ async function toRecommendPage (hooks) {
|
|||||||
const notSuitConditionHandleMap = {
|
const notSuitConditionHandleMap = {
|
||||||
async active() {
|
async active() {
|
||||||
blockBossNotActive.add(targetJobData.jobInfo.encryptUserId)
|
blockBossNotActive.add(targetJobData.jobInfo.encryptUserId)
|
||||||
if (jobNotActiveStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS) {
|
if (jobNotActiveStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL || !await page.$('.job-detail-box .job-detail-operate .not-suitable')) {
|
||||||
|
try {
|
||||||
|
await hooks.jobMarkedAsNotSuit.promise(
|
||||||
|
targetJobData,
|
||||||
|
{
|
||||||
|
markFrom: ChatStartupFrom.AutoFromRecommendList,
|
||||||
|
markReason: MarkAsNotSuitReason.BOSS_INACTIVE,
|
||||||
|
extInfo: null,
|
||||||
|
markOp: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL
|
||||||
|
}
|
||||||
|
)
|
||||||
|
} catch {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (jobNotActiveStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS) {
|
||||||
try {
|
try {
|
||||||
const { chosenReasonInUi } = await markJobAsNotSuitInRecommendPage(MarkAsNotSuitReason.BOSS_INACTIVE)
|
const { chosenReasonInUi } = await markJobAsNotSuitInRecommendPage(MarkAsNotSuitReason.BOSS_INACTIVE)
|
||||||
await hooks.jobMarkedAsNotSuit.promise(
|
await hooks.jobMarkedAsNotSuit.promise(
|
||||||
@@ -921,13 +935,16 @@ async function toRecommendPage (hooks) {
|
|||||||
} catch {
|
} catch {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (jobNotActiveStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL) {
|
},
|
||||||
|
async city() {
|
||||||
|
blockJobNotSuit.add(targetJobData.jobInfo.encryptId)
|
||||||
|
if (expectCityNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL || !await page.$('.job-detail-box .job-detail-operate .not-suitable')) {
|
||||||
try {
|
try {
|
||||||
await hooks.jobMarkedAsNotSuit.promise(
|
await hooks.jobMarkedAsNotSuit.promise(
|
||||||
targetJobData,
|
targetJobData,
|
||||||
{
|
{
|
||||||
markFrom: ChatStartupFrom.AutoFromRecommendList,
|
markFrom: ChatStartupFrom.AutoFromRecommendList,
|
||||||
markReason: MarkAsNotSuitReason.BOSS_INACTIVE,
|
markReason: MarkAsNotSuitReason.JOB_CITY_NOT_SUIT,
|
||||||
extInfo: null,
|
extInfo: null,
|
||||||
markOp: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL
|
markOp: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL
|
||||||
}
|
}
|
||||||
@@ -935,10 +952,7 @@ async function toRecommendPage (hooks) {
|
|||||||
} catch {
|
} catch {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
else if (expectCityNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS) {
|
||||||
async city() {
|
|
||||||
blockJobNotSuit.add(targetJobData.jobInfo.encryptId)
|
|
||||||
if (expectCityNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS) {
|
|
||||||
try {
|
try {
|
||||||
const { chosenReasonInUi } = await markJobAsNotSuitInRecommendPage(MarkAsNotSuitReason.JOB_CITY_NOT_SUIT)
|
const { chosenReasonInUi } = await markJobAsNotSuitInRecommendPage(MarkAsNotSuitReason.JOB_CITY_NOT_SUIT)
|
||||||
await hooks.jobMarkedAsNotSuit.promise(
|
await hooks.jobMarkedAsNotSuit.promise(
|
||||||
@@ -955,13 +969,16 @@ async function toRecommendPage (hooks) {
|
|||||||
} catch {
|
} catch {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (expectCityNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL) {
|
},
|
||||||
|
async workExp() {
|
||||||
|
blockJobNotSuit.add(targetJobData.jobInfo.encryptId)
|
||||||
|
if (expectWorkExpNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL || !await page.$('.job-detail-box .job-detail-operate .not-suitable')) {
|
||||||
try {
|
try {
|
||||||
await hooks.jobMarkedAsNotSuit.promise(
|
await hooks.jobMarkedAsNotSuit.promise(
|
||||||
targetJobData,
|
targetJobData,
|
||||||
{
|
{
|
||||||
markFrom: ChatStartupFrom.AutoFromRecommendList,
|
markFrom: ChatStartupFrom.AutoFromRecommendList,
|
||||||
markReason: MarkAsNotSuitReason.JOB_CITY_NOT_SUIT,
|
markReason: MarkAsNotSuitReason.JOB_WORK_EXP_NOT_SUIT,
|
||||||
extInfo: null,
|
extInfo: null,
|
||||||
markOp: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL
|
markOp: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL
|
||||||
}
|
}
|
||||||
@@ -969,10 +986,7 @@ async function toRecommendPage (hooks) {
|
|||||||
} catch {
|
} catch {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
else if (expectWorkExpNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS) {
|
||||||
async workExp() {
|
|
||||||
blockJobNotSuit.add(targetJobData.jobInfo.encryptId)
|
|
||||||
if (expectWorkExpNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS) {
|
|
||||||
try {
|
try {
|
||||||
const { chosenReasonInUi } = await markJobAsNotSuitInRecommendPage(MarkAsNotSuitReason.JOB_WORK_EXP_NOT_SUIT)
|
const { chosenReasonInUi } = await markJobAsNotSuitInRecommendPage(MarkAsNotSuitReason.JOB_WORK_EXP_NOT_SUIT)
|
||||||
await hooks.jobMarkedAsNotSuit.promise(
|
await hooks.jobMarkedAsNotSuit.promise(
|
||||||
@@ -989,13 +1003,16 @@ async function toRecommendPage (hooks) {
|
|||||||
} catch {
|
} catch {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (expectWorkExpNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL) {
|
},
|
||||||
|
async jobDetail() {
|
||||||
|
blockJobNotSuit.add(targetJobData.jobInfo.encryptId)
|
||||||
|
if (jobNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL || !await page.$('.job-detail-box .job-detail-operate .not-suitable')) {
|
||||||
try {
|
try {
|
||||||
await hooks.jobMarkedAsNotSuit.promise(
|
await hooks.jobMarkedAsNotSuit.promise(
|
||||||
targetJobData,
|
targetJobData,
|
||||||
{
|
{
|
||||||
markFrom: ChatStartupFrom.AutoFromRecommendList,
|
markFrom: ChatStartupFrom.AutoFromRecommendList,
|
||||||
markReason: MarkAsNotSuitReason.JOB_WORK_EXP_NOT_SUIT,
|
markReason: MarkAsNotSuitReason.JOB_NOT_SUIT,
|
||||||
extInfo: null,
|
extInfo: null,
|
||||||
markOp: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL
|
markOp: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL
|
||||||
}
|
}
|
||||||
@@ -1003,10 +1020,7 @@ async function toRecommendPage (hooks) {
|
|||||||
} catch {
|
} catch {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
else if (jobNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS) {
|
||||||
async jobDetail() {
|
|
||||||
blockJobNotSuit.add(targetJobData.jobInfo.encryptId)
|
|
||||||
if (jobNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS) {
|
|
||||||
try {
|
try {
|
||||||
const { chosenReasonInUi } = await markJobAsNotSuitInRecommendPage(MarkAsNotSuitReason.JOB_NOT_SUIT)
|
const { chosenReasonInUi } = await markJobAsNotSuitInRecommendPage(MarkAsNotSuitReason.JOB_NOT_SUIT)
|
||||||
await hooks.jobMarkedAsNotSuit.promise(
|
await hooks.jobMarkedAsNotSuit.promise(
|
||||||
@@ -1024,24 +1038,26 @@ async function toRecommendPage (hooks) {
|
|||||||
} catch {
|
} catch {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (jobNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL) {
|
},
|
||||||
|
async salary() {
|
||||||
|
blockJobNotSuit.add(targetJobData.jobInfo.encryptId)
|
||||||
|
if (expectSalaryNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL || !await page.$('.job-detail-box .job-detail-operate .not-suitable')) {
|
||||||
try {
|
try {
|
||||||
await hooks.jobMarkedAsNotSuit.promise(
|
await hooks.jobMarkedAsNotSuit.promise(
|
||||||
targetJobData,
|
targetJobData,
|
||||||
{
|
{
|
||||||
markFrom: ChatStartupFrom.AutoFromRecommendList,
|
markFrom: ChatStartupFrom.AutoFromRecommendList,
|
||||||
markReason: MarkAsNotSuitReason.JOB_NOT_SUIT,
|
markReason: MarkAsNotSuitReason.JOB_SALARY_NOT_SUIT,
|
||||||
extInfo: null,
|
extInfo: {
|
||||||
|
salaryDesc: selectedJobData.salaryDesc,
|
||||||
|
},
|
||||||
markOp: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL
|
markOp: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
} catch {
|
} catch {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
else if (expectSalaryNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS) {
|
||||||
async salary() {
|
|
||||||
blockJobNotSuit.add(targetJobData.jobInfo.encryptId)
|
|
||||||
if (expectSalaryNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS) {
|
|
||||||
try {
|
try {
|
||||||
const { chosenReasonInUi } = await markJobAsNotSuitInRecommendPage(MarkAsNotSuitReason.JOB_SALARY_NOT_SUIT)
|
const { chosenReasonInUi } = await markJobAsNotSuitInRecommendPage(MarkAsNotSuitReason.JOB_SALARY_NOT_SUIT)
|
||||||
await hooks.jobMarkedAsNotSuit.promise(
|
await hooks.jobMarkedAsNotSuit.promise(
|
||||||
@@ -1059,22 +1075,6 @@ async function toRecommendPage (hooks) {
|
|||||||
} catch {
|
} catch {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (expectSalaryNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL) {
|
|
||||||
try {
|
|
||||||
await hooks.jobMarkedAsNotSuit.promise(
|
|
||||||
targetJobData,
|
|
||||||
{
|
|
||||||
markFrom: ChatStartupFrom.AutoFromRecommendList,
|
|
||||||
markReason: MarkAsNotSuitReason.JOB_SALARY_NOT_SUIT,
|
|
||||||
extInfo: {
|
|
||||||
salaryDesc: selectedJobData.salaryDesc,
|
|
||||||
},
|
|
||||||
markOp: MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL
|
|
||||||
}
|
|
||||||
)
|
|
||||||
} catch {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -119,7 +119,10 @@ export default class SqlitePlugin {
|
|||||||
) {
|
) {
|
||||||
const ds = await this.initPromise;
|
const ds = await this.initPromise;
|
||||||
const last7DayMarkRecords = (await getNotSuitMarkRecordsInLastSomeDays(ds, 7) ?? []);
|
const last7DayMarkRecords = (await getNotSuitMarkRecordsInLastSomeDays(ds, 7) ?? []);
|
||||||
if (jobNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL) {
|
if (
|
||||||
|
jobNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL ||
|
||||||
|
jobNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS
|
||||||
|
) {
|
||||||
last7DayMarkRecords
|
last7DayMarkRecords
|
||||||
.filter(it =>
|
.filter(it =>
|
||||||
[
|
[
|
||||||
@@ -134,7 +137,10 @@ export default class SqlitePlugin {
|
|||||||
id => blockJobNotSuit.add(id)
|
id => blockJobNotSuit.add(id)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
if (jobNotActiveStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL) {
|
if (
|
||||||
|
jobNotActiveStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL ||
|
||||||
|
jobNotActiveStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS
|
||||||
|
) {
|
||||||
last7DayMarkRecords
|
last7DayMarkRecords
|
||||||
.filter(it => it.markReason === MarkAsNotSuitReason.BOSS_INACTIVE)
|
.filter(it => it.markReason === MarkAsNotSuitReason.BOSS_INACTIVE)
|
||||||
.map(
|
.map(
|
||||||
@@ -144,7 +150,10 @@ export default class SqlitePlugin {
|
|||||||
id => blockJobNotSuit.add(id)
|
id => blockJobNotSuit.add(id)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
if (expectCityNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL) {
|
if (
|
||||||
|
expectCityNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_LOCAL ||
|
||||||
|
expectCityNotMatchStrategy === MarkAsNotSuitOp.MARK_AS_NOT_SUIT_ON_BOSS
|
||||||
|
) {
|
||||||
last7DayMarkRecords
|
last7DayMarkRecords
|
||||||
.filter(it => it.markReason === MarkAsNotSuitReason.JOB_CITY_NOT_SUIT)
|
.filter(it => it.markReason === MarkAsNotSuitReason.JOB_CITY_NOT_SUIT)
|
||||||
.map(
|
.map(
|
||||||
|
|||||||
Reference in New Issue
Block a user