diff --git a/.kiro/steering/项目结构说明.md b/.kiro/steering/项目结构说明.md index 7c8d1f4..37c1dd9 100644 --- a/.kiro/steering/项目结构说明.md +++ b/.kiro/steering/项目结构说明.md @@ -63,7 +63,17 @@ offerpie/back-end │ ├─ FuncPermissionMapper.java # 功能权限Mapper │ ├─ UserRouteMenuStockMapper.java # 用户路由菜单库存Mapper │ ├─ UserFuncPermissionStockMapper.java # 用户功能权限库存Mapper - │ └─ UserFuncUsageLogMapper.java # 用户功能使用记录Mapper + │ ├─ UserFuncUsageLogMapper.java # 用户功能使用记录Mapper + │ ├─ ChinaRegionsCodeMapper.java # 地区Mapper + │ ├─ JobCategoryMapper.java # 岗位类型Mapper + │ ├─ CompanyMapper.java # 公司Mapper + │ ├─ JobMapper.java # 岗位Mapper + │ ├─ JobRegionRelationMapper.java # 岗位-地区关联Mapper + │ ├─ IndustryMapper.java # 行业Mapper + │ ├─ SkillTagMapper.java # 技能标签Mapper + │ ├─ UserJobFavoriteMapper.java # 用户收藏岗位Mapper + │ ├─ UserJobApplicationMapper.java # 用户投递记录Mapper + │ └─ UserJobDislikeMapper.java # 用户不感兴趣记录Mapper ├─ pojo/ │ ├─ po/ # 持久化实体 │ │ ├─ User.java @@ -73,7 +83,17 @@ offerpie/back-end │ │ ├─ FuncPermission.java # 功能权限表(bg_func_permission) │ │ ├─ UserRouteMenuStock.java # 用户路由菜单库存表(bg_user_route_menu_stock) │ │ ├─ UserFuncPermissionStock.java # 用户功能权限库存表(bg_user_func_permission_stock) - │ │ └─ UserFuncUsageLog.java # 用户功能使用记录表(bg_user_func_usage_log) + │ │ ├─ UserFuncUsageLog.java # 用户功能使用记录表(bg_user_func_usage_log) + │ │ ├─ ChinaRegionsCode.java # 地区表(bg_china_regions_code) + │ │ ├─ JobCategory.java # 岗位类型表(bg_job_category) + │ │ ├─ Company.java # 公司表(bg_company) + │ │ ├─ Job.java # 岗位表(bg_job) + │ │ ├─ JobRegionRelation.java # 岗位-地区关联表(bg_job_region_relation) + │ │ ├─ Industry.java # 行业字典表(bg_industry) + │ │ ├─ SkillTag.java # 技能标签表(bg_skill_tag) + │ │ ├─ UserJobFavorite.java # 用户收藏岗位表(bg_user_job_favorite) + │ │ ├─ UserJobApplication.java # 用户投递记录表(bg_user_job_application) + │ │ └─ UserJobDislike.java # 用户不感兴趣记录表(bg_user_job_dislike) │ └─ vo/ # ViewObject(OssUrlVo 等) └─ service/ # 业务 Service(OssService、SmsService 等) ``` @@ -84,7 +104,7 @@ offerpie/back-end |------|----------|-----------| | **client-api** | - 面向终端用户的 REST API
- 启动 Spring Boot 应用
- 短信验证码登录(含自动注册、邀请码绑定)
- **功能权限校验**:注解 + 切面 + 权限服务(校验、扣减、回退)
- **路由菜单**:获取用户有效菜单树 | `ClientApplication`、`LoginController`、`RouteMenuController`、`FuncPermission`、`FuncPermissionAspect`、`FuncPermissionService`、`RouteMenuService`、`UserRegisterService`、`RouteMenuVo` | | **common** | - **统一配置**:OSS、Redis、Security、WxPay、Sms 等
- **跨层工具**:HTTP、IP、认证、验证码、Redis Server 等
- **全局拦截/切面**:日志、TraceId、黑名单、SQL 打印
- **统一异常/响应**:`GlobalExceptionAdvice`、`UnifiedResponse`
- **业务抽象**:邮件发送、微信支付(Native/JS/Transfer)
- **公共 POJO**:登录令牌、防重放信息等 | `config/`, `tool/`, `interceptor/`, `aop/`, `exception/`, `email/`, `wxPay/`, `pojo/` | -| **manager** | - **业务实体**(`User`、`OssFile`、`UserInvite`、`RouteMenu`、`FuncPermission`、`UserRouteMenuStock`、`UserFuncPermissionStock`、`UserFuncUsageLog`)
- **MyBatis Mapper**(`UserMapper`、`OssFileMapper`、`UserInviteMapper`、`RouteMenuMapper`、`FuncPermissionMapper`、`UserRouteMenuStockMapper`、`UserFuncPermissionStockMapper`、`UserFuncUsageLogMapper`)
- **业务 API**:文件上传/下载、健康检查等
- **业务逻辑**:服务层、工具类等
- **既供 B 端 UI(待实现)使用,也供 C 端业务直接调用** | `controller/`, `mapper/`, `pojo/po/`, `pojo/vo/`, `service/`, `constant/` | +| **manager** | - **业务实体**(`User`、`OssFile`、`UserInvite`、`RouteMenu`、`FuncPermission`、`UserRouteMenuStock`、`UserFuncPermissionStock`、`UserFuncUsageLog`、`ChinaRegionsCode`、`JobCategory`、`Company`、`Job`、`JobRegion`、`UserJobFavorite`、`UserJobApplication`)
- **MyBatis Mapper**(`UserMapper`、`OssFileMapper`、`UserInviteMapper`、`RouteMenuMapper`、`FuncPermissionMapper`、`UserRouteMenuStockMapper`、`UserFuncPermissionStockMapper`、`UserFuncUsageLogMapper`、`ChinaRegionsCodeMapper`、`JobCategoryMapper`、`CompanyMapper`、`JobMapper`、`JobRegionRelationMapper`、`UserJobFavoriteMapper`、`UserJobApplicationMapper`)
- **业务 API**:文件上传/下载、健康检查等
- **业务逻辑**:服务层、工具类等
- **既供 B 端 UI(待实现)使用,也供 C 端业务直接调用** | `controller/`, `mapper/`, `pojo/po/`, `pojo/vo/`, `service/`, `constant/` | ## 3️⃣ 关键业务实体 | 实体 | 所属模块 | 作用概述 | @@ -100,6 +120,16 @@ offerpie/back-end | `RouteMenuVo` | client-api | 路由菜单树形VO,包含 children 子菜单列表,供前端渲染动态路由。 | | `LoginVo` | client-api | 登录成功后返回的用户信息(userId、nick)。 | | `SmsLoginDto` | client-api | 短信验证码登录的请求参数(mobileNumber、code、inviteCode)。 | +| `ChinaRegionsCode` | manager | 地区表(bg_china_regions_code),行政区划编码,省/市/区三级,code为主键。 | +| `JobCategory` | manager | 岗位类型表(bg_job_category),树形结构,一级/二级分类。 | +| `Company` | manager | 公司表(bg_company),公司基本信息、融资、规模、新闻动态等。 | +| `Job` | manager | 岗位表(bg_job),岗位信息、薪资、标签、技能标签,关联公司和岗位类型。 | +| `JobRegionRelation` | manager | 岗位-地区关联表(bg_job_region_relation),一个岗位可关联多个地区。 | +| `UserJobFavorite` | manager | 用户收藏岗位表(bg_user_job_favorite),用户与岗位唯一约束。 | +| `UserJobApplication` | manager | 用户投递记录表(bg_user_job_application),记录投递状态流转。 | +| `Industry` | manager | 行业字典表(bg_industry),树形结构,一级/二级分类。 | +| `SkillTag` | manager | 技能标签表(bg_skill_tag),挂在岗位类型下,不分级,用于匹配度计算。 | +| `UserJobDislike` | manager | 用户不感兴趣记录表(bg_user_job_dislike),记录用户对岗位的不感兴趣原因,冗余公司ID/地区编码/行业ID方便推荐过滤。 | ## 4️⃣ 权限体系设计 ### 整体架构 diff --git a/manager/src/main/java/org/jiayunet/mapper/ChinaRegionsCodeMapper.java b/manager/src/main/java/org/jiayunet/mapper/ChinaRegionsCodeMapper.java new file mode 100644 index 0000000..430c715 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/mapper/ChinaRegionsCodeMapper.java @@ -0,0 +1,13 @@ +package org.jiayunet.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.jiayunet.pojo.po.ChinaRegionsCode; + +/** + * 地区Mapper + * + * @author zk + */ +@Mapper +public interface ChinaRegionsCodeMapper extends CommonMapper { +} diff --git a/manager/src/main/java/org/jiayunet/mapper/CompanyMapper.java b/manager/src/main/java/org/jiayunet/mapper/CompanyMapper.java new file mode 100644 index 0000000..e0e691b --- /dev/null +++ b/manager/src/main/java/org/jiayunet/mapper/CompanyMapper.java @@ -0,0 +1,13 @@ +package org.jiayunet.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.jiayunet.pojo.po.Company; + +/** + * 公司Mapper + * + * @author zk + */ +@Mapper +public interface CompanyMapper extends CommonMapper { +} diff --git a/manager/src/main/java/org/jiayunet/mapper/IndustryMapper.java b/manager/src/main/java/org/jiayunet/mapper/IndustryMapper.java new file mode 100644 index 0000000..08f9498 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/mapper/IndustryMapper.java @@ -0,0 +1,13 @@ +package org.jiayunet.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.jiayunet.pojo.po.Industry; + +/** + * 行业Mapper + * + * @author zk + */ +@Mapper +public interface IndustryMapper extends CommonMapper { +} diff --git a/manager/src/main/java/org/jiayunet/mapper/JobCategoryMapper.java b/manager/src/main/java/org/jiayunet/mapper/JobCategoryMapper.java new file mode 100644 index 0000000..5fa7077 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/mapper/JobCategoryMapper.java @@ -0,0 +1,13 @@ +package org.jiayunet.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.jiayunet.pojo.po.JobCategory; + +/** + * 岗位类型Mapper + * + * @author zk + */ +@Mapper +public interface JobCategoryMapper extends CommonMapper { +} diff --git a/manager/src/main/java/org/jiayunet/mapper/JobMapper.java b/manager/src/main/java/org/jiayunet/mapper/JobMapper.java new file mode 100644 index 0000000..695c87d --- /dev/null +++ b/manager/src/main/java/org/jiayunet/mapper/JobMapper.java @@ -0,0 +1,13 @@ +package org.jiayunet.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.jiayunet.pojo.po.Job; + +/** + * 岗位Mapper + * + * @author zk + */ +@Mapper +public interface JobMapper extends CommonMapper { +} diff --git a/manager/src/main/java/org/jiayunet/mapper/JobRegionRelationMapper.java b/manager/src/main/java/org/jiayunet/mapper/JobRegionRelationMapper.java new file mode 100644 index 0000000..8937713 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/mapper/JobRegionRelationMapper.java @@ -0,0 +1,13 @@ +package org.jiayunet.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.jiayunet.pojo.po.JobRegionRelation; + +/** + * 岗位-地区关联Mapper + * + * @author zk + */ +@Mapper +public interface JobRegionRelationMapper extends CommonMapper { +} diff --git a/manager/src/main/java/org/jiayunet/mapper/SkillTagMapper.java b/manager/src/main/java/org/jiayunet/mapper/SkillTagMapper.java new file mode 100644 index 0000000..930718b --- /dev/null +++ b/manager/src/main/java/org/jiayunet/mapper/SkillTagMapper.java @@ -0,0 +1,13 @@ +package org.jiayunet.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.jiayunet.pojo.po.SkillTag; + +/** + * 技能标签Mapper + * + * @author zk + */ +@Mapper +public interface SkillTagMapper extends CommonMapper { +} diff --git a/manager/src/main/java/org/jiayunet/mapper/UserJobApplicationMapper.java b/manager/src/main/java/org/jiayunet/mapper/UserJobApplicationMapper.java new file mode 100644 index 0000000..e853998 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/mapper/UserJobApplicationMapper.java @@ -0,0 +1,13 @@ +package org.jiayunet.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.jiayunet.pojo.po.UserJobApplication; + +/** + * 用户投递记录Mapper + * + * @author zk + */ +@Mapper +public interface UserJobApplicationMapper extends CommonMapper { +} diff --git a/manager/src/main/java/org/jiayunet/mapper/UserJobDislikeMapper.java b/manager/src/main/java/org/jiayunet/mapper/UserJobDislikeMapper.java new file mode 100644 index 0000000..5af1259 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/mapper/UserJobDislikeMapper.java @@ -0,0 +1,13 @@ +package org.jiayunet.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.jiayunet.pojo.po.UserJobDislike; + +/** + * 用户不感兴趣记录Mapper + * + * @author zk + */ +@Mapper +public interface UserJobDislikeMapper extends CommonMapper { +} diff --git a/manager/src/main/java/org/jiayunet/mapper/UserJobFavoriteMapper.java b/manager/src/main/java/org/jiayunet/mapper/UserJobFavoriteMapper.java new file mode 100644 index 0000000..8f87f4a --- /dev/null +++ b/manager/src/main/java/org/jiayunet/mapper/UserJobFavoriteMapper.java @@ -0,0 +1,13 @@ +package org.jiayunet.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.jiayunet.pojo.po.UserJobFavorite; + +/** + * 用户收藏岗位Mapper + * + * @author zk + */ +@Mapper +public interface UserJobFavoriteMapper extends CommonMapper { +} diff --git a/manager/src/main/java/org/jiayunet/pojo/po/ChinaRegionsCode.java b/manager/src/main/java/org/jiayunet/pojo/po/ChinaRegionsCode.java new file mode 100644 index 0000000..906c8cd --- /dev/null +++ b/manager/src/main/java/org/jiayunet/pojo/po/ChinaRegionsCode.java @@ -0,0 +1,29 @@ +package org.jiayunet.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * 地区表(bg_china_regions_code) + *

