机构邀请员工

This commit is contained in:
1378012178@qq.com 2025-09-11 11:16:12 +08:00
parent 9d9f757ce7
commit c6fe823a57
3 changed files with 65 additions and 0 deletions

View File

@ -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();
}
}

View File

@ -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<EmployeesApply> 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<BizEmployeesInfo> qw = new QueryWrapper<>();
qw.eq("id", dto.getEmployeeId());
BizEmployeesInfo one = employeesInfoService.getOne(qw);
if (one == null) {
QueryWrapper<EmployeesApply> 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);
}
}
}
}

View File

@ -89,4 +89,6 @@ public class EmployeesApplyMQDto implements Serializable {
private String auditContent;
/**机构编码*/
private String orgCode;
/**操作时间*/
private Date opeTime;
}