|
@@ -22,6 +22,7 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.lang.Validator;
|
|
|
import cn.hutool.core.util.ArrayUtil;
|
|
|
+import cn.hutool.core.util.IdcardUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.alibaba.nacos.common.utils.Md5Utils;
|
|
@@ -574,6 +575,24 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
public R batchChannelCert(UserCertificationInput input) {
|
|
|
SysUser sysUser = baseMapper.selectById(input.getUserId());
|
|
|
String inputIdCardNumber = input.getIdCardNumber();
|
|
|
+
|
|
|
+ // 校验身份证上的年龄
|
|
|
+ if (StringUtils.isNotEmpty(inputIdCardNumber)) {
|
|
|
+ // 获取更新操作的用户角色
|
|
|
+ List<Integer> roles = sysUserRoleService.list(Wrappers.<SysUserRole>lambdaQuery()
|
|
|
+ .eq(SysUserRole::getUserId, input.getUserId()))
|
|
|
+ .stream().mapToInt(SysUserRole::getRoleId).boxed().collect(Collectors.toList());
|
|
|
+ // 如果角色中包含全职和兼职就需要校验身份证年龄
|
|
|
+ if (roles.contains(5) || roles.contains(6)) {
|
|
|
+ int ageByIdCard = IdcardUtil.getAgeByIdCard(inputIdCardNumber);
|
|
|
+ if (ageByIdCard < 18) {
|
|
|
+ return R.failed("年龄未满十八");
|
|
|
+ } else if (ageByIdCard > 65) {
|
|
|
+ return R.failed("年龄已超过六十五");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
sysUser.setIdCardNumber(inputIdCardNumber);
|
|
|
SysDept sysDept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
|