添加个人信息表

This commit is contained in:
zk
2026-03-19 18:42:01 +08:00
parent baa4b489d3
commit 7c10fba95a
15 changed files with 476 additions and 0 deletions
+21
View File
@@ -76,6 +76,13 @@ offerpie/back-end
│ ├─ UserJobFavoriteMapper.java # 用户收藏岗位Mapper │ ├─ UserJobFavoriteMapper.java # 用户收藏岗位Mapper
│ ├─ UserJobApplicationMapper.java # 用户投递记录Mapper │ ├─ UserJobApplicationMapper.java # 用户投递记录Mapper
│ ├─ UserJobDislikeMapper.java # 用户不感兴趣记录Mapper │ ├─ UserJobDislikeMapper.java # 用户不感兴趣记录Mapper
│ ├─ UserJobIntentionMapper.java # 用户求职意向Mapper
│ ├─ UserProfileMapper.java # 用户个人资料Mapper
│ ├─ UserProfileEducationMapper.java # 用户教育经历Mapper
│ ├─ UserProfileWorkMapper.java # 用户工作经历Mapper
│ ├─ UserProfileInternshipMapper.java # 用户实习经历Mapper
│ ├─ UserProfileProjectMapper.java # 用户项目经历Mapper
│ ├─ UserProfileCompetitionMapper.java # 用户竞赛经历Mapper
│ └─ AppJobDataMapper.java # 爬虫岗位原始数据Mapper │ └─ AppJobDataMapper.java # 爬虫岗位原始数据Mapper
├─ pojo/ ├─ pojo/
│ ├─ po/ # 持久化实体 │ ├─ po/ # 持久化实体
@@ -98,6 +105,13 @@ offerpie/back-end
│ │ ├─ UserJobFavorite.java # 用户收藏岗位表(bg_user_job_favorite │ │ ├─ UserJobFavorite.java # 用户收藏岗位表(bg_user_job_favorite
│ │ ├─ UserJobApplication.java # 用户投递记录表(bg_user_job_application │ │ ├─ UserJobApplication.java # 用户投递记录表(bg_user_job_application
│ │ ├─ UserJobDislike.java # 用户不感兴趣记录表(bg_user_job_dislike │ │ ├─ UserJobDislike.java # 用户不感兴趣记录表(bg_user_job_dislike
│ │ ├─ UserJobIntention.java # 用户求职意向表(bg_user_job_intention
│ │ ├─ UserProfile.java # 用户个人资料表(bg_user_profile
│ │ ├─ UserProfileEducation.java # 用户教育经历表(bg_user_profile_education
│ │ ├─ UserProfileWork.java # 用户工作经历表(bg_user_profile_work
│ │ ├─ UserProfileInternship.java # 用户实习经历表(bg_user_profile_internship
│ │ ├─ UserProfileProject.java # 用户项目经历表(bg_user_profile_project
│ │ ├─ UserProfileCompetition.java # 用户竞赛经历表(bg_user_profile_competition
│ │ └─ AppJobData.java # 爬虫岗位原始数据表(app_job_data │ │ └─ AppJobData.java # 爬虫岗位原始数据表(app_job_data
│ └─ vo/ # ViewObjectOssUrlVo 等) │ └─ vo/ # ViewObjectOssUrlVo 等)
└─ service/ # 业务 ServiceOssService、SmsService、DictCacheService、JobCleanService、JobCleanTransactionService、CompanyCleanService、CompanyCleanTransactionService 等) └─ service/ # 业务 ServiceOssService、SmsService、DictCacheService、JobCleanService、JobCleanTransactionService、CompanyCleanService、CompanyCleanTransactionService 等)
@@ -135,6 +149,13 @@ offerpie/back-end
| `Industry` | manager | 行业字典表(bg_industry),树形结构,一级/二级分类。 | | `Industry` | manager | 行业字典表(bg_industry),树形结构,一级/二级分类。 |
| `SkillTag` | manager | 技能标签表(bg_skill_tag),挂在岗位类型下,不分级,用于匹配度计算。 | | `SkillTag` | manager | 技能标签表(bg_skill_tag),挂在岗位类型下,不分级,用于匹配度计算。 |
| `UserJobDislike` | manager | 用户不感兴趣记录表(bg_user_job_dislike),记录用户对岗位的不感兴趣原因,冗余公司ID/地区编码/行业ID方便推荐过滤。 | | `UserJobDislike` | manager | 用户不感兴趣记录表(bg_user_job_dislike),记录用户对岗位的不感兴趣原因,冗余公司ID/地区编码/行业ID方便推荐过滤。 |
| `UserJobIntention` | manager | 用户求职意向表(bg_user_job_intention),存储意向岗位类型、城市、行业(JSON数组,节点可能为任意级别)和工作类型。 |
| `UserProfile` | manager | 用户个人资料表(bg_user_profile),存储身份证号、所在城市、微信号、作品集链接、工作年限、经验行业IDs、技能标签、证书标签。 |
| `UserProfileEducation` | manager | 用户教育经历表(bg_user_profile_educationprofile子表),学校、专业、学历、起止年份、描述段落(JSON对象数组)。 |
| `UserProfileWork` | manager | 用户工作经历表(bg_user_profile_workprofile子表),公司、职位、起止时间、描述段落(JSON对象数组)。 |
| `UserProfileInternship` | manager | 用户实习经历表(bg_user_profile_internshipprofile子表),公司、职位、起止时间、描述段落(JSON对象数组)。 |
| `UserProfileProject` | manager | 用户项目经历表(bg_user_profile_projectprofile子表),公司、项目名、角色、起止时间、描述段落(JSON对象数组)。 |
| `UserProfileCompetition` | manager | 用户竞赛经历表(bg_user_profile_competitionprofile子表),竞赛名、奖项、获奖时间、描述段落(JSON对象数组)。 |
| `JobSkillTagRelation` | manager | 岗位-技能标签关联表(bg_job_skill_tag_relation),预定义技能标签与岗位的关联,用于匹配度计算。 | | `JobSkillTagRelation` | manager | 岗位-技能标签关联表(bg_job_skill_tag_relation),预定义技能标签与岗位的关联,用于匹配度计算。 |
| `AppJobData` | manager | 爬虫岗位原始数据表(app_job_data),存储爬虫抓取的原始岗位数据,供清洗服务读取并写入业务表。 | | `AppJobData` | manager | 爬虫岗位原始数据表(app_job_data),存储爬虫抓取的原始岗位数据,供清洗服务读取并写入业务表。 |
@@ -0,0 +1,14 @@
package org.jiayunet.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.jiayunet.pojo.po.UserJobIntention;
/**
* 用户求职意向Mapper
*
* @author zk
*/
@Mapper
public interface UserJobIntentionMapper extends BaseMapper<UserJobIntention> {
}
@@ -0,0 +1,14 @@
package org.jiayunet.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.jiayunet.pojo.po.UserProfileCompetition;
/**
* 用户竞赛经历Mapper
*
* @author zk
*/
@Mapper
public interface UserProfileCompetitionMapper extends BaseMapper<UserProfileCompetition> {
}
@@ -0,0 +1,14 @@
package org.jiayunet.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.jiayunet.pojo.po.UserProfileEducation;
/**
* 用户教育经历Mapper
*
* @author zk
*/
@Mapper
public interface UserProfileEducationMapper extends BaseMapper<UserProfileEducation> {
}
@@ -0,0 +1,14 @@
package org.jiayunet.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.jiayunet.pojo.po.UserProfileInternship;
/**
* 用户实习经历Mapper
*
* @author zk
*/
@Mapper
public interface UserProfileInternshipMapper extends BaseMapper<UserProfileInternship> {
}
@@ -0,0 +1,14 @@
package org.jiayunet.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.jiayunet.pojo.po.UserProfile;
/**
* 用户个人资料Mapper
*
* @author zk
*/
@Mapper
public interface UserProfileMapper extends BaseMapper<UserProfile> {
}
@@ -0,0 +1,14 @@
package org.jiayunet.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.jiayunet.pojo.po.UserProfileProject;
/**
* 用户项目经历Mapper
*
* @author zk
*/
@Mapper
public interface UserProfileProjectMapper extends BaseMapper<UserProfileProject> {
}
@@ -0,0 +1,14 @@
package org.jiayunet.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.jiayunet.pojo.po.UserProfileWork;
/**
* 用户工作经历Mapper
*
* @author zk
*/
@Mapper
public interface UserProfileWorkMapper extends BaseMapper<UserProfileWork> {
}
@@ -0,0 +1,42 @@
package org.jiayunet.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.Instant;
/**
* 用户求职意向表(bg_user_job_intention
*
* @author zk
*/
@Data
@TableName(value = "bg_user_job_intention")
public class UserJobIntention {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 用户ID */
private Long userId;
/** 意向岗位类型ID列表(JSON数组),节点可能为任意级别 */
private String categoryIds;
/** 意向城市编码列表(JSON数组),节点可能为任意级别 */
private String regionCodes;
/** 意向行业ID列表(JSON数组),节点可能为任意级别 */
private String industryIds;
/** 工作类型 0=全职 1=实习 */
private Integer employmentType;
/** 创建时间 */
private Instant createTime;
/** 更新时间 */
private Instant updateTime;
}
@@ -0,0 +1,54 @@
package org.jiayunet.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.Instant;
/**
* 用户个人资料表(bg_user_profile
*
* @author zk
*/
@Data
@TableName(value = "bg_user_profile")
public class UserProfile {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 用户ID */
private Long userId;
/** 身份证号 */
private String idCard;
/** 所在城市编码,关联bg_china_regions_code */
private String regionCode;
/** 微信号 */
private String wechatNumber;
/** 作品集链接 */
private String portfolioUrl;
/** 工作年限(不展示,用于适配度计算) */
private Integer workYears;
/** 拥有经验的行业ID列表(不展示,用于适配度计算),格式:[1, 3, 7] */
private String experienceIndustryIds;
/** 技能标签列表,格式:["CET 6", "Photoshop", "Python"] */
private String skills;
/** 证书标签列表,格式:["CFA", "CMA"] */
private String certificates;
/** 创建时间 */
private Instant createTime;
/** 更新时间 */
private Instant updateTime;
}
@@ -0,0 +1,48 @@
package org.jiayunet.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.Instant;
/**
* 用户竞赛经历表(bg_user_profile_competitionbg_user_profile子表)
*
* @author zk
*/
@Data
@TableName(value = "bg_user_profile_competition")
public class UserProfileCompetition {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 关联bg_user_profile.id */
private Long profileId;
/** 用户ID(冗余,便于直接按用户查询) */
private Long userId;
/** 竞赛名称 */
private String competitionName;
/** 获奖情况,如全国二等奖 */
private String award;
/** 获奖时间,格式:2023.07 */
private String awardDate;
/** 描述段落,格式:[{"id":"a1b2","text":"协助分析师开展TMT行业研究..."}],id为前端生成的短标识,用于简历优化时精确定位段落 */
private String description;
/** 排序序号,越小越靠前 */
private Integer sortOrder;
/** 创建时间 */
private Instant createTime;
/** 更新时间 */
private Instant updateTime;
}
@@ -0,0 +1,57 @@
package org.jiayunet.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.Instant;
/**
* 用户教育经历表(bg_user_profile_educationbg_user_profile子表)
*
* @author zk
*/
@Data
@TableName(value = "bg_user_profile_education")
public class UserProfileEducation {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 关联bg_user_profile.id */
private Long profileId;
/** 用户ID(冗余,便于直接按用户查询) */
private Long userId;
/** 学校名称 */
private String school;
/** 专业 */
private String major;
/** 学历 1=大专 2=本科 3=硕士 4=博士 */
private Integer degree;
/** 学习形式 0=全日制 1=非全日制 */
private Integer studyType;
/** 入学年份 */
private Integer startYear;
/** 毕业年份 */
private Integer endYear;
/** 描述段落,格式:[{"id":"a1b2","text":"GPA: 3.8/4.0..."}]id为前端生成的短标识,用于简历优化时精确定位段落 */
private String description;
/** 排序序号,越小越靠前 */
private Integer sortOrder;
/** 创建时间 */
private Instant createTime;
/** 更新时间 */
private Instant updateTime;
}
@@ -0,0 +1,51 @@
package org.jiayunet.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.Instant;
/**
* 用户实习经历表(bg_user_profile_internshipbg_user_profile子表)
*
* @author zk
*/
@Data
@TableName(value = "bg_user_profile_internship")
public class UserProfileInternship {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 关联bg_user_profile.id */
private Long profileId;
/** 用户ID(冗余,便于直接按用户查询) */
private Long userId;
/** 公司名称 */
private String companyName;
/** 职位 */
private String position;
/** 开始时间,格式:2023.06 */
private String startDate;
/** 结束时间,格式:2023.09,至今则为空 */
private String endDate;
/** 描述段落,格式:[{"id":"a1b2","text":"参与传统行业投资项目分析..."}],id为前端生成的短标识,用于简历优化时精确定位段落 */
private String description;
/** 排序序号,越小越靠前 */
private Integer sortOrder;
/** 创建时间 */
private Instant createTime;
/** 更新时间 */
private Instant updateTime;
}
@@ -0,0 +1,54 @@
package org.jiayunet.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.Instant;
/**
* 用户项目经历表(bg_user_profile_projectbg_user_profile子表)
*
* @author zk
*/
@Data
@TableName(value = "bg_user_profile_project")
public class UserProfileProject {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 关联bg_user_profile.id */
private Long profileId;
/** 用户ID(冗余,便于直接按用户查询) */
private Long userId;
/** 所属公司 */
private String companyName;
/** 项目名称 */
private String projectName;
/** 担任角色 */
private String role;
/** 开始时间,格式:2023.06 */
private String startDate;
/** 结束时间,格式:2023.09,至今则为空 */
private String endDate;
/** 描述段落,格式:[{"id":"a1b2","text":"围绕新能源行业投资研究..."}],id为前端生成的短标识,用于简历优化时精确定位段落 */
private String description;
/** 排序序号,越小越靠前 */
private Integer sortOrder;
/** 创建时间 */
private Instant createTime;
/** 更新时间 */
private Instant updateTime;
}
@@ -0,0 +1,51 @@
package org.jiayunet.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.Instant;
/**
* 用户工作经历表(bg_user_profile_workbg_user_profile子表)
*
* @author zk
*/
@Data
@TableName(value = "bg_user_profile_work")
public class UserProfileWork {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 关联bg_user_profile.id */
private Long profileId;
/** 用户ID(冗余,便于直接按用户查询) */
private Long userId;
/** 公司名称 */
private String companyName;
/** 职位 */
private String position;
/** 开始时间,格式:2023.06 */
private String startDate;
/** 结束时间,格式:2023.09,至今则为空 */
private String endDate;
/** 描述段落,格式:[{"id":"a1b2","text":"参与传统行业投资项目分析..."}],id为前端生成的短标识,用于简历优化时精确定位段落 */
private String description;
/** 排序序号,越小越靠前 */
private Integer sortOrder;
/** 创建时间 */
private Instant createTime;
/** 更新时间 */
private Instant updateTime;
}