From 5303f8a8ed673d8dc8ca3d67f34192feb2914d74 Mon Sep 17 00:00:00 2001 From: chenshaohua <635616957@qq.com> Date: Wed, 29 Jul 2026 11:49:53 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=8D=95=E7=82=B9=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E4=BC=81=E4=B8=9A=E6=B7=BB=E5=8A=A0=E7=9C=81=E3=80=81=E5=B8=82?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/common/core/domain/entity/Company.java | 6 ++++++ .../java/com/ruoyi/framework/web/service/SsoService.java | 2 ++ 2 files changed, 8 insertions(+) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Company.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Company.java index 192a017..2d995ae 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Company.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Company.java @@ -143,6 +143,12 @@ public class Company extends BaseEntity @ApiModelProperty("是否人力资源机构(Y是,N否)") private String isHrs; + @ApiModelProperty("省") + private String companyProvince; + + @ApiModelProperty("市") + private String companyCity; + /** * 岗位列表 */ diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SsoService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SsoService.java index cd5fb9b..22f37b7 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SsoService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SsoService.java @@ -300,6 +300,8 @@ public class SsoService { company.setNature(object.getString("entType")); company.setDescription(object.getString("entIntro")); company.setIsHrs(object.getString("isServiceProvider"));//是否是人力资源机构 + company.setCompanyProvince(object.getString("entProvince")); + company.setCompanyCity(object.getString("entCity")); // company.setScale(object.getString("entSize")); //添加联系人 CompanyContact contact=new CompanyContact(); From 9b7fdafcd1e267cbe79087ffada4c2d7d38083a8 Mon Sep 17 00:00:00 2001 From: chenshaohua <635616957@qq.com> Date: Wed, 29 Jul 2026 11:57:54 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BD=91=E9=A1=B5pc?= =?UTF-8?q?=E7=AB=AF=E5=B2=97=E4=BD=8D=E8=AF=A6=E6=83=85=E6=B5=8F=E8=A7=88?= =?UTF-8?q?+1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ruoyi/cms/service/impl/JobServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobServiceImpl.java index a30f334..0fad330 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobServiceImpl.java @@ -297,6 +297,8 @@ public class JobServiceImpl extends ServiceImpl implements IJobSe .collect(Collectors.toList()); job.setFilesList(processedFiles); + //浏览量默认添加+1 + this.view(jobId); return job; } From 45289d5666c851f2db1777019060bb17a44eadfc Mon Sep 17 00:00:00 2001 From: chenshaohua <635616957@qq.com> Date: Wed, 29 Jul 2026 12:12:19 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E7=BB=8F=E5=8E=86=E6=97=A5=E6=9C=9F=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cms/util/remommend/JobRecommendUtil.java | 65 ++++++++++++++++++- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/remommend/JobRecommendUtil.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/remommend/JobRecommendUtil.java index 60916a7..58f699c 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/remommend/JobRecommendUtil.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/remommend/JobRecommendUtil.java @@ -37,6 +37,22 @@ public class JobRecommendUtil { public static final Float EXP_MATCH_LOW1 = 2F; public static final Float EXP_MATCH_LOWER = 1F; + private static final Map CHINA_NUM_MAP; + + static { + CHINA_NUM_MAP = new HashMap<>(); + CHINA_NUM_MAP.put('零', '0'); + CHINA_NUM_MAP.put('一', '1'); + CHINA_NUM_MAP.put('二', '2'); + CHINA_NUM_MAP.put('三', '3'); + CHINA_NUM_MAP.put('四', '4'); + CHINA_NUM_MAP.put('五', '5'); + CHINA_NUM_MAP.put('六', '6'); + CHINA_NUM_MAP.put('七', '7'); + CHINA_NUM_MAP.put('八', '8'); + CHINA_NUM_MAP.put('九', '9'); + } + // =====================基础计算方法===================== /** @@ -48,17 +64,62 @@ public class JobRecommendUtil { if (StrUtil.isBlank(startDateStr)) { return 0; } - LocalDate start = LocalDate.parse(startDateStr + "-01"); + LocalDate start = parseToFirstDayOfMonth(startDateStr); LocalDate end; if (StrUtil.isBlank(endDateStr)) { end = LocalDate.now(); } else { - end = LocalDate.parse(endDateStr + "-01"); + end = parseToFirstDayOfMonth(endDateStr); } Period period = Period.between(start, end); return period.getYears() * 12 + period.getMonths(); } + /** + * 兼容两种格式:yyyy-MM / yyyy-MM-dd,返回当月1号 + */ + private static LocalDate parseToFirstDayOfMonth(String dateStr) { + try { + String source = dateStr.trim(); + //中文年份转阿拉伯数字:二零一六 → 2016 + source = convertChinaYearToNum(source); + + LocalDate date; + if (source.matches("^\\d{4}$")) { + // 仅年份 2016 → 2016-01-01 + date = LocalDate.parse(source + "-01-01"); + } else if (source.matches("^\\d{4}-\\d{2}$")) { + // yyyy-MM + date = LocalDate.parse(source + "-01"); + } else if (source.matches("^\\d{4}-\\d{2}-\\d{2}$")) { + // yyyy-MM-dd + date = LocalDate.parse(source); + } else { + throw new IllegalArgumentException("无法识别日期格式:" + dateStr); + } + return date.withDayOfMonth(1); + } catch (Exception e) { + throw new IllegalArgumentException("日期解析失败,原始值:" + dateStr + + ",支持格式:2016、2016-09、2016-09-09、二零一六", e); + } + } + + /** + * 中文年份字符串转数字年份 + * 例:二零一六 → 2016;二零二五-03 保留后面横杠 + */ + private static String convertChinaYearToNum(String str) { + StringBuilder sb = new StringBuilder(); + for (char c : str.toCharArray()) { + if (CHINA_NUM_MAP.containsKey(c)) { + sb.append(CHINA_NUM_MAP.get(c)); + } else { + sb.append(c); + } + } + return sb.toString(); + } + /** * 计算全部工作经历总月数(简单累加,不处理时间重叠) */