Commit e3ca559e by 墨竹

feat:代码优化

parent 6ec813c3
......@@ -448,15 +448,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);
......@@ -465,27 +464,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());
......@@ -494,7 +493,7 @@ public class StaffApiServiceImpl implements StaffApiService {
departmentRelated.setUpdateTime(new Date());
staffDepartmentRelatedService.update(departmentRelated);
}
});
}
}
}
......
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