tag标签判断,是否是失业人员(并且满足16-24岁),满足条件给 标签为(16-24岁新疆籍失业青年)

This commit is contained in:
sh
2026-05-23 19:57:25 +08:00
parent 2f284f7ca5
commit 5f1b625744
3 changed files with 49 additions and 2 deletions

View File

@@ -142,8 +142,16 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
file.setBussinessid(userId);
List<File> 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;

View File

@@ -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 <T>
*/
public static <T> List<List<T>> splitList(List<T> list, int batchSize) {
List<List<T>> 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;
}
}

View File

@@ -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",