行政区划编码,省/市/区三级

+ * + * @author zk + */ +@Data +@TableName(value = "bg_china_regions_code") +public class ChinaRegionsCode { + + /** 行政区划编码(主键) */ + @TableId + private String code; + + /** 地区名称 */ + private String name; + + /** 市级编码,省级为null */ + private String cityCode; + + /** 省级编码,省级为null */ + private String provinceCode; +} diff --git a/manager/src/main/java/org/jiayunet/pojo/po/Company.java b/manager/src/main/java/org/jiayunet/pojo/po/Company.java new file mode 100644 index 0000000..8e2b47a --- /dev/null +++ b/manager/src/main/java/org/jiayunet/pojo/po/Company.java @@ -0,0 +1,78 @@ +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_company) + * + * @author zk + */ +@Data +@TableName(value = "bg_company") +public class Company { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 公司名 */ + private String name; + + /** 公司简称 */ + private String shortName; + + /** logo地址 */ + private String logoUrl; + + /** 地区编码 */ + private String regionCode; + + /** 公司类型(上市企业、独角兽、国企等) */ + private String companyType; + + /** 行业ID */ + private Long industryId; + + /** 公司标签(JSON数组) */ + private String tags; + + /** 公司简要 */ + private String summary; + + /** 公司描述 */ + private String description; + + /** 成立时间 */ + private String foundedYear; + + /** 注册地址 */ + private String address; + + /** 企业规模(人数) */ + private String scale; + + /** 官网地址 */ + private String website; + + /** 融资状态 */ + private String financingStage; + + /** 最新估值 */ + private String latestValuation; + + /** 新闻动态(JSON数组) */ + private String news; + + /** 状态 0=待完善 1=已完善 2=禁用 */ + private Integer status; + + /** 创建时间 */ + private Instant createTime; + + /** 更新时间 */ + private Instant updateTime; +} diff --git a/manager/src/main/java/org/jiayunet/pojo/po/Industry.java b/manager/src/main/java/org/jiayunet/pojo/po/Industry.java new file mode 100644 index 0000000..6eb5416 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/pojo/po/Industry.java @@ -0,0 +1,32 @@ +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; + +/** + * 行业字典表(bg_industry) + *

树形结构,一级/二级分类

+ * + * @author zk + */ +@Data +@TableName(value = "bg_industry") +public class Industry { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 行业名称 */ + private String name; + + /** 根节点ID,顶级=自身ID */ + private Long rootId; + + /** 父级ID,0=顶级 */ + private Long parentId; + + /** 层级 1=一级 2=二级 */ + private Integer level; +} diff --git a/manager/src/main/java/org/jiayunet/pojo/po/Job.java b/manager/src/main/java/org/jiayunet/pojo/po/Job.java new file mode 100644 index 0000000..df75ef5 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/pojo/po/Job.java @@ -0,0 +1,75 @@ +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_job) + * + * @author zk + */ +@Data +@TableName(value = "bg_job") +public class Job { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 岗位名称 */ + private String title; + + /** 关联公司ID */ + private Long companyId; + + /** 岗位类型ID */ + private Long categoryId; + + /** 0=全职 1=兼职 */ + private Integer employmentType; + + /** 岗位职责 */ + private String description; + + /** 任职要求 */ + private String requirement; + + /** 加分项 */ + private String bonus; + + /** 岗位标签(JSON数组) */ + private String tags; + + /** 技能标签(JSON数组) */ + private String skillTags; + + /** 薪资描述,如15-25K·13薪、面议 */ + private String salary; + + /** 学历要求 0=不限 1=大专 2=本科 3=硕士 4=博士 */ + private Integer education; + + /** 最低工作年限,0=不要求 */ + private Integer minExperience; + + /** 行业经验,关联bg_industry */ + private Long industryId; + + /** 来源链接 */ + private String sourceUrl; + + /** 爬虫原始数据ID,用于去重 */ + private String sourceId; + + /** 状态 0=上架 1=下架 2=已失效 */ + private Integer status; + + /** 创建时间 */ + private Instant createTime; + + /** 更新时间 */ + private Instant updateTime; +} diff --git a/manager/src/main/java/org/jiayunet/pojo/po/JobCategory.java b/manager/src/main/java/org/jiayunet/pojo/po/JobCategory.java new file mode 100644 index 0000000..c4249ac --- /dev/null +++ b/manager/src/main/java/org/jiayunet/pojo/po/JobCategory.java @@ -0,0 +1,32 @@ +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; + +/** + * 岗位类型表(bg_job_category) + *

树形结构,一级/二级分类

+ * + * @author zk + */ +@Data +@TableName(value = "bg_job_category") +public class JobCategory { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 类型名称 */ + private String name; + + /** 根节点ID,顶级=自身ID */ + private Long rootId; + + /** 父级ID,0=顶级 */ + private Long parentId; + + /** 层级 1=一级 2=二级 */ + private Integer level; +} diff --git a/manager/src/main/java/org/jiayunet/pojo/po/JobRegionRelation.java b/manager/src/main/java/org/jiayunet/pojo/po/JobRegionRelation.java new file mode 100644 index 0000000..858347f --- /dev/null +++ b/manager/src/main/java/org/jiayunet/pojo/po/JobRegionRelation.java @@ -0,0 +1,30 @@ +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_job_region_relation) + * + * @author zk + */ +@Data +@TableName(value = "bg_job_region_relation") +public class JobRegionRelation { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 岗位ID */ + private Long jobId; + + /** 地区编码 */ + private String regionCode; + + /** 创建时间 */ + private Instant createTime; +} diff --git a/manager/src/main/java/org/jiayunet/pojo/po/SkillTag.java b/manager/src/main/java/org/jiayunet/pojo/po/SkillTag.java new file mode 100644 index 0000000..9266764 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/pojo/po/SkillTag.java @@ -0,0 +1,26 @@ +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; + +/** + * 技能标签表(bg_skill_tag) + *

挂在岗位类型下,不分级

+ * + * @author zk + */ +@Data +@TableName(value = "bg_skill_tag") +public class SkillTag { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 标签名称 */ + private String name; + + /** 所属岗位类型ID */ + private Long categoryId; +} diff --git a/manager/src/main/java/org/jiayunet/pojo/po/UserJobApplication.java b/manager/src/main/java/org/jiayunet/pojo/po/UserJobApplication.java new file mode 100644 index 0000000..44a998c --- /dev/null +++ b/manager/src/main/java/org/jiayunet/pojo/po/UserJobApplication.java @@ -0,0 +1,39 @@ +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_application) + * + * @author zk + */ +@Data +@TableName(value = "bg_user_job_application") +public class UserJobApplication { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 用户ID */ + private Long userId; + + /** 岗位ID */ + private Long jobId; + + /** 投递状态 0=已投递 1=面试中 2=有Offer 3=未通过 4=已结束 */ + private Integer status; + + /** 投递时间 */ + private Instant applyTime; + + /** 创建时间 */ + private Instant createTime; + + /** 更新时间 */ + private Instant updateTime; +} diff --git a/manager/src/main/java/org/jiayunet/pojo/po/UserJobDislike.java b/manager/src/main/java/org/jiayunet/pojo/po/UserJobDislike.java new file mode 100644 index 0000000..5635690 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/pojo/po/UserJobDislike.java @@ -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_dislike) + * + * @author zk + */ +@Data +@TableName(value = "bg_user_job_dislike") +public class UserJobDislike { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 用户ID */ + private Long userId; + + /** 岗位ID */ + private Long jobId; + + /** 公司ID(冗余,方便按公司过滤) */ + private Long companyId; + + /** 地区编码(冗余,方便按地区过滤) */ + private String regionCode; + + /** 行业ID(冗余,方便按行业过滤) */ + private Long industryId; + + /** 原因 0=对公司不感兴趣 1=对岗位不感兴趣 2=对行业不感兴趣 3=技能不符合 4=地点不合适 5=其他 */ + private Integer reason; + + /** 创建时间 */ + private Instant createTime; +} diff --git a/manager/src/main/java/org/jiayunet/pojo/po/UserJobFavorite.java b/manager/src/main/java/org/jiayunet/pojo/po/UserJobFavorite.java new file mode 100644 index 0000000..f18530e --- /dev/null +++ b/manager/src/main/java/org/jiayunet/pojo/po/UserJobFavorite.java @@ -0,0 +1,30 @@ +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_favorite) + * + * @author zk + */ +@Data +@TableName(value = "bg_user_job_favorite") +public class UserJobFavorite { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 用户ID */ + private Long userId; + + /** 岗位ID */ + private Long jobId; + + /** 创建时间 */ + private Instant createTime; +}