From 5f1b6257444f0c0a731ea1acd1bde34a46c3e843 Mon Sep 17 00:00:00 2001 From: sh Date: Sat, 23 May 2026 19:57:25 +0800 Subject: [PATCH] =?UTF-8?q?tag=E6=A0=87=E7=AD=BE=E5=88=A4=E6=96=AD?= =?UTF-8?q?=EF=BC=8C=E6=98=AF=E5=90=A6=E6=98=AF=E5=A4=B1=E4=B8=9A=E4=BA=BA?= =?UTF-8?q?=E5=91=98=EF=BC=88=E5=B9=B6=E4=B8=94=E6=BB=A1=E8=B6=B316-24?= =?UTF-8?q?=E5=B2=81=EF=BC=89=EF=BC=8C=E6=BB=A1=E8=B6=B3=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E7=BB=99=20=E6=A0=87=E7=AD=BE=E4=B8=BA=EF=BC=8816-24=E5=B2=81?= =?UTF-8?q?=E6=96=B0=E7=96=86=E7=B1=8D=E5=A4=B1=E4=B8=9A=E9=9D=92=E5=B9=B4?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cms/service/impl/AppUserServiceImpl.java | 12 +++++- .../java/com/ruoyi/cms/util/StringUtil.java | 37 +++++++++++++++++++ .../com/ruoyi/common/utils/DateUtils.java | 2 + 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/AppUserServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/AppUserServiceImpl.java index 0cd7d2d..8b5fb83 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/AppUserServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/AppUserServiceImpl.java @@ -142,8 +142,16 @@ public class AppUserServiceImpl extends ServiceImpl imple file.setBussinessid(userId); List files=fileMapper.selectFileList(file); appUser.setFileList(files); - if(!StringUtils.isBlank(appUser.getUserTag())){ - appUser.setUserTagName(DictUtils.getDictLabelNames("user_type",appUser.getUserTag(),",")); + //处理tag + String userTag=appUser.getUserTag(); + if(!StringUtils.isBlank(userTag)){ + String tagName = DictUtils.getDictLabelNames("user_type", userTag, ","); + String idCard = appUser.getIdCard(); + if (userTag.contains(StringUtil.USER_TYPE_SY) + && StringUtils.isNotBlank(idCard) + && StringUtil.isAgeBetween16And24(idCard)) { + appUser.setUserTagName(tagName +",16-24岁新疆籍失业青年"); + } } } return appUser; diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java index 52740d1..f5c892f 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/StringUtil.java @@ -1,9 +1,12 @@ package com.ruoyi.cms.util; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.Period; import java.util.*; import java.util.stream.Collectors; @@ -62,6 +65,10 @@ public class StringUtil { *录用-招聘会 */ public static final String HIRE_SOURCE_ZPH="1"; + /** + *人员类型-失业人员 + */ + public static final String USER_TYPE_SY="7"; /** * 标记 */ @@ -375,6 +382,13 @@ public class StringUtil { } } + /** + * 拆分 + * @param list + * @param batchSize + * @return + * @param + */ public static List> splitList(List list, int batchSize) { List> batches = new ArrayList<>(); for (int i = 0; i < list.size(); i += batchSize) { @@ -383,4 +397,27 @@ public class StringUtil { } return batches; } + + /** + * 判断是否16-24岁 + * @param idCard + * @return + */ + public static boolean isAgeBetween16And24(String idCard) { + if (!StringUtils.hasText(idCard) || idCard.length() != 18) { + return false; + } + // 截取出生日期 + String birthStr = idCard.substring(6, 14); + LocalDate birthDate; + try { + birthDate = LocalDate.parse(birthStr, DateUtils.FORMATTER); + } catch (Exception e) { + return false; + } + LocalDate now = LocalDate.now(); + int age = Period.between(birthDate, now).getYears(); + return age >= 16 && age <= 24; + } + } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java index c09e1dc..bf01b18 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java @@ -33,6 +33,8 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; + public static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd"); + private static String[] parsePatterns = { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",