package com.iailab.module.data.api.ind;
|
|
import com.iailab.framework.common.util.object.ConvertUtils;
|
import com.iailab.module.data.api.ind.dto.ApiIndItemDTO;
|
import com.iailab.module.data.api.ind.dto.ApiIndItemQueryDTO;
|
import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO;
|
import com.iailab.module.data.ind.collection.IndItemCollector;
|
import com.iailab.module.data.ind.item.entity.IndItemEntity;
|
import com.iailab.module.data.ind.item.service.IndItemService;
|
import com.iailab.module.data.ind.item.vo.IndItemValueVO;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.util.CollectionUtils;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Set;
|
|
/**
|
* @author PanZhibao
|
* @Description
|
* @createTime 2024年10月04日
|
*/
|
@RestController // 提供 RESTful API 接口,给 Feign 调用
|
@Validated
|
public class IndItemApiImpl implements IndItemApi {
|
|
@Autowired
|
private IndItemCollector indItemCollector;
|
|
@Autowired
|
private IndItemService indItemService;
|
|
@Override
|
public List<ApiIndItemValueDTO> queryIndItemDefaultValue(String itemNo){
|
List<IndItemValueVO> list = indItemCollector.queryValue(itemNo);
|
List<ApiIndItemValueDTO> result = new ArrayList<>(list.size());
|
list.forEach(item -> {
|
if (item != null) {
|
ApiIndItemValueDTO indItemValueDTO = new ApiIndItemValueDTO();
|
indItemValueDTO.setDataTime(item.getDataTime());
|
indItemValueDTO.setDataValue(item.getDataValue());
|
result.add(indItemValueDTO);
|
}
|
});
|
return result;
|
}
|
|
@Override
|
public List<ApiIndItemValueDTO> queryIndItemHistoryValue(ApiIndItemQueryDTO dto) {
|
List<IndItemValueVO> list = indItemCollector.queryValue(dto.getItemNo(), dto.getStart(), dto.getEnd());
|
List<ApiIndItemValueDTO> result = new ArrayList<>(list.size());
|
list.forEach(item -> {
|
if (item != null) {
|
ApiIndItemValueDTO indItemValueDTO = new ApiIndItemValueDTO();
|
indItemValueDTO.setDataTime(item.getDataTime());
|
indItemValueDTO.setDataValue(item.getDataValue());
|
result.add(indItemValueDTO);
|
}
|
});
|
return result;
|
}
|
|
@Override
|
public ApiIndItemDTO getInfoById(String id) {
|
return ConvertUtils.sourceToTarget(indItemService.get(id), ApiIndItemDTO.class);
|
}
|
|
@Override
|
public List<ApiIndItemDTO> getInfoByIds(Set<String> indIds) {
|
if (CollectionUtils.isEmpty(indIds)) {
|
return new ArrayList<>();
|
}
|
List<IndItemEntity> inds = indItemService.getInfoByIds(indIds);
|
return ConvertUtils.sourceToTarget(inds,ApiIndItemDTO.class);
|
}
|
}
|