diff --git a/nursing-unit-common/src/main/java/com/nu/dto/SysUserMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/SysUserMQDto.java new file mode 100644 index 0000000..fa4783d --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/dto/SysUserMQDto.java @@ -0,0 +1,108 @@ +package com.nu.dto; + +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + *
+ * 用户表 + *
+ * + * @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; + +} diff --git a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/mq/employees/listener/DynamicQueueNameProvider.java b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/mq/employees/listener/DynamicQueueNameProvider.java index 32de4ef..5903d86 100644 --- a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/mq/employees/listener/DynamicQueueNameProvider.java +++ b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/mq/employees/listener/DynamicQueueNameProvider.java @@ -82,4 +82,48 @@ public class DynamicQueueNameProvider { public String getEmpInfoUpDataKeyName() { return getEmpInfoUpDataQueueName(); } + + public String getInitSysUserQueueName() { + JSONObject deptInfo = sysBaseAPI.getDeptInfo(); + String orgCode = deptInfo.getString("code"); + if (StringUtils.isNotBlank(orgCode)) { + return orgCode + ".employees.initsysuser"; + } else { + return ""; + } + } + + public String getInitSysUserKeyName() { + return getInitSysUserQueueName(); + } + + public String getSyncSysUserPwdQueueName() { + JSONObject deptInfo = sysBaseAPI.getDeptInfo(); + String orgCode = deptInfo.getString("code"); + if (StringUtils.isNotBlank(orgCode)) { + return orgCode + ".employees.sysuser.pwd.sync"; + } else { + return ""; + } + } + + public String getSyncSysUserPwdKeyName() { + return getSyncSysUserPwdQueueName(); + } + + public String getSysUserInfoQueueName() { + JSONObject deptInfo = sysBaseAPI.getDeptInfo(); + String orgCode = deptInfo.getString("code"); + if (StringUtils.isNotBlank(orgCode)) { + return orgCode + ".employees.sysuser.info"; + } else { + return ""; + } + } + + public String getSysUserInfoKeyName() { + return getSysUserInfoQueueName(); + } + + } diff --git a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java index 7932344..d73ba89 100644 --- a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java +++ b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.nu.dto.EmployeesApplyMQDto; +import com.nu.dto.SysUserMQDto; import com.nu.modules.employeesInfo.entity.BizEmployeesInfo; import com.nu.modules.employeesInfo.service.IBizEmployeesInfoService; import com.nu.modules.employeesapply.entity.EmployeesApply; @@ -18,6 +19,12 @@ import com.nu.utils.RabbitMQUtil; import com.nu.utils.SafetyUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.util.PasswordUtil; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.service.ISysUserService; import org.springframework.amqp.core.ExchangeTypes; import org.springframework.amqp.rabbit.annotation.Exchange; import org.springframework.amqp.rabbit.annotation.Queue; @@ -32,6 +39,7 @@ import java.io.File; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.Arrays; +import java.util.Date; import java.util.List; @Slf4j @@ -51,6 +59,10 @@ public class EmployeesMQListener { private IMediaAsyncErrorLogService mediaAsyncErrorLogService; @Autowired private IBizEmployeesMediaService employeesMediaService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private ISysBaseAPI sysBaseAPI; /** * 员工申请提交 @@ -916,6 +928,12 @@ public class EmployeesMQListener { employeesInfoService.updateById(mediaData); } } + JSONObject deptInfo = sysBaseAPI.getDeptInfo(); + String orgCode = deptInfo.getString("code"); + SysUserMQDto sysUserMQDto = new SysUserMQDto(); + sysUserMQDto.setOrgCode(orgCode); + sysUserMQDto.setEmployeeId(dto.getEmployeeId()); + rabbitMQUtil.sendToExchange("hldy.employees", "hldy.employeesorg.howtoinitsysuser", sysUserMQDto); } } @@ -1352,4 +1370,197 @@ public class EmployeesMQListener { } } } + + /** + * 初始化登录账户 + * + * @param dto + */ + @RabbitListener( + bindings = @QueueBinding( + value = @Queue(name = "#{employeesAsyncDQNP.getInitSysUserQueueName()}"), + exchange = @Exchange(name = "hldy.employees", type = ExchangeTypes.DIRECT), + key = "#{employeesAsyncDQNP.getInitSysUserKeyName()}" + ), + errorHandler = "employeesMQErrorHandler" + ) + public void handleInitSysUser(SysUserMQDto dto) { + String izInit = dto.getIzInit(); + String izInitPassword = dto.getIzInitPassword(); + String employeeId = dto.getEmployeeId(); + + //需要初始化 + if(izInit.equals("1")){ + + QueryWrapper