From 0a3c03213084201fa4170d04e497829316b6aa9b Mon Sep 17 00:00:00 2001 From: zk Date: Thu, 9 Apr 2026 10:05:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=AE=80=E5=8E=86=E8=AF=8A?= =?UTF-8?q?=E6=96=AD=E7=9B=B8=E5=85=B3=E5=AE=9E=E4=BD=93=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .kiro/steering/项目结构说明.md | 6 ++ .../mapper/ResumeDiagnosisIssueMapper.java | 13 ++++ .../mapper/ResumeDiagnosisReportMapper.java | 13 ++++ .../pojo/po/ResumeDiagnosisIssue.java | 77 +++++++++++++++++++ .../pojo/po/ResumeDiagnosisReport.java | 49 ++++++++++++ 5 files changed, 158 insertions(+) create mode 100644 manager/src/main/java/org/jiayunet/mapper/ResumeDiagnosisIssueMapper.java create mode 100644 manager/src/main/java/org/jiayunet/mapper/ResumeDiagnosisReportMapper.java create mode 100644 manager/src/main/java/org/jiayunet/pojo/po/ResumeDiagnosisIssue.java create mode 100644 manager/src/main/java/org/jiayunet/pojo/po/ResumeDiagnosisReport.java diff --git a/.kiro/steering/项目结构说明.md b/.kiro/steering/项目结构说明.md index 4d87f46..59c3b2b 100644 --- a/.kiro/steering/项目结构说明.md +++ b/.kiro/steering/项目结构说明.md @@ -109,6 +109,8 @@ offerpie/back-end │ ├─ UserResumeInternshipMapper.java # 简历-实习经历Mapper │ ├─ UserResumeProjectMapper.java # 简历-项目经历Mapper │ ├─ UserResumeCompetitionMapper.java # 简历-竞赛经历Mapper + │ ├─ ResumeDiagnosisReportMapper.java # 简历诊断报告Mapper + │ ├─ ResumeDiagnosisIssueMapper.java # 简历诊断问题Mapper │ └─ AppJobDataMapper.java # 爬虫岗位原始数据Mapper ├─ pojo/ │ ├─ po/ # 持久化实体 @@ -146,6 +148,8 @@ offerpie/back-end │ │ ├─ UserResumeInternship.java # 简历-实习经历表(bg_user_resume_internship) │ │ ├─ UserResumeProject.java # 简历-项目经历表(bg_user_resume_project) │ │ ├─ UserResumeCompetition.java # 简历-竞赛经历表(bg_user_resume_competition) + │ │ ├─ ResumeDiagnosisReport.java # 简历诊断报告表(bg_resume_diagnosis_report) + │ │ ├─ ResumeDiagnosisIssue.java # 简历诊断问题表(bg_resume_diagnosis_issue) │ │ └─ AppJobData.java # 爬虫岗位原始数据表(app_job_data) │ └─ vo/ # ViewObject(OssUrlVo、DescriptionParagraph、JobListItemVo、UserHonorsVo 等) ├─ resources/mapper/ # MyBatis XML 映射文件 @@ -202,6 +206,8 @@ offerpie/back-end | `UserResumeInternship` | manager | 简历-实习经历表(bg_user_resume_internship),公司、职位、起止时间、描述段落。 | | `UserResumeProject` | manager | 简历-项目经历表(bg_user_resume_project),公司、项目名、角色、起止时间、描述段落。 | | `UserResumeCompetition` | manager | 简历-竞赛经历表(bg_user_resume_competition),竞赛名、奖项、获奖时间、描述段落。 | +| `ResumeDiagnosisReport` | manager | 简历诊断报告表(bg_resume_diagnosis_report),存储AI对简历的整体诊断评级(A/B/C/D)、整体评价和各类问题统计。 | +| `ResumeDiagnosisIssue` | manager | 简历诊断问题表(bg_resume_diagnosis_issue),存储AI对简历各模块的诊断发现、建议、改写内容,含紧急/重点/表达三类问题子类型计数。 | ## 4️⃣ 权限体系设计 ### 整体架构 diff --git a/manager/src/main/java/org/jiayunet/mapper/ResumeDiagnosisIssueMapper.java b/manager/src/main/java/org/jiayunet/mapper/ResumeDiagnosisIssueMapper.java new file mode 100644 index 0000000..ca04d00 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/mapper/ResumeDiagnosisIssueMapper.java @@ -0,0 +1,13 @@ +package org.jiayunet.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.jiayunet.pojo.po.ResumeDiagnosisIssue; + +/** + * 简历诊断问题Mapper + * + * @author zk + */ +@Mapper +public interface ResumeDiagnosisIssueMapper extends CommonMapper { +} diff --git a/manager/src/main/java/org/jiayunet/mapper/ResumeDiagnosisReportMapper.java b/manager/src/main/java/org/jiayunet/mapper/ResumeDiagnosisReportMapper.java new file mode 100644 index 0000000..e9092a8 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/mapper/ResumeDiagnosisReportMapper.java @@ -0,0 +1,13 @@ +package org.jiayunet.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.jiayunet.pojo.po.ResumeDiagnosisReport; + +/** + * 简历诊断报告Mapper + * + * @author zk + */ +@Mapper +public interface ResumeDiagnosisReportMapper extends CommonMapper { +} diff --git a/manager/src/main/java/org/jiayunet/pojo/po/ResumeDiagnosisIssue.java b/manager/src/main/java/org/jiayunet/pojo/po/ResumeDiagnosisIssue.java new file mode 100644 index 0000000..d7950a8 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/pojo/po/ResumeDiagnosisIssue.java @@ -0,0 +1,77 @@ +package org.jiayunet.pojo.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import lombok.Data; + +import java.time.Instant; +import java.util.Map; + +/** + * 简历诊断问题表(bg_resume_diagnosis_issue) + *

