diff --git a/zdxt-modules/zdxt-enforcement-code-common/src/main/java/com/zdxt/enforcementcode/domain/vo/SrzDeptVo.java b/zdxt-modules/zdxt-enforcement-code-common/src/main/java/com/zdxt/enforcementcode/domain/vo/SrzDeptVo.java index 38cdeb7e..24f28e2a 100644 --- a/zdxt-modules/zdxt-enforcement-code-common/src/main/java/com/zdxt/enforcementcode/domain/vo/SrzDeptVo.java +++ b/zdxt-modules/zdxt-enforcement-code-common/src/main/java/com/zdxt/enforcementcode/domain/vo/SrzDeptVo.java @@ -238,5 +238,4 @@ public class SrzDeptVo extends SrzDeptMinVo { @ExcelProperty(value = "是否需要更新:0-否 1-是") private Long needUpdate; - } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/UserSearchDto.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/UserSearchDto.java new file mode 100644 index 00000000..44455b36 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/UserSearchDto.java @@ -0,0 +1,46 @@ +package com.zdxt.enforcementcode.domain.bean; + +import java.io.Serializable; + +/** + * 深i企用户 + */ +public class UserSearchDto implements Serializable { + + /** + * 登录账号 + */ + private String loginName; + /** + * 手机号码 + */ + private String phone; + /** + * 用户类型 + */ + private Integer userSource; + + public String getLoginName() { + return loginName; + } + + public void setLoginName(String loginName) { + this.loginName = loginName; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public Integer getUserSource() { + return userSource; + } + + public void setUserSource(Integer userSource) { + this.userSource = userSource; + } +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/SrzUserVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/SrzUserVo.java index aa439fb3..d8196bdc 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/SrzUserVo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/SrzUserVo.java @@ -29,343 +29,343 @@ public class SrzUserVo implements Serializable { private static final long serialVersionUID = 1L; /** - * + * */ @ExcelProperty(value = "") private String ryztcode; /** - * + * */ @ExcelProperty(value = "") private String mobilenumber; /** - * + * */ @ExcelProperty(value = "") private String zcgzld; /** - * + * */ @ExcelProperty(value = "") private String gldw; /** - * + * */ @ExcelProperty(value = "") private String updateat; /** - * + * */ @ExcelProperty(value = "") private String zwjccode; /** - * + * */ @ExcelProperty(value = "") private String effecton; /** - * + * */ @ExcelProperty(value = "") private String zwjc; /** - * + * */ @ExcelProperty(value = "") private String organizationid; /** - * + * */ @ExcelProperty(value = "") private String province; /** - * + * */ @ExcelProperty(value = "") private String isdisabled; /** - * + * */ @ExcelProperty(value = "") private String certificatetypeidcode; /** - * + * */ @ExcelProperty(value = "") private String jrfs; /** - * + * */ @ExcelProperty(value = "") private String sparenumber; /** - * + * */ @ExcelProperty(value = "") private String positionname; /** - * + * */ @ExcelProperty(value = "") private String pylxcode; /** - * + * */ @ExcelProperty(value = "") private String jbcc; /** - * + * */ @ExcelProperty(value = "") private String contractendtime; /** - * + * */ @ExcelProperty(value = "") private String sequence; /** - * + * */ @ExcelProperty(value = "") private String gendercode; /** - * + * */ @ExcelProperty(value = "") private String zwwxmobile; /** - * + * */ @ExcelProperty(value = "") private String district; /** - * + * */ @ExcelProperty(value = "") private String guid; /** - * + * */ @ExcelProperty(value = "") private String certificatetypeid; /** - * + * */ @ExcelProperty(value = "") private String contractstarttime; /** - * + * */ @ExcelProperty(value = "") private String rylydw; /** - * + * */ @ExcelProperty(value = "") private String telephonenumber; /** - * + * */ @ExcelProperty(value = "") private String gender; /** - * + * */ @ExcelProperty(value = "") private String city; /** - * + * */ @ExcelProperty(value = "") private String jbcccode; /** - * + * */ @ExcelProperty(value = "") private String rylb; /** - * + * */ @ExcelProperty(value = "") private String hometowncode; /** - * + * */ @ExcelProperty(value = "") private String units; /** - * + * */ @ExcelProperty(value = "") private String srzuserid; /** - * + * */ @ExcelProperty(value = "") private String createat; /** - * + * */ @ExcelProperty(value = "") private String engname; /** - * + * */ @ExcelProperty(value = "") private String isdeleted; /** - * + * */ @ExcelProperty(value = "") private String jrfscode; /** - * + * */ @ExcelProperty(value = "") private String email; /** - * + * */ @ExcelProperty(value = "") private String zwbscode; /** - * + * */ @ExcelProperty(value = "") private String dwzyld; /** - * + * */ @ExcelProperty(value = "") private String pylx; /** - * + * */ @ExcelProperty(value = "") private String systemid; /** - * + * */ @ExcelProperty(value = "") private String rylbcode; /** - * + * */ @ExcelProperty(value = "") private String hometown; /** - * + * */ @ExcelProperty(value = "") private String photo; /** - * + * */ @ExcelProperty(value = "") private String glzrr; /** - * + * */ @ExcelProperty(value = "") private String userid; /** - * + * */ @ExcelProperty(value = "") private String zwwxid; /** - * + * */ @ExcelProperty(value = "") private String ryzt; /** - * + * */ @ExcelProperty(value = "") private String certificatenumber; /** - * + * */ @ExcelProperty(value = "") private String zwbs; /** - * + * */ @ExcelProperty(value = "") private String faxnumber; /** - * + * */ @ExcelProperty(value = "") private String fullname; /** - * + * */ @ExcelProperty(value = "") private String ismappingperson; /** - * + * */ @ExcelProperty(value = "") private String taskid; /** - * + * */ @ExcelProperty(value = "") private String username; @@ -376,5 +376,10 @@ public class SrzUserVo implements Serializable { @ExcelProperty(value = "是否需要更新:0-否 1-是") private Long needUpdate; + //private String mobileNumber; + //private String certificateTypeId; + //private String certificateTypeIdCode; + //private String certificateNumber; + // private String isMappingPerson; } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SynDeptInfoJob.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SynDeptInfoJob.java new file mode 100644 index 00000000..44902a40 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SynDeptInfoJob.java @@ -0,0 +1,101 @@ +package com.zdxt.enforcementcode.quartz.job; + +import com.zdxt.enforcementcode.domain.bo.SrzDeptBo; +import com.zdxt.enforcementcode.domain.vo.SrzDeptVo; +import com.zdxt.enforcementcode.service.ISrzDeptService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.system.domain.bo.SysDeptBo; +import org.dromara.system.domain.vo.SysDeptVo; +import org.dromara.system.service.ISysDeptService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 同步部门信息 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class SynDeptInfoJob { + + @Value("${srnwg.secretKey}") + private String secretKey; + + @Autowired private ISrzDeptService iSrzDeptService; + @Autowired private ISysDeptService sysDeptService; + + public static Map params = new HashMap<>(); + + private static final Logger log = LoggerFactory.getLogger(SynDeptInfoJob.class); + + + public void run(){ + this.deptInfo(); + } + + /** 同步部门数据 */ + public void deptInfo(){ + log.info("====================> 市认证原始表 -> 业务表 同步开始"); + int insertNum = 0; + int updateNum = 0; + int rowNom_srz = 0; + try { + // 做个死循环, 一直到查寻不到数据了再break + while (true) { + SrzDeptBo bo = new SrzDeptBo(); + bo.setNeedUpdate(0L); + List srzDeptList = iSrzDeptService.queryList(bo); + // 如果查出结果为空 或 长度为0 则跳出循环 + if (srzDeptList == null || srzDeptList.isEmpty() || srzDeptList.size() == 0) break; + + // 开始同步更新数据到用户表 + for(SrzDeptVo srzDept : srzDeptList){ + log.info("====> 获取数据: {}", srzDept.getName()); + SysDeptBo sysDeptBo = new SysDeptBo(); + // 机构ID organizationId + sysDeptBo.setDeptId(srzDept.getOrganizationid()); + // 机构父节点 parentId + sysDeptBo.setParentId(srzDept.getParentid()); + sysDeptBo.setOrganizationParentId(srzDept.getParentid()); + // 机构名称 name + sysDeptBo.setDeptName(srzDept.getName()); + + + //限制唯一部门id + String organizationId = srzDept.getOrganizationid(); + if(StringUtils.isNotEmpty(organizationId)){ + SysDeptVo uniqueDept = sysDeptService.selectDeptById(organizationId); + if (null != uniqueDept && uniqueDept.getDeptId() != null) { + // 更新数据库 + sysDeptBo.setDeptId(uniqueDept.getDeptId()); + log.info("====> 更新数据: {}: {}", uniqueDept.getDeptId(), uniqueDept.getDeptName()); + int rowNum = sysDeptService.updateDept(sysDeptBo); + updateNum += rowNum; + } else { + // 插入数据库 + log.info("====> 新增数据: {}: {}", sysDeptBo.getDeptId(), sysDeptBo.getDeptName()); + int rowNum = sysDeptService.insertDept(sysDeptBo); + insertNum += rowNum; + } + srzDept.setNeedUpdate(1L); + int srz_num = iSrzDeptService.update(srzDept); + rowNom_srz += srz_num; + } + } + } + log.info("新增部门数量 : {} / 更新用户数量 : {} / 更新原始表数 : {}", insertNum, updateNum, rowNom_srz); + } catch (Exception e) { + System.out.println(e); + e.printStackTrace(); + } + } +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SynUserInfoJob.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SynUserInfoJob.java new file mode 100644 index 00000000..ad01776d --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SynUserInfoJob.java @@ -0,0 +1,154 @@ +package com.zdxt.enforcementcode.quartz.job; + +import com.zdxt.enforcementcode.common.util.IdCardCryptoUtil; +import com.zdxt.enforcementcode.domain.bean.UserSearchDto; +import com.zdxt.enforcementcode.domain.bo.SrzUserBo; +import com.zdxt.enforcementcode.domain.vo.SrzUserVo; +import com.zdxt.enforcementcode.service.ISrzUserService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.system.domain.bo.SysUserBo; +import org.dromara.system.domain.vo.SysUserVo; +import org.dromara.system.service.ISysDictDataService; +import org.dromara.system.service.ISysUserService; +import org.dromara.system.service.impl.SysUserServiceImpl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 同步用户信息定时任务 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class SynUserInfoJob { + + @Value("${srnwg.secretKey}") + private String secretKey; + + @Autowired + private ISrzUserService iSrzUserService; + + @Autowired + private ISysDictDataService sysDictDataService; + + @Autowired + private ISysUserService sysUserService; + + public static Map params = new HashMap<>(); + + private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); + + public void run(){ + this.userInfo(); + } + + /** 同步用户数据 */ + public void userInfo(){ + log.info("====================> 市认证原始表 -> 业务表 同步开始"); + int insertNum = 0; + int updateNum = 0; + int rowNom_srz = 0; + try { + // 做个死循环, 一直到查寻不到数据了再break + while (true) { + SrzUserBo srzUserBo = new SrzUserBo(); + srzUserBo.setNeedUpdate(0L); + List srzUserList = iSrzUserService.queryList(srzUserBo); + // 如果查出结果为空 或 长度为0 则跳出循环 + if (srzUserList == null || srzUserList.isEmpty() || srzUserList.size() == 0) break; + + // 开始同步更新数据到用户表 + for(SrzUserVo srzUser : srzUserList){ + log.info("====> 获取数据: {}", srzUser.getUsername()); + SysUserBo sysUserBo = new SysUserBo(); + sysUserBo.setSex(srzUser.getGendercode()); + sysUserBo.setDeptId(srzUser.getOrganizationid()); + sysUserBo.setOrganizationId(srzUser.getOrganizationid()); + sysUserBo.setStrUserId(srzUser.getUserid()); + sysUserBo.setSrzUserid(srzUser.getSrzuserid()); + sysUserBo.setFullname(srzUser.getFullname()); + sysUserBo.setUserName(srzUser.getFullname()); + sysUserBo.setTaskId(srzUser.getTaskid()); + sysUserBo.setSystemId(srzUser.getSystemid()); + sysUserBo.setLoginName(srzUser.getUsername()); + sysUserBo.setEffectOn(srzUser.getEffecton()); + sysUserBo.setIsDisabled(srzUser.getIsdisabled()); + sysUserBo.setIsDeleted(srzUser.getIsdeleted()); + sysUserBo.setCreateAt(srzUser.getCreateat()); + sysUserBo.setUpdateAt(srzUser.getUpdateat()); + sysUserBo.setGuid(srzUser.getGuid()); + //用户类型 0 系统用户 + sysUserBo.setUserSource(0); + //手机号加密 + String mobileNumber = ""; + try { + mobileNumber = IdCardCryptoUtil.symmetricEncryptIdCard(secretKey, srzUser.getMobilenumber()); + } catch (Exception e) { + System.out.println(e.getMessage()); + mobileNumber = ""; + } + sysUserBo.setMobileNumber(mobileNumber); + sysUserBo.setPhonenumber(mobileNumber); + sysUserBo.setEmail(srzUser.getEmail()); + sysUserBo.setCertificateTypeId(srzUser.getCertificatetypeid()); + sysUserBo.setCertificateTypeIdCode(srzUser.getCertificatetypeidcode()); + + //证件号加密 + String certificateNumber = ""; + try { + certificateNumber = IdCardCryptoUtil.symmetricEncryptIdCard(secretKey, srzUser.getCertificatenumber()); + } catch (Exception e) { + certificateNumber = ""; + } + + sysUserBo.setCertificateNumber(certificateNumber); + sysUserBo.setIsMappingPerson(srzUser.getIsmappingperson()); + sysUserBo.randomSalt(); + //新增用户默认不删除标记 + sysUserBo.setDelFlag("0"); + + //限制只通过用户信息的username来判断,避免登录出现问题 + String userName = srzUser.getUsername(); + if(StringUtils.isNotEmpty(userName)){ + UserSearchDto userSearchDto = new UserSearchDto(); + userSearchDto.setUserSource(0); + SysUserVo uniqueUser = sysUserService.selectUserByLoginName(userName); + if (null != uniqueUser && uniqueUser.getUserId() != null) { + // 更新数据库 + sysUserBo.setUserId(uniqueUser.getUserId()); + if (StringUtils.isEmpty(sysUserBo.getLawCertificateNum())) { + sysUserBo.setLawCertificateNum(uniqueUser.getLawCertificateNum()); + } + + log.info("====> 更新数据: {}", srzUser.getUsername()); + int rowNum = sysUserService.updateUser(sysUserBo); + updateNum += rowNum; + } else { + // 插入数据库 + log.info("====> 新增数据: {}", srzUser.getUsername()); + int rowNum = sysUserService.insertUser(sysUserBo); + insertNum += rowNum; + } + srzUser.setNeedUpdate(1L); + int srz_num = iSrzUserService.update(srzUser); + rowNom_srz += srz_num; + } + } + } + log.info("新增用户数量 : {} / 更新用户数量 : {} / 更新原始表数 : {}", insertNum, updateNum, rowNom_srz); + } catch (Exception e) { + System.out.println(e); + e.printStackTrace(); + } + } + +} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ISrzDeptService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ISrzDeptService.java index 58e48285..d45f2ffe 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ISrzDeptService.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ISrzDeptService.java @@ -57,7 +57,7 @@ public interface ISrzDeptService { * @return 是否修改成功 */ Boolean updateByBo(SrzDeptBo bo); - + Integer update(SrzDeptVo vo); /** * 校验并批量删除市认证对接---组织机构信息信息 * diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ISrzUserService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ISrzUserService.java index 1cdd7e29..40433d90 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ISrzUserService.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ISrzUserService.java @@ -56,7 +56,7 @@ public interface ISrzUserService { * @return 是否修改成功 */ Boolean updateByBo(SrzUserBo bo); - + Integer update(SrzUserVo vo); /** * 校验并批量删除市认证用户原始信息 * diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/SrzDeptServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/SrzDeptServiceImpl.java index d6885afa..f8b129da 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/SrzDeptServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/SrzDeptServiceImpl.java @@ -147,6 +147,12 @@ public class SrzDeptServiceImpl implements ISrzDeptService { return baseMapper.updateById(update) > 0; } + @Override + public Integer update(SrzDeptVo vo) { + SrzDept update = MapstructUtils.convert(vo, SrzDept.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update); + } /** * 保存前的数据校验 */ diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/SrzUserServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/SrzUserServiceImpl.java index 219831a2..94c256dc 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/SrzUserServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/SrzUserServiceImpl.java @@ -164,6 +164,13 @@ public class SrzUserServiceImpl implements ISrzUserService { return baseMapper.updateById(update) > 0; } + @Override + public Integer update(SrzUserVo vo) { + SrzUser update = MapstructUtils.convert(vo, SrzUser.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update); + } + /** * 保存前的数据校验 */ diff --git a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/bo/SysDeptBo.java b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/bo/SysDeptBo.java index 019ede3c..b7c50c65 100644 --- a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/bo/SysDeptBo.java +++ b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/bo/SysDeptBo.java @@ -103,4 +103,6 @@ public class SysDeptBo extends BaseEntity { * 部门类型 */ private String deptType; + + private String organizationParentId; } diff --git a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java index b4864f72..a9648998 100644 --- a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java +++ b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java @@ -1,5 +1,6 @@ package org.dromara.system.domain.bo; +import cn.hutool.core.util.RandomUtil; import com.google.common.collect.Maps; import io.github.linpeilie.annotations.AutoMapper; import jakarta.validation.constraints.Email; @@ -153,4 +154,217 @@ public class SysUserBo extends BaseEntity { } private String loginName; + + /** 部门id */ + private String organizationId; + /** 用户ID */ + private String strUserId; + /** 姓名 */ + private String fullname; + /** 任务ID */ + private String taskId; + /** 业务系统ID */ + private String systemId; + /** 作用点 (CREATE:新建;UPDATE:更新;DELETED:删除;ENABLED:启用;DISABLED:禁用) */ + private String effectOn; + /** 是否删除 (0否;1是)*/ + private String isDeleted; + /** 是否禁用 (0否;1是)*/ + private String isDisabled; + /** 创建日期 */ + private String createAt; + /** 更新日期 */ + private String updateAt; + /** 下游唯一标识 */ + private String guid; + /** 手机号 */ + private String mobileNumber; + /** 证件类型 */ + private String certificateTypeId; + /** 证件类型代码 */ + private String certificateTypeIdCode; + /** 证件号码 */ + private String certificateNumber; + /** 省认证用户id */ + private String srzUserid; + /** 是否驻区人员 */ + private String isMappingPerson; + /** 人员所在部门(包括主岗和兼岗部门) */ + private String units; + + + /** + * 用户登录密码 - 加密 + */ + private String secretKey; + /** + * 用户登录名称 - 加密 + */ + private String secretName; + + + + /** 英文名 */ + private String engName; + + /** 头像 */ + private String photo; + + /** 备用电话号码 */ + private String spareNumber; + + /** 座机号码 */ + private String telephoneNumber; + + /** 办公传真号码 */ + private String faxNumber; + + /** 性别代码 */ + private String genderCode; + + /** 排序号 */ + private String sequence; + + /** 管理单位 */ + private String gldw; + + /** 人员类别代码 */ + private String rylbCode; + + /** 人员类别 */ + private String rylb; + + /** 人员状态代码 */ + private String ryztCode; + + /** 人员状态 */ + private String ryzt; + + /** 是否单位主要领导 */ + private String dwzyld; + + /** 是否主持工作领导 */ + private String zcgzld; + + /** 职务名称 */ + private String positionname; + + /** 职务简称代码 */ + private String zwjcCode; + + /** 职务简称 */ + private String zwjc; + + /** 职务标识代码 */ + private String zwbsCode; + + /** 职务标识 */ + private String zwbs; + + /** 级别层级代码 */ + private String jbccCode; + + /** 级别层级 */ + private String jbcc; + + /** 所在省 */ + private String province; + + /** 所在市 */ + private String city; + + /** 所在区/县 */ + private String district; + + /** 籍贯代码 */ + private String hometownCode; + + /** 籍贯 */ + private String hometown; + + /** 聘用类型代码 */ + private String pylxcode; + + /** 聘用类型 */ + private String pylx; + + /** 合同开始日期 */ + private String contractStartTime; + + /** 合同结束日期 */ + private String contractEndTime; + + /** 管理责任人 */ + private String glzrr; + + /** 人员来源单位 */ + private String rylydw; + + /** 进入本单位方式代码 */ + private String jrfscode; + + /** 进入本单位方式 */ + private String jrfs; + + /** 政务微信手机号 */ + private String zwwxMobile; + + /** 市政务微信id */ + private String zwwxId; + + private String gender; + + /** + * AES 解密后的手机号 + */ + private String decryptPhoneNum; + + + /** + * 用户类型 0 政务系统用户 1 深i企用户 + */ + private Integer userSource; + + + /** + * 删除标志(0代表存在 2代表删除) + */ + private String delFlag; + + + /** 执法证件号 */ + private String lawCertificateNum; + + + /** + * 盐加密 + */ + private String salt; + + /** + * 获取盐加密 + * + * @return 盐加密 + */ + public void setSalt(String salt) { + this.salt = salt; + } + + + /** + * 用户密码盐字符集(十六进制小写) + */ + private static final String USER_SALT_CHARS = "0123456789abcdef"; + + /** + * 用户密码盐默认长度(SysUser / EnterpriseUser 使用,与现有业务保持一致) + */ + private static final int USER_SALT_LENGTH = 6; + /** + * 生成随机盐 + */ + public void randomSalt() { + String hex= RandomUtil.randomString(USER_SALT_CHARS, USER_SALT_LENGTH); + setSalt(hex); + } }