11 changed files with 594 additions and 60 deletions
@ -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; |
||||
|
} |
||||
|
} |
||||
@ -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<String,String> 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<SrzDeptVo> 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(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -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<String,String> 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<SrzUserVo> 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(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
Loading…
Reference in new issue