diff --git a/db/updatesql/20251204-用户生日数据修复.sql b/db/updatesql/20251204-用户生日数据修复.sql new file mode 100644 index 0000000..aee9c42 --- /dev/null +++ b/db/updatesql/20251204-用户生日数据修复.sql @@ -0,0 +1,6 @@ +--修复生日数据 +UPDATE sys_user +SET birthday = DATE_FORMAT(SUBSTRING(id_card, 7, 8), '%Y-%m-%d') +WHERE + id_card IS NOT NULL + AND birthday IS NULL; \ No newline at end of file diff --git a/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/task/AnYanUserInfoJob.java b/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/task/AnYanUserInfoJob.java index 1906297..8d7ad8d 100644 --- a/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/task/AnYanUserInfoJob.java +++ b/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/task/AnYanUserInfoJob.java @@ -1,5 +1,7 @@ package org.jeecg.modules.system.task; +import cn.hutool.core.util.IdcardUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -8,6 +10,7 @@ import com.renkang.anyan.model.vo.AnYanUpdateUserBatchInfo; import com.xxl.job.core.handler.annotation.XxlJob; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.service.ISysUserService; import org.springframework.stereotype.Component; @@ -93,6 +96,13 @@ public class AnYanUserInfoJob { .set(SysUser::getUpdateTime, existingUser.getUpdateTime()) ); } + if (ObjectUtil.isNull(existingUser.getBirthday()) && StringUtils.isNotBlank(idNo)) { + //同步生日 + sysUserService.update(new LambdaUpdateWrapper() + .eq(SysUser::getWorkNo, existingUser.getWorkNo()) + .set(SysUser::getBirthday, IdcardUtil.getBirthByIdCard(idNo)) + ); + } } catch (Exception e) { log.error("用户信息同步任务异常:{}", e.getMessage()); }