package com.sandu.ximon.admin.service; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.dao.domain.LightTaskPoleRelation; import com.sandu.ximon.dao.mapper.LightTaskPoleRelationMapper; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * @author chenjiantian * @date 2021/12/16 14:15 */ @Service public class LightTaskPoleRelationService extends BaseServiceImpl { /** * 批量保存任务和灯杆的关系 * * @param taskId 任务id * @param poleIdList 灯杆id * @return 返回是否成功 */ public boolean updateLightTaskPoleRelation(Long taskId, List poleIdList) { remove(Wrappers.lambdaQuery(LightTaskPoleRelation.class).eq(LightTaskPoleRelation::getTaskId, taskId)); if (CollectionUtil.isEmpty(poleIdList)) { return true; } List batchSave = new ArrayList<>(); for (Long poleId : poleIdList) { LightTaskPoleRelation lightTaskPoleRelation = new LightTaskPoleRelation(); lightTaskPoleRelation.setPoleId(poleId); lightTaskPoleRelation.setTaskId(taskId); batchSave.add(lightTaskPoleRelation); } return saveBatch(batchSave); } public List listPoleIdByTaskId(Long taskId) { if (taskId == null) { return null; } return list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).eq(LightTaskPoleRelation::getTaskId, taskId).select(LightTaskPoleRelation::getPoleId)) .stream().map(LightTaskPoleRelation::getPoleId).collect(Collectors.toList()); } }