存储AI对简历各模块的诊断发现、建议和改写内容

+ * + * @author zk + */ +@Data +@TableName(value = "bg_resume_diagnosis_issue", autoResultMap = true) +public class ResumeDiagnosisIssue { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 关联report.id */ + private Long reportId; + + /** 关联bg_user_resume.id */ + private Long resumeId; + + /** 用户ID */ + private Long userId; + + /** 模块类型: summary/education/work/internship/project/competition */ + private String moduleType; + + /** 模块记录ID,summary时为resume_id */ + private Long moduleRecordId; + + /** 诊断发现 */ + private String finding; + + /** 为什么重要 */ + private String importance; + + /** 改进建议 */ + private String suggestion; + + /** 紧急修复子类型计数 {"typo": 0} */ + @TableField(typeHandler = JacksonTypeHandler.class) + private Map urgentIssues; + + /** 重点优化子类型计数 {"no_result": 0, "no_quantify": 0, "weak_relevance": 0} */ + @TableField(typeHandler = JacksonTypeHandler.class) + private Map importantIssues; + + /** 表达提升子类型计数 {"not_concise": 0, "format_inconsistent": 0} */ + @TableField(typeHandler = JacksonTypeHandler.class) + private Map expressionIssues; + + /** AI改写后的内容,JSON格式 */ + @TableField(typeHandler = JacksonTypeHandler.class) + private Object optimizedContent; + + /** 状态 0=待处理 1=已处理 */ + private Integer status; + + /** 用户评价 0=未评价 1=符合 2=不符合 */ + private Integer userFeedback; + + /** 创建时间 */ + private Instant createTime; + + /** 更新时间 */ + private Instant updateTime; +} diff --git a/manager/src/main/java/org/jiayunet/pojo/po/ResumeDiagnosisReport.java b/manager/src/main/java/org/jiayunet/pojo/po/ResumeDiagnosisReport.java new file mode 100644 index 0000000..7ec1f57 --- /dev/null +++ b/manager/src/main/java/org/jiayunet/pojo/po/ResumeDiagnosisReport.java @@ -0,0 +1,49 @@ +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_resume_diagnosis_report) + *

存储AI对简历的整体诊断评级和各类问题统计

+ * + * @author zk + */ +@Data +@TableName("bg_resume_diagnosis_report") +public class ResumeDiagnosisReport { + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** 关联bg_user_resume.id */ + private Long resumeId; + + /** 用户ID */ + private Long userId; + + /** 评级 A/B/C/D */ + private String grade; + + /** AI生成的整体评价 */ + private String summary; + + /** 紧急修复总数 */ + private Integer urgentTotal; + + /** 重点优化总数 */ + private Integer importantTotal; + + /** 表达提升总数 */ + private Integer expressionTotal; + + /** 创建时间 */ + private Instant createTime; + + /** 更新时间 */ + private Instant updateTime; +}