Merge remote-tracking branch 'origin/main' into main

main
SondonYong 2025-12-04 15:08:17 +08:00
commit 683a681e10
27 changed files with 264 additions and 90 deletions

View File

@ -2,6 +2,7 @@ package com.zcloud.basic.info;
import com.jjb.saas.base.starter.bootstart.JJBSpringbootApplication; import com.jjb.saas.base.starter.bootstart.JJBSpringbootApplication;
import com.jjb.saas.facade.starter.annotation.EnableFacadeRpcClient; import com.jjb.saas.facade.starter.annotation.EnableFacadeRpcClient;
import com.jjb.saas.framework.event.consumer.EnableConsumer;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
/** /**
@ -13,6 +14,7 @@ import org.springframework.boot.SpringApplication;
mapperPackages = {"com.zcloud.basic.info.persistence.mapper"} mapperPackages = {"com.zcloud.basic.info.persistence.mapper"}
) )
//@EnableFacadeRpcClient //@EnableFacadeRpcClient
@EnableConsumer
public class Application { public class Application {
public static void main(String[] args) { public static void main(String[] args) {

View File

@ -2,29 +2,26 @@ package com.zcloud.basic.info.event;
import com.jjb.saas.framework.event.consumer.MessageConsumer; import com.jjb.saas.framework.event.consumer.MessageConsumer;
import com.jjb.saas.framework.event.consumer.MsgConsumer; import com.jjb.saas.framework.event.consumer.MsgConsumer;
import com.jjb.saas.framework.event.dto.BaseEvent; import com.zcloud.gbscommon.event.user.ZcUserResignation;
import com.jjb.saas.framework.event.producer.RemoteEventPublisher;
import com.jjb.saas.system.client.user.event.UserAddEvent;
import com.zcloud.gbscommon.event.user.ZcUserEvent;
import lombok.Data;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
/** /**
* @author lin * @author lin
*/ */
@Component @Component
@MsgConsumer(tag = "zcloud:user:ev") @MsgConsumer(tag = "zcloud:user:resignation")
public class UserUpdateAuditStatusConsumer implements MessageConsumer<ZcUserEvent> { public class UserUpdateAuditStatusConsumer implements MessageConsumer<ZcUserResignation> {
// private RemoteEventPublisher eventPublisher; /* private RemoteEventPublisher eventPublisher;
// public UserUpdateAuditStatusConsumer(RemoteEventPublisher eventPublisher) { public UserUpdateAuditStatusConsumer(RemoteEventPublisher eventPublisher) {
// this.eventPublisher = eventPublisher; this.eventPublisher = eventPublisher;
// } }*/
@Override @Override
public void consume(ZcUserEvent event) { public void consume(ZcUserResignation event) {
System.out.println(event.getName()); System.out.println(event.getUserId());
System.out.println(event.getCorpinfoId());
} }

View File

@ -10,16 +10,24 @@ import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.basic.info.api.UserServiceI; import com.zcloud.basic.info.api.UserServiceI;
import com.zcloud.basic.info.dto.*; import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.UserCO; import com.zcloud.basic.info.dto.clientobject.UserCO;
import com.zcloud.basic.info.persistence.dataobject.UserJobHandoverDO;
import com.zcloud.basic.info.plan.DockingRZUserPlanJob; import com.zcloud.basic.info.plan.DockingRZUserPlanJob;
import com.zcloud.basic.info.dto.clientobject.UserXmfCO; import com.zcloud.basic.info.dto.clientobject.UserXmfCO;
import com.zcloud.gbscommon.translateaop.TranslateField; import com.zcloud.gbscommon.translateaop.TranslateField;
import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserJobFacade;
import com.zcloud.gbscommon.zclouduser.request.ZcloudUserJobQry;
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserJobCo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
/** /**
@ -35,6 +43,9 @@ import javax.servlet.http.HttpServletResponse;
public class UserController { public class UserController {
private final UserServiceI userService; private final UserServiceI userService;
private final TranslateField translateField; private final TranslateField translateField;
// @DubboReference
// private List<ZcloudUserJobFacade> userJobFacadeList;
@ApiOperation("新增用户") @ApiOperation("新增用户")
@PostMapping("/test") @PostMapping("/test")
public SingleResponse<UserCO> test(@RequestBody UserCO cmd) { public SingleResponse<UserCO> test(@RequestBody UserCO cmd) {
@ -82,6 +93,21 @@ public class UserController {
@ApiOperation("详情") @ApiOperation("详情")
@GetMapping("/{id}") @GetMapping("/{id}")
public SingleResponse<UserCO> getInfoById(@PathVariable("id") Long id) { public SingleResponse<UserCO> getInfoById(@PathVariable("id") Long id) {
/* ZcloudUserJobQry zcloudUserJobQry = new ZcloudUserJobQry();
zcloudUserJobQry.setUserId(11L);
zcloudUserJobQry.setCorpinfoId(123L);
List<ZcloudUserJobCo> allJob = new ArrayList<>();
userJobFacadeList.forEach(userJobFacade -> {
try {
MultiResponse<ZcloudUserJobCo> userJob = userJobFacade.getUserJob(zcloudUserJobQry);
List<ZcloudUserJobCo> data = userJob.getData();
allJob.addAll(data);
}catch (Exception e){
System.out.println( e);
}
});
System.out.println(allJob);*/
return userService.getInfoById(id); return userService.getInfoById(id);
} }
@ApiOperation("获取当前登录人信息") @ApiOperation("获取当前登录人信息")

View File

