From ccb520416fce9c2586e715ca528cb0c6ebccf22a Mon Sep 17 00:00:00 2001 From: SondonYong Date: Fri, 5 Dec 2025 17:35:02 +0800 Subject: [PATCH] =?UTF-8?q?dev:=E4=BA=BA=E8=B5=84=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/info/plan/DockingRZUserPlanJob.java | 36 ++---- .../info/web/RzUserRecordController.java | 20 +++ .../info/command/RzUserRecordAddExe.java | 120 ++++++++++++++++++ .../zcloud/basic/info/dto/AppUserInfoCmd.java | 4 + .../info/dto/clientobject/RzUserRecordCO.java | 3 + .../basic/info/dto/clientobject/UserCO.java | 5 +- .../domain/enums/UserEmploymentFlagEnum.java | 15 +++ .../info/domain/enums/UserRZFlagEnum.java | 23 ++++ .../basic/info/domain/model/RzUserE.java | 16 +++ .../info/domain/model/RzUserRecordE.java | 4 +- .../info/domain/model/UserChangeRecordE.java | 29 +++++ .../zcloud/basic/info/domain/model/UserE.java | 11 ++ .../dataobject/RzUserRecordDO.java | 4 +- .../info/persistence/dataobject/UserDO.java | 2 + .../repository/RzUserRecordRepository.java | 2 + .../repository/RzUserRepository.java | 3 + .../repository/UserRepository.java | 2 + .../impl/RzUserRecordRepositoryImpl.java | 5 + .../repository/impl/RzUserRepositoryImpl.java | 8 ++ .../repository/impl/UserRepositoryImpl.java | 8 ++ 20 files changed, 290 insertions(+), 30 deletions(-) create mode 100644 web-domain/src/main/java/com/zcloud/basic/info/domain/enums/UserRZFlagEnum.java diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/plan/DockingRZUserPlanJob.java b/web-adapter/src/main/java/com/zcloud/basic/info/plan/DockingRZUserPlanJob.java index a60e104..b3caa41 100644 --- a/web-adapter/src/main/java/com/zcloud/basic/info/plan/DockingRZUserPlanJob.java +++ b/web-adapter/src/main/java/com/zcloud/basic/info/plan/DockingRZUserPlanJob.java @@ -9,12 +9,14 @@ import com.alibaba.cloud.commons.lang.StringUtils; import com.jjb.saas.framework.job.Job; import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.context.XxlJobHelper; +import com.zcloud.basic.info.command.RzUserRecordAddExe; import com.zcloud.gbscommon.utils.Tools; import com.zcloud.gbscommon.utils.UuidUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -27,6 +29,8 @@ public class DockingRZUserPlanJob implements Job { private static final String BASE_URL = "http://192.168.10.56:8090"; + @Resource + private final RzUserRecordAddExe rzUserRecordAddExe; // @JobRegister(cron = "0 30 0 * * ?", jobDesc = "超期未检查记录",triggerStatus = 1) // @XxlJob("com.zcloud.zcGbsServicer.plan.CheckRecordPlanJob") @@ -69,35 +73,13 @@ public class DockingRZUserPlanJob implements Job { // @XxlJob("com.zcloud.zcGbsServicer.plan.CheckRecordPlanJob") public ReturnT executeChange(String param) { System.out.println("开始执行计划任务"); - XxlJobHelper.log( "============定时获取人资人员信息开始=========="); - // 获取总页数 - Integer userInfoCount = getUserInfoCount(); - // 定义每页大小 - int pageSize = 200; - // 计算总页数 - int totalPages = (int) Math.ceil((double) userInfoCount / pageSize); + XxlJobHelper.log( "============定时获取人资变动信息开始=========="); - for (int pageNum = 1; pageNum <= totalPages; pageNum++) { - try { - XxlJobHelper.log("正在获取第 " + pageNum + "/" + totalPages + " 页数据..."); + JSONArray userChangeInfo = getUserChangeInfo(); + // 处理数据 + rzUserRecordAddExe.executeJsonArray(userChangeInfo); - // 调用接口 - getUserInfo(pageNum, pageSize); - - XxlJobHelper.log("第 " + pageNum + " 页数据获取成功"); - - // 可选:添加延时,避免请求过快 - if (pageNum < totalPages) { - Thread.sleep(1000); // 1000毫秒间隔 - } - - } catch (Exception e) { - XxlJobHelper.log("第 " + pageNum + " 页获取失败: " + e.getMessage()); - // 可以选择继续执行下一页,或者中断 - // break; // 如果需要失败就停止 - } - } - XxlJobHelper.log( "============定时获取人资人员信息结束=========="); + XxlJobHelper.log( "============定时获取人资变动信息结束=========="); return ReturnT.SUCCESS; } diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/web/RzUserRecordController.java b/web-adapter/src/main/java/com/zcloud/basic/info/web/RzUserRecordController.java index fd703a6..796e674 100644 --- a/web-adapter/src/main/java/com/zcloud/basic/info/web/RzUserRecordController.java +++ b/web-adapter/src/main/java/com/zcloud/basic/info/web/RzUserRecordController.java @@ -1,7 +1,9 @@ package com.zcloud.basic.info.web; +import cn.hutool.json.JSONArray; import com.zcloud.basic.info.api.RzUserRecordServiceI; +import com.zcloud.basic.info.command.RzUserRecordAddExe; import com.zcloud.basic.info.dto.RzUserRecordAddCmd; import com.zcloud.basic.info.dto.RzUserRecordPageQry; import com.zcloud.basic.info.dto.RzUserRecordListQry; @@ -14,6 +16,7 @@ import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.SingleResponse; import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.basic.info.plan.DockingRZUserPlanJob; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -34,6 +37,23 @@ import java.util.ArrayList; @AllArgsConstructor public class RzUserRecordController { private final RzUserRecordServiceI rzUserRecordService; + private final RzUserRecordAddExe rzUserRecordAddExe; + + private final DockingRZUserPlanJob dockingRZPlanJob; + @ApiOperation("手动调用获取人资变动信息定时") + @PostMapping("/dockingRZChange") + public Response dockingRZChange(){ + dockingRZPlanJob.executeChange(""); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("手动模拟拉取人资变动信息定时") + @PostMapping("/getRZChange") + public Response getRZChange(@RequestBody JSONArray jsonArray){ + rzUserRecordAddExe.executeJsonArray(jsonArray); + return SingleResponse.buildSuccess(); + } + @ApiOperation("新增") @PostMapping("/save") diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/RzUserRecordAddExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/RzUserRecordAddExe.java index 86a8ae0..892805b 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/RzUserRecordAddExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/RzUserRecordAddExe.java @@ -1,14 +1,32 @@ package com.zcloud.basic.info.command; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import com.zcloud.basic.info.domain.enums.UserEmploymentFlagEnum; +import com.zcloud.basic.info.domain.enums.UserRZFlagEnum; +import com.zcloud.basic.info.domain.gateway.RzUserGateway; import com.zcloud.basic.info.domain.gateway.RzUserRecordGateway; +import com.zcloud.basic.info.domain.gateway.UserChangeRecordGateway; +import com.zcloud.basic.info.domain.gateway.UserGateway; +import com.zcloud.basic.info.domain.model.RzUserE; import com.zcloud.basic.info.domain.model.RzUserRecordE; +import com.zcloud.basic.info.domain.model.UserChangeRecordE; +import com.zcloud.basic.info.domain.model.UserE; import com.zcloud.basic.info.dto.RzUserRecordAddCmd; import com.alibaba.cola.exception.BizException; +import com.zcloud.basic.info.persistence.dataobject.*; +import com.zcloud.basic.info.persistence.repository.*; +import com.zcloud.gbscommon.utils.UuidUtil; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; +import java.util.List; + /** * web-app @@ -20,6 +38,15 @@ import org.springframework.transaction.annotation.Transactional; @AllArgsConstructor public class RzUserRecordAddExe { private final RzUserRecordGateway rzUserRecordGateway; + private final RzUserRecordRepository rzUserRecordRepository; + private final RzUserRepository rzUserRepository; + private final RzUserGateway rzUserGateway; + private final UserRepository userRepository; + private final UserGateway userGateway; + private final CorpInfoRepository corpInfoRepository; + private final DepartmentRepository departmentRepository; + private final UserChangeRecordRepository userChangeRecordRepository; + private final UserChangeRecordGateway userChangeRecordGateway; @Transactional(rollbackFor = Exception.class) public boolean execute(RzUserRecordAddCmd cmd) { @@ -36,5 +63,98 @@ public class RzUserRecordAddExe { } return true; } + + + @Transactional(rollbackFor = Exception.class) + public boolean executeJsonArray(JSONArray jsonArray) { + + if(jsonArray == null){ + return false; + } + + List rzUserRecordEList = new ArrayList<>(); + for (Object o : jsonArray) { + JSONObject json = new JSONObject(o); + RzUserRecordE rzUserRecordE = new RzUserRecordE(); + rzUserRecordE.setEmployeeName(json.getStr("employee_name")); + rzUserRecordE.setEmployeeGender(json.getStr("employee_gender")); + rzUserRecordE.setEmployeeAge(json.getStr("employee_age")); + rzUserRecordE.setEntryTime(json.getStr("entry_time")); + rzUserRecordE.setEmployeeStatus(json.getStr("employee_status")); + rzUserRecordE.setJobName(json.getStr("job_name")); + rzUserRecordE.setJobLevel(json.getStr("job_level")); + rzUserRecordE.setDeptName(json.getStr("dept_name")); + rzUserRecordE.setDeptCode(json.getStr("dept_code")); + rzUserRecordE.setPhoneNumber(json.getStr("phone_number")); + rzUserRecordE.setIdCardNumber(json.getStr("id_card_number")); + rzUserRecordE.setEmployeeImagesCode(json.getStr("employee_images_code")); + rzUserRecordE.setCorporationCode(json.getStr("corporation_code")); + rzUserRecordE.setCorporationName(json.getStr("corporation_name")); + rzUserRecordEList.add(rzUserRecordE); + + + /** + * 通过手机号和身份证号来判断人资人员表是否有数据, + * 如果没有则插入, + * 如果有, 则更新人资人员表数据 + * + * 同时判断统一用户管理是否有这个人, 如果有, 则将是否存在人资状态改为:是 + * 同时将状态改为2-信息变更中 + * 如果没有, 则给这个人创建个账号 + * + * 插入人员变动记录表 + */ + // 人资 + RzUserDO rzUserDO = rzUserRepository.getByPhoneAndIdCardNumber(rzUserRecordE.getPhoneNumber(), rzUserRecordE.getIdCardNumber()); + if(rzUserDO == null){ + RzUserE rzUserE = new RzUserE(); + rzUserE.initByRzUserRecord(rzUserRecordE); + rzUserGateway.add(rzUserE); + }else { + RzUserE rzUserE = new RzUserE(); + rzUserE.initByRzUserRecord(rzUserRecordE); + rzUserE.setId(rzUserDO.getId()); + rzUserGateway.update(rzUserE); + } + + // 统一用户管理 + UserDO userDO = userRepository.getByPhoneAndIdCard(rzUserRecordE.getPhoneNumber(), rzUserRecordE.getIdCardNumber()); + if(userDO != null){ + userDO.setRzFlag(UserRZFlagEnum.YES.getCode()); + userDO.setEmploymentFlag(UserEmploymentFlagEnum.INFO_CHANGE.getCode()); + UserE userE = new UserE(); + BeanUtils.copyProperties(userDO, userE); + userGateway.update(userE); + // 查询企业名称和部门名称 + CorpInfoDO corpInfoDO = corpInfoRepository.getById(userE.getCorpinfoId()); + DepartmentDO departmentDO = departmentRepository.getById(userE.getDepartmentId()); + // 变更记录表 + UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); + userChangeRecordE.initUserAddFromRZ(userE, rzUserRecordE, userE.getId(), corpInfoDO.getCorpName(), departmentDO.getName()); + userChangeRecordGateway.add(userChangeRecordE); + }else { + // todo 创建新用户 + UserE userE = new UserE(); + CorpInfoDO corpInfo = corpInfoRepository.getCorpInfoByCorpName("冬泳分公司账号"); + userE.initFromRZ(corpInfo.getId(), rzUserRecordE); + userE.setUserId(UuidUtil.get32UUID()); + userGateway.add(userE); + + // 变更记录表 + UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); + userChangeRecordE.initUserAddFromRZ(userE, rzUserRecordE, userE.getId(), null, null); + userChangeRecordGateway.add(userChangeRecordE); + } + + } + + if(CollUtil.isNotEmpty(rzUserRecordEList)){ + rzUserRecordRepository.addBatch(BeanUtil.copyToList(rzUserRecordEList, RzUserRecordDO.class)); + } + + return true; + } + + } diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/AppUserInfoCmd.java b/web-client/src/main/java/com/zcloud/basic/info/dto/AppUserInfoCmd.java index ca0f546..65c7d25 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/dto/AppUserInfoCmd.java +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/AppUserInfoCmd.java @@ -26,6 +26,10 @@ public class AppUserInfoCmd extends Command { @NotNull(message = "主键id不能为空") private Long id; + @ApiModelProperty(value = "业务主键id", name = "userId", required = true) + @NotNull(message = "业务主键id不能为空") + private String userId; + @ApiModelProperty(value = "人脸照片url", name = "userAvatarUrl", required = true) @NotEmpty(message = "人脸照片url不能为空") private String userAvatarUrl; diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/RzUserRecordCO.java b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/RzUserRecordCO.java index d38e242..938700b 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/RzUserRecordCO.java +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/RzUserRecordCO.java @@ -44,6 +44,9 @@ public class RzUserRecordCO extends ClientObject { //工作级别 @ApiModelProperty(value = "工作级别") private String jobLevel; + //工作级别 + @ApiModelProperty(value = "职务") + private String jobName; //部门名称 @ApiModelProperty(value = "部门名称") private String deptName; diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/UserCO.java b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/UserCO.java index 5e8e663..798fb9d 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/UserCO.java +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/UserCO.java @@ -102,6 +102,9 @@ public class UserCO extends ClientObject { //人员在部门中的排序 @ApiModelProperty(value = "人员在部门中的排序") private Integer sort; + @ApiModelProperty(value = "是否存在人资系统, 1-存在, 0-不存在") + private Integer rzFlag; + //乐观锁 @ApiModelProperty(value = "乐观锁") private Integer version; @@ -169,7 +172,7 @@ public class UserCO extends ClientObject { private String mappingPostName; private String mappingDeptName; // 入职状态 - @ApiModelProperty(value = "入职状态 1-在职 0-离职") + @ApiModelProperty(value = "入职状态 入职状态,0-离职, 1-在职, 2-信息变更中, 3-未入职, 4-实习生, 5-实习结束, 6-退休, 7-劳务派遣, 8-劳务派遣结束, 11-入职待审核, 10-离职待审核") private Integer employmentFlag; // 入职状态 @ApiModelProperty(value = "是否流动人员,1-流动,0-固定人员") diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/UserEmploymentFlagEnum.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/UserEmploymentFlagEnum.java index cf5f092..bb6080f 100644 --- a/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/UserEmploymentFlagEnum.java +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/UserEmploymentFlagEnum.java @@ -15,6 +15,11 @@ public enum UserEmploymentFlagEnum { ON(1, "在职"), INFO_CHANGE(2, "信息变更中"), NOT_ON(3, "未入职"), + INTERN(4, "实习生"), + INTERNSHIP_ENDED(5, "实习结束"), + RETIREMENT(6, "退休"), + LABOR_DISPATCH(7, "劳务派遣"), + END_OF_LABOR_DISPATCH(8, "劳务派遣结束"), ENTRY_AUDIT(11, "入职待审核"), RESIGNATION_AUDIT(10, "离职待审核"), // REJECT(12, "驳回"), @@ -35,4 +40,14 @@ public enum UserEmploymentFlagEnum { } return null; } + + //根据枚举获取code + public static UserEmploymentFlagEnum getByDesc(String desc) { + for (UserEmploymentFlagEnum item : values()) { + if (item.getDesc().equals(desc)) { + return item; + } + } + return null; + } } diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/UserRZFlagEnum.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/UserRZFlagEnum.java new file mode 100644 index 0000000..9e1f4dc --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/UserRZFlagEnum.java @@ -0,0 +1,23 @@ +package com.zcloud.basic.info.domain.enums; + +import lombok.Getter; + +/** + * 是否存在人资系统, 1-是, 0-否 + */ +@Getter +public enum UserRZFlagEnum { + /** + * 枚举值 + */ + NO(0, "否"), + YES(1, "是"), + ; + private final Integer code; + private final String desc; + + UserRZFlagEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } +} diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/RzUserE.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/RzUserE.java index 8b2c283..335eebe 100644 --- a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/RzUserE.java +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/RzUserE.java @@ -53,5 +53,21 @@ public class RzUserE extends BaseE { private String isConfirm; //确认状态(0:未确认,1:自动确认,2:用户手动确认) private String confirmStatus; + + public void initByRzUserRecord(RzUserRecordE rzUserRecordE){ + this.setEmployeeName(rzUserRecordE.getEmployeeName()); + this.setEmployeeGender(rzUserRecordE.getEmployeeGender()); + this.setEmployeeAge(Integer.valueOf(rzUserRecordE.getEmployeeAge())); + this.setEntryTime(rzUserRecordE.getEntryTime()); + this.setEmployeeStatus(rzUserRecordE.getEmployeeStatus()); + this.setJobName(rzUserRecordE.getJobName()); + this.setJobLevel(rzUserRecordE.getJobLevel()); + this.setDeptName(rzUserRecordE.getDeptName()); + this.setDeptCode(rzUserRecordE.getDeptCode()); + this.setPhoneNumber(rzUserRecordE.getPhoneNumber()); + this.setIdCardNumber(rzUserRecordE.getIdCardNumber()); + this.setCorporationName(rzUserRecordE.getCorporationName()); + this.setCorporationCode(rzUserRecordE.getCorporationCode()); + } } diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/RzUserRecordE.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/RzUserRecordE.java index 9a41bdf..3a88d27 100644 --- a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/RzUserRecordE.java +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/RzUserRecordE.java @@ -1,6 +1,7 @@ package com.zcloud.basic.info.domain.model; import com.jjb.saas.framework.domain.model.BaseE; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -26,11 +27,12 @@ public class RzUserRecordE extends BaseE { //年龄 private String employeeAge; //入职时间 - private Date entryTime; + private String entryTime; //人员状态 private String employeeStatus; //工作级别 private String jobLevel; + private String jobName; //部门名称 private String deptName; //部门编码 diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserChangeRecordE.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserChangeRecordE.java index a3e00a8..05a9d92 100644 --- a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserChangeRecordE.java +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserChangeRecordE.java @@ -83,6 +83,35 @@ public class UserChangeRecordE extends BaseE { this.setStatus(UserChangeRecordStatusEnum.PENDING.getCode()); } + public void initUserAddFromRZ(UserE userE, RzUserRecordE rzUserRecordE, Long userId, String corpinfoName, String departmentName) { + this.setUserId(userId); + this.setChangeTime(new Date()); + + this.setCorpinfoIdBefore(null); + this.setCorpinfoNameBefore(corpinfoName); + this.setDepartmentIdBefore(null); + this.setDepartmentNameBefore(departmentName); + this.setPostIdBefore(null); + this.setPostNameBefore(null); + // corpinfoName == null是新增的时候, != null是修改 + if(corpinfoName == null){ + this.setUserStatusBefore(null); + }else { + this.setUserStatusBefore(userE.getEmploymentFlag()); + } + + + this.setCorpinfoIdAfter(null); + this.setCorpinfoNameAfter(rzUserRecordE.getCorporationName()); + this.setDepartmentIdAfter(null); + this.setDepartmentNameAfter(rzUserRecordE.getDeptName()); + this.setPostIdAfter(null); + this.setPostNameAfter(null); + this.setUserStatusAfter(UserEmploymentFlagEnum.getByDesc(rzUserRecordE.getEmployeeStatus()).getCode()); + + this.setStatus(UserChangeRecordStatusEnum.APPROVED.getCode()); + } + public void initUserUpdate(UserE userE, UserE oldUserE, String corpName, String name) { this.setUserId(userE.getId()); this.setChangeTime(new Date()); diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java index c87e044..e428e2c 100644 --- a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java @@ -138,6 +138,7 @@ public class UserE extends BaseE { private Integer employmentFlag; // 入职状态 private Integer flowFlag; + private Integer rzFlag; // 父级租户id private final Long parentTenantId = 1989259383784415232L; // 默认密码 @@ -165,6 +166,16 @@ public class UserE extends BaseE { userE.setPassword(defaultPassword); } + public void initFromRZ(Long corpinfoId, RzUserRecordE rzUserRecordE){ + this.setCorpinfoId(corpinfoId); + this.setDepartmentId(corpinfoId); + this.setName(rzUserRecordE.getEmployeeName()); + this.setPhone(rzUserRecordE.getPhoneNumber()); + this.setUsername(rzUserRecordE.getPhoneNumber()); + this.setRoleId(1994326788804837377L); + this.setUserIdCard(rzUserRecordE.getIdCardNumber()); + } + /** * 校验密码是否相同, 并且是否符合规范 */ diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/RzUserRecordDO.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/RzUserRecordDO.java index 5522663..301bb30 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/RzUserRecordDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/RzUserRecordDO.java @@ -37,13 +37,15 @@ public class RzUserRecordDO extends BaseDO { private String employeeAge; //入职时间 @ApiModelProperty(value = "入职时间") - private Date entryTime; + private String entryTime; //人员状态 @ApiModelProperty(value = "人员状态") private String employeeStatus; //工作级别 @ApiModelProperty(value = "工作级别") private String jobLevel; + @ApiModelProperty(value = "职务") + private String jobName; //部门名称 @ApiModelProperty(value = "部门名称") private String deptName; diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/UserDO.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/UserDO.java index 991475a..22f6fd3 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/UserDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/UserDO.java @@ -125,6 +125,8 @@ public class UserDO extends BaseDO { // 入职状态 @ApiModelProperty(value = "是否流动人员,1-流动,0-固定人员") private Integer flowFlag; + @ApiModelProperty(value = "是否存在人资系统, 1-存在, 0-不存在") + private Integer rzFlag; //用户所属企业id @TableField(exist = false) private String userCorpId; diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/RzUserRecordRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/RzUserRecordRepository.java index ec57989..fb9dd52 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/RzUserRecordRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/RzUserRecordRepository.java @@ -21,5 +21,7 @@ public interface RzUserRecordRepository extends BaseRepository { List list(Map params); SingleResponse getInfoById(Long id); + + void addBatch(List rzUserRecordDOList); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/RzUserRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/RzUserRepository.java index 7d77d94..e1c50b7 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/RzUserRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/RzUserRepository.java @@ -21,5 +21,8 @@ public interface RzUserRepository extends BaseRepository { List list(Map params); SingleResponse getInfoById(Long id); + + RzUserDO getByPhoneAndIdCardNumber(String phone, String idCardNumber); + } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java index 027e3ea..603dc46 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java @@ -78,5 +78,7 @@ public interface UserRepository extends BaseRepository { UserDO getByPhone(String phone); + + UserDO getByPhoneAndIdCard(String phone, String idCardNumber); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/RzUserRecordRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/RzUserRecordRepositoryImpl.java index f6dfc2c..df24216 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/RzUserRecordRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/RzUserRecordRepositoryImpl.java @@ -51,5 +51,10 @@ public class RzUserRecordRepositoryImpl extends BaseRepositoryImpl getInfoById(Long id) { return SingleResponse.of(rzUserRecordMapper.selectById(id)); } + + @Override + public void addBatch(List rzUserRecordDOList) { + this.saveBatch(rzUserRecordDOList); + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/RzUserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/RzUserRepositoryImpl.java index ccd7f81..1053193 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/RzUserRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/RzUserRepositoryImpl.java @@ -51,5 +51,13 @@ public class RzUserRepositoryImpl extends BaseRepositoryImpl getInfoById(Long id) { return SingleResponse.of(rzUserMapper.selectById(id)); } + + @Override + public RzUserDO getByPhoneAndIdCardNumber(String phone, String idCardNumber) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("phone_number", phone); + queryWrapper.eq("id_card_number", idCardNumber); + return this.getOne(queryWrapper); + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java index 2e4c4af..22c84db 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java @@ -436,5 +436,13 @@ public class UserRepositoryImpl extends BaseRepositoryImpl i queryWrapper.eq("phone", phone); return getOne(queryWrapper); } + + @Override + public UserDO getByPhoneAndIdCard(String phone, String idCardNumber) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("phone", phone); + queryWrapper.eq("user_id_card", idCardNumber); + return getOne(queryWrapper); + } }