Commit 97469e75 authored by 吴泽佳's avatar 吴泽佳

补充 精业展业 数据合并逻辑

parent de5b9241
...@@ -13,9 +13,8 @@ import lombok.extern.slf4j.Slf4j; ...@@ -13,9 +13,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap; import java.util.function.Function;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
...@@ -36,10 +35,6 @@ public class OrgSyncByJyzyService { ...@@ -36,10 +35,6 @@ public class OrgSyncByJyzyService {
@Resource @Resource
private RoleService roleService; private RoleService roleService;
@Resource @Resource
private OrgSyncByWxcpService orgSyncByWxcpService;
@Resource
private IfaAssetsService ifaAssetsService;
@Resource
private JyzyOrgService jyzyOrgService; private JyzyOrgService jyzyOrgService;
@Resource @Resource
private JyzyTeamService jyzyTeamService; private JyzyTeamService jyzyTeamService;
...@@ -78,40 +73,198 @@ public class OrgSyncByJyzyService { ...@@ -78,40 +73,198 @@ public class OrgSyncByJyzyService {
log.info("======开始数据对比======"); log.info("======开始数据对比======");
HashMap<String, JyzyUserInfoEntity> jyzyUserInfoHashMap = new HashMap<>(); HashMap<String, JyzyUserInfoEntity> jyzyUserInfoHashMap = new HashMap<>();
jyzyTeamDtoList.forEach(jyzyTeamDto -> jyzyTeamDto.getJyzyUserInfos().forEach(jyzyUserInfo -> jyzyUserInfoHashMap.put(jyzyUserInfo.getId(), jyzyUserInfo))); jyzyTeamDtoList.forEach(jyzyTeamDto -> jyzyTeamDto.getJyzyUserInfos().forEach(jyzyUserInfo -> jyzyUserInfoHashMap.put(jyzyUserInfo.getId(), jyzyUserInfo)));
Map<String, String> infoNoAdmin = roleService.findInfoNoAdmin();
// 1 user_info // 1 user_info
List<UserInfoEntity> insertUserInfoList = new ArrayList<>(); List<UserInfoEntity> insertUserInfoList = new ArrayList<>();
List<UserInfoEntity> deleteUserInfoList = new ArrayList<>(); List<UserInfoEntity> deleteUserInfoList = new ArrayList<>();
List<UserInfoEntity> updateUserInfoList = new ArrayList<>(); List<UserInfoEntity> updateUserInfoList = new ArrayList<>();
// orgInfoDto.getUserInfoList().forEach(userInfo -> {
// JyzyUserInfo jyzyUserInfo = jyzyUserInfoHashMap.get(userInfo.getId()); orgInfoDto.getUserInfoList().forEach(userInfo -> {
// // 删除 JyzyUserInfoEntity jyzyUserInfo = jyzyUserInfoHashMap.get(userInfo.getId());
// if (ObjectUtil.isNull(jyzyUserInfo)) { // 删除
// deleteUserInfoList.add(userInfo); if (ObjectUtil.isNull(jyzyUserInfo)) {
// return; // 跳过当前循环 deleteUserInfoList.add(userInfo);
// } return; // 跳过当前循环
// // 更新 }
// if (!jyzyUserInfo.getMD5().equals(userInfo.getMD5())) { // 更新
// userInfo.updata(jyzyUserInfo); if (!jyzyUserInfo.getMD5().equals(userInfo.getMD5())) {
// updateUserInfoList.add(userInfo); userInfo.updata(jyzyUserInfo);
// } updateUserInfoList.add(userInfo);
// jyzyUserInfoHashMap.remove(userInfo.getId()); }
// }); jyzyUserInfoHashMap.remove(userInfo.getId());
// jyzyUserInfoHashMap.forEach((key, jyzyUserInfo) -> { });
// // 新增 jyzyUserInfoHashMap.forEach((key, jyzyUserInfo) -> {
// UserInfo userInfo = new UserInfo(jyzyUserInfo); // 新增
// insertUserInfoList.add(userInfo); UserInfoEntity userInfo = new UserInfoEntity(jyzyUserInfo);
// }); insertUserInfoList.add(userInfo);
workUserInfo.setDeleteList(deleteUserInfoList); });
List<EmployeeEntity> insertEmployeeList = new ArrayList<>();
List<EmployeeEntity> updateEmployeeList = new ArrayList<>();
List<EmployeeEntity> deleteEmployeeList = new ArrayList<>();
List<EmployeeRoleEntity> insertEmployeeRoleList = new ArrayList<>();
List<EmployeeRoleEntity> updateEmployeeRoleList = new ArrayList<>();
List<EmployeeRoleEntity> deleteEmployeeRoleList = new ArrayList<>();
List<DepartmentEmployeeEntity> insertDepartmentEmployeeList = new ArrayList<>();
List<DepartmentEmployeeEntity> updateDepartmentEmployeeList = new ArrayList<>();
List<DepartmentEmployeeEntity> deleteDepartmentEmployeeList = new ArrayList<>();
// 员工新增
insertUserInfoList.forEach(userInfoEntity -> {
// employee
EmployeeEntity employeeEntity = new EmployeeEntity(userInfoEntity);
employeeEntity.setOrgId(orgInfoDto.getOrgId());
insertEmployeeList.add(employeeEntity);
// employee_role
EmployeeRoleEntity employeeRoleEntity = new EmployeeRoleEntity();
employeeRoleEntity.setEmployeeId(userInfoEntity.getId());
employeeRoleEntity.setRoleId(infoNoAdmin.get("1".equals(userInfoEntity.getUiShenfen()) ? "d" : "s"));
employeeRoleEntity.setOrgId(orgInfoDto.getOrgId());
insertEmployeeRoleList.add(employeeRoleEntity);
// department_employee 在精业展业中 一个用户对应一个部门
DepartmentEmployeeEntity departmentEmployee = new DepartmentEmployeeEntity();
departmentEmployee.setEmployeeId(userInfoEntity.getId());
departmentEmployee.setDepartmentId(userInfoEntity.getTeamId());
departmentEmployee.setType("1".equals(userInfoEntity.getUiShenfen()) ? "d" : "s");
departmentEmployee.setOrgId(orgInfoDto.getOrgId());
insertDepartmentEmployeeList.add(departmentEmployee);
});
// 员工修改
updateUserInfoList.forEach(userInfoEntity -> {
// employee
Optional<EmployeeEntity> employeeEntityOptional = orgInfoDto.getEmployeeList().stream().filter(employee -> employee.getEmployeeId().equals(userInfoEntity.getId())).findFirst();
if (employeeEntityOptional.isPresent()) {
EmployeeEntity employeeEntity = employeeEntityOptional.get();
employeeEntity.setName(userInfoEntity.getUiUsername());
employeeEntity.setPhone(userInfoEntity.getUiTelphone());
employeeEntity.setMail(userInfoEntity.getUiEmailMp());
employeeEntity.setNumber(userInfoEntity.getStaffNo());
updateEmployeeList.add(employeeEntity);
}
// employee_role
Optional<EmployeeRoleEntity> employeeRoleEntityOptional = orgInfoDto.getEmployeeRoleList().stream().filter(employeeRole -> employeeRole.getEmployeeId().equals(userInfoEntity.getId())).findFirst();
if (employeeRoleEntityOptional.isPresent()) {
EmployeeRoleEntity employeeRoleEntity = employeeRoleEntityOptional.get();
String role = "1".equals(userInfoEntity.getUiShenfen()) ? "d" : "s";
if (!infoNoAdmin.get(role).equals(employeeRoleEntity.getRoleId())) {
employeeRoleEntity.setRoleId(infoNoAdmin.get(role));
updateEmployeeRoleList.add(employeeRoleEntity);
}
}
// department_employee
Optional<DepartmentEmployeeEntity> departmentEmployeeEntityOptional = orgInfoDto.getDepartmentEmployeeList().stream().filter(departmentEmployee -> departmentEmployee.getEmployeeId().equals(userInfoEntity.getId())).findFirst();
if (departmentEmployeeEntityOptional.isPresent()) {
DepartmentEmployeeEntity departmentEmployeeEntity = departmentEmployeeEntityOptional.get();
if (!userInfoEntity.getTeamId().equals(departmentEmployeeEntity.getDepartmentId())) {
departmentEmployeeEntity.setDepartmentId(userInfoEntity.getTeamId());
updateDepartmentEmployeeList.add(departmentEmployeeEntity);
}
}
});
// 员工删除
deleteUserInfoList.forEach(userInfoEntity -> {
// employee
Optional<EmployeeEntity> employeeEntityOptional = orgInfoDto.getEmployeeList().stream().filter(employee -> employee.getEmployeeId().equals(userInfoEntity.getId())).findFirst();
if (employeeEntityOptional.isPresent()) {
EmployeeEntity employeeEntity = employeeEntityOptional.get();
deleteEmployeeList.add(employeeEntity);
}
// employee_role
Optional<EmployeeRoleEntity> employeeRoleEntityOptional = orgInfoDto.getEmployeeRoleList().stream().filter(employeeRole -> employeeRole.getEmployeeId().equals(userInfoEntity.getId())).findFirst();
if (employeeRoleEntityOptional.isPresent()) {
EmployeeRoleEntity employeeRoleEntity = employeeRoleEntityOptional.get();
deleteEmployeeRoleList.add(employeeRoleEntity);
}
// department_employee
Optional<DepartmentEmployeeEntity> departmentEmployeeEntityOptional = orgInfoDto.getDepartmentEmployeeList().stream().filter(departmentEmployee -> departmentEmployee.getEmployeeId().equals(userInfoEntity.getId())).findFirst();
if (departmentEmployeeEntityOptional.isPresent()) {
DepartmentEmployeeEntity departmentEmployeeEntity = departmentEmployeeEntityOptional.get();
deleteDepartmentEmployeeList.add(departmentEmployeeEntity);
}
});
workUserInfo.setInsertList(insertUserInfoList); workUserInfo.setInsertList(insertUserInfoList);
workUserInfo.setUpdateList(updateUserInfoList); workUserInfo.setUpdateList(updateUserInfoList);
workUserInfo.setDeleteList(deleteUserInfoList);
workEmployee.setInsertList(insertEmployeeList);
workEmployee.setUpdateList(updateEmployeeList);
workEmployee.setDeleteList(deleteEmployeeList);
workDepartmentEmployee.setInsertList(insertDepartmentEmployeeList);
workDepartmentEmployee.setUpdateList(updateDepartmentEmployeeList);
workDepartmentEmployee.setDeleteList(deleteDepartmentEmployeeList);
workEmployeeRole.setInsertList(insertEmployeeRoleList);
workEmployeeRole.setUpdateList(updateEmployeeRoleList);
workEmployeeRole.setDeleteList(deleteEmployeeRoleList);
// 部门
List<DepartmentEntity> insertDepartmentList = new ArrayList<>();
List<DepartmentEntity> updateDepartmentList = new ArrayList<>();
List<DepartmentEntity> deleteDepartmentList = new ArrayList<>();
Map<String, JyzyTeamEntity> jyzyTeamEntityMap = jyzyTeamDtoList.stream().collect(Collectors.toMap(jyzyTeamDto -> jyzyTeamDto.getJyzyTeam().getId(), JyzyTeamDto::getJyzyTeam));
orgInfoDto.getDepartmentList().forEach(departmentEntity -> {
JyzyTeamEntity jyzyTeamEntity = jyzyTeamEntityMap.get(departmentEntity.getDepartmentId());
// 删除
if (ObjectUtil.isNull(jyzyTeamEntity)) {
deleteDepartmentList.add(departmentEntity);
return;
}
// 更新
if (!departmentEntity.getDepartmentName().equals(jyzyTeamEntity.getTeamName()) || !departmentEntity.getParentDepartId().equals(jyzyTeamEntity.getPId())
|| !departmentEntity.getMembers().equals(jyzyTeamEntity.getTeamPersonNum())) {
departmentEntity.setDepartmentName(jyzyTeamEntity.getTeamName());
departmentEntity.setParentDepartId(jyzyTeamEntity.getPId());
departmentEntity.setMembers(jyzyTeamEntity.getTeamPersonNum());
updateDepartmentList.add(departmentEntity);
}
jyzyTeamEntityMap.remove(departmentEntity.getDepartmentId());
});
// 新增
jyzyTeamEntityMap.forEach((id, jyzyTeamEntity) -> {
DepartmentEntity department = new DepartmentEntity();
department.setDepartmentId(id);
department.setParentDepartId(jyzyTeamEntity.getPId());
department.setDepartmentName(jyzyTeamEntity.getTeamName());
int length = jyzyTeamEntity.getFullPathId().split("/").length;
department.setLevel(length - 1);
department.setMembers(jyzyTeamEntity.getTeamPersonNum());
department.setOrgId(orgInfoDto.getOrgId());
insertDepartmentList.add(department);
});
workDepartment.setInsertList(insertDepartmentList);
workDepartment.setUpdateList(updateDepartmentList);
workDepartment.setDeleteList(deleteDepartmentList);
log.info("======结束数据对比======"); log.info("======结束数据对比======");
} }
/** /**
* @description: 根据理财师机构版的机构code 获取其的 机构及用户信息列表 * @description: 根据理财师机构版的机构code 获取其的 机构及用户信息列表
* @Author: zejia zj wu * @Author: zejia zj wu
* @date: 2021/5/27 3:13 下午 * @date: 2021/5/27 3:13 下午
*/ */
private OrgInfoDto getOrgInfoByFeoOrgCode(String feoOrgCode) throws Exception { private OrgInfoDto getOrgInfoByFeoOrgCode(String feoOrgCode) throws Exception {
OrgInfoDto.OrgInfoDtoBuilder orgInfoDtoBuilder = OrgInfoDto.builder(); OrgInfoDto.OrgInfoDtoBuilder orgInfoDtoBuilder = OrgInfoDto.builder();
try { try {
...@@ -146,10 +299,10 @@ public class OrgSyncByJyzyService { ...@@ -146,10 +299,10 @@ public class OrgSyncByJyzyService {
} }
/** /**
* @description: 根据精业展业的机构code 获取精业展业的 机构及人员信息列表 * @description: 根据精业展业的机构code 获取精业展业的 机构及人员信息列表
* @Author: zejia zj wu * @Author: zejia zj wu
* @date: 2021/5/27 3:12 下午 * @date: 2021/5/27 3:12 下午
*/ */
private List<JyzyTeamDto> getJyzyTeamByOrgCode(String jyzyOrgCode) throws Exception { private List<JyzyTeamDto> getJyzyTeamByOrgCode(String jyzyOrgCode) throws Exception {
try { try {
// 1 根据orgcode 获取机构信息 // 1 根据orgcode 获取机构信息
......
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