Some checks failed
Build and Deploy (service.xpcool.com) / build-and-deploy (push) Failing after 14s
93 lines
6.7 KiB
Go
93 lines
6.7 KiB
Go
// Package entity 定义招聘考试聚合模块的数据表结构(手写,未跑 gf gen)。
|
||
// 字段命名对齐 service 现有约定:json 用驼峰,orm 用下划线。
|
||
package entity
|
||
|
||
// RecruitmentInfo 招聘考试公告主表。
|
||
type RecruitmentInfo struct {
|
||
Id uint64 `json:"id" orm:"id" description:"主键"`
|
||
Title string `json:"title" orm:"title" description:"公告标题"`
|
||
SourceId uint64 `json:"sourceId" orm:"source_id" description:"数据源ID"`
|
||
OrgId uint64 `json:"orgId" orm:"org_id" description:"发布主体ID"`
|
||
OrgName string `json:"orgName" orm:"org_name" description:"发布主体名称(冗余便于展示)"`
|
||
Category int `json:"category" orm:"category" description:"考试分类 1公务员 2事业单位 3国企 4央企 5私企 6其他"`
|
||
Region string `json:"region" orm:"region" description:"地区(贵阳/省直/其他市州)"`
|
||
PublishDate string `json:"publishDate" orm:"publish_date" description:"发布日期"`
|
||
Deadline string `json:"deadline" orm:"deadline" description:"报名/截止日期"`
|
||
ExamDate string `json:"examDate" orm:"exam_date" description:"笔试日期"`
|
||
Url string `json:"url" orm:"url" description:"原文链接"`
|
||
Content string `json:"content" orm:"content" description:"正文/摘要"`
|
||
Attachments string `json:"attachments" orm:"attachments" description:"附件链接与解析结果(JSON)"`
|
||
Status int `json:"status" orm:"status" description:"0有效 1已更正 2已失效 3已删除"`
|
||
Fingerprint string `json:"fingerprint" orm:"fingerprint" description:"去重指纹"`
|
||
GroupKey string `json:"groupKey" orm:"group_key" description:"跨源同公告聚合键"`
|
||
CreatedAt string `json:"createdAt" orm:"created_at" description:"入库时间"`
|
||
UpdatedAt string `json:"updatedAt" orm:"updated_at" description:"更新时间"`
|
||
}
|
||
|
||
// Organization 发布主体(机关/事业单位/国企/央企/私企)。
|
||
type Organization struct {
|
||
Id uint64 `json:"id" orm:"id" description:"主键"`
|
||
Name string `json:"name" orm:"name" description:"主体名称"`
|
||
Type int `json:"type" orm:"type" description:"主体类型 1机关 2事业 3国企 4央企 5私企 6其他"`
|
||
OfficialSite string `json:"officialSite" orm:"official_site" description:"官网"`
|
||
Region string `json:"region" orm:"region" description:"地区"`
|
||
CreatedAt string `json:"createdAt" orm:"created_at" description:"创建时间"`
|
||
UpdatedAt string `json:"updatedAt" orm:"updated_at" description:"更新时间"`
|
||
}
|
||
|
||
// CrawlSource 数据源配置(插件化爬虫适配器)。
|
||
type CrawlSource struct {
|
||
Id uint64 `json:"id" orm:"id" description:"主键"`
|
||
Name string `json:"name" orm:"name" description:"数据源名称"`
|
||
BaseUrl string `json:"baseUrl" orm:"base_url" description:"站点基础URL"`
|
||
SourceType int `json:"sourceType" orm:"source_type" description:"1静态列表 2SPA 3需登录 4附件型"`
|
||
Category int `json:"category" orm:"category" description:"该源默认考试分类"`
|
||
Region string `json:"region" orm:"region" description:"该源默认地区"`
|
||
ListPath string `json:"listPath" orm:"list_path" description:"列表页路径/接口"`
|
||
Config string `json:"config" orm:"config" description:"适配器扩展配置(JSON)"`
|
||
Enabled int `json:"enabled" orm:"enabled" description:"是否启用 0否 1是"`
|
||
CronExpr string `json:"cronExpr" orm:"cron_expr" description:"调度表达式(可选)"`
|
||
LastSuccessAt string `json:"lastSuccessAt" orm:"last_success_at" description:"最近成功抓取时间"`
|
||
FailCount int `json:"failCount" orm:"fail_count" description:"连续失败次数"`
|
||
CreatedAt string `json:"createdAt" orm:"created_at" description:"创建时间"`
|
||
UpdatedAt string `json:"updatedAt" orm:"updated_at" description:"更新时间"`
|
||
}
|
||
|
||
// CrawlLog 抓取任务运行日志。
|
||
type CrawlLog struct {
|
||
Id uint64 `json:"id" orm:"id" description:"主键"`
|
||
SourceId uint64 `json:"sourceId" orm:"source_id" description:"数据源ID"`
|
||
RunAt string `json:"runAt" orm:"run_at" description:"运行时间"`
|
||
Fetched int `json:"fetched" orm:"fetched" description:"本次抓取条数"`
|
||
NewCount int `json:"newCount" orm:"new_count" description:"新增条数"`
|
||
UpdatedCount int `json:"updatedCount" orm:"updated_count" description:"更新条数"`
|
||
Error string `json:"error" orm:"error" description:"错误信息"`
|
||
CreatedAt string `json:"createdAt" orm:"created_at" description:"创建时间"`
|
||
}
|
||
|
||
// PushSubscription Bark 推送订阅配置。
|
||
type PushSubscription struct {
|
||
Id uint64 `json:"id" orm:"id" description:"主键"`
|
||
Name string `json:"name" orm:"name" description:"订阅名称"`
|
||
DeviceKey string `json:"deviceKey" orm:"device_key" description:"Bark 设备密钥"`
|
||
Regions string `json:"regions" orm:"regions" description:"订阅地区(JSON数组)"`
|
||
Categories string `json:"categories" orm:"categories" description:"订阅分类(JSON数组)"`
|
||
OnlyNew int `json:"onlyNew" orm:"only_new" description:"仅推送新公告 0否 1是"`
|
||
PushTime string `json:"pushTime" orm:"push_time" description:"推送时间 HH:mm"`
|
||
Enabled int `json:"enabled" orm:"enabled" description:"是否启用 0否 1是"`
|
||
CreatedAt string `json:"createdAt" orm:"created_at" description:"创建时间"`
|
||
UpdatedAt string `json:"updatedAt" orm:"updated_at" description:"更新时间"`
|
||
}
|
||
|
||
// PushLog 推送记录。
|
||
type PushLog struct {
|
||
Id uint64 `json:"id" orm:"id" description:"主键"`
|
||
SubscriptionId uint64 `json:"subscriptionId" orm:"subscription_id" description:"订阅ID"`
|
||
PushAt string `json:"pushAt" orm:"push_at" description:"推送时间"`
|
||
Title string `json:"title" orm:"title" description:"推送标题"`
|
||
Body string `json:"body" orm:"body" description:"推送内容"`
|
||
Result int `json:"result" orm:"result" description:"1成功 0失败"`
|
||
Error string `json:"error" orm:"error" description:"错误信息"`
|
||
CreatedAt string `json:"createdAt" orm:"created_at" description:"创建时间"`
|
||
}
|