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

dev_xiangguanfang
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) {
@ -203,8 +216,10 @@ public class UserUpdateExe {
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) {
@ -257,10 +272,10 @@ public class UserUpdateExe {
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());
@ -351,5 +366,30 @@ public class UserUpdateExe {
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,