处理 long类型值为小于int.max 数据格式错误问题

This commit is contained in:
zk
2026-03-26 20:57:37 +08:00
parent ccf6fb2f45
commit ac95f5f193
7 changed files with 75 additions and 7 deletions
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Data;
import org.jiayunet.config.LongListTypeHandler;
import java.time.Instant;
import java.util.List;
@@ -64,7 +65,7 @@ public class Job {
private Long requiredIndustryId;
/** 要求专业ID数组,关联bg_major_category */
@TableField(typeHandler = JacksonTypeHandler.class)
@TableField(typeHandler = LongListTypeHandler.class)
private List<Long> requiredMajorIds;
/** 专业敏感度 0=不限 1=优先 2=强制 */
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Data;
import org.jiayunet.config.LongListTypeHandler;
import java.time.Instant;
import java.util.List;
@@ -26,7 +27,7 @@ public class UserJobIntention {
private Long userId;
/** 意向岗位类型ID列表,节点可能为任意级别 */
@TableField(typeHandler = JacksonTypeHandler.class)
@TableField(typeHandler = LongListTypeHandler.class)
private List<Long> categoryIds;
/** 意向城市编码列表,节点可能为任意级别 */
@@ -34,7 +35,7 @@ public class UserJobIntention {
private List<String> regionCodes;
/** 意向行业ID列表,节点可能为任意级别 */
@TableField(typeHandler = JacksonTypeHandler.class)
@TableField(typeHandler = LongListTypeHandler.class)
private List<Long> industryIds;
/** 工作类型 0=全职 1=实习 */
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Data;
import org.jiayunet.config.LongListTypeHandler;
import org.jiayunet.pojo.vo.UserHonorsVo;
import java.time.Instant;
@@ -49,7 +50,7 @@ public class UserProfile {
private String portfolioUrl;
/** 用户专业ID数组,关联bg_major_category(不展示,用于适配度计算) */
@TableField(typeHandler = JacksonTypeHandler.class)
@TableField(typeHandler = LongListTypeHandler.class)
private List<Long> majorIds;
/** 学校等级 1=C9/985/QS前50 2=211/双一流/QS前200 3=普通一本/QS前500 4=其他(不展示,用于适配度计算) */
@@ -3,6 +3,7 @@ package org.jiayunet.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Data;
import org.jiayunet.config.LongListTypeHandler;
import java.util.List;
@@ -64,7 +65,7 @@ public class JobListItemVo {
private Integer minExperience;
/** 要求专业ID数组(JSON */
@TableField(typeHandler = JacksonTypeHandler.class)
@TableField(typeHandler = LongListTypeHandler.class)
private List<Long> requiredMajorIds;
/** 专业敏感度 0=不限 1=优先 2=强制 */
@@ -165,12 +165,13 @@ public class JobMatchService {
int score = matchMajorPair(userMajor, jobMajor);
maxScore = Math.max(maxScore, score);
if (maxScore == 100) return 100; // 已满分,提前退出
if (maxScore == 100) return 100;
}
}
return maxScore;
}
/**
* 匹配一对专业的相关度
* <p>完全匹配→100,同二级→70,同一级→30,不相关→0</p>
@@ -10,7 +10,7 @@
<result column="source_url" property="sourceUrl"/>
<result column="required_industry_id" property="requiredIndustryId"/>
<result column="min_experience" property="minExperience"/>
<result column="required_major_ids" property="requiredMajorIds" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
<result column="required_major_ids" property="requiredMajorIds" typeHandler="org.jiayunet.config.LongListTypeHandler"/>
<result column="major_sensitivity" property="majorSensitivity"/>
<result column="status" property="status"/>
<result column="company_id" property="companyId"/>