diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/employees/listener/DynamicQueueNameProvider.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/employees/listener/DynamicQueueNameProvider.java index 125b4518..97e3640a 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/employees/listener/DynamicQueueNameProvider.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/employees/listener/DynamicQueueNameProvider.java @@ -39,4 +39,18 @@ public class DynamicQueueNameProvider { public String getCanNotInvidedKeyName() { return getCanNotInvidedQueueName(); } + + public String getInvidedConfirmQueueName() { + JSONObject deptInfo = sysBaseAPI.getDeptInfo(); + String orgCode = deptInfo.getString("code"); + if (StringUtils.isNotBlank(orgCode)) { + return orgCode + ".employees.invitedConfirm"; + } else { + return ""; + } + } + + public String getInvidedConfirmKeyName() { + return getInvidedConfirmQueueName(); + } } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java index 821c60c9..78031d50 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java @@ -1,8 +1,11 @@ package com.nu.mq.employees.listener; +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.SysConfigMQDto; +import com.nu.modules.employeesInfo.entity.BizEmployeesInfo; +import com.nu.modules.employeesInfo.service.IBizEmployeesInfoService; import com.nu.modules.employeesapply.entity.EmployeesApply; import com.nu.modules.employeesapply.service.IEmployeesApplyService; import com.nu.utils.RabbitMQUtil; @@ -24,6 +27,8 @@ public class EmployeesMQListener { private RabbitMQUtil rabbitMQUtil; @Autowired private IEmployeesApplyService employeesApplyService; + @Autowired + private IBizEmployeesInfoService employeesInfoService; /** * direct直连 只发给我的 @@ -74,4 +79,48 @@ public class EmployeesMQListener { public void handleCanNotInvided(EmployeesApplyMQDto dto) { employeesApplyService.cleanErrorInvided(dto.getEmployeeId()); } + + /** + * 被邀请确认 + * 1、将申请状态改为对应 + * 2、 + * @param dto + */ + @RabbitListener( + bindings = @QueueBinding( + value = @Queue(name = "#{employeesAsyncDQNP.getInvidedConfirmQueueName()}"), + exchange = @Exchange(name = "hldy.employees", type = ExchangeTypes.DIRECT), + key = "#{employeesAsyncDQNP.getInvidedConfirmKeyName()}" + ), + errorHandler = "employeesMQErrorHandler" + ) + public void handleInvidedConfirm(EmployeesApplyMQDto dto) { + UpdateWrapper uw = new UpdateWrapper<>(); + uw.eq("employee_id",dto.getEmployeeId()); + uw.eq("iz_history","1");//当前数据 + uw.eq("is_invited","0");//被邀请的 + EmployeesApply employeesApply = new EmployeesApply(); + employeesApply.setStatus(dto.getStatus()); + employeesApplyService.update(employeesApply,uw); + + if("2".equals(dto.getStatus())){ + //将员工信息插入员工表中 + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("id", dto.getEmployeeId()); + BizEmployeesInfo one = employeesInfoService.getOne(qw); + if (one == null) { + QueryWrapper qw1 = new QueryWrapper<>(); + qw1.eq("employee_id",dto.getEmployeeId()); + qw1.eq("iz_history","1");//当前数据 + qw1.eq("is_invited","0");//被邀请的 + EmployeesApply one1 = employeesApplyService.getOne(qw1); + BizEmployeesInfo employeesInfo = new BizEmployeesInfo(); + BeanUtils.copyProperties(one1, employeesInfo); + employeesInfo.setId(employeesApply.getEmployeeId()); + employeesInfo.setSysOrgCode(dto.getOrgCode()); + employeesInfo.setEntryTime(dto.getOpeTime()); + employeesInfoService.save(employeesInfo); + } + } + } } diff --git a/nursing-unit-common/src/main/java/com/nu/dto/EmployeesApplyMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/EmployeesApplyMQDto.java index 792c1985..0853673f 100644 --- a/nursing-unit-common/src/main/java/com/nu/dto/EmployeesApplyMQDto.java +++ b/nursing-unit-common/src/main/java/com/nu/dto/EmployeesApplyMQDto.java @@ -89,4 +89,6 @@ public class EmployeesApplyMQDto implements Serializable { private String auditContent; /**机构编码*/ private String orgCode; + /**操作时间*/ + private Date opeTime; }