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); } }