@ -1,32 +1,37 @@
package com.zcloud.basic.info.command; package com.zcloud.basic.info.command;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.Response;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.jjb.saas.framework.auth.utils.AuthContext; import com.jjb.saas.framework.auth.utils.AuthContext;
import com.jjb.saas.system.client.user.facade.UserFacade; import com.jjb.saas.system.client.user.facade.UserFacade;
import com.zcloud.basic.info.constant.RedisConstant; import com.zcloud.basic.info.constant.RedisConstant;
import com.zcloud.basic.info.command.convertor.UserJobHandoverCoConvertor;
import com.zcloud.basic.info.domain.enums.UserChangeRecordStatusEnum; import com.zcloud.basic.info.domain.enums.UserChangeRecordStatusEnum;
import com.zcloud.basic.info.domain.enums.UserEmploymentFlagEnum; import com.zcloud.basic.info.domain.enums.UserEmploymentFlagEnum;
import com.zcloud.basic.info.domain.enums.UserFlowFlagEnum; import com.zcloud.basic.info.domain.enums.UserFlowFlagEnum;
import com.zcloud.basic.info.domain.enums.UserJobStatusEnum;
import com.zcloud.basic.info.domain.gateway.*; import com.zcloud.basic.info.domain.gateway.*;
import com.zcloud.basic.info.domain.model.*; import com.zcloud.basic.info.domain.model.*;
import com.zcloud.basic.info.dto.*; import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.UserJobHandoverCO;
import com.zcloud.basic.info.persistence.dataobject.*; import com.zcloud.basic.info.persistence.dataobject.*;
import com.zcloud.basic.info.persistence.repository.*; import com.zcloud.basic.info.persistence.repository.*;
import com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.ZcloudRedisUtil; import com.zcloud.gbscommon.utils.ZcloudRedisUtil;
import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserJobFacade;
import com.zcloud.gbscommon.zclouduser.request.ZcloudUserJobQry;
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserJobCo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.catalina.User; import org.apache.catalina.User;
import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.time.LocalDateTime; import java.util.ArrayList;
import java.util.Map; import java.util.Arrays;
import java.util.List;
/** /**
@ -37,6 +42,7 @@ import java.util.Map;
*/ */
@Component @Component
@AllArgsConstructor @AllArgsConstructor
@Slf4j
public class UserUpdateExe { public class UserUpdateExe {
private final UserGateway userGateway; private final UserGateway userGateway;
@ -51,9 +57,16 @@ public class UserUpdateExe {
private final DepartmentRepository departmentRepository; private final DepartmentRepository departmentRepository;
private final UserCorpRecordRepository userCorpRecordRepository; private final UserCorpRecordRepository userCorpRecordRepository;
private final UserCorpRecordGateway userCorpRecordGateway; private final UserCorpRecordGateway userCorpRecordGateway;
private final UserJobHandoverRepository userJobHandoverRepository;
private final UserJobHandoverCoConvertor userJobHandoverCoConvertor;
@DubboReference @DubboReference
private UserFacade userFacade; private UserFacade userFacade;
private ZcloudRedisUtil zcloudRedisUtil; private ZcloudRedisUtil zcloudRedisUtil;
// @DubboReference
// private List<ZcloudUserJobFacade> userJobFacadeList;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void execute(UserUpdateCmd userUpdateCmd) { public void execute(UserUpdateCmd userUpdateCmd) {
@ -164,47 +177,49 @@ public class UserUpdateExe {
//获取用户信息,并更新离职状态为离职 //获取用户信息,并更新离职状态为离职
UserDO userDO = userRepository.getInfoById(userResignationCmd.getUserId()); UserDO userDO = userRepository.getInfoById(userResignationCmd.getUserId());
// //
UserE userE=null; UserE userE = null;
Long corpinfoId = userResignationCmd.getCorpinfoId()==null?AuthContext.getTenantId():userResignationCmd.getCorpinfoId(); Long corpinfoId = userResignationCmd.getCorpinfoId() == null ? AuthContext.getTenantId() : userResignationCmd.getCorpinfoId();
Integer employmentFlagBefore; Integer employmentFlagBefore;
if(UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())){ if (UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())) {
UserCorpDO userCorpDO = userCorpRepository.getInfoByUserId(userDO.getId(), corpinfoId); UserCorpDO userCorpDO = userCorpRepository.getInfoByUserId(userDO.getId(), corpinfoId);
if (userCorpDO == null) { if (userCorpDO == null) {
return; return;
} }
employmentFlagBefore = userCorpDO.getEmploymentFlag(); employmentFlagBefore = userCorpDO.getEmploymentFlag();
userE=userCorpRepository.executeResignation(userCorpDO, corpinfoId,UserEmploymentFlagEnum.RESIGNATION.getCode()); userE = userCorpRepository.executeResignation(userCorpDO, corpinfoId, UserEmploymentFlagEnum.RESIGNATION.getCode());
}else{ } else {
userE = new UserE(); userE = new UserE();
BeanUtils.copyProperties(userDO, userE); BeanUtils.copyProperties(userDO, userE);
employmentFlagBefore = userDO.getEmploymentFlag(); employmentFlagBefore = userDO.getEmploymentFlag();
userE.setEmploymentFlag(UserEmploymentFlagEnum.RESIGNATION.getCode()); userE.setEmploymentFlag(UserEmploymentFlagEnum.RESIGNATION.getCode());
userGateway.update(userE); userGateway.update(userE);
} }
if(userE==null){ if (userE == null) {
return; return;
} }
//修改企业入职记录 //修改企业入职记录
UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserId(userDO.getId(), corpinfoId,UserEmploymentFlagEnum.ON.getCode()); UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserId(userDO.getId(), corpinfoId, UserEmploymentFlagEnum.ON.getCode());
UserCorpRecordE userCorpRecordE = new UserCorpRecordE(); UserCorpRecordE userCorpRecordE = new UserCorpRecordE();
if(userCorpRecordDO!=null){ if (userCorpRecordDO != null) {
BeanUtils.copyProperties(userCorpRecordDO, userCorpRecordE); BeanUtils.copyProperties(userCorpRecordDO, userCorpRecordE);
userCorpRecordE.executeResignation(userCorpRecordE,userE,UserEmploymentFlagEnum.RESIGNATION.getCode(),UserChangeRecordStatusEnum.APPROVED.getCode()); userCorpRecordE.executeResignation(userCorpRecordE, userE, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode());
userCorpRecordGateway.update(userCorpRecordE); userCorpRecordGateway.update(userCorpRecordE);
}else{ } else {
userCorpRecordE.initResignation(userE,UserEmploymentFlagEnum.RESIGNATION.getCode(),UserChangeRecordStatusEnum.APPROVED.getCode()); userCorpRecordE.initResignation(userE, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode());
userCorpRecordGateway.add(userCorpRecordE); userCorpRecordGateway.add(userCorpRecordE);
} }
// 增加用户变更记录 // 增加用户变更记录
UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
userChangeRecordE.executeResignation(userE,UserEmploymentFlagEnum.RESIGNATION.getCode(),UserChangeRecordStatusEnum.APPROVED.getCode(),employmentFlagBefore); userChangeRecordE.executeResignation(userE, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode(), employmentFlagBefore);
userChangeRecordGateway.add(userChangeRecordE); userChangeRecordGateway.add(userChangeRecordE);
//TODO 处理未完成工作 //TODO 处理未完成工作
List<UserJobHandoverDO> allJob = getUserJob(userDO.getId(),corpinfoId,userChangeRecordE.getUserChangeRecordId());
userJobHandoverRepository.saveBatch(allJob);
//离职发送方mq消息
userRepository.sendResignationMq(userResignationCmd.getUserId(),corpinfoId);
} }
public void executeReviewStatus(UserReviewStatusCmd userReviewStatusCmd) { public void executeReviewStatus(UserReviewStatusCmd userReviewStatusCmd) {
@ -216,11 +231,11 @@ public class UserUpdateExe {
switch (employmentFlagEnum) { switch (employmentFlagEnum) {
case ENTRY_AUDIT: case ENTRY_AUDIT:
//入职待审核 //入职待审核
ReviewEntryAudit(userDO,userReviewStatusCmd); ReviewEntryAudit(userDO, userReviewStatusCmd);
break; break;
case RESIGNATION_AUDIT: case RESIGNATION_AUDIT:
//离职待审核 //离职待审核
ReviewResignationAudit(userDO,userReviewStatusCmd); ReviewResignationAudit(userDO, userReviewStatusCmd);
break; break;
default: default:
throw new IllegalArgumentException("审核记录已完成"); throw new IllegalArgumentException("审核记录已完成");
@ -231,7 +246,7 @@ public class UserUpdateExe {
private void ReviewResignationAudit(UserDO userDO, UserReviewStatusCmd userReviewStatusCmd) { private void ReviewResignationAudit(UserDO userDO, UserReviewStatusCmd userReviewStatusCmd) {
Integer reviewStatus = userReviewStatusCmd.getReviewStatus(); Integer reviewStatus = userReviewStatusCmd.getReviewStatus();
//TODO 驳回需要待处理,暂时按照只能通过处理 //TODO 驳回需要待处理,暂时按照只能通过处理
Integer employmentFlag = UserChangeRecordStatusEnum.APPROVED.getCode().equals(reviewStatus)?UserEmploymentFlagEnum.RESIGNATION.getCode():UserEmploymentFlagEnum.ON.getCode(); Integer employmentFlag = UserChangeRecordStatusEnum.APPROVED.getCode().equals(reviewStatus) ? UserEmploymentFlagEnum.RESIGNATION.getCode() : UserEmploymentFlagEnum.ON.getCode();
UserE userE = null; UserE userE = null;
Long corpinfoId = userReviewStatusCmd.getCorpinfoId() == null ? AuthContext.getTenantId() : userReviewStatusCmd.getCorpinfoId(); Long corpinfoId = userReviewStatusCmd.getCorpinfoId() == null ? AuthContext.getTenantId() : userReviewStatusCmd.getCorpinfoId();
if (UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())) { if (UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())) {
@ -245,41 +260,41 @@ public class UserUpdateExe {
if (userE == null) { if (userE == null) {
return; return;
} }
if(UserChangeRecordStatusEnum.APPROVED.getCode().equals(reviewStatus)){ if (UserChangeRecordStatusEnum.APPROVED.getCode().equals(reviewStatus)) {
//修改企业入职记录 //修改企业入职记录
UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserId(userDO.getId(), corpinfoId, UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode()); UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserId(userDO.getId(), corpinfoId, UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode());
UserCorpRecordE userCorpRecordE = new UserCorpRecordE(); UserCorpRecordE userCorpRecordE = new UserCorpRecordE();
if(userCorpRecordDO!=null){ if (userCorpRecordDO != null) {
BeanUtils.copyProperties(userCorpRecordDO, userCorpRecordE); BeanUtils.copyProperties(userCorpRecordDO, userCorpRecordE);
userCorpRecordE.executeResignation(userCorpRecordE,userE,UserEmploymentFlagEnum.RESIGNATION.getCode(),UserChangeRecordStatusEnum.APPROVED.getCode()); userCorpRecordE.executeResignation(userCorpRecordE, userE, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode());
userCorpRecordGateway.update(userCorpRecordE); userCorpRecordGateway.update(userCorpRecordE);
}else{ } else {
userCorpRecordE.initResignation(userE,UserEmploymentFlagEnum.RESIGNATION.getCode(),UserChangeRecordStatusEnum.APPROVED.getCode()); userCorpRecordE.initResignation(userE, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode());
userCorpRecordGateway.add(userCorpRecordE); userCorpRecordGateway.add(userCorpRecordE);
} }
// 增加用户变更记录 // 发送mq消息 ,人员离职
UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); userRepository.sendResignationMq(userE.getId(),corpinfoId);
userChangeRecordE.executeReviewStatus(userE, UserEmploymentFlagEnum.RESIGNATION.getCode()); //处理未完成的工作
userChangeRecordGateway.add(userChangeRecordE); userJobHandoverRepository.processUserJobHandover(userCorpRecordE.getUserCorpRecordId());
}else{ } else {
//驳回 //驳回
UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserId(userDO.getId(), corpinfoId, UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode()); UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserId(userDO.getId(), corpinfoId, UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode());
UserCorpRecordE userCorpRecordE = new UserCorpRecordE(); UserCorpRecordE userCorpRecordE = new UserCorpRecordE();
if(userCorpRecordDO!=null){ if (userCorpRecordDO != null) {
BeanUtils.copyProperties(userCorpRecordDO, userCorpRecordE); BeanUtils.copyProperties(userCorpRecordDO, userCorpRecordE);
userCorpRecordE.executeResignation(userCorpRecordE,userE,UserEmploymentFlagEnum.ON.getCode(),UserChangeRecordStatusEnum.REJECTED.getCode()); userCorpRecordE.executeResignation(userCorpRecordE, userE, UserEmploymentFlagEnum.ON.getCode(), UserChangeRecordStatusEnum.REJECTED.getCode());
userCorpRecordGateway.update(userCorpRecordE); userCorpRecordGateway.update(userCorpRecordE);
}else{ } else {
userCorpRecordE.initResignation(userE,UserEmploymentFlagEnum.ON.getCode(),UserChangeRecordStatusEnum.REJECTED.getCode()); userCorpRecordE.initResignation(userE, UserEmploymentFlagEnum.ON.getCode(), UserChangeRecordStatusEnum.REJECTED.getCode());
userCorpRecordGateway.add(userCorpRecordE); userCorpRecordGateway.add(userCorpRecordE);
} }
} }
} }
private void ReviewEntryAudit(UserDO userDO,UserReviewStatusCmd userReviewStatusCmd) { private void ReviewEntryAudit(UserDO userDO, UserReviewStatusCmd userReviewStatusCmd) {
Integer reviewStatus = userReviewStatusCmd.getReviewStatus(); Integer reviewStatus = userReviewStatusCmd.getReviewStatus();
//TODO 驳回需要待处理,暂时按照只能通过处理 //TODO 驳回需要待处理,暂时按照只能通过处理
Integer employmentFlag = UserChangeRecordStatusEnum.APPROVED.getCode().equals(reviewStatus)?UserEmploymentFlagEnum.ON.getCode():UserEmploymentFlagEnum.NOT_ON.getCode(); Integer employmentFlag = UserChangeRecordStatusEnum.APPROVED.getCode().equals(reviewStatus) ? UserEmploymentFlagEnum.ON.getCode() : UserEmploymentFlagEnum.NOT_ON.getCode();
UserE userE = null; UserE userE = null;
Long corpinfoId = userReviewStatusCmd.getCorpinfoId() == null ? AuthContext.getTenantId() : userReviewStatusCmd.getCorpinfoId(); Long corpinfoId = userReviewStatusCmd.getCorpinfoId() == null ? AuthContext.getTenantId() : userReviewStatusCmd.getCorpinfoId();
if (UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())) { if (UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())) {
@ -293,7 +308,7 @@ public class UserUpdateExe {
if (userE == null) { if (userE == null) {
return; return;
} }
if(UserChangeRecordStatusEnum.APPROVED.getCode().equals(reviewStatus)){ if (UserChangeRecordStatusEnum.APPROVED.getCode().equals(reviewStatus)) {
//增加企业入职记录 //增加企业入职记录
//增加用户入职企业. 驳回不增加下边信息 //增加用户入职企业. 驳回不增加下边信息
CorpInfoDO corpInfoDO = corpInfoRepository.getById(userE.getCorpinfoId()); CorpInfoDO corpInfoDO = corpInfoRepository.getById(userE.getCorpinfoId());
@ -301,20 +316,20 @@ public class UserUpdateExe {
UserCorpRecordE userCorpRecordE = new UserCorpRecordE(); UserCorpRecordE userCorpRecordE = new UserCorpRecordE();
BeanUtils.copyProperties(userDO, userCorpRecordE); BeanUtils.copyProperties(userDO, userCorpRecordE);
userCorpRecordE.initAdd(userE,corpInfoDO.getCorpName(),departmentDO.getName()); userCorpRecordE.initAdd(userE, corpInfoDO.getCorpName(), departmentDO.getName());
userCorpRecordGateway.add(userCorpRecordE); userCorpRecordGateway.add(userCorpRecordE);
// 增加用户变更记录 // 增加用户变更记录
UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
userChangeRecordE.executeReviewStatus(userE, UserEmploymentFlagEnum.ON.getCode()); userChangeRecordE.executeReviewStatus(userE, UserEmploymentFlagEnum.ON.getCode());
userChangeRecordGateway.add(userChangeRecordE); userChangeRecordGateway.add(userChangeRecordE);
}else{ } else {
//驳回 //驳回
//驳回 //驳回
UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserId(userDO.getId(), corpinfoId, UserEmploymentFlagEnum.ENTRY_AUDIT.getCode()); UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserId(userDO.getId(), corpinfoId, UserEmploymentFlagEnum.ENTRY_AUDIT.getCode());
UserCorpRecordE userCorpRecordE = new UserCorpRecordE(); UserCorpRecordE userCorpRecordE = new UserCorpRecordE();
if(userCorpRecordDO!=null){ if (userCorpRecordDO != null) {
BeanUtils.copyProperties(userCorpRecordDO, userCorpRecordE); BeanUtils.copyProperties(userCorpRecordDO, userCorpRecordE);
userCorpRecordE.executeEntryAudit(userCorpRecordE,userE,UserEmploymentFlagEnum.NOT_ON.getCode(),UserChangeRecordStatusEnum.REJECTED.getCode()); userCorpRecordE.executeEntryAudit(userCorpRecordE, userE, UserEmploymentFlagEnum.NOT_ON.getCode(), UserChangeRecordStatusEnum.REJECTED.getCode());
userCorpRecordGateway.update(userCorpRecordE); userCorpRecordGateway.update(userCorpRecordE);
} }
} }
@ -324,20 +339,20 @@ public class UserUpdateExe {
public void appUserResignation(AppUserResignationCmd appUserResignationCmd) { public void appUserResignation(AppUserResignationCmd appUserResignationCmd) {
//更新状态,添加记录 //更新状态,添加记录
UserDO userDO = userRepository.getInfoById(appUserResignationCmd.getId()); UserDO userDO = userRepository.getInfoById(appUserResignationCmd.getId());
if(userDO==null){ if (userDO == null) {
throw new IllegalArgumentException("用户信息不存在"); throw new IllegalArgumentException("用户信息不存在");
} }
UserE userE = null; UserE userE = null;
Long corpinfoId = appUserResignationCmd.getCorpinfoId()==null?AuthContext.getTenantId():appUserResignationCmd.getCorpinfoId(); Long corpinfoId = appUserResignationCmd.getCorpinfoId() == null ? AuthContext.getTenantId() : appUserResignationCmd.getCorpinfoId();
Integer employmentFlagBefore = null; Integer employmentFlagBefore = null;
if(UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())){ if (UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())) {
UserCorpDO userCorpDO = userCorpRepository.getInfoByUserId(userDO.getId(), corpinfoId); UserCorpDO userCorpDO = userCorpRepository.getInfoByUserId(userDO.getId(), corpinfoId);
if (userCorpDO == null) { if (userCorpDO == null) {
return; return;
} }
employmentFlagBefore = userCorpDO.getEmploymentFlag(); employmentFlagBefore = userCorpDO.getEmploymentFlag();
userE=userCorpRepository.executeResignation(userCorpDO, corpinfoId,UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode()); userE = userCorpRepository.executeResignation(userCorpDO, corpinfoId, UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode());
}else{ } else {
userE = new UserE(); userE = new UserE();
BeanUtils.copyProperties(userDO, userE); BeanUtils.copyProperties(userDO, userE);
employmentFlagBefore = userDO.getEmploymentFlag(); employmentFlagBefore = userDO.getEmploymentFlag();
@ -347,9 +362,34 @@ public class UserUpdateExe {
//插入变更记录 //插入变更记录
UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
userChangeRecordE.executeResignation(userE,UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode(),UserChangeRecordStatusEnum.PENDING.getCode(),employmentFlagBefore); userChangeRecordE.executeResignation(userE, UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode(), UserChangeRecordStatusEnum.PENDING.getCode(), employmentFlagBefore);
userChangeRecordGateway.add(userChangeRecordE); userChangeRecordGateway.add(userChangeRecordE);
//TODO 处理未完成工作 //TODO 处理未完成工作
List<UserJobHandoverDO> allJob = getUserJob(userDO.getId(),corpinfoId,userChangeRecordE.getUserChangeRecordId());
userJobHandoverRepository.saveBatch(allJob);
} }
}
private List<UserJobHandoverDO> getUserJob(Long userId, Long corpinfoId, String userChangeRecordId) {
ZcloudUserJobQry zcloudUserJobQry = new ZcloudUserJobQry();
zcloudUserJobQry.setUserId(userId);
zcloudUserJobQry.setCorpinfoId(corpinfoId);
List<UserJobHandoverDO> allJob = new ArrayList<>();
/* userJobFacadeList.forEach(userJobFacade -> {
try {
MultiResponse<ZcloudUserJobCo> userJob = userJobFacade.getUserJob(zcloudUserJobQry);
List<ZcloudUserJobCo> data = userJob.getData();
List<UserJobHandoverDO> userJobHandoverEList = userJobHandoverCoConvertor.converCosToDOs( data);
userJobHandoverEList.forEach(userJobHandoverE -> {
userJobHandoverE.setUserChangeRecordId(userChangeRecordId);
});
allJob.addAll(userJobHandoverEList);
}catch (Exception e){
log.error("获取用户未完成工作失败, userId: {}, corpinfoId: {},类信息{}", userId, corpinfoId,userJobFacade.getClass(),e);
}
});*/
return allJob;
}
}

View File

@ -1,7 +1,9 @@
package com.zcloud.basic.info.command.convertor; package com.zcloud.basic.info.command.convertor;
import com.zcloud.basic.info.domain.model.UserJobHandoverE;
import com.zcloud.basic.info.dto.clientobject.UserJobHandoverCO; import com.zcloud.basic.info.dto.clientobject.UserJobHandoverCO;
import com.zcloud.basic.info.persistence.dataobject.UserJobHandoverDO; import com.zcloud.basic.info.persistence.dataobject.UserJobHandoverDO;
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserJobCo;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import java.util.List; import java.util.List;
@ -20,5 +22,7 @@ public interface UserJobHandoverCoConvertor {
* @return * @return
*/ */
List<UserJobHandoverCO> converDOsToCOs(List<UserJobHandoverDO> userJobHandoverDOs); List<UserJobHandoverCO> converDOsToCOs(List<UserJobHandoverDO> userJobHandoverDOs);
List<UserJobHandoverDO> converCosToDOs(List<ZcloudUserJobCo> data);
} }

View File

@ -104,6 +104,7 @@ public class UserQueryExe {
userCO.setSort(userCorpDO.getSort()); userCO.setSort(userCorpDO.getSort());
userCO.setCorpinfoId(userCorpDO.getCorpinfoId()); userCO.setCorpinfoId(userCorpDO.getCorpinfoId());
} }
return SingleResponse.of(userCO); return SingleResponse.of(userCO);
} }

View File

@ -103,9 +103,7 @@ public class CorpInfoServiceImpl implements CorpInfoServiceI {
@Override @Override
public PageResponse<CorpUserMiddleCO> corpUserMiddlePage(CorpUserMiddleQry qry) { public PageResponse<CorpUserMiddleCO> corpUserMiddlePage(CorpUserMiddleQry qry) {
return corpInfoQueryExe.corpUserMiddlePage(qry); return corpInfoQueryExe.corpUserMiddlePage(qry);
} }
@Override @Override

View File

@ -45,5 +45,20 @@ public class CorpUserMiddleQry extends PageQuery {
private String eqType; private String eqType;
@ApiModelProperty(value = "选取形式", name = "selectFrom") @ApiModelProperty(value = "选取形式", name = "selectFrom")
private String selectFrom; private String selectFrom;
@ApiModelProperty(value = "所属省编码", name = "province", required = true)
private String eqProvince;
@ApiModelProperty(value = "所属市级编码", name = "city", required = true)
private String eqCity;
@ApiModelProperty(value = "所属区县编码", name = "country", required = true)
private String eqCountry;
@ApiModelProperty(value = "所属乡镇街道编码", name = "street", required = true)
private String eqStreet;
@ApiModelProperty(value = "所属村居委会编码", name = "village", required = true)
private String eqVillage;
} }

View File

@ -44,8 +44,8 @@ public class UserJobHandoverAddCmd extends Command {
@NotEmpty(message = "工作内容不能为空") @NotEmpty(message = "工作内容不能为空")
private String workContent; private String workContent;
@ApiModelProperty(value = "交接状态,10:关闭任务", name = "handoverStatus", required = true) @ApiModelProperty(value = "交接状态,1:关闭任务", name = "handoverStatus", required = true)
@NotNull(message = "交接状态,10:关闭任务不能为空") @NotNull(message = "交接状态,1:关闭任务不能为空")
private Integer handoverStatus; private Integer handoverStatus;
@ApiModelProperty(value = "交接人企业id", name = "handoverCompanyId", required = true) @ApiModelProperty(value = "交接人企业id", name = "handoverCompanyId", required = true)

View File

@ -45,8 +45,8 @@ public class UserJobHandoverUpdateCmd extends Command {
@ApiModelProperty(value = "工作内容", name = "workContent", required = true) @ApiModelProperty(value = "工作内容", name = "workContent", required = true)
@NotEmpty(message = "工作内容不能为空") @NotEmpty(message = "工作内容不能为空")
private String workContent; private String workContent;
@ApiModelProperty(value = "交接状态,10:关闭任务", name = "handoverStatus", required = true) @ApiModelProperty(value = "交接状态,1:关闭任务", name = "handoverStatus", required = true)
@NotNull(message = "交接状态,10:关闭任务不能为空") @NotNull(message = "交接状态,1:关闭任务不能为空")
private Integer handoverStatus; private Integer handoverStatus;
@ApiModelProperty(value = "交接人企业id", name = "handoverCompanyId", required = true) @ApiModelProperty(value = "交接人企业id", name = "handoverCompanyId", required = true)
@NotNull(message = "交接人企业id不能为空") @NotNull(message = "交接人企业id不能为空")

View File

@ -181,10 +181,12 @@ public class CorpInfoCO extends ClientObject {
private LocalDate licenseEnd; private LocalDate licenseEnd;
//开户人idaccount_contact_id //开户人idaccount_contact_id
@ApiModelProperty(value = "开户人id") @ApiModelProperty(value = "开户人id")
private String accountContactId; private Long accountContactId;
//开户人姓名 account_contact_name //开户人姓名 account_contact_name
@ApiModelProperty(value = "开户人姓名") @ApiModelProperty(value = "开户人姓名")
private String accountContactName; private String accountContactName;
@ApiModelProperty(value = "租户名称")
private String tenantName;
//有无职业卫生信息,1:是,0:否 //有无职业卫生信息,1:是,0:否
@ApiModelProperty(value = "有无职业卫生信息,1:是,0:否") @ApiModelProperty(value = "有无职业卫生信息,1:是,0:否")
private Integer whetherHygieneFlag; private Integer whetherHygieneFlag;

View File

@ -1,6 +1,7 @@
package com.zcloud.basic.info.dto.clientobject; package com.zcloud.basic.info.dto.clientobject;
import com.alibaba.cola.dto.ClientObject; import com.alibaba.cola.dto.ClientObject;
import com.jjb.saas.framework.auth.utils.AuthContext;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -85,7 +86,8 @@ public class CorpUserMiddleCO extends ClientObject {
@ApiModelProperty(value = "选取形式") @ApiModelProperty(value = "选取形式")
private String selectfromString; private String selectfromString;
@ApiModelProperty(value = "租户名称")
private String tenantName;
} }

View File

@ -38,8 +38,8 @@ public class UserJobHandoverCO extends ClientObject {
//工作内容 //工作内容
@ApiModelProperty(value = "工作内容") @ApiModelProperty(value = "工作内容")
private String workContent; private String workContent;
//交接状态,10:关闭任务 //交接状态,1:关闭任务
@ApiModelProperty(value = "交接状态,10:关闭任务") @ApiModelProperty(value = "交接状态,1:关闭任务")
private Integer handoverStatus; private Integer handoverStatus;
//交接人企业id //交接人企业id
@ApiModelProperty(value = "交接人企业id") @ApiModelProperty(value = "交接人企业id")

View File

@ -0,0 +1,20 @@
package com.zcloud.basic.info.domain.enums;
import lombok.Getter;
@Getter
public enum UserJobStatusEnum {
//交接状态,0:未处理1:关闭任务
UNTREATED(0, "未处理"),
CLOSE_TASK(1, "关闭任务"),
;
private final Integer code;
private final String name;
UserJobStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
}

View File

@ -2,6 +2,8 @@ package com.zcloud.basic.info.domain.gateway;
import com.zcloud.basic.info.domain.model.UserJobHandoverE; import com.zcloud.basic.info.domain.model.UserJobHandoverE;
import java.util.List;
/** /**
* web-domain * web-domain
* *
@ -26,5 +28,6 @@ public interface UserJobHandoverGateway {
Boolean deletedUserJobHandoverById(Long id); Boolean deletedUserJobHandoverById(Long id);
Boolean deletedUserJobHandoverByIds(Long[] id); Boolean deletedUserJobHandoverByIds(Long[] id);
} }

View File

@ -138,9 +138,11 @@ public class CorpInfoE extends BaseE {
//营业执照结束时间 //营业执照结束时间
private LocalDate licenseEnd; private LocalDate licenseEnd;
//开户人id //开户人id
private String accountContactId; private Long accountContactId;
//开户人姓名 //开户人姓名
private String accountContactName; private String accountContactName;
private String tenantName;
//有无职业卫生信息,1:是,0:否 //有无职业卫生信息,1:是,0:否
private Integer whetherHygieneFlag; private Integer whetherHygieneFlag;
//有无重大危险源,1:是,0:否 //有无重大危险源,1:是,0:否

View File

@ -27,7 +27,7 @@ public class UserJobHandoverE extends BaseE {
private String workProject; private String workProject;
//工作内容 //工作内容
private String workContent; private String workContent;
//交接状态,10:关闭任务 //交接状态,1:关闭任务
private Integer handoverStatus; private Integer handoverStatus;
//交接人企业id //交接人企业id
private Long handoverCompanyId; private Long handoverCompanyId;

View File

@ -2,6 +2,7 @@ package com.zcloud.basic.info.gatewayimpl;
import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.Response;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.jjb.saas.system.client.tenant.facade.TenantFacade; import com.jjb.saas.system.client.tenant.facade.TenantFacade;
import com.jjb.saas.system.client.tenant.request.OtaTenantAddCmd; import com.jjb.saas.system.client.tenant.request.OtaTenantAddCmd;
import com.zcloud.basic.info.domain.gateway.CorpInfoGateway; import com.zcloud.basic.info.domain.gateway.CorpInfoGateway;
@ -47,9 +48,10 @@ public class CorpInfoGatewayImpl implements CorpInfoGateway {
d.setCorpinfoId(Tools.get32UUID()); d.setCorpinfoId(Tools.get32UUID());
} }
if(!CorpInfoE.isCorp()){ if(!CorpInfoE.isCorp()){
d.setAccountContactId(corpInfoE.getAccountContactId()); d.setAccountContactId(AuthContext.getUserId());
d.setAccountContactName(corpInfoE.getAccountContactName()); d.setAccountContactName(AuthContext.getName());
} }
d.setTenantName(AuthContext.getCurrentUser().getTenantName());
corpInfoRepository.saveCorp(d); corpInfoRepository.saveCorp(d);
// corpInfoRepository.save(d); // corpInfoRepository.save(d);

View File

@ -9,6 +9,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collections; import java.util.Collections;
import java.util.List;
/** /**
* web-infrastructure * web-infrastructure
@ -46,5 +47,7 @@ public class UserJobHandoverGatewayImpl implements UserJobHandoverGateway {
public Boolean deletedUserJobHandoverByIds(Long[] ids) { public Boolean deletedUserJobHandoverByIds(Long[] ids) {
return userJobHandoverRepository.removeByIds(Collections.singletonList(ids)); return userJobHandoverRepository.removeByIds(Collections.singletonList(ids));
} }
} }

View File

@ -188,10 +188,12 @@ public class CorpInfoDO extends BaseDO {
private LocalDate licenseEnd; private LocalDate licenseEnd;
//开户人idaccount_contact_id //开户人idaccount_contact_id
@ApiModelProperty(value = "开户人id") @ApiModelProperty(value = "开户人id")
private String accountContactId; private Long accountContactId;
//开户人姓名 account_contact_name //开户人姓名 account_contact_name
@ApiModelProperty(value = "开户人姓名") @ApiModelProperty(value = "开户人姓名")
private String accountContactName; private String accountContactName;
@ApiModelProperty(value = "租户名称")
private String tenantName;
//有无职业卫生信息,1:是,0:否 //有无职业卫生信息,1:是,0:否
@ApiModelProperty(value = "有无职业卫生信息,1:是,0:否") @ApiModelProperty(value = "有无职业卫生信息,1:是,0:否")
private Integer whetherHygieneFlag; private Integer whetherHygieneFlag;

View File

@ -38,8 +38,8 @@ public class UserJobHandoverDO extends BaseDO {
//工作内容 //工作内容
@ApiModelProperty(value = "工作内容") @ApiModelProperty(value = "工作内容")
private String workContent; private String workContent;
//交接状态,10:关闭任务 //交接状态,1:关闭任务
@ApiModelProperty(value = "交接状态,10:关闭任务") @ApiModelProperty(value = "交接状态,1:关闭任务")
private Integer handoverStatus; private Integer handoverStatus;
//交接人企业id //交接人企业id
@ApiModelProperty(value = "交接人企业id") @ApiModelProperty(value = "交接人企业id")

View File

@ -23,5 +23,7 @@ public interface UserJobHandoverRepository extends BaseRepository<UserJobHandove
SingleResponse<UserJobHandoverDO> getInfoById(Long id); SingleResponse<UserJobHandoverDO> getInfoById(Long id);
List<UserJobHandoverDO> getListByChangerRecordId(String userChangeRecordId); List<UserJobHandoverDO> getListByChangerRecordId(String userChangeRecordId);
void processUserJobHandover(String userCorpRecordId);
} }

View File

@ -73,5 +73,7 @@ public interface UserRepository extends BaseRepository<UserDO> {
void saveUserXgf(UserDO d); void saveUserXgf(UserDO d);
PageResponse<UserDO> listXgf(Map<String, Object> params); PageResponse<UserDO> listXgf(Map<String, Object> params);
void sendResignationMq(Long userId, Long corpinfoId);
} }

View File

@ -81,6 +81,7 @@ public class UserCorpRepositoryImpl extends BaseRepositoryImpl<UserCorpMapper, U
userCorpMapper.updateById(userCorpDO); userCorpMapper.updateById(userCorpDO);
UserE userE = new UserE(); UserE userE = new UserE();
BeanUtils.copyProperties(userCorpDO, userE); BeanUtils.copyProperties(userCorpDO, userE);
userE.setId(userCorpDO.getUserId());
return userE; return userE;
} }

View File

@ -1,6 +1,8 @@
package com.zcloud.basic.info.persistence.repository.impl; package com.zcloud.basic.info.persistence.repository.impl;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.jjb.saas.framework.repository.common.PageHelper; import com.jjb.saas.framework.repository.common.PageHelper;
import com.zcloud.basic.info.domain.enums.UserJobStatusEnum;
import com.zcloud.basic.info.persistence.dataobject.UserJobHandoverDO; import com.zcloud.basic.info.persistence.dataobject.UserJobHandoverDO;
import com.zcloud.basic.info.persistence.mapper.UserJobHandoverMapper; import com.zcloud.basic.info.persistence.mapper.UserJobHandoverMapper;
import com.zcloud.basic.info.persistence.repository.UserJobHandoverRepository; import com.zcloud.basic.info.persistence.repository.UserJobHandoverRepository;
@ -61,5 +63,23 @@ public class UserJobHandoverRepositoryImpl extends BaseRepositoryImpl<UserJobHan
List<UserJobHandoverDO> result = userJobHandoverMapper.selectList(queryWrapper); List<UserJobHandoverDO> result = userJobHandoverMapper.selectList(queryWrapper);
return result; return result;
} }
@Override
public void processUserJobHandover(String userCorpRecordId) {
//根据user_change_record_id 修改状态
LambdaUpdateWrapper<UserJobHandoverDO> updateWrapper = new LambdaUpdateWrapper<>();
// 设置更新条件
updateWrapper.eq(UserJobHandoverDO::getUserChangeRecordId, userCorpRecordId);
updateWrapper.eq(UserJobHandoverDO::getHandoverStatus, UserJobStatusEnum.UNTREATED.getCode());
// 设置要更新的字段
updateWrapper.set(UserJobHandoverDO::getHandoverStatus, UserJobStatusEnum.CLOSE_TASK.getCode());
// 执行更新
userJobHandoverMapper.update(null, updateWrapper);
}
} }

View File

@ -1,6 +1,5 @@
package com.zcloud.basic.info.persistence.repository.impl; package com.zcloud.basic.info.persistence.repository.impl;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.Response;
@ -13,28 +12,29 @@ import com.jjb.saas.auth.client.account.facade.AccountFacade;
import com.jjb.saas.auth.client.account.request.AccountPasswordCheckCmd; import com.jjb.saas.auth.client.account.request.AccountPasswordCheckCmd;
import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext; import com.jjb.saas.framework.auth.utils.AuthContext;
import com.jjb.saas.framework.event.producer.RemoteEventPublisher;
import com.jjb.saas.framework.repository.common.PageHelper; import com.jjb.saas.framework.repository.common.PageHelper;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.jjb.saas.system.client.role.facade.RoleFacade; import com.jjb.saas.system.client.role.facade.RoleFacade;
import com.jjb.saas.system.client.role.response.RoleCO; import com.jjb.saas.system.client.role.response.RoleCO;
import com.jjb.saas.system.client.system.facade.SystemFacade;
import com.jjb.saas.system.client.tenant.facade.TenantFacade;
import com.jjb.saas.system.client.user.facade.UserFacade; import com.jjb.saas.system.client.user.facade.UserFacade;
import com.jjb.saas.system.client.user.request.*; import com.jjb.saas.system.client.user.request.*;
import com.zcloud.basic.info.domain.enums.UserFlowFlagEnum;
import com.zcloud.basic.info.domain.model.UserCorpE;
import com.zcloud.basic.info.domain.model.UserE; import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.persistence.dataobject.DepartmentLeaderStatictiscDO; import com.zcloud.basic.info.persistence.dataobject.DepartmentLeaderStatictiscDO;
import com.zcloud.basic.info.persistence.dataobject.UserDO; import com.zcloud.basic.info.persistence.dataobject.UserDO;
import com.zcloud.basic.info.persistence.mapper.UserMapper; import com.zcloud.basic.info.persistence.mapper.UserMapper;
import com.zcloud.basic.info.persistence.repository.UserRepository; import com.zcloud.basic.info.persistence.repository.UserRepository;
import com.zcloud.gbscommon.event.consttag.EventTagConst;
import com.zcloud.gbscommon.event.user.ZcUserResignation;
import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query; import com.zcloud.gbscommon.utils.Query;
import com.zcloud.gbscommon.utils.Tools; import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.gbscommon.utils.UuidUtil; import com.zcloud.gbscommon.utils.UuidUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
@ -53,6 +53,7 @@ import java.util.stream.Collectors;
*/ */
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j
public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> implements UserRepository { public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> implements UserRepository {
private final UserMapper userMapper; private final UserMapper userMapper;
@ -63,7 +64,8 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
@DubboReference(check = false) @DubboReference(check = false)
private AccountFacade accountFacade; private AccountFacade accountFacade;
@Autowired
private RemoteEventPublisher remoteEventPublisher;
@Override @Override
public PageResponse<UserDO> listPage(Map<String, Object> params) { public PageResponse<UserDO> listPage(Map<String, Object> params) {
IPage<UserDO> iPage = new Query<UserDO>().getPage(params); IPage<UserDO> iPage = new Query<UserDO>().getPage(params);
@ -408,5 +410,18 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
IPage<UserDO> result = userMapper.listXgf(iPage, params); IPage<UserDO> result = userMapper.listXgf(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords()); return PageHelper.pageToResponse(result, result.getRecords());
} }
@Override
public void sendResignationMq(Long userId, Long corpinfoId) {
try{
ZcUserResignation message = new ZcUserResignation();
message.setUserId(userId);
message.setCorpinfoId(corpinfoId);
remoteEventPublisher.sendMessage(message, EventTagConst.userResignationTag);
}catch (Exception e){
log.error("发送离职消息失败, userId: {}, corpinfoId: {}", userId, corpinfoId, e);
}
}
} }

View File

@ -22,6 +22,21 @@
<if test="params.likeCorpName != null and params.likeCorpName.trim() != ''"> <if test="params.likeCorpName != null and params.likeCorpName.trim() != ''">
AND c.corp_name like concat('%',#{params.likeCorpName},'%') AND c.corp_name like concat('%',#{params.likeCorpName},'%')
</if> </if>
<if test="params.eqProvince != null and params.eqProvince.trim() != ''">
AND c.province = #{params.eqProvince}
</if>
<if test="params.eqCity != null and params.eqCity.trim() != ''">
AND c.city = #{params.eqCity}
</if>
<if test="params.eqCountry != null and params.eqCountry.trim() != ''">
AND c.country = #{params.eqCountry}
</if>
<if test="params.eqStreet != null and params.eqStreet.trim() != ''">
AND c.street = #{params.eqStreet}
</if>
<if test="params.eqVillage != null and params.eqVillage.trim() != ''">
AND c.village = #{params.eqVillage}
</if>
group by c.id group by c.id
ORDER BY ORDER BY
c.corp_order ASC, c.corp_order ASC,