Files
geekgeekrun/packages/sqlite-plugin/src/entity/VMarkAsNotSuitLog.ts
2024-11-23 13:29:49 +08:00

78 lines
1.6 KiB
TypeScript

import { requireTypeorm } from "../utils/module-loader";
import { ChatStartupFrom } from "./ChatStartupLog";
import { MarkAsNotSuitReason } from "../enums";
const { ViewEntity, ViewColumn } = requireTypeorm();
@ViewEntity({
expression: `SELECT
job_info.*,
user_info.name as userName,
mark_as_not_suit_log.date,
mark_as_not_suit_log.markFrom,
mark_as_not_suit_log.markReason,
mark_as_not_suit_log.extInfo,
boss_info.name AS bossName,
company_info.name AS companyName
FROM
mark_as_not_suit_log
LEFT JOIN job_info ON mark_as_not_suit_log.encryptJobId = job_info.encryptJobId
LEFT JOIN user_info ON mark_as_not_suit_log.encryptCurrentUserId = user_info.encryptUserId
LEFT JOIN boss_info ON boss_info.encryptBossId = job_info.encryptBossId
LEFT JOIN company_info ON company_info.encryptCompanyId = job_info.encryptCompanyId
`,
})
export class VMarkAsNotSuitLog {
@ViewColumn()
encryptJobId: number;
@ViewColumn()
jobName: string;
@ViewColumn()
positionName: string;
@ViewColumn()
salaryLow: number | null;
@ViewColumn()
salaryHigh: number | null;
@ViewColumn()
salaryMonth: number | null;
@ViewColumn()
experienceName: number | null;
@ViewColumn()
publishDate: Date | null;
@ViewColumn()
degreeName: string;
@ViewColumn()
address?: string;
@ViewColumn()
description: string;
@ViewColumn()
userName: string;
@ViewColumn()
date: string;
@ViewColumn()
bossName: string;
@ViewColumn()
markFrom: ChatStartupFrom;
@ViewColumn()
markReason: MarkAsNotSuitReason;
@ViewColumn()
extInfo: string;
@ViewColumn()
companyName: string;
}