package com.chinaztt.mes.aps.service.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chinaztt.mes.aps.entity.ApsResourceGroup; import com.chinaztt.mes.aps.entity.ApsResourceRelation; import com.chinaztt.mes.aps.mapper.ApsResourceRelationMapper; import com.chinaztt.mes.aps.service.ApsResourceRelationService; import org.springframework.transaction.annotation.Transactional; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; /** * @author ZTT */ @Service @AllArgsConstructor public class ApsResourceRelationServiceImpl extends ServiceImpl implements ApsResourceRelationService { private final ApsResourceRelationMapper apsResourceRelationMapper; /** * 维护部门关系 * * @author sunxiaoling * @date 2020-08-27 10:32:31 */ @Override @Transactional(rollbackFor = Exception.class) public void insertDeptRelation(ApsResourceGroup apsResource) { // 增加部门关系表 List relationList = apsResourceRelationMapper.selectList( Wrappers.query().lambda().eq(ApsResourceRelation::getDescendants, apsResource.getParentId())) .stream().map(relation -> { relation.setDescendants(apsResource.getId()); return relation; }).collect(Collectors.toList()); if (CollUtil.isNotEmpty(relationList)) { this.saveBatch(relationList); } ApsResourceRelation owm = new ApsResourceRelation(); owm.setAncestry(apsResource.getId()); owm.setDescendants(apsResource.getId()); apsResourceRelationMapper.insert(owm); } /** * 通过ID删除资源关系 * * @param id */ @Override public void deleteAllDeptRealtion(Integer id) { baseMapper.deleteDeptRelationsById(id); } /** * 更新资源分组关系 * * @param relation */ @Override public void updateDeptRealtion(ApsResourceRelation relation) { baseMapper.updateDeptRelations(relation); } }