潘志宝
2024-11-18 80818916e742aa568f719d54c2ca170bc5b55d6c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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<ApiDataValueDTO> queryPlanItemHistoryValue(ApiDataQueryDTO dto) {
        List<PlanItemValueVO> list = planItemCollector.queryValue(dto.getItemNo(), dto.getStart(), dto.getEnd());
        return ConvertUtils.sourceToTarget(list, ApiDataValueDTO.class);
    }
 
    @Override
    public LinkedHashMap<String, List<ApiPlanDataDTO>> queryPlanItemRecordValue(ApiDataQueryDTO dto) {
        LinkedHashMap<String, List<ApiPlanDataDTO>> result = new LinkedHashMap<>();
        if (CollectionUtils.isEmpty(dto.getItemNos())) {
            return result;
        }
        dto.getItemNos().forEach(item -> {
            List<PlanItemDataVO> 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);
    }
 
}