package com.iailab.module.data.api.plan; import com.iailab.framework.common.util.object.ConvertUtils; import com.iailab.module.data.api.plan.dto.ApiPlanDataDTO; import com.iailab.module.data.api.plan.dto.ApiPlanItemDTO; import com.iailab.module.data.common.ApiDataQueryDTO; import com.iailab.module.data.common.ApiDataValueDTO; import com.iailab.module.data.plan.item.collection.PlanItemCollector; import com.iailab.module.data.plan.item.entity.PlanItemEntity; import com.iailab.module.data.plan.item.service.PlanItemService; import com.iailab.module.data.plan.item.vo.PlanItemDataVO; import com.iailab.module.data.plan.item.vo.PlanItemValueVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; import java.util.LinkedHashMap; import java.util.List; /** * @author PanZhibao * @Description * @createTime 2024年11月03日 */ @RestController // 提供 RESTful API 接口,给 Feign 调用 @Validated public class PlanItemApiImpl implements PlanItemApi { @Autowired private PlanItemCollector planItemCollector; @Autowired private PlanItemService planItemService; @Override public List queryPlanItemHistoryValue(ApiDataQueryDTO dto) { List list = planItemCollector.queryValue(dto.getItemNo(), dto.getStart(), dto.getEnd()); return ConvertUtils.sourceToTarget(list, ApiDataValueDTO.class); } @Override public LinkedHashMap> queryPlanItemRecordValue(ApiDataQueryDTO dto) { LinkedHashMap> result = new LinkedHashMap<>(); if (CollectionUtils.isEmpty(dto.getItemNos())) { return result; } dto.getItemNos().forEach(item -> { List list = planItemCollector.getSourceValue(item, dto.getStart(), dto.getEnd()); result.put(item, ConvertUtils.sourceToTarget(list, ApiPlanDataDTO.class)); }); return result; } @Override public ApiPlanItemDTO getInfoByNo(String itemNo){ PlanItemEntity entity = planItemService.getInfoByNo(itemNo); return ConvertUtils.sourceToTarget(entity, ApiPlanItemDTO.class); } @Override public ApiPlanItemDTO getInfoById(String itemNo){ PlanItemEntity entity = planItemService.get(itemNo); return ConvertUtils.sourceToTarget(entity, ApiPlanItemDTO.class); } }