Commit 0217cff4 authored by 王亚雷's avatar 王亚雷

修复企业微信userId大小写导致user_info主键重复

parent 7d6de66c
......@@ -182,13 +182,13 @@ public class OrgSyncByWxcpJob {
for (WxCpUser wxCpUser : wxCpUserList) {
// key employee_id + '&' + role_id
String type = wxCpUser.getIsLeader() != null && wxCpUser.getIsLeader() == 1 ? RoleTypeEnum.TEAM.code : RoleTypeEnum.IFA.code;
hashMap.put(corpId + "_" + wxCpUser.getUserId() + "&" + roleMap.get(type), wxCpUser);
hashMap.put(corpId + "_" + StringUtils.lowerCase(wxCpUser.getUserId()) + "&" + roleMap.get(type), wxCpUser);
}
}
for (EmployeeRoleEntity employeeRole : employeeRoleList) {
String employeeId = employeeRole.getEmployeeId();
String roleId = employeeRole.getRoleId();
String key = employeeId + "&" + roleId;
String key = StringUtils.lowerCase(employeeId) + "&" + roleId;
WxCpUser wxCpUser = hashMap.get(key);
//删除
if (ObjectUtil.isNull(wxCpUser)) {
......@@ -202,8 +202,9 @@ public class OrgSyncByWxcpJob {
Map<String, List<EmployeeRoleEntity>> map = employeeRoleList.stream().collect(Collectors.groupingBy(EmployeeRoleEntity::getEmployeeId));
String adminRoleId = roleMap.get(RoleTypeEnum.ADMIN.code);
for (String key : hashMap.keySet()) {
WxCpUser wxCpUser = hashMap.get(key);
String employeeId = corpId + "_" + wxCpUser.getUserId();
String[] split = key.split("&");
String employeeId = split[0];
String roleId = split[1];
// 如果已经有一个admin的角色,那么就不要插入新的
List<EmployeeRoleEntity> roleList = map.get(employeeId);
......@@ -242,14 +243,14 @@ public class OrgSyncByWxcpJob {
List<WxCpUser> wxCpUserList = wxCpDepartDto.getWxCpUserList();
for (WxCpUser wxCpUser : wxCpUserList) {
// key department_id + '&' + employee_id
hashMap.put(orgId + "_" + wxCpDepartDto.getId() + "&" + corpId + "_" + wxCpUser.getUserId(), wxCpUser);
hashMap.put(orgId + "_" + wxCpDepartDto.getId() + "&" + corpId + "_" + StringUtils.lowerCase(wxCpUser.getUserId()), wxCpUser);
}
}
for (DepartmentEmployeeEntity departmentEmployee : departmentEmployeeList) {
String departmentId = departmentEmployee.getDepartmentId();
String employeeId = departmentEmployee.getEmployeeId();
String key = departmentId + "&" + employeeId;
String key = departmentId + "&" + StringUtils.lowerCase(employeeId);
WxCpUser wxCpUser = hashMap.get(key);
if (ObjectUtil.isNull(wxCpUser)) {
// 删除
......@@ -269,9 +270,8 @@ public class OrgSyncByWxcpJob {
String type = wxCpUser.getIsLeader() != null && wxCpUser.getIsLeader() == 1 ? EmployeeDutyEnum.DIRECTOR.code : EmployeeDutyEnum.STAFF.code;
String[] split = s.split("&");
String departmentId = split[0];
String employeeId = split[1];
DepartmentEmployeeEntity departmentEmployee = new DepartmentEmployeeEntity();
departmentEmployee.setEmployeeId(employeeId);
departmentEmployee.setEmployeeId(corpId + "_" + wxCpUser.getUserId());
departmentEmployee.setDepartmentId(departmentId);
departmentEmployee.setType(type);
departmentEmployee.setOrgId(orgId);
......@@ -375,13 +375,13 @@ public class OrgSyncByWxcpJob {
for (WxCpDepartDto wxCpDepartDto : wxCpDepartDtoList) {
List<WxCpUser> wxCpUserList = wxCpDepartDto.getWxCpUserList();
for (WxCpUser wxCpUser : wxCpUserList) {
hashMap.put(corpId + "_" + wxCpUser.getUserId(), wxCpUser);
hashMap.put(corpId + "_" + StringUtils.lowerCase(wxCpUser.getUserId()), wxCpUser);
}
}
// 计算 变化数据
for (EmployeeEntity employee : employeeList) {
String employeeId = employee.getEmployeeId();
String employeeId = StringUtils.lowerCase(employee.getEmployeeId());
WxCpUser wxCpUser = hashMap.get(employeeId);
//删除
if (ObjectUtil.isNull(wxCpUser)) {
......@@ -440,14 +440,14 @@ public class OrgSyncByWxcpJob {
for (WxCpDepartDto wxCpDepartDto : wxCpDepartDtoList) {
List<WxCpUser> wxCpUserList = wxCpDepartDto.getWxCpUserList();
for (WxCpUser wxCpUser : wxCpUserList) {
hashMap.put(corpId + "_" + wxCpUser.getUserId(), wxCpUser);
hashMap.put(corpId + "_" + StringUtils.lowerCase(wxCpUser.getUserId()), wxCpUser);
}
}
// 计算 变化数据
for (UserInfoEntity userInfo : userInfoList) {
String id = userInfo.getId();
String id = StringUtils.lowerCase(userInfo.getId());
WxCpUser wxCpUser = hashMap.get(id);
// 删除
if (ObjectUtil.isNull(wxCpUser)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment