Compare commits
No commits in common. "b98901dd3564c9fcc4c1dd6474accf8b523ee1c6" and "e89935a14803230612e9e646c155cdc22162b2a6" have entirely different histories.
b98901dd35
...
e89935a148
|
|
@ -274,13 +274,4 @@ public class NuEmployeesAdvisoryInfo implements Serializable {
|
||||||
//信息修改状态 空:没提交过修改 1修改申请中 2通过 3驳回*/
|
//信息修改状态 空:没提交过修改 1修改申请中 2通过 3驳回*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String modifyState;
|
private String modifyState;
|
||||||
|
|
||||||
private String lastLoginOrg;//最近一次登录机构编码
|
|
||||||
|
|
||||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private java.util.Date lastLoginTime;//最近上一次登录时间
|
|
||||||
|
|
||||||
private String izInit;//是否需要员工初始化 0否 1是
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import com.nu.dto.EmployeesApplyMQDto;
|
import com.nu.dto.EmployeesApplyMQDto;
|
||||||
import com.nu.dto.EmployeesStatusMQDto;
|
import com.nu.dto.EmployeesStatusMQDto;
|
||||||
import com.nu.dto.SysUserMQDto;
|
|
||||||
import com.nu.entity.WxNoticeEntity;
|
import com.nu.entity.WxNoticeEntity;
|
||||||
import com.nu.enums.WxClientType;
|
import com.nu.enums.WxClientType;
|
||||||
import com.nu.modules.employees.entity.EmployeesOrg;
|
import com.nu.modules.employees.entity.EmployeesOrg;
|
||||||
|
|
@ -27,7 +26,6 @@ import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
@ -47,7 +45,7 @@ public class EmployeesMQListener {
|
||||||
private ISysBaseAPI sysBaseAPI;
|
private ISysBaseAPI sysBaseAPI;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 员工-机构关系状态调整,并判断是否初始化账号
|
* 员工-机构关系状态调整
|
||||||
* 只修改审核状态、审核备注
|
* 只修改审核状态、审核备注
|
||||||
*
|
*
|
||||||
* @param dto
|
* @param dto
|
||||||
|
|
@ -74,165 +72,7 @@ public class EmployeesMQListener {
|
||||||
uw.eq("org_code", dto.getOrgCode());
|
uw.eq("org_code", dto.getOrgCode());
|
||||||
uw.eq("iz_history", "1");
|
uw.eq("iz_history", "1");
|
||||||
employeesOrgService.update(employeesOrg, uw);
|
employeesOrgService.update(employeesOrg, uw);
|
||||||
|
|
||||||
//审批通过,判断是否需要通知业务系统初始化登录账户。需要初始化则直接通知;不需要初始化则需要从已存在的业务系统中获取账号信息,并将账号信息通知给此审批的业务系统
|
|
||||||
if ("2".equals(dto.getAuditStatus())) {
|
|
||||||
NuEmployeesAdvisoryInfo employeesAd = employeesAdvisoryInfoService.getById(dto.getEmployeeId());
|
|
||||||
if(employeesAd.getIzInit().equals("1")){
|
|
||||||
//需要初始化,直接通知审批业务系统进行初始化
|
|
||||||
SysUserMQDto sysUserMQDto = new SysUserMQDto();
|
|
||||||
sysUserMQDto.setEmployeeId(dto.getEmployeeId());
|
|
||||||
sysUserMQDto.setIzInit("1");
|
|
||||||
sysUserMQDto.setIzInitPassword("0");//不需要更新其他业务平台密码
|
|
||||||
rabbitMQUtil.sendToExchange("hldy.employees", dto.getOrgCode() + ".employees.initsysuser", sysUserMQDto);
|
|
||||||
}else{
|
|
||||||
long diffInMillis = Math.abs((new Date()).getTime() - employeesAd.getLastLoginTime().getTime());
|
|
||||||
// 30天的毫秒数(近似值)
|
|
||||||
long oneMonthInMillis = 30L * 24 * 60 * 60 * 1000;
|
|
||||||
if(diffInMillis > oneMonthInMillis){
|
|
||||||
//最近登录时间大于30天,也需要初始化
|
|
||||||
SysUserMQDto sysUserMQDto = new SysUserMQDto();
|
|
||||||
sysUserMQDto.setEmployeeId(dto.getEmployeeId());
|
|
||||||
sysUserMQDto.setIzInit("1");
|
|
||||||
sysUserMQDto.setIzInitPassword("1");//需要更新其他业务平台密码
|
|
||||||
rabbitMQUtil.sendToExchange("hldy.employees", dto.getOrgCode() + ".employees.initsysuser", sysUserMQDto);
|
|
||||||
}else{
|
|
||||||
UpdateWrapper<EmployeesOrg> uwOrg = new UpdateWrapper<>();
|
|
||||||
uwOrg.eq("employees_id", dto.getEmployeeId());
|
|
||||||
uwOrg.eq("status", "2");//审批通过
|
|
||||||
uwOrg.eq("iz_history", "1");//非历史
|
|
||||||
uwOrg.eq("iz_freeze", "0");//未冻结
|
|
||||||
uwOrg.eq("org_code", employeesAd.getLastLoginOrg());//机构
|
|
||||||
EmployeesOrg empOrg = employeesOrgService.getOne(uwOrg);
|
|
||||||
if(empOrg!=null){
|
|
||||||
//不需要初始化,发送MQ从原业务系统获取账号信息,MQ收到账号信息后再通知给审批业务系统
|
|
||||||
SysUserMQDto sysUserMQDto = new SysUserMQDto();
|
|
||||||
sysUserMQDto.setEmployeeId(dto.getEmployeeId());
|
|
||||||
sysUserMQDto.setTargetOrgCode(dto.getOrgCode());
|
|
||||||
rabbitMQUtil.sendToExchange("hldy.employees", employeesAd.getLastLoginOrg() + ".employees.sysuser.info", sysUserMQDto);
|
|
||||||
}else{
|
|
||||||
//原账号冻结,也需要初始化
|
|
||||||
SysUserMQDto sysUserMQDto = new SysUserMQDto();
|
|
||||||
sysUserMQDto.setEmployeeId(dto.getEmployeeId());
|
|
||||||
sysUserMQDto.setIzInit("1");
|
|
||||||
sysUserMQDto.setIzInitPassword("1");//需要更新其他业务平台密码
|
|
||||||
rabbitMQUtil.sendToExchange("hldy.employees", dto.getOrgCode() + ".employees.initsysuser", sysUserMQDto);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改员工账户最近一次登录信息
|
|
||||||
*
|
|
||||||
* @param dto
|
|
||||||
*/
|
|
||||||
@RabbitListener(bindings = @QueueBinding(value = @Queue(name = "hldy.employeesorg.lastlogin", durable = "true"),
|
|
||||||
exchange = @Exchange(name = "hldy.employees", type = ExchangeTypes.DIRECT),
|
|
||||||
key = "hldy.employeesorg.lastlogin"), errorHandler = "employeesMQErrorHandler")
|
|
||||||
public void handleEmpLastLogin(SysUserMQDto dto) {
|
|
||||||
NuEmployeesAdvisoryInfo employeesAd = new NuEmployeesAdvisoryInfo();
|
|
||||||
employeesAd.setId(dto.getEmployeeId());
|
|
||||||
employeesAd.setIzInit("0");
|
|
||||||
employeesAd.setLastLoginOrg(dto.getOrgCode());
|
|
||||||
employeesAd.setLastLoginTime(new Date());
|
|
||||||
employeesAdvisoryInfoService.updateById(employeesAd);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 员工账户密码同步
|
|
||||||
*
|
|
||||||
* @param dto
|
|
||||||
*/
|
|
||||||
@RabbitListener(bindings = @QueueBinding(value = @Queue(name = "hldy.employeesorg.sysuser.sync", durable = "true"),
|
|
||||||
exchange = @Exchange(name = "hldy.employees", type = ExchangeTypes.DIRECT),
|
|
||||||
key = "hldy.employeesorg.sysuser.sync"), errorHandler = "employeesMQErrorHandler")
|
|
||||||
public void handleSysuserPwd(SysUserMQDto dto) {
|
|
||||||
UpdateWrapper<EmployeesOrg> uw = new UpdateWrapper<>();
|
|
||||||
uw.eq("employees_id", dto.getEmployeeId());
|
|
||||||
uw.eq("status", "2");//审批通过
|
|
||||||
uw.eq("iz_history", "1");//非历史
|
|
||||||
uw.eq("iz_freeze", "0");//未冻结
|
|
||||||
List<EmployeesOrg> list = employeesOrgService.list(uw);
|
|
||||||
if(list.size()>0){
|
|
||||||
for(int i=0;i<list.size();i++){
|
|
||||||
EmployeesOrg entity = list.get(i);
|
|
||||||
rabbitMQUtil.sendToExchange("hldy.employees", entity.getOrgCode() + ".employees.sysuser.pwd.sync", dto);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 员工账户信息同步到目标机构
|
|
||||||
*
|
|
||||||
* @param dto
|
|
||||||
*/
|
|
||||||
@RabbitListener(bindings = @QueueBinding(value = @Queue(name = "hldy.employeesorg.sysuser.info", durable = "true"),
|
|
||||||
exchange = @Exchange(name = "hldy.employees", type = ExchangeTypes.DIRECT),
|
|
||||||
key = "hldy.employeesorg.sysuser.info"), errorHandler = "employeesMQErrorHandler")
|
|
||||||
public void handleSysuserInfo(SysUserMQDto dto) {
|
|
||||||
dto.setIzInit("0");
|
|
||||||
dto.setIzInitPassword("0");//需要更新其他业务平台密码
|
|
||||||
rabbitMQUtil.sendToExchange("hldy.employees", dto.getTargetOrgCode() + ".employees.initsysuser", dto);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 判断业务如何创建登录账号
|
|
||||||
* 只修改审核状态、审核备注
|
|
||||||
*
|
|
||||||
* @param dto
|
|
||||||
*/
|
|
||||||
@RabbitListener(bindings = @QueueBinding(value = @Queue(name = "hldy.employeesorg.howtoinitsysuser", durable = "true"),
|
|
||||||
exchange = @Exchange(name = "hldy.employees", type = ExchangeTypes.DIRECT),
|
|
||||||
key = "hldy.employeesorg.howtoinitsysuser"), errorHandler = "employeesMQErrorHandler")
|
|
||||||
public void handleHowToInitSysuser(SysUserMQDto dto) {
|
|
||||||
NuEmployeesAdvisoryInfo employeesAd = employeesAdvisoryInfoService.getById(dto.getEmployeeId());
|
|
||||||
if(employeesAd.getIzInit().equals("1")){
|
|
||||||
//需要初始化,直接通知审批业务系统进行初始化
|
|
||||||
SysUserMQDto sysUserMQDto = new SysUserMQDto();
|
|
||||||
sysUserMQDto.setEmployeeId(dto.getEmployeeId());
|
|
||||||
sysUserMQDto.setIzInit("1");
|
|
||||||
sysUserMQDto.setIzInitPassword("0");//不需要更新其他业务平台密码
|
|
||||||
rabbitMQUtil.sendToExchange("hldy.employees", dto.getOrgCode() + ".employees.initsysuser", sysUserMQDto);
|
|
||||||
}else{
|
|
||||||
long diffInMillis = Math.abs((new Date()).getTime() - employeesAd.getLastLoginTime().getTime());
|
|
||||||
// 30天的毫秒数(近似值)
|
|
||||||
long oneMonthInMillis = 30L * 24 * 60 * 60 * 1000;
|
|
||||||
if(diffInMillis > oneMonthInMillis){
|
|
||||||
//最近登录时间大于30天,也需要初始化
|
|
||||||
SysUserMQDto sysUserMQDto = new SysUserMQDto();
|
|
||||||
sysUserMQDto.setEmployeeId(dto.getEmployeeId());
|
|
||||||
sysUserMQDto.setIzInit("1");
|
|
||||||
sysUserMQDto.setIzInitPassword("1");//需要更新其他业务平台密码
|
|
||||||
rabbitMQUtil.sendToExchange("hldy.employees", dto.getOrgCode() + ".employees.initsysuser", sysUserMQDto);
|
|
||||||
}else{
|
|
||||||
UpdateWrapper<EmployeesOrg> uwOrg = new UpdateWrapper<>();
|
|
||||||
uwOrg.eq("employees_id", dto.getEmployeeId());
|
|
||||||
uwOrg.eq("status", "2");//审批通过
|
|
||||||
uwOrg.eq("iz_history", "1");//非历史
|
|
||||||
uwOrg.eq("iz_freeze", "0");//未冻结
|
|
||||||
uwOrg.eq("org_code", employeesAd.getLastLoginOrg());//机构
|
|
||||||
EmployeesOrg empOrg = employeesOrgService.getOne(uwOrg);
|
|
||||||
if(empOrg!=null){
|
|
||||||
//不需要初始化,发送MQ从原业务系统获取账号信息,MQ收到账号信息后再通知给审批业务系统
|
|
||||||
SysUserMQDto sysUserMQDto = new SysUserMQDto();
|
|
||||||
sysUserMQDto.setEmployeeId(dto.getEmployeeId());
|
|
||||||
sysUserMQDto.setTargetOrgCode(dto.getOrgCode());
|
|
||||||
rabbitMQUtil.sendToExchange("hldy.employees", employeesAd.getLastLoginOrg() + ".employees.sysuser.info", sysUserMQDto);
|
|
||||||
}else{
|
|
||||||
//原账号冻结,也需要初始化
|
|
||||||
SysUserMQDto sysUserMQDto = new SysUserMQDto();
|
|
||||||
sysUserMQDto.setEmployeeId(dto.getEmployeeId());
|
|
||||||
sysUserMQDto.setIzInit("1");
|
|
||||||
sysUserMQDto.setIzInitPassword("1");//需要更新其他业务平台密码
|
|
||||||
rabbitMQUtil.sendToExchange("hldy.employees", dto.getOrgCode() + ".employees.initsysuser", sysUserMQDto);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 员工-机构关系状态调整
|
* 员工-机构关系状态调整
|
||||||
|
|
|
||||||
|
|
@ -1,107 +0,0 @@
|
||||||
package com.nu.dto;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 用户表
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @Author scott
|
|
||||||
* @since 2018-12-20
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class SysUserMQDto implements Serializable {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* id
|
|
||||||
*/
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 员工Id
|
|
||||||
*/
|
|
||||||
private String employeeId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 登录账号
|
|
||||||
*/
|
|
||||||
private String username;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 真实姓名
|
|
||||||
*/
|
|
||||||
private String realname;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 密码
|
|
||||||
*/
|
|
||||||
private String password;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* md5密码盐
|
|
||||||
*/
|
|
||||||
private String salt;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 头像
|
|
||||||
*/
|
|
||||||
private String avatar;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生日
|
|
||||||
*/
|
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
|
||||||
private Date birthday;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 性别(1:男 2:女)
|
|
||||||
*/
|
|
||||||
private Integer sex;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 电子邮件
|
|
||||||
*/
|
|
||||||
private String email;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 电话
|
|
||||||
*/
|
|
||||||
private String phone;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 结构编码
|
|
||||||
*/
|
|
||||||
private String orgCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 目的结构编码
|
|
||||||
*/
|
|
||||||
private String targetOrgCode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 状态(1:正常 2:冻结 )
|
|
||||||
*/
|
|
||||||
private Integer status;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除状态(0,正常,1已删除)
|
|
||||||
*/
|
|
||||||
private Integer delFlag;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否需要初始化(0,否,1是)
|
|
||||||
*/
|
|
||||||
private String izInit;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否需要初始化密码(0,否,1是)
|
|
||||||
*/
|
|
||||||
private String izInitPassword;
|
|
||||||
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue