diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SrzDeptOriginalDataJob.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SrzDeptOriginalDataJob.java index 28b54071..3dbff087 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SrzDeptOriginalDataJob.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SrzDeptOriginalDataJob.java @@ -148,7 +148,7 @@ public class SrzDeptOriginalDataJob { httpPost.setEntity(entity); - + log.info("请求参数: {}", params); CloseableHttpResponse response = client.execute(httpPost); return EntityUtils.toString(response.getEntity()); diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SrzUserOriginalDataJob.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SrzUserOriginalDataJob.java index ddbd2abe..2e5fd3ad 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SrzUserOriginalDataJob.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/quartz/job/SrzUserOriginalDataJob.java @@ -28,7 +28,7 @@ import java.util.stream.Collectors; /** * 同步市认证用户组织信息原始数据 */ -@Slf4j + @Component @RequiredArgsConstructor public class SrzUserOriginalDataJob { @@ -62,6 +62,7 @@ public class SrzUserOriginalDataJob { * 获取市认证用户原始数据 */ public void getData(){ + log.info(" SrzUserOriginalDataJob 获取市认证用户原始数据开始"); List srz_item = sysDictDataService.selectDictDataByType("srz_item"); Map map = srz_item.stream().collect(Collectors.toMap(SysDictDataVo::getDictLabel,SysDictDataVo::getDictValue)); @@ -119,6 +120,7 @@ public class SrzUserOriginalDataJob { } catch (Exception e) { e.printStackTrace(); } + log.info(" SrzUserOriginalDataJob 获取市认证用户原始数据结束"); } private String connect(String apiPath) { 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 index 44902a40..0baf6de1 100644 --- 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 @@ -22,7 +22,7 @@ import java.util.Map; /** * 同步部门信息 */ -@Slf4j + @Component @RequiredArgsConstructor public class SynDeptInfoJob { @@ -60,35 +60,41 @@ public class SynDeptInfoJob { // 开始同步更新数据到用户表 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()); - + // 行级容错: 单条失败不中断整批同步, 防止毒丸数据反复卡死循环 + try { + 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; + //限制唯一部门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; } - srzDept.setNeedUpdate(1L); - int srz_num = iSrzDeptService.update(srzDept); - rowNom_srz += srz_num; + } catch (Exception rowEx) { + // Quartz 线程无 Sa-Token 上下文(checkDeptDataScope) / 父部门未同步(insertDept NPE) 等单行异常 + log.error("====> 部门同步单条失败, organizationId: {}, name: {}", + srzDept.getOrganizationid(), srzDept.getName(), rowEx); } } } 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 index ad01776d..ec4750c7 100644 --- 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 @@ -8,6 +8,7 @@ import com.zdxt.enforcementcode.service.ISrzUserService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.helper.DataPermissionHelper; import org.dromara.system.domain.bo.SysUserBo; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.service.ISysDictDataService; @@ -26,7 +27,7 @@ import java.util.Map; /** * 同步用户信息定时任务 */ -@Slf4j + @Component @RequiredArgsConstructor public class SynUserInfoJob { @@ -57,6 +58,7 @@ public class SynUserInfoJob { int insertNum = 0; int updateNum = 0; int rowNom_srz = 0; + int failNum = 0; try { // 做个死循环, 一直到查寻不到数据了再break while (true) { @@ -68,86 +70,99 @@ public class SynUserInfoJob { // 开始同步更新数据到用户表 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 = ""; - } + 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()); + // sys_user.nick_name 为 NOT NULL 无默认值, 新增用户必须提供, 取全名兜底登录名 + sysUserBo.setNickName(StringUtils.isNotEmpty(srzUser.getFullname()) + ? srzUser.getFullname() : srzUser.getUsername()); + 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) { + log.warn("====> 手机号加密失败, username: {}, 原因: {}", srzUser.getUsername(), 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) { + log.warn("====> 证件号加密失败, username: {}, 原因: {}", srzUser.getUsername(), e.getMessage()); + 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()); + 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()); + // Quartz 工作线程无 Sa-Token 上下文, 需绕过数据权限拦截器 + int rowNum = DataPermissionHelper.ignore(() -> sysUserService.updateUser(sysUserBo)); + updateNum += rowNum; + } else { + // 插入数据库 + log.info("====> 新增数据: {}", srzUser.getUsername()); + int rowNum = DataPermissionHelper.ignore(() -> sysUserService.insertUser(sysUserBo)); + insertNum += rowNum; } - - 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 = DataPermissionHelper.ignore(() -> iSrzUserService.update(srzUser)); + rowNom_srz += srz_num; } - srzUser.setNeedUpdate(1L); - int srz_num = iSrzUserService.update(srzUser); - rowNom_srz += srz_num; + } catch (Exception rowEx) { + failNum++; + // 单条失败(如 nick_name 等必填字段缺失): 记录后跳过, 不中断整批 + log.error("====> 用户同步单条失败, username: {}, userId: {}", + srzUser.getUsername(), srzUser.getUserid(), rowEx); } } } - log.info("新增用户数量 : {} / 更新用户数量 : {} / 更新原始表数 : {}", insertNum, updateNum, rowNom_srz); + log.info("新增用户数量 : {} / 更新用户数量 : {} / 更新原始表数 : {} / 失败数量 : {}", + insertNum, updateNum, rowNom_srz, failNum); } catch (Exception e) { - System.out.println(e); - e.printStackTrace(); + log.error("用户同步任务整体异常", e); } } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/SrzDeptMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/SrzDeptMapper.xml index b523e2d0..9c71ee26 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/SrzDeptMapper.xml +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/SrzDeptMapper.xml @@ -8,86 +8,88 @@ insert into srz_dept - organizationId, + organizationId, name, code, - effectOn, - taskId, - zzDisplayPath, - zzIsLeaf, - isDeleted, - isDisabled, - systemId, - zzLevel, - parentId, + effectOn, + taskId, + zzDisplayPath, + zzIsLeaf, + isDeleted, + isDisabled, + systemId, + zzLevel, + parentId, sequence, - createAt, - updateAt, + createAt, + updateAt, guid, - isMappingUnit, - mappingUnitParentId, - srzUnitId, - simpleName, - isStatutoryOrg, - isActive, - unitStatusCode, - unitStatus, - unitType, - xzqhCode, + isMappingUnit, + mappingUnitParentId, + srzUnitId, + simpleName, + isStatutoryOrg, + isActive, + unitStatusCode, + unitStatus, + unitType, + xzqhCode, xzqh, - isCGManager, - isBureauOffice, - unitTypeCode, - dwxzCode, + isCGManager, + isBureauOffice, + unitTypeCode, + dwxzCode, dwxz, - unitSysTypeCode, - unitSysType, + unitSysTypeCode, + unitSysType, dwxtlbms, - unitLevelCode, - unitLevel, + unitLevelCode, + unitLevel, creditcode, description, + need_update, - #{organizationId}, + #{organizationid}, #{name}, #{code}, - #{effectOn}, - #{taskId}, - #{zzDisplayPath}, - #{zzIsLeaf}, - #{isDeleted}, - #{isDisabled}, - #{systemId}, - #{zzLevel}, - #{parentId}, + #{effecton}, + #{taskid}, + #{zzdisplaypath}, + #{zzisleaf}, + #{isdeleted}, + #{isdisabled}, + #{systemid}, + #{zzlevel}, + #{parentid}, #{sequence}, - #{createAt}, - #{updateAt}, + #{createat}, + #{updateat}, #{guid}, - #{isMappingUnit}, - #{mappingUnitParentId}, - #{srzUnitId}, - #{simpleName}, - #{isStatutoryOrg}, - #{isActive}, - #{unitStatusCode}, - #{unitStatus}, - #{unitType}, - #{xzqhCode}, + #{ismappingunit}, + #{mappingunitparentid}, + #{srzunitid}, + #{simplename}, + #{isstatutoryorg}, + #{isactive}, + #{unitstatuscode}, + #{unitstatus}, + #{unittype}, + #{xzqhcode}, #{xzqh}, - #{isCGManager}, - #{isBureauOffice}, - #{unitTypeCode}, - #{dwxzCode}, + #{iscgmanager}, + #{isbureauoffice}, + #{unittypecode}, + #{dwxzcode}, #{dwxz}, - #{unitSysTypeCode}, - #{unitSysType}, + #{unitsystypecode}, + #{unitsystype}, #{dwxtlbms}, - #{unitLevelCode}, - #{unitLevel}, + #{unitlevelcode}, + #{unitlevel}, #{creditcode}, #{description}, + #{needUpdate}, @@ -96,44 +98,44 @@ name = #{name}, code = #{code}, - effectOn = #{effectOn}, - taskId = #{taskId}, - zzDisplayPath = #{zzDisplayPath}, - zzIsLeaf = #{zzIsLeaf}, - isDeleted = #{isDeleted}, - isDisabled = #{isDisabled}, - systemId = #{systemId}, - zzLevel = #{zzLevel}, - parentId = #{parentId}, + effectOn = #{effecton}, + taskId = #{taskid}, + zzDisplayPath = #{zzdisplaypath}, + zzIsLeaf = #{zzisleaf}, + isDeleted = #{isdeleted}, + isDisabled = #{isdisabled}, + systemId = #{systemid}, + zzLevel = #{zzlevel}, + parentId = #{parentid}, sequence = #{sequence}, - createAt = #{createAt}, - updateAt = #{updateAt}, + createAt = #{createat}, + updateAt = #{updateat}, guid = #{guid}, - isMappingUnit = #{isMappingUnit}, - mappingUnitParentId = #{mappingUnitParentId}, - srzUnitId = #{srzUnitId}, - simpleName = #{simpleName}, - isStatutoryOrg = #{isStatutoryOrg}, - isActive = #{isActive}, - unitStatusCode = #{unitStatusCode}, - unitStatus = #{unitStatus}, - unitType = #{unitType}, - xzqhCode = #{xzqhCode}, + isMappingUnit = #{ismappingunit}, + mappingUnitParentId = #{mappingunitparentid}, + srzUnitId = #{srzunitid}, + simpleName = #{simplename}, + isStatutoryOrg = #{isstatutoryorg}, + isActive = #{isactive}, + unitStatusCode = #{unitstatuscode}, + unitStatus = #{unitstatus}, + unitType = #{unittype}, + xzqhCode = #{xzqhcode}, xzqh = #{xzqh}, - isCGManager = #{isCGManager}, - isBureauOffice = #{isBureauOffice}, - unitTypeCode = #{unitTypeCode}, - dwxzCode = #{dwxzCode}, + isCGManager = #{iscgmanager}, + isBureauOffice = #{isbureauoffice}, + unitTypeCode = #{unittypecode}, + dwxzCode = #{dwxzcode}, dwxz = #{dwxz}, - unitSysTypeCode = #{unitSysTypeCode}, - unitSysType = #{unitSysType}, + unitSysTypeCode = #{unitsystypecode}, + unitSysType = #{unitsystype}, dwxtlbms = #{dwxtlbms}, - unitLevelCode = #{unitLevelCode}, - unitLevel = #{unitLevel}, + unitLevelCode = #{unitlevelcode}, + unitLevel = #{unitlevel}, creditcode = #{creditcode}, description=#{description}, - need_update=#{needUpdate}, + need_update=#{needUpdate}, - where organizationId = #{organizationId} + where organizationId = #{organizationid} diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/SrzUserMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/SrzUserMapper.xml index 7efc1834..9b8a4282 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/SrzUserMapper.xml +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/SrzUserMapper.xml @@ -8,65 +8,65 @@ UPDATE srz_user - ryztCode = #{ryztCode}, - mobileNumber = #{mobileNumber}, + ryztCode = #{ryztcode}, + mobileNumber = #{mobilenumber}, zcgzld = #{zcgzld}, gldw = #{gldw}, - updateAt = #{updateAt}, - zwjcCode = #{zwjcCode}, - effectOn = #{effectOn}, + updateAt = #{updateat}, + zwjcCode = #{zwjccode}, + effectOn = #{effecton}, zwjc = #{zwjc}, - organizationId = #{organizationId}, + organizationId = #{organizationid}, province = #{province}, - isDisabled = #{isDisabled}, - certificateTypeIdCode = #{certificateTypeIdCode}, + isDisabled = #{isdisabled}, + certificateTypeIdCode = #{certificatetypeidcode}, jrfs = #{jrfs}, - spareNumber = #{spareNumber}, + spareNumber = #{sparenumber}, positionname = #{positionname}, pylxcode = #{pylxcode}, jbcc = #{jbcc}, - contractEndTime = #{contractEndTime}, + contractEndTime = #{contractendtime}, sequence = #{sequence}, - genderCode = #{genderCode}, - zwwxMobile = #{zwwxMobile}, + genderCode = #{gendercode}, + zwwxMobile = #{zwwxmobile}, district = #{district}, - certificateTypeId = #{certificateTypeId}, - contractStartTime = #{contractStartTime}, + certificateTypeId = #{certificatetypeid}, + contractStartTime = #{contractstarttime}, rylydw = #{rylydw}, - telephoneNumber = #{telephoneNumber}, + telephoneNumber = #{telephonenumber}, gender = #{gender}, city = #{city}, - jbccCode = #{jbccCode}, + jbccCode = #{jbcccode}, rylb = #{rylb}, - hometownCode = #{hometownCode}, + hometownCode = #{hometowncode}, units = #{units}, - srzUserid = #{srzUserid}, - createAt = #{createAt}, - engName = #{engName}, - isDeleted = #{isDeleted}, + srzUserid = #{srzuserid}, + createAt = #{createat}, + engName = #{engname}, + isDeleted = #{isdeleted}, jrfscode = #{jrfscode}, email = #{email}, - zwbsCode = #{zwbsCode}, + zwbsCode = #{zwbscode}, dwzyld = #{dwzyld}, pylx = #{pylx}, - systemId = #{systemId}, - rylbCode = #{rylbCode}, + systemId = #{systemid}, + rylbCode = #{rylbcode}, hometown = #{hometown}, photo = #{photo}, glzrr = #{glzrr}, - userId = #{userId}, - zwwxId = #{zwwxId}, + userId = #{userid}, + zwwxId = #{zwwxid}, ryzt = #{ryzt}, - certificateNumber = #{certificateNumber}, + certificateNumber = #{certificatenumber}, zwbs = #{zwbs}, - faxNumber = #{faxNumber}, + faxNumber = #{faxnumber}, fullname = #{fullname}, - isMappingPerson = #{isMappingPerson}, - taskId = #{taskId}, + isMappingPerson = #{ismappingperson}, + taskId = #{taskid}, username = #{username}, need_update = #{needUpdate}, - WHERE userId = #{userId} + WHERE userId = #{userid} @@ -74,121 +74,123 @@ INSERT INTO srz_user guid, - ryztCode, - mobileNumber, + ryztCode, + mobileNumber, zcgzld, gldw, - updateAt, - zwjcCode, - effectOn, + updateAt, + zwjcCode, + effectOn, zwjc, - organizationId, + organizationId, province, - isDisabled, - certificateTypeIdCode, + isDisabled, + certificateTypeIdCode, jrfs, - spareNumber, + spareNumber, positionname, pylxcode, jbcc, - contractEndTime, + contractEndTime, sequence, - genderCode, - zwwxMobile, + genderCode, + zwwxMobile, district, - certificateTypeId, - contractStartTime, + certificateTypeId, + contractStartTime, rylydw, - telephoneNumber, + telephoneNumber, gender, city, - jbccCode, + jbccCode, rylb, - hometownCode, + hometownCode, units, - srzUserid, - createAt, - engName, - isDeleted, + srzUserid, + createAt, + engName, + isDeleted, jrfscode, email, - zwbsCode, + zwbsCode, dwzyld, pylx, - systemId, - rylbCode, + systemId, + rylbCode, hometown, photo, glzrr, - userId, - zwwxId, + userId, + zwwxId, ryzt, - certificateNumber, + certificateNumber, zwbs, - faxNumber, + faxNumber, fullname, - isMappingPerson, - taskId, + isMappingPerson, + taskId, username, + need_update, #{guid}, - #{ryztCode}, - #{mobileNumber}, + #{ryztcode}, + #{mobilenumber}, #{zcgzld}, #{gldw}, - #{updateAt}, - #{zwjcCode}, - #{effectOn}, + #{updateat}, + #{zwjccode}, + #{effecton}, #{zwjc}, - #{organizationId}, + #{organizationid}, #{province}, - #{isDisabled}, - #{certificateTypeIdCode}, + #{isdisabled}, + #{certificatetypeidcode}, #{jrfs}, - #{spareNumber}, + #{sparenumber}, #{positionname}, #{pylxcode}, #{jbcc}, - #{contractEndTime}, + #{contractendtime}, #{sequence}, - #{genderCode}, - #{zwwxMobile}, + #{gendercode}, + #{zwwxmobile}, #{district}, - #{certificateTypeId}, - #{contractStartTime}, + #{certificatetypeid}, + #{contractstarttime}, #{rylydw}, - #{telephoneNumber}, + #{telephonenumber}, #{gender}, #{city}, - #{jbccCode}, + #{jbcccode}, #{rylb}, - #{hometownCode}, + #{hometowncode}, #{units}, - #{srzUserid}, - #{createAt}, - #{engName}, - #{isDeleted}, + #{srzuserid}, + #{createat}, + #{engname}, + #{isdeleted}, #{jrfscode}, #{email}, - #{zwbsCode}, + #{zwbscode}, #{dwzyld}, #{pylx}, - #{systemId}, - #{rylbCode}, + #{systemid}, + #{rylbcode}, #{hometown}, #{photo}, #{glzrr}, - #{userId}, - #{zwwxId}, + #{userid}, + #{zwwxid}, #{ryzt}, - #{certificateNumber}, + #{certificatenumber}, #{zwbs}, - #{faxNumber}, + #{faxnumber}, #{fullname}, - #{isMappingPerson}, - #{taskId}, + #{ismappingperson}, + #{taskid}, #{username}, + #{needUpdate}, diff --git a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index 91e97d5d..c393302a 100644 --- a/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/zdxt-modules/zdxt-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -165,7 +165,12 @@ public class SysUserServiceImpl implements ISysUserService, UserService { */ @Override public SysUserVo selectUserByLoginName(String loginName) { - return baseMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getLoginName, loginName)); + return baseMapper.selectVoOne(new LambdaQueryWrapper() + .eq(SysUser::getLoginName, loginName) + // 历史数据可能存在重复 login_name: 取更新时间最新的一条, 避免 TooManyResultsException + .orderByDesc(SysUser::getUpdateTime) + .orderByDesc(SysUser::getUserId) + .last("limit 1")); } /** diff --git a/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-prod.yml b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-prod.yml index 75ed8f52..ac760296 100644 --- a/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-prod.yml +++ b/zdxt-web-server/zdxt-admin-web-server/src/main/resources/application-prod.yml @@ -312,7 +312,7 @@ szypt: srnwg: #正式 # url: ENC(pHNm/o0+6S+HjrM5nuMiPRfkrHS1tXYD5i25OBtM4dWSi6MvH6iXfw==) - url: ENC(HCw6VzCad8GcF4cOEZdHD0IqXKkxLRc6YlVtnr3O1r4=) + url: http://10.76.108.1/srz systemCode: ENC(cHDdxMKpJ/rbuj4PVCxylN+zPd9I2KT0) integrationKey: ENC(txSndcPbZK5mYjW7Doa/n9Ips2PLa9NV) paasId: szsfj_zhifajianduma_001