Commit f83c2091 by 墨竹

Merge branch 'master' into developer

parents 02d221a6 e3ca559e
......@@ -483,15 +483,14 @@ public class StaffApiServiceImpl implements StaffApiService {
if (CollectionUtils.isNotEmpty(hasRelation)) {
hasRelationMap = hasRelation.stream().collect(Collectors.toMap(TabHaobanStaffDepartmentRelated::getDepartmentId, tab -> tab));
}
Map<String, TabHaobanStaffDepartmentRelated> finalHasRelationMap = hasRelationMap;
TabHaobanStaff finalStaff = staff;
//新增操作
departmentDTOList.forEach(departmentDTO -> {
if (!finalHasRelationMap.containsKey(departmentDTO.getDepartmentId())) {
for (DepartmentDTO departmentDTO : departmentDTOList) {
if (!hasRelationMap.containsKey(departmentDTO.getDepartmentId())) {
StaffDepartmentRelatedDTO dto = new StaffDepartmentRelatedDTO();
dto.setPhoneNumber(staff.getPhoneNumber());
dto.setWxUserId(user.getUserid());
dto.setStaffId(finalStaff.getStaffId());
dto.setStaffId(staff.getStaffId());
dto.setStaffName(user.getName());
dto.setWxEnterpriseId(wxEnterpriseId);
dto.setStatusFlag(1);
......@@ -500,27 +499,27 @@ public class StaffApiServiceImpl implements StaffApiService {
dto.setStaffName(user.getName());
staffDepartmentRelatedService.add(dto);
}
});
}
//删除操作
Set<String> newDepartIds = departmentDTOList.stream().map(DepartmentDTO::getDepartmentId).collect(Collectors.toSet());
Set<String> hasDepartIds = hasRelationMap.keySet();
Sets.SetView<String> delDepartIds = Sets.difference(hasDepartIds, newDepartIds);
Sets.SetView<String> updateDepartIds = Sets.intersection(newDepartIds, hasDepartIds);//交集
logger.info("删除部门:{}", JSONObject.toJSONString(delDepartIds));
if (!delDepartIds.isEmpty()) {
delDepartIds.forEach(delDepartId -> {
TabHaobanStaffDepartmentRelated departmentRelated = finalHasRelationMap.get(delDepartId);
if (CollectionUtils.isNotEmpty(delDepartIds)) {
for (String delDepartId : delDepartIds) {
TabHaobanStaffDepartmentRelated departmentRelated = hasRelationMap.get(delDepartId);
if (null != departmentRelated) {
StaffDepartmentRelatedDTO relatedDTO = new StaffDepartmentRelatedDTO();
relatedDTO.setStaffDepartmentRelatedId(departmentRelated.getStaffDepartmentRelatedId());
staffDepartmentRelatedService.del(relatedDTO);
}
});
}
}
if (!updateDepartIds.isEmpty()) {
updateDepartIds.forEach(updateDeId -> {
TabHaobanStaffDepartmentRelated departmentRelated = finalHasRelationMap.get(updateDeId);
if (CollectionUtils.isNotEmpty(updateDepartIds)) {
for (String updateDeId : updateDepartIds) {
TabHaobanStaffDepartmentRelated departmentRelated = hasRelationMap.get(updateDeId);
if (null != departmentRelated) {
departmentRelated.setPhoneNumber(staff.getPhoneNumber());
departmentRelated.setStaffName(staff.getStaffName());
......@@ -529,7 +528,7 @@ public class StaffApiServiceImpl implements StaffApiService {
departmentRelated.setUpdateTime(new Date());
staffDepartmentRelatedService.update(departmentRelated);
}
});
}
}
}
......@@ -682,12 +681,6 @@ public class StaffApiServiceImpl implements StaffApiService {
if (staffDTO == null) {
return null;
}
if (StringUtils.isBlank(staffDTO.getPhoneNumber())) {
this.wxGetAdd(userId, wxEnterpriseId);
return EntityUtil.changeEntityByJSON(StaffDTO.class, staffService.selectByUserIdAndEnterpriseId(userId, wxEnterpriseId));
}
//todo 历史数据 相同的id需要删除 后续这个逻辑可以删除
//存在多条
List<String> userIds = new ArrayList<>();
userIds.add(userId);
......@@ -701,7 +694,6 @@ public class StaffApiServiceImpl implements StaffApiService {
staffService.delOtherStaffByWxUserId(staff.getWxUserId(), staff.getStaffId(), wxEnterpriseId);
}
staffDTO = EntityUtil.changeEntityByJSON(StaffDTO.class, staffService.selectByUserIdAndEnterpriseId(userId, wxEnterpriseId));
}
return staffDTO;
}
......
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