108 lines
4.2 KiB
Go
108 lines
4.2 KiB
Go
package model
|
||
|
||
// JobQueryRequest 岗位查询请求
|
||
type JobQueryRequest struct {
|
||
Current int `json:"current" form:"current"` // 当前页码
|
||
PageSize int `json:"pageSize" form:"pageSize"` // 每页数量
|
||
JobTitle string `json:"jobTitle,omitempty" form:"jobTitle"` // 岗位名称
|
||
Latitude string `json:"latitude,omitempty" form:"latitude"` // 纬度
|
||
Longitude string `json:"longitude,omitempty" form:"longitude"` // 经度
|
||
Radius string `json:"radius,omitempty" form:"radius"` // 搜索半径(km)
|
||
Order string `json:"order,omitempty" form:"order"` // 排序方式: 0-推荐, 1-最热, 2-最新
|
||
MinSalary string `json:"minSalary,omitempty" form:"minSalary"` // 最低薪资
|
||
MaxSalary string `json:"maxSalary,omitempty" form:"maxSalary"` // 最高薪资
|
||
Experience string `json:"experience,omitempty" form:"experience"` // 经验要求代码
|
||
Education string `json:"education,omitempty" form:"education"` // 学历要求代码
|
||
CompanyNature string `json:"companyNature,omitempty" form:"companyNature"` // 企业类型代码
|
||
JobLocationAreaCode string `json:"jobLocationAreaCode,omitempty" form:"jobLocationAreaCode"` // 区域代码
|
||
}
|
||
|
||
// JobAPIResponse 岗位API响应
|
||
type JobAPIResponse struct {
|
||
Code int `json:"code"`
|
||
Msg string `json:"msg"`
|
||
Rows []JobListing `json:"rows"`
|
||
Data interface{} `json:"data,omitempty"`
|
||
}
|
||
|
||
// JobListing 岗位信息
|
||
type JobListing struct {
|
||
JobTitle string `json:"jobTitle"` // 职位名称
|
||
CompanyName string `json:"companyName"` // 公司名称
|
||
MinSalary int `json:"minSalary"` // 最低薪资
|
||
MaxSalary int `json:"maxSalary"` // 最高薪资
|
||
Education string `json:"education"` // 学历要求代码
|
||
Experience string `json:"experience"` // 经验要求代码
|
||
AppJobURL string `json:"appJobUrl"` // 职位链接
|
||
JobLocationAreaCode int `json:"jobLocationAreaCode"` // 工作地点代码
|
||
}
|
||
|
||
// FormattedJob 格式化后的岗位信息
|
||
type FormattedJob struct {
|
||
JobTitle string `json:"jobTitle"` // 职位名称
|
||
CompanyName string `json:"companyName"` // 公司名称
|
||
Salary string `json:"salary"` // 薪资范围
|
||
Location string `json:"location"` // 工作地点
|
||
Education string `json:"education"` // 学历要求
|
||
Experience string `json:"experience"` // 经验要求
|
||
AppJobURL string `json:"appJobUrl"` // 职位链接
|
||
Data interface{} `json:"data,omitempty"` // 额外数据(最后一条时包含)
|
||
}
|
||
|
||
// JobResponse 岗位查询结果
|
||
type JobResponse struct {
|
||
JobListings []FormattedJob `json:"jobListings"`
|
||
Data interface{} `json:"data,omitempty"`
|
||
}
|
||
|
||
// 学历代码映射
|
||
var EducationMap = map[string]string{
|
||
"-1": "学历不限",
|
||
"0": "初中及以下",
|
||
"1": "中专/中技",
|
||
"2": "高中",
|
||
"3": "大专",
|
||
"4": "本科",
|
||
"5": "硕士",
|
||
"6": "博士",
|
||
"7": "MBA/EMBA",
|
||
"8": "留学-学士",
|
||
"9": "留学-硕士",
|
||
"10": "留学-博士",
|
||
}
|
||
|
||
// 经验代码映射
|
||
var ExperienceMap = map[string]string{
|
||
"0": "经验不限",
|
||
"1": "实习生",
|
||
"2": "应届毕业生",
|
||
"3": "1年以下",
|
||
"4": "1-3年",
|
||
"5": "3-5年",
|
||
"6": "5-10年",
|
||
"7": "10年以上",
|
||
}
|
||
|
||
// 企业类型代码映射
|
||
var CompanyNatureMap = map[string]string{
|
||
"1": "私营企业",
|
||
"2": "股份制企业",
|
||
"3": "国有企业",
|
||
"4": "外商及港澳台投资企业",
|
||
"5": "医院",
|
||
}
|
||
|
||
// AmapPlaceResponse 高德地图地点查询响应
|
||
type AmapPlaceResponse struct {
|
||
Status string `json:"status"`
|
||
Info string `json:"info"`
|
||
Pois []AmapPlace `json:"pois"`
|
||
}
|
||
|
||
// AmapPlace 地点信息
|
||
type AmapPlace struct {
|
||
Name string `json:"name"`
|
||
Location string `json:"location"` // "经度,纬度"
|
||
Address string `json:"address"`
|
||
}
|