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 queryIndItemDefaultValue(String itemNo){ List list = indItemCollector.queryValue(itemNo); List 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 queryIndItemHistoryValue(ApiIndItemQueryDTO dto) { List list = indItemCollector.queryValue(dto.getItemNo(), dto.getStart(), dto.getEnd()); List 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 getInfoByIds(Set indIds) { if (CollectionUtils.isEmpty(indIds)) { return new ArrayList<>(); } List inds = indItemService.getInfoByIds(indIds); return ConvertUtils.sourceToTarget(inds,ApiIndItemDTO.class); } }