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<LightTaskPoleRelationMapper, LightTaskPoleRelation> {
|
|
/**
|
* 批量保存任务和灯杆的关系
|
*
|
* @param taskId 任务id
|
* @param poleIdList 灯杆id
|
* @return 返回是否成功
|
*/
|
public boolean updateLightTaskPoleRelation(Long taskId, List<Long> poleIdList) {
|
remove(Wrappers.lambdaQuery(LightTaskPoleRelation.class).eq(LightTaskPoleRelation::getTaskId, taskId));
|
if (CollectionUtil.isEmpty(poleIdList)) {
|
return true;
|
}
|
List<LightTaskPoleRelation> 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<Long> 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());
|
}
|
